Difference between revisions of "MigrationDomainName/Fr"

From TuxFamilyFAQ
Jump to navigationJump to search
m (Formatting)
m (Adjust hosts example)
Line 115: Line 115:
 
  <IP chez TuxFamily>        <nom de domaine>
 
  <IP chez TuxFamily>        <nom de domaine>
 
Exemple :
 
Exemple :
  212.85.158.4       projet.org
+
  212.85.158.4           projet.org
 +
2a02:2178:1000:201::4  projet.org
  
 
==== Déplacer/copier le contenu du site ====
 
==== Déplacer/copier le contenu du site ====

Revision as of 18:32, 1 April 2016


Comment passer d'une adresse projet.tuxfamily.org à une adresse projet.org ?

Si vous avez placé votre projet chez TuxFamily, sans être sûr de son avenir, il y a de fortes chances que vous n'ayez pas investi préalablement dans un nom de domaine et que vous ayez donc choisi d'accéder à votre site via une adresse du type http://votreprojet.tuxfamily.org/. Ce document s'adresse aux personnes désireuses de passer leur site sur une adresse du type http://votreprojet.org/ (et http://www.votreprojet.org/ ). Il se veut un complément à cette page : FAQ TuxFamily : DNS

Petits rappels sur les noms de domaine

Commençons par quelques rappels sur les notions de noms de domaines, DNS, etc.

TLDs, domaines, sous-domaines, ...

Analysons de droite à gauche une adresse telle que http://projet.tuxfamily.org./ :

  • Le dernier "." n'est pas une erreur : les noms de domaines sont organisés en une hiérarchie dont le sommet (facultatif) est le séparateur "." ;
  • "org" est un "top-level domain" (TLD) ; ils peuvent être nationaux (.fr, .de, .es, ...) ou génériques (.org, .com., .net, ...) ;
  • "tuxfamily.org" est un nom de domaine ;
  • "projet" est un sous-domaine de "tuxfamily.org".

À noter que "www" (pour World Wide Web) est un sous-domaine comme un autre. On parle également de nom d'hôte. Le www est apparu à l'époque où on ne concevait pas forcément que le service « par défaut » d'un domaine soit le service web/HTTP(S), mais aussi où ce sous-domaine servait à désigner une machine en particulier. Ainsi, il suffit de réserver projet.org pour disposer potentiellement de www.projet.org mais aussi de irc.projet.org, smtp.projet.org, chaussette.projet.org, toutcequevousvoulezoupresque.projet.org, ...

Résolution DNS

Que se passe-t-il lorsque, via votre navigateur, vous demandez à accéder à projet.tuxfamily.org ?

  1. Votre navigateur doit d'abord obtenir l'adresse IP correspondant au nom de domaine que vous lui fournissez. On parle de résolution DNS. Il va donc s'adresser à un serveur DNS. L'IP de ce serveur est fournie par le système (voir le fichier /etc/resolv.conf). Typiquement, mais pas obligatoirement, ce serveur est mis à disposition par votre FAI.
  2. Le navigateur va donc lui poser la question « C'est où projet.tuxfamily.org ? ».
  3. Le serveur DNS n'aura sans doute pas la réponse pour "projet.tuxfamily.org", mais il connaîtra le serveur DNS (enregistrement "NS", voir plus bas) qui gère le domaine "tuxfamily.org" : c'est ns1.staff.tuxfamily.net.
  4. Le serveur DNS résoudra alors ns1.staff.tuxfamily.net. en l'adresse 213.246.36.38 (il s'agit là d'une requête équivalente à celle que nous détaillons, mais bon, abrégeons)
  5. Grâce à cette adresse IP, le serveur DNS va contacter le serveur DNS ns1.staff.tuxfamily.net. pour lui demander : « C'est où projet.tuxfamily.org ? »
  6. Le serveur DNS ns1.staff.tuxfamily.net répond : « C'est là : 212.85.158.4 »
  7. Le serveur DNS retransmet la réponse et votre navigateur sait enfin comment accéder à projet.tuxfamily.org.

Enregistrements DNS

