Migration Release 2 OVH vers Debian/Virtualmin

La release 2 n'est plus proposée ni maintenue, comment migrer vers Virtualmin ou Release 3
DidineAdmin_tutos
Administrateur du site
Messages : 91
Enregistré le : 19 Aoû 2014, 08:58

Migration Release 2 OVH vers Debian/Virtualmin

Message non lupar DidineAdmin_tutos » 25 Oct 2014, 09:15

La Release 2 OVH est morte, paix à son âme, fin septembre 2014 la faille Shellshock a fait des ravages et permis pas mal de hacks sur cette vieille distribution.
Ceux qui l'utilisaient doivent maintenant passer à autre chose, personnellement je conseille Debian avec le panel Virtualmin, mais l'architecture est différente entre R2 et Virtualmin, voilà comment transférer vos domaines et sous-domaines.
Pour plus de simplicité et de rapidité, je prends le cas d'une migration vers un nouveau serveur, si vous n'en avez pas, vous pouvez prendre un petit serveur kimsufi (à 5 ou 10 euros) qui servira d'intermédiaire et pourra ensuite vous servir de serveur de backup avec ses 2 To de disque.
Nouveau serveur installé en Debian 7.xx 64 Bits puis vous installez Virtualmin comme indiqué ici : viewtopic.php?f=2&t=12
Sur le nouveau serveur on crée les virtualhosts avec virtualmin voir viewtopic.php?f=2&t=37 en prenant soin de donner le même user/pass que sur l'ancien serveur, (ce n'est pas obligatoire mais cela facilite grandement la tâche)

on va transférer le domaine exemple.net vers le nouveau serveur

dans /root/.ssh/id_dsa.pub vous trouverez la clé publique de votre ancien serveur, si elle n'y est pas, on la crée

Code : Tout sélectionner

ssh-keygen -t dsa

là vous tapez sur entrée à chaque demande sans rien mettre

Code : Tout sélectionner

Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
d4:90:09:... root@ancien_serveur
The key's randomart image is:
+--[ DSA 1024]----+
|  o.o.o..o       |
|   = .  oo       |
|  . .   . .      |
| .     .         |
|.       S        |
| .    .          |
|  o..o           |
| ..o..o          |
|  o=*+E+         |
+-----------------+

Puis on ouvre le fichier

Code : Tout sélectionner

cat /root/.ssh/id_dsa.pub

vous copiez la clé
ensuite sur le nouveau serveur
vous allez la coller dans /root/.ssh/authorized_keys ou /root/.ssh/authorized_keys2 selon celui qui est présent, ce n'est pas obligatoire mais cela évitera d'avoir à taper le mot de passe du nouveau serveur à chaque commande (attention que lors du copié/collé il n'y ait pas d'espace qui se soit ajouté dans la ligne)
vous vérifiez que c'est ok :

Code : Tout sélectionner

ssh root@ip_new_serveur

vous répondez oui quand c'est demandé et vous devriez vous retrouver sur le nouveau serveur
tapez exit afin de revenir sur l'ancien

sur ancien :
On va envoyer tout le contenu du répertoire www de notre domaine

Code : Tout sélectionner

rsync -rvp -e 'ssh' /home/exemple/www/ root@ip_new_serveur:/home/exemple/public_html/

ensuite on se déplace dans le répertoire home pour que le dump de la BDD s'y enregiste

Code : Tout sélectionner

cd /home

Code : Tout sélectionner

mysqldump -u root -pPASS_ROOT_MYSQL exemple > exemple2014_10_24.sql

puis on envoie ce dump sur le nouveau serveur dans le répertoire home

Code : Tout sélectionner

rsync -rvp -e 'ssh' /home/exemple2014_10_24.sql root@ip_new_serveur:/home/


sur nouveau serveur :
on se déplace dans home

Code : Tout sélectionner

cd /home

et on importe notre dump

Code : Tout sélectionner

mysql -u root -pPASS_ROOT_MYSQL exemple < exemple2014_10_24.sql

Dans la R2 les fichiers ont comme propriétaire l'utilisateur du domaine et users comme groupe, sur Virtualmin proprio et groupe sont identiques.
Si l'utilisateur de notre domaine exemple.net est exemple on modifie comme ceci

