[Framagit] Page et Nom de domaine perso (Résolue)


#1

Bonjour à toutes et tous,

j’espère que je poste ce message au bonne endroit et que des bonnes volontés pourront m’aider dans mon problème.

Je me consacre à la réalisation d’un blog perso en utilisant ://gohugo.io/ ainsi que mon dépot framagit. J’arrive à propulser mon blog sans problème ://plumf.frama.io après avoir a peu prêt réussi à prendre en main hugo et avoir mis mon blog en ligne je souhaiterais utiliser un nom de domaine perso hébergé par gandi.net.

Pour cela je me suis appuyé sur la documentation que j’ai pu trouver :

  • ://framablog.org/2017/03/20/les-gitlab-pages-debarquent-dans-framagit/
  • ://docs.framasoft.org/fr/gitlab/gitlab-pages.html#comment-%C3%A7a-marche-
  • ://framagit.org/help/user/project/pages/getting_started_part_three.md#dns-txt-record

cependant malgrés le fait que lorsque je déclare le nom de domaine dans mon espace page de framagit il me dit de réaliser un enregistrement DNS en CName alors que la doc me dit qu’il ne faut le faire que pour un sous domaine.

J’ai créer un dépot différent de plumf.frama.io comme demandé dans la doc, mais je n’arrive pas à faire vérifier le domaine par framagit…

Je vous avoue que je suis un peu perdu, si une personne est calé avec les gitlab page, cela m’aiderais beaucoup. Merci d’avance.

@Plumf


#2

En fait la doc de Gitlab précise que si le nom de domaine sert pour plusieurs services (dont le mail que Gandi propose par défaut dans ses DNS) alors il faut utiliser l’adresse IP (enregistrement A et AAAA) au lieu du CNAME et ajouter l’enregistrement TXT au niveau du domaine et pas du sous domaine « _gitlab-pages-verification-code.exemple.org. »


#3

Bonsoir @JosephK, merci de ta réponse. C’est ce que j’ai lu, j’ai donc effectué les changements dans ma configuration de dns au niveau de gandi.net.

Cependant malgré ces changements je n’arrive pas à vérifier le nom de domaine au niveau de mon espace “Page” sur framagit… Cela me renvoit constamment un failed. Et là je suis à bout de piste de recherches et d’essais.
Je commence a être un peu perdu. Est ce que tu aurais une idée ? As tu besoins de plus d’informations ?

A pluche


#4

Grâce à l’aide de @JosephK le problème à été résolue. J’ai remplacé tous les nom de domaine par des @ dans mon fichier dns comme tel :

@ 1800 IN A 144.76.206.44
@ 1800 IN AAAA 2a01:4f8:200:1302::44
@ 10800 IN MX 10 spool.mail.gandi.net.
@ 10800 IN MX 50 fb.mail.gandi.net.
@ 10800 IN SOA ns1.gandi.net. hostmaster.gandi.net.
@ 1800 IN TXT “gitlab-pages-verification-code=codegitlab”


#5

Merci pour ce fil de discussion, il m’a bien aidé.

La doc de GitLab est généralement bien faite, mais dans le cas présent je la trouve assez mal formulée.

Dans mon cas, je voulais configurer un projet GitLab pour être déployé dans un sous-domaine, j’ai donc utilisé le second exemple du sous-domaine : subdomain.domain.com. Je précise que mon sous-domaine était dédiée à ce site-là, c’est donc tout à fait en accord avec la doc de GitLab :

If the domain is dedicated to GitLab Pages use and no other services run on it.

Le domaine principal a évidemment d’autres usages, à commencer par le mail (comme dans le fil de discussion ici-présent), mais le sous-domaine était dédié.

J’ai cependant suivi les conseils de @JosephK (merci à lui) tout en doutant de l’utilité de mener ces tests. Et bien j’ai eu tort de douter, et raison de suivre ces conseils. En effet, contrairement à ce que semble proposer la doc de GitLab, il fallait suivre le premier conseil et utiliser un enregistrement A plutôt qu’un enregistrement CNAME…


#6

Merci, j’ai moi aussi utilisé ce fil pour résoudre mes problèmes. En suivant les conseils donnés ici (en particulier, en ajoutant des champ A et AAAA), ça fonctionne.

J’en profite pour ajouter ici ce que j’ai dû faire pour faire fonctionner le https avec letsencrypt (d’après la doc de gitlab).

  • Installer le logiciel nécessaire: apt install certbot
  • Demander un challenge DNS de Let’s Encrypt: sudo certbot --preferred-challenges dns certonly -a manual -d simgrid.org
  • Répondre aux questions (donner une adresse mail de contact et accepter que l’IP soit logguée publiquement), mais ne pas appuyer sur ENTER avant d’avoir rempli le challenge (cf juste après).
  • Ajouter une ligne TXT à la configuration gandi: _acme-challenge 1800 IN TXT "le_code_donné_par_certbot" Attention, certbot dit de déployer la clé _acme-challenge.YOURDOMAIN.org, mais le nom de la clé à déployer est bien _acme-challenge.
  • Attendez un peu que l’entrée DNS se propage. Vous pouvez vérifier que c’est le cas avec la commande suivante: dig +short -t txt _acme-challenge.YOURDOMAIN.org. Ca doit afficher votre clé privée.
  • Une fois l’entrée DNS propagée, appuyer sur entrée dans la console de certbot. Si tout va bien, votre certificat sera écrit dans /etc/letsencrypt/live/YOURDOMAIN.org/.
  • Ensuite, il faut éditer le domaine des pages dans https://framagit.org/USER/PROJECT/pages. Le contenu de /etc/letsencrypt/live/YOURDOMAIN.org/fullchain.pem va dans Certificate (PEM) de l’interface, tandis que /etc/letsencrypt/live/YOURDOMAIN.org/privkey.pem va dans Key (PEM)