Le système de noms de domaines (DNS) fonctionnent avec des enregistrements : à un nom de domaine précis, on associera divers enregistrements. Un enregistrement a un type et une valeur. Ainsi, on trouve, entre autres :

  • des enregistrements NS (Name Service) pour associer un nom de domaine avec des serveurs DNS ; cet enregistrement est très pratique pour gérer les sous-domaines soi-même, via un serveur DNS ne gérant que la hiérarchie sous un ou plusieurs domaines précis.
  • des enregistrements A (Address) pour associer un nom de domaine avec des adresses IPv4.
  • des enregistrements AAAA (Address) pour associer un nom de domaine avec des adresses IPv6.
  • des enregistrements MX (Mail eXchanger) pour associer un nom de domaine avec des serveurs de mail.

Enregistrement et configuration du nom de domaine

Et maintenant ? Le but de cette page est de configurer votre nom de domaine de façon à en déléguer la gestion aux deux serveurs DNS de TuxFamily. Ainsi, ce sont ces serveurs qui indiqueront au reste du monde où est projet.org, où est www.projet.org, à quelle machine il faut s'adresser pour envoyer un mail à quelqu'un arborant une adresse en @projet.org, etc. Il s'agit donc de réserver un nom de domaine chez un registrar et de lui assigner deux enregistrements NS contenant respectivement ns1.tuxfamily.net et ns2.tuxfamily.net. La première chose à faire est d'aller acheter le nom de domaine qui vous intéresse, et pour cela, il vous faut un registrar. Vous pouvez prendre le registrar de votre choix. À noter que :

  • chaque registrar propose ses propres méthodes pour vous permettre de configurer votre nom de domaine ; cette page ne pourra donc jamais être exhaustive et détailler l'achat et la configuration d'un nom de domaine chez tous les registrars possibles ;
  • l'attribution d'un nom de domaine est payante et limitée dans le temps ; vous vous engagez donc potentiellement à débourser environ 10 euros par an ad vitam aeternam ;
  • vous devrez fournir des coordonnées personnelles, afin de remplir les informations du domaine accessibles via un WHOIS.

Rappel : il suffit d'enregistrer projet.org, pas www.projet.org.

Exemple avec Gandi

Ici, nous allons supposer que vous allez acheter le domaine projet.org chez Gandi. Il s'agit d'un registrar pouvant gérer (entre autres) des domaines en .com, .net, .org, .biz, .info, .name, .be, .fr et .eu. Nous ne détaillons qu'une partie de la procédure d'inscription-achat-règlement.

  • Ça commence par ici : https://www.gandi.net/domain/buy/ : vous entrez projet.org, vous validez
  • Si le nom de domaine est disponible, vous choisissez une durée et donc un prix
  • Par la suite, choisissez "Gérer moi-même les domaines en commande sous mon compte ...".
  • Plus loin, pour les « Services Gandi » vous pouvez choisir entre "Achat rapide" et "Configuration". Choisissez ce dernier :
    • cocher la case "DNS fournis par mon hébergeur"
    • supprimez la ligne DNS2
    • Entrez ns1.tuxfamily.net comme DNS0 ; laissez le champ IP vide.
    • Entrez ns2.tuxfamily.net comme DNS1 ; laissez le champ IP vide.
  • Si vous avez choisi "Achat rapide", vous pourrez retrouver cette interface de configuration :
    • Identifiez-vous sur gandi.net si nécessaire
    • Rendez-vous dans l'onglet Administration
    • Cliquez sur le nom de domaine concerné
    • Le bas de la page est consacré aux paramètres techniques ; dans l'encart "Serveurs de noms", cliquez sur "modifier".
  • Dans tous les cas, n'oubliez pas de payer.

Demandes chez TuxFamily

Il faut maintenant effectuer quelques demandes chez TuxFamily :

  • la gestion du nom de domaine ; c'est-à-dire que vous demandez à TuxFamily de configurer ses DNS pour que ceux-ci puissent fournir les adresses IP correspondant à votre nom de domaine.
  • un nouvel espace web ; en effet, pour des raisons techniques ((TuxFamily utilise l'hôte demandé dans la requête HTTP pour déterminer l'espace web correspondant)), vous devez faire une copie de votre espace web avec un nom correspondant à la nouvelle adresse de votre site ; quant à l'ancienne, vous pourrez la supprimer ou y installer une redirection.

Rendez-vous sur le panel TuxFamily et choisissez votre projet.

Demander un nouvel espace web

Dans l'encart "espaces web pour <projet>", choisissez "Créer" et laissez-vous guider ; comme l'indique l'avertissement :

Faites attention ! Si vous souhaitez créer www.domaine.tld, vous devez créer un espace web sous la forme domaine.tld.
VHFFS redirige www.domain.tld vers domain.tld

