Ça y est ! L’heure a sonné, mon serveur web doit migrer vers un nouveau serveur.
L’ancien serveur tourne sur Jessie (Debian 8) depuis quelques temps déjà considérée comme oldoldstable. La version de PHP présente sur Jessie commençait vraiment à dater : 5.6.40 ; elle ne me permettait plus non plus de faire fonctionner correctement les WordPress, divers sites qui réclamait tous maintenant une version 7 minimum et tous les outils que je développait.
Autre point qui commençait à m’embêter : l’âge du serveur. Il tourne depuis janvier 2013 ! La migration m’a permis d’augmenter de manière importantes les capacités physiques. De 2 à Go de RAM, disque dur de 0.5Go à 2To, de 1 à 4 processeurs…avec un prix divisé par 2 !
Un serveur, pour quel services
Principaux services utilisés sur l’ancien serveur :
netstat -laputen Connexions Internet actives (serveurs et établies) Proto Recv-Q Send-Q Adresse locale Adresse distante Etat User Inode PID/Program name tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 107 1712677871 8990/mysqld tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 1599349796 27709/sshd tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 103 1699913245 8053/named tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 103 1699913250 8053/named tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 0 523929131 30121/exim4 tcp 0 0 127.0.0.1:2525 0.0.0.0:* LISTEN 0 523929130 30121/exim4 tcp6 0 0 :::22 :::* LISTEN 0 1599349798 27709/sshd tcp6 0 0 ::1:53 :::* LISTEN 103 1699913247 8053/named tcp6 0 0 ::1:953 :::* LISTEN 103 1699913251 8053/named tcp6 0 0 ::1:25 :::* LISTEN 0 523929134 30121/exim4 tcp6 0 0 ::1:2525 :::* LISTEN 0 523929132 30121/exim4 tcp6 0 0 :::80 :::* LISTEN 0 1729786392 28849/apache2 udp 0 0 127.0.0.1:921 0.0.0.0:* 0 1699913098 7949/lwresd udp 0 0 127.0.0.1:53 0.0.0.0:* 103 1699913244 8053/named udp6 0 0 ::1:53 :::* 103 1699913246 8053/named
Les serveurs utilisés :
- SSHd : Secure SHell Daemon
- BIND : Berkeley Internet Name Daemon
- exim4 : EXperimental Internet Mailer (qui n’est plus experimental depuis très longtemps)
- lwresd : lightweight resolver daemon
- mysqld : système de gestion de bases de données relationnelles
- apache2 : Apache HTTP Server
Lors de l’installation du nouveau serveur, je n’ai modifié qu’un seul type de serveur. Tous les autres étant encore à jour et entièrement fonctionnel.
J’ai changé uniquement mon serveur de base de données : j’ai migrer de mysql à MariaDB. Migration très simple et très rapide. Migrations plutôt orienté pour raison « éthique ». Que ce soit MySQL ou MariaDB, les commandes sont identiques, et la migration se fait facilement. Export sur l’ancien avec mysqldump, copie du fichier avec scp puis import avec la commande mysql.
Je n’ai pas noté de différences de rapidité sur mes bases de données de type innoDB de taille : 677M.
J’en ai également profiter pour migrer mon outils d’administration de base de données . Je suis passé de phpMyAdmin à Adminer qui est vraiment plus petit, léger et simple à configurer.
J’ai également ajouté le support du https avec Let’s Encrypt sur mes différents hôtes web, devenant indispensable chez Google pour le référencement naturel.
Tous les logiciels ont profité de cette migration pour se mettre à jour.
L’installation du nouveau serveur
- Lancer l’installation de la Debian depuis l’interface de l’hébergeur
- Ajout de sous-domaines *.nouveau.enguehard.info (ce qui me permettra de tester les vhosts)
- Modification du TTL sur tous les noms de domaines : 1h
- Se connecter en root
- Mise à jour des paquets
- Récupération des infos de la machine (free, mem, df, /proc/cpuinfo…)
- Sécurisation de SSH
- Installation du serveur Web : Apache
- Mise en place de Let’s Encrypt
- Configuration de tous les vhosts (ce qui permet de faire un peu le ménage)
- Installation du serveur de base de données : MariaDB
- Installation de l’outil d’administration de la BDD : Adminer
- Export SQL sur l’ancien serveur, et import sur le nouveau serveur
- Copie (rsync) de tous le dossier vhosts vers le nouveau serveur, l’opération ayant durée une bonne dizaine d’heures
- Test du fonctionnement des vhosts
- Liste des modifications a effectuer sur les vhosts
- Sécurisation de la Debian : apticron, rkhunter, fail2ban…
- Modification du TTL sur tous les noms de domaines : 24h
Basculer
- Recopier tous les fichiers
- Réimporter toutes les bases
- Modifier toutes les zones DNS
- Tester
Je laisse tourner sur l’ancien serveur, les différents services et je monitore sur qui resterait à migrer.
Au bout de 48h, je coupe les services de l’ancien serveur.
Quelques statistiques sur l’ancien serveur
Nombre de paquets utilisés : 1007
dpkg --list | grep ^ii | wc 1007 10023 138389
uptime 22:19:59 up 2281 days, 7:45, 1 user, load average: 0,00, 0,01, 0,05 who -b démarrage système 2013-05-29 12:13 uptime -s 2013-05-29 14:34:37 date mardi 27 août 2019, 21:18:22 (UTC+0000)
Nombre d’utilisateurs (hors root) : 1
Je ne pourrais pas donner de statistiques sur : le nombre de mails envoyé, les nombres de visiteurs Web, le trafic SQL, de données transférées…mes fichiers de log n’étant configurer pour être gardé que sur les 7 derniers jours.
La puissance de Debian
Extrêmement robuste au temps. Simple, rapide, efficace. Les mises à jours se sont toujours faîte simplement et de manières sûres.
Ma première Debian a été une version 2.2 : Potato ; et depuis ce jours, je ne regrette pas de l’avoir essayé et adopté ! Debian ne fournit pas la dernière version des paquets et logiciels, mais assure une stabilité (et sérénité) inégalé.
En résumé : stabilité et sécurité
L’ancien serveur n’a utilisé qu’un seul dépôt externe : www.deb-multimedia.org. Et en 6 ans, je n’ai utilisé que 2 versions de Debian : Wheezy publié le 4 mai 2013 et Jessie le 25 avril 2015.
Ce qui a changé chez l’hébergeur
Quand j’ai commandé mon serveur en 2013, c’était chez kimsufi, mais mon interface d’administration se situait sur un domaine ovh.com.
Ma dernière commande (toujours chez kimsufi) a modifié mon interface d’administration, maintenant hébergé chez kimsufi.com et une interface très différente, mais beaucoup plus simple et plus claire. Par contre, j’ai déjà explosé le nombre de tickets…de 1 démarrage automatisé chez OVH à plusieurs dizaines ….. Je n’aurais pas du sélectionner Debian Buster dans la liste pour l’installation de mon serveur, cette dernière distribution était bien proposé mais aucune mentions sur le fait qu’elle n’était pas pleinement supporté en ce début août.
Ce qui ne change pas non plus : la gestion de mes noms de domaine toujours chez gandi, qui me fournit également pour certains le service de messagerie.
Bilan
Le plus long délai d’attente a été le transfert des fichiers d’un serveur à l’autre. Les tests prennent aussi beaucoup de temps.
Tout était bien préparé et s’est donc finalement déroulé sans problème.