La question suivante, que je n’ai pas résolue, c’est de savoir comment automatiser tout ça avec un cron pour éviter de refaire la manip tous les mois…


#7

Pour le certificat Let’s encrypt, il n’y a rien besoin de faire, j’ai fait un script qui passe toutes les heures et qui met/renouvelle un/le certificat Let’s Encrypt sur les pages utilisant un ou des domaines persos (et dont le domaine en question pointe bien sur nos IP et qui a été validé dans Gitlab).


#8

Ah punaise, je me suis embêté pour rien alors ?! Je l’ai fait car le certificat que j’avais était pas bon: il était valide uniquement sur les domaines *.frama.io alors que je voulais le servir sur un autre domaine de mes pages (https://simgrid.io). Je parle du projet https://framagit.org/simgrid/simgrid.frama.io/.

@Framasky, ton script va tenir mon certificat à jour (ou le regénérer), ou il vaut mieux que je le vire pour que ton script gère mon projet comme les autres ?


#9

J’imagine que tu n’as pas attendu une heure pour tester, c’est pour ça.

En toute logique, ton certif sera remplacé quand il aura expiré, donc autant ne rien faire et laisser comme ça.


#10

Bonjour,

Je me permet de re-ouvrir ce sujet.
Le nom de domaine est hébergé chez online, et il ne m’est pas possible d’enregistrer le code de confirmation tel qu’indiqué :

_gitlab-pages-verification-code.openbudget.fr TXT gitlab-pages-verification-code=5729…

J’ai donc rajouté un enregistrement de type :

openbudget.fr. 3600 IN TXT "gitlab-pages-verification-code=572…

Celui-ci apparait bien dans la commande dig suivante :

dig -t txt openbudget.fr

mais sur l’interface est toujours affiché :

Failed to verify domain ownership

Merci pour votre aide.


#11

ok, got it.
J’ai réussit à faire l’enregistrement complet chez le registar finalement.
Il faut bien créer le txt sur le sous-domaine et non pas sur le domaine pour le code de vérification fonctionne.
Keep up Framagit Guys !
C’est vraiment un outil génial que vous mettez à disposition.
Bonne journée.


#12

bonjour,
j’ai suivi le tuto hier vers 19h pour tout faire: créer un gitlab page et l’avoir sous mon nom de domaine. À cause des délais de mise à jour DNS, j’ai laissé couler. Vers 21h je reçois un mail qui me dit que tout est bon (et j’ai vérifié sur l’onglet pages des settings du repo) mais, malheureusement, j’ai le même problème qu’ @emptty: Je peux accéder au site https://rtournem.frama.io/, mais lorsque je vais sur robin.tournemenne.net, j’ai l’erreur suivante:

robintournemennepointnet utilise un certificat de sécurité invalide. Le certificat n’est valide que pour les noms suivants : *.frama.io, framapointio Code d’erreur : SSL_ERROR_BAD_CERT_DOMAIN

Je suppose que j’ai foiré un truc. L’entreprise qui gère mon nom de domaine est Nordnet. Voici le détail (sans tous les codes):

robintournemennepointnet

Impossible de communiquer en mode sécurisé avec le pair : le nom de domaine demandé ne correspond pas au certificat du serveur.

HTTP Strict Transport Security : true
HTTP Public Key Pinning : false

Chaîne de certificat :

-----BEGIN CERTIFICATE-----
MbdTk2CCB … le reste du code … 4XijkFlMD
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIF6TC … le reste du code … crnDg1=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MI345dzC … le reste du code … EfvezFRE=
-----END CERTIFICATE-----

Merci d’avance pour l’aide, framagit est vraiment un excellent outil! très bon taf! Même le gitlab de mon entreprise ne gère pas les CI/CD !


#13

Bonjour,

Le souci vient du fait que votre site n’est accessible qu’aux membres du dépôt, ce qui bloque la possibilité d’avoir un certificat via let’s encrypt.

Si votre site n’a pas vocation à être en privé, il vous faut aller sur https://framagit.org/rtournem/rtournem.frama.io/edit, Permissions, et passer les pages en « Everyone ».

Une fois que cela sera fait, dites-le moi ici, j’enlèverai l’exception que j’ai mise dans notre script de création de certificats (comme ça ne fonctionnait pas, ça nous faisait beaucoup de messages d’erreur).


#14

ho la honte… J’espère que ça ne vous a pas trop saoulé. C’est bon c’est corrigé, j’ai mis l’option sur everyone. Peut être ajouter sur la page de tuto cette info? J’ai relu et je n’ai vu nul part l’info, que par ailleurs Gitlab ne m’a pas suggéré…

Merci pour ce travail et ce support digne des plus grands.


#15

ho la honte… J’espère que ça ne vous a pas trop saoulé.

Faut pas s’en faire, ça arrive, surtout que c’est pas un cas super courant. Pis franchement, vu les mails automatiques de cron, de la supervision, etc, c’est pas 10 ou 20 de plus qui vont nous embêter.

C’est réglé maintenant !

En fait c’est à cause de l’ajout dans Gitlab de la fonctionnalité des pages privées qui est la cause du souci, et y a pas des masses de documentation… surtout que le script qui crée des certificats pour les domaines persos est un truc à nous, donc des fois on a des blagounettes comme ça avec des changements de comportement de Gitlab.