... vous disposerez automatiquement de la configuration DNS adéquate pour avoir un site accessible via projet.org comme www.projet.org. Profitez-en pour rappeler l'objectif et la licence de votre projet.

Demander la gestion du nom de domaine chez TuxFamily

Dans l'encart "noms de domaine pour <projet>", choisissez "Créer" et laissez-vous guider. Profitez-en pour rappeler l'objectif et la licence de votre projet.

Migrer l'ancien site vers le nouveau

Tester le nouvel espace web en attendant la mise en place du nom de domaine

Vous pouvez vérifier la configuration de votre nom de domaine aux yeux du reste du monde (modulo le délai de propagation DNS) avec un client DNS. Exemple avec le domaine qelectrotech.org :

vous@votre_machine:~$ dig -t any qelectrotech.org @ns1.tuxfamily.net

; <<>> DiG 9.9.5-12.1-Debian <<>> -t any qelectrotech.org @ns1.tuxfamily.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47977
;; flags: qr aa rd ad; QUERY: 1, ANSWER: 7, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;qelectrotech.org.              IN      ANY

;; ANSWER SECTION:
qelectrotech.org.       86400   IN      SOA     ns1.tuxfamily.net. blackhole.tuxfamily.net. 2016030301 28800 7200 604800 86400
qelectrotech.org.       86400   IN      A       212.85.158.4
qelectrotech.org.       86400   IN      NS      ns1.tuxfamily.net.
qelectrotech.org.       86400   IN      NS      ns2.tuxfamily.net.
qelectrotech.org.       86400   IN      MX      10 mx1.tuxfamily.net.
qelectrotech.org.       86400   IN      MX      20 mx2.tuxfamily.net.
qelectrotech.org.       86400   IN      AAAA    2a02:2178:1000:201::4

;; Query time: 85 msec
;; SERVER: 212.85.158.9#53(212.85.158.9)
;; WHEN: Fri Apr 01 20:25:47 CEST 2016
;; MSG SIZE  rcvd: 213


Si le délai de propagation DNS vous joue des tours, vous pouvez tricher et tester votre nouveau site en indiquant directement dans la configuration de la résolution DNS de votre machine quelle est l'IP associée à projet.org. Pour cela, repérez le fichier hosts de votre système :

  • Sous Windows : c:\windows\system32\drivers\etc\hosts
  • Sous Unix : /etc/hosts

Ajoutez-y une ligne du type :

<IP chez TuxFamily>        <nom de domaine>

Exemple :

212.85.158.4            projet.org
2a02:2178:1000:201::4   projet.org

Déplacer/copier le contenu du site

Il vous faut maintenant transférer le contenu de votre ancien espace web vers le nouveau. Pour cela, utilisez votre accès SSH pour déplacer le contenu du dossier htdocs :

shopt -s dotglob
mv groupe/projet.tuxfamily.org-web/htdocs/* groupe/projet.org-web/htdocs/

Si votre quota vous le permet, vous pouvez faire une copie, afin de vous assurer que tout est fonctionnel sur le nouvel espace web :

shopt -s dotglob
cp -rpf groupe/projet.tuxfamily.org-web/htdocs/* groupe/projet.org-web/htdocs/

Une fois le déplacement effectué, vous pouvez ajouter quelques lignes dans le .htaccess de l'ancien espace web pour assurer une transition en douceur. Éditez le fichier groupe/projet.tuxfamily.org-web/htdocs/.htaccess et ajoutez-y :

RedirectMatch 301 (.*) http://projet.org/$1

Sur le nouvel espace web, vous pouvez facilement repérer les fichiers contenant des occurrences de l'adresse avec grep :

grep -Irl 'projet.tuxfamily.org' groupe/projet.org-web/htdocs/*

Si vous souhaitez automatiser les remplacements, renseignez-vous sur sed et son option -i. N'oubliez pas de modifier le contenu de votre base de données si besoin.

Migration des statistiques

# groupe, ancien et nouvel espace web
group=groupe
old_webarea=projet.tuxfamily.org
new_webarea=projet.org

# copie des fichiers de statistiques
cp -rpf ${group}/${old_webarea}-web/awstats/*.txt ${group}/${new_webarea}-web/awstats/

# renommage des fichiers de statistiques
cd ${group}/${new_webarea}-web/awstats/
for file in $(ls -1 awstats*.${old_webarea}.txt); do
    mv "$file" $(echo "$file" | sed "s/${old_webarea}/${new_webarea}/")
done