Code : Tout sélectionner

chown -R exemple:exemple /home/exemple/public_html

Passons aux sous-domaines qui sont à des endroits différents entre R2 et Virtualmin
sous-domaine : mobile.exemple.net

Sur ancien serveur

Code : Tout sélectionner

rsync -rvp -e 'ssh' /home/exemple/sd/mobile/www/ root@ip_new_serveur:/home/exemple/domains/mobile.exemple.net/public_html/

sur nouveau :

Code : Tout sélectionner

chown -R exemple:exemple /home/exemple/domains/mobile.exemple.net/public_html


pour mettre les répertoires en 755 et fichiers en 644 :

Code : Tout sélectionner

find /home/exemple/public_html -type d -exec chmod 755 "{}" \;
find /home/exemple/public_html -type f -exec chmod 644 "{}" \;
find /home/exemple/domains/mobile.exemple.net/public_html -type d -exec chmod 755 "{}" \;
find /home/exemple/domains/mobile.exemple.net/public_html -type f -exec chmod 644 "{}" \;


Si vous aviez des crons sur votre ancien serveur, copiez-les (uniquement les votres, pas ceux du système) et intégrez-les soit dans l'interface graphique de Virtualmin (taches cron dans webmin, système) soit directement en SSH

Code : Tout sélectionner

crontab -e

sur la R2 il fallait mettre le chemin pour php, sur virtualmin c'est inutile, voici un exemple avec un fichier bash ou sh et un fichier php

Code : Tout sélectionner

5 6 6 * * * sh /usr/share/mes-scripts/un_cron.sh
9 5 7 * * * php /home/exemple/public_html/moncron.php


Dans les managers ne pas oublier de :
- retirer le domaine des DNS secondaires de l'ancien serveur
- mettre les DNS (nom du serveur en primaire ) sur le domaine
- ajouter le domaine aux DNS secondaires du nouveau serveur
et ajouter la ligne ownercheck dans la zone DNS dans Bind sur le serveur

Il vous restera les emails, la R2 utilise qmail et virtualmin utilise Postfix.
Virtualmin peut utiliser qmail, mais ne gérant pas les emails sur le serveur (j'utilise les MX Plan d'OVH), je n'ai pas testé.
(au cas ou, sur la R2 les boites mail sont ici

Code : Tout sélectionner

scp -rp /home/vpopmail/domains/exemple.net/ root@ip_new_serveur:/home/vpopmail/domains/

il faut avoir choisi qmail en serveur de courrier avant de taper cette commande sur votre ancien serveur)

Ce tuto est volontairement très décomposé, vous pouvez écrire des scripts pour que la migration soit automatisée si vous avez beaucoup de domaines, là vous avez les bases.
Bon courage

DidineAdmin_tutos
Administrateur du site
Messages : 91
Enregistré le : 19 Aoû 2014, 08:58

Re: Migration Release 2 OVH vers Debian/Virtualmin

Message non lupar DidineAdmin_tutos » 25 Oct 2014, 14:23

Pour convertir les emails qmail vers Postfix, voir ici : http://batleth.sapienti-sat.org/projects/mb2md/

Code : Tout sélectionner

wget http://batleth.sapienti-sat.org/projects/mb2md/mb2md-3.20.pl.gz

Code : Tout sélectionner

gunzip mb2md-3.20.pl.gz

si besoin de cette librairie :

Code : Tout sélectionner

wget http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/TimeDate-2.30.tar.gz

Code : Tout sélectionner

tar xzvf TimeDate-2.30.tar.gz


Autre possibilité
http://imapsync.lamiral.info/
http://freecode.com/projects/imapsync/

Autre lien intéressant :
http://www.hegerys.com/blog/2009/postfi ... mail-howto

BBR18
Messages : 301
Enregistré le : 02 Nov 2014, 09:05

Re: Migration Release 2 OVH vers Debian/Virtualmin

Message non lupar BBR18 » 09 Aoû 2016, 13:56

et pour passer de qmail à Postifix : https://www.how-to.ovh/viewtopic.php?f=19&t=174


Retourner vers « Migration Release 2 OVH »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités