Ceci est un petit guide destiné à vous aider dans la migration tout en ayant un minimum de downtime (voir pas du tout) de vos services et applications. Cela impose que vous soyer un minimum à l'aise avec les commandes usuelles de votre OS ainsi qu'avec la manipulation des données via un terminal connecté en mode SSH.
Ce guide ne s'adresse donc pas aux les débutants, mais plutôt aux admins expérimentés des systèmes Linux/BSD.
1. Tout d'abord installez DTC sur le nouveau serveur. Votre panneau de contrôle ne sera pas encore visible depuis votre domaine car nous n'avons pas encore changer les pointages des adresses de serveur de nom, toutefois une série de tests s'avère nécessaires afin de vérifier si DTC est installé correctement et opérationnel. Nous allons donc faire une chose ou deux: modifiez votre fichier host avec une ligne comme "<IP-du-nouveau-serveur> <votre domaine DTC>" ou bien utilisez simplement l'IP dans l'URL https://<IP-du-nouveau-serveur>/dtcadmin(approve sites) . Une fois que avez la certitude de ne pas avoir d'erreur dans votre configuration et que les générations passent sans soucis, nous allons pouvoir commencer.
2. Passer toutes vos applications web en mode maintenance (ex., Moodle, Joomla!, concrete5) ainsi, aucune modifications ne sera faisable pendant la migration (modifications qui ne serait pas transférées et donc perdues après la redéfinition de vos DNS).
3. Migrez vos fichiers:
Sur votre ancien serveur:
tar -czvf ~/files.tgz /var/www/sites
scp ~/files.tgz root@<newserver ip>:/root
Sur votre nouveau serveur:
tar -xzvf ~/files.tgz /var/www
chown -R dtc:dtcgrp /var/www/sites (le script d'installation devrait le faire, c'est juste au cas où)
4. Migrez vos tâches cron:
Sur votre ancien serveur:
crontab -l (surlignez et copiez)
Sur votre nouveau serveur:
crontab -e (collez et sauvegardez)
5. Sauvegardez vos bases de données:
Sur votre ancien serveur: (sinon j'ai fait un rapide script automatisé)
mkdir ~/databases
Pour chaque base de données vous devrez taper:
mysqldump -p <nom de la base de données> > ~/databases/<nom de la base de données>
N'oubliez pas les basese MYSQL et INFORMATION_SCHEMA.
6. Transférez vos bases:
Sur votre nouveau serveur:
mkdir ~/databases
Sur votre ancien serveur
scp ~/databases/* root@<new server ip>:/root/databases
(si vous avez utilisez le script décompressez le fichier)
7. Charger vos bases de données:
Sur votre nouveau serveur:
Pour chaque bases de données vous devez faire: (dès que j'ai le temps je vous automatise ça, snon welcome to contribs)
mysql -p
create <database name>;
exit
mysql -p <database name> < ~/databases/<database name>
* Garder en tête qu'une fois cela effectué le mot de passe des bases MySQL sera le même que celui de l'ancien serveur.
8. Synchronisez les mots de passe avec les bases:
Sur votre nouveau serveur:
Repérez le mot de passe dans /etc/mysql/debian.cnf
mysql -p
UPDATE mysql.user SET Password=PASSWORD('<nouveau mot de passe>') WHERE User='debian-sys-maint';
FLUSH PRIVILEGES;
exit
exécutez le script de post installation de DTC à nouveau
9. Pointez vos DNS vers le nouveau serveur
10. Tant que les DNS ne sont pas propagés (24/48h grand max) garder vos applications web en mode maintenance. Si vous ne voulez pas attendre la propagation des DNS, entrez les modifications dans le fichier /etc/hosts pour faire pointer les domaines vers le nouveau serveur et pouvoir repasser vos applications web en mode production. (perso j'attendrais, ou alors je penserais à ne pas oublier de couper le cron qui risquerait de regénérer le fichier de vhost)
Et voilà!!!
traduit d'après le tuto anglophone de Francisco Barcenas(fbc<at>webaso.net)
Editing this page means accepting its license.