Comment déménager un hébergement web sans trop de perturbations ?

Je veux changer d’hébergement un site Internet. Le site Internet est sur un vieux Debian et je veux le migrer sur un nouveau Debian. Le souci est que le changement d'adresse IP oblige une propagation DNS qui peut prendre 24 heures. Cela implique pendant cette transition de figer les écritures dans les fichiers du site. Ce qui n'est pas pensable.

Apache propose une fonctionnalité qui s'appelle “reverse proxy”. Il permet d'être le destinataire d'un appel à un site et transmettre cette requête à un autre serveur Apache.

Les noms de domaines et adresses IP utilisés dans cette page ne sont que fictions.

D'abord, comprenons comment l'accès à un site fonctionne. Lorsque que j’appelle le site perdu.com, le système DNS se met en œuvre pour fournir une adresse IP à votre ordinateur. C'est le principe d'un nom de domaine : associé une adresse IP à un nom. Donc, au moment de la création du nom de domaine, l'adresse IP a été renseignée.

Cette adresse IP a été définie au moment de la création de l’hébergement du site Internet. C'est l'adresse du serveur Web Apache.

Avec un serveur Web, il peut y avoir plusieurs sites hébergés. Le serveur Web Apache peut gérer plusieurs sites Internet. De ce fait, une adresse IP peut correspondre à plusieurs sites Internet, donc plusieurs noms de domaine.

Dans notre exemple, nous avons le site perdu.com et le site trouve.com qui correspondent tous les deux à l'adresse 208.97.177.124, donc au même serveur Web.

On peut utiliser le site ipinfo.io pour vérifier le nombre de sites hébergés par un serveur.

Lorsque le serveur Web Apache va recevoir la demande provenant de la demande d'accès, il recevra le nom de domaine dans le paramètre Host. C'est le protocole HTTP.

Et grâce à la configuration des sites Web, Apache sera capable de récupérer les fichiers associés au bon nom de domaine. Voici un exemple de configuration du serveur :

# Apache doit écouter sur le port 80
Listen 80

# Toutes les adresses IP doivent répondre aux requêtes sur les
# serveurs virtuels
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /var/www/trouve.com
ServerName trouve.com

# Autres directives ici

</VirtualHost>

<VirtualHost *:80>
DocumentRoot /var/www/perdu.com
ServerName perdu.com

# Autres directives ici

</VirtualHost> 

Pour résumer, votre serveur ne dispose que d'une seule adresse IP, et de nombreux alias (CNAMES) peuvent pointer vers cette adresse dans le DNS.

D'autres exemples sont disponibles sur le site Apache 2.4

En attendant, je vais transférer les fichiers du site actuel vers le nouveau serveur Web (103.224.182.253).

Le transfert va s'effectuer en deux passes. La première passe permet de transférer le plus gros du site. Il faut prendre en considération tous les gros fichiers qui peuvent prendre du temps à copier, ou tous les petits fichiers qui sont nombreux et peuvent prendre également du temps à transférer.

rsync -avz /var/www/perdu.com -e "ssh -p 11822" chloe@103.224.182.253:"/var/www/"

rsync doit être installé sur le serveur distant.

Une fois cette opération terminer, il faudra effectuer une seconde passe pour synchroniser les fichiers fraichement modifiés. Durant cette phase, il faudra veiller à ce que le site soit inaccessible.

Je vais employer une directive de proxy dans Apache pour transférer le nom de domaine vers le nouveau serveur web (103.224.182.253).

Sur l'ancien serveur Web, je vais utiliser les directives proxyPass et proxyPassReverse pour indiquer l'adresse IP du nouveau serveur :

<VirtualHost *:80>
    ProxyPreserveHost On
    ProxyPass        "/" "http://103.224.182.253/"
    ProxyPassReverse "/" "http://103.224.182.253/"
    ServerName perdu.com
</VirtualHost>

A partir de maintenant, le site peut de nouveau être opérationnel.

Vous pouvez désormais vous occuper des DNS pour modifier l'adresse IP associée au nom de domaine.

Cédric ABONNEL 2019/08/02 18:09

Entrer votre commentaire. La syntaxe wiki est autorisée:
   __ __  _____   ___    __  ___   ____
  / //_/ / ___/  / _ )  /  |/  /  /  _/
 / ,<   / /__   / _  | / /|_/ /  _/ /  
/_/|_|  \___/  /____/ /_/  /_/  /___/
 
  • journal_geek/comment_demenager_un_hebergement_web_sans_trop_de_perturbations.txt
  • Dernière modification: 2019/08/02 18:10
  • par Cedric ABONNEL