Pour un développeur spécialisé en PHP / Mysql on peut dire que je ne poste pas beaucoup dans mes langages de prédilection en ce moment. Chaque chose en son temps. En ce moment, c’est avec des serveurs web que je m’amuse et là je poste un petit billet de rappel sur ce qu’il ne faut pas oublier de faire quand on prend son nom de domaine et qu’on décide de le partager sur deux serveurs dédiés.
Donc voilà, remettons nous dans le contexte :
J’ai un nom de domaine configuré sur un serveur dédié A. Je veux migrer uniquement les boites mails sur le serveur B, je n’ai qu’a changer les zones DNS de ce domaine?
Oui mais non, il n’y a pas que ça à faire !
Pour le travail, je me suis retrouvé à devoir migrer les boites mails de notre serveur dédié principal (Linux Plesk 9.3 / CentOs) vers un autre de nos serveurs dédiés (Gentoo release 2 OVH). J’avais tout de préparé :
Mais un petit oubli peut poser des problèmes si on ne s’en rend pas compte tout de suite
Le transfert s’est très bien déroulé. L’ip fail-over a bien fait son office, en quelques secondes tous les mails sont passés du serveur Plesk au serveur Gentoo. Tout semblait fonctionner. Oui mais voilà, le lendemain, je passes faire un tour sur l’ancien webmail et je trouves des mails automatiques que je me postais via des applications PHP ou Shell …
Car il faut savoir que même si les DNS sont réglés sur une autre IP que celle du serveur du site, PHP (ou autre) invoquera Qmail directement sans vérifier les DNS et si le nom de domaine apparait dans la liste de qmail il ne vérifiera même pas les DNS ! Pire que ça, dans Plesk, j’avais « au cas où » désactivé le service mail sur ce nom de domaine mais Plesk gérant tout à sa sauce, avait quand même laissé une trace dans les listes de qmail (va comprendre pourquoi …). Pour éviter ce genre de désagréments il faut éditer les fichiers « virtualdomains » et « rcpthosts » de qmail pour supprimer le nom de domaine de ces listes.
Voici donc maintenant, l’ordre des choses à faire pour migrer uniquement les comptes mails d’un serveur à un autre :
et supprimer le nom de domaine de ces listes
/etc/init.d/qmail stop /etc/init.d/qmail start
Et voila, tout est migré proprement et il n’y aura pas de couacs ![]()
Note : si vous avez un problème pour relancer qmail, consultez cette petite astuce : Relancer Qmail sans erreur Fatale sur le multilog (unable to lock directory /var/log/qmail/: temporary failure).
# on passe sur le compte de vpopmail su vpopmail # affiche le fichier + appelle ezmlm-sub + url de la ml "news@domaine.com" cat mon-fichier.txt | xargs /usr/local/bin/ezmlm/ezmlm-sub /home/vpopmail/domains/domaine.com/news
Merci pour le partage de cette information claire et efficace ! j’étais justement confronté à ce problème depuis 24h
De rien, c’est là pour ça
PS : désolé pour le temps d’activation du comm, je l’avais pas remarqué et mes vacances n’ont pas arrangées ça ^^
Bonjour,
Dans mon « nouveau » travail, je dois faire le transfert chez OVH d’un serveur A vers un serveur B, les 2 sont sous Gentoo Release 2. Je dois donc transférer les sites, les noms de domaines (au nombre de 4 mais que je gère depuis 3 différents registrars !), les boites mails.
Je lis çà et là différents blogs et réponses et j’avoue que je m’y perds n’étant pas moi-même un expert serveur. J’ai néanmoins (je crois suffisamment de bagage pour pouvoir suivre un tuto, car connait webmin, le manager de chez OVH, les modifications de DNS chez les registrars, l’utilisayion du SSH via Putty….).
Mais j’ai du mal à trouver un tuto « complet » pour réaliser cette tache. J’aimerais notamment savoir l’ordonnancement et les restrictions des tâches à accomplir. Par exemple :
* la copie du répertoire home de A vers B : est-ce que cela implique avant la création des mêmes users sur le serveur B ? (est-ce que je peux ainsi faire une copie simple (ou une mise à jour, en utilisant le gestionnaire de fichiers de webmin, pour chacun des serveurs) des fichiers shadow, passwd et group, afin notamment de conserver les mêmes mots de passe, UID (sans écraser notamment le password du root du serveur B)
* copier les différents fichiers de conf (apache, mysql), ceux aussi liés à la configuration mail du serveur A (clamd, freshclam, spamassassin), celui lié aux noms de domaines (par ex : xxxx.com.hosts dans var/bind/pri), toujours en faisant attention à modifier quand elle est présente la nouvelle adresse IP
* est-ce que je peux par exemple (car c’est un souci de taille pour ma boite qui en a sué avant d’avoir une config qui marche concernant les mails et la lutte contre les spams) basculer toute la gestion des sites sur le nouveau serveur B dans 1er temps, continuer à recevoir les mails sur le serveur A et quand la bascule des sites est fonctionnelle, s’attacher à faire cette bascule des emails ?
* est-ce qu’aussi (après avoir lu pas mal de choses sur l’ipfailover) utiliser cette solution sur un seul des domaines afin de voir si cela se passe bie, pour pouvoir ensuite le généraliser aux autres ?
* d’ailleurs au sujet de l’ipfailover, çà reste flou pour moi, mais dans le cas où je passe par cette possibilité, qu’elle fonctionne donc (ie le serveur 1 « utilise cette ipfailover » mais également le serveur B), que dois-je faire quand je rendrais définitivement le serveur A ? dois-je conserver cette ipfailover pour le serveur B ? Je me rends compte en écrivant cela que je n’ai pas du tout comprendre
Excusez ce mail plutot long et pas très ordonné… mais voilà c’est ce que je cherche, une méthode à suivre point par point pour réussir cette opération de transfert qui semble, à la abse, plutôt simple.
Merci à vous déjà pour les infos utiles que j’ai pu lire dans votre blog
Bonjour,
Le problème avec la Gentoo Release 2 d’OVH c’est qu’on gère les domaines depuis OVHM et qu’OVHM utilise sa propre base de données … et qu’elle est difficilement « copiable » d’un serveur à l’autre.
Même si on recrée tous les utilisateurs à la main, on risquera d’avoir des problèmes de conflits car les uid ne seront pas les mêmes entre ceux du serveur et ceux inscrits dans le fichier d’OVHM. (et même si pour les users c’est bon, c’est pas dit qu’il y ait autre chose qui déconne …)
Une fois j’ai posé la question au support d’OVH à ce sujet, le technicien m’avait répondu que ce n’était pas prudent de « synchroniser » 2 serveurs comme ça et que dans le cas de la Release 2 il vallait mieux tout recréer sur le serveur B depuis OVHM pour être sur de ne pas avoir de discordance avec le serveur A.
Dans ton cas il n’y a « que » 4 domaines. Certes il y a surement beaucoup de données derrière mais elles sont assez « regroupées ». A l’époque où j’ai posé la question j’avais déjà plus de 60 noms de domaines sur le serveur que j’allais migrer vers la Release 2… et j’ai du me taper la migration des domaines uns par uns. Le pire, c’est pour les boites mails car elles sont classées par ordre de création, et dès qu’on dépasse la centaine elles sont classées dans des répertoires numérotés (ex : les boites n° 1 à 99 sont dans /home/vpopmail/domains/ton-domaine.com/0/ ; les boites 100 à 199 sont dans /home/vpopmail/domains/ton-domaine.com/1/ ; et etc.). Il faut donc les recréer à la main et dans l’ordre de création d’origine si on veux automatiser un peu plus les copies de fichiers… (pas pratique je sais)
Pour répondre à ta question, l’ip failover est un outil extrèmement pratique dans le cas de la migration « instantanée » d’une machine à une autre. Les données (que ça soit un site, des boites mails ou autre) ne sont pas gérées sur l’adresse IP physique de ton serveur mais sur une adresse IP flottante qui est dirigé sur ton serveur.
Je te donnes un mini exemple ci-dessous :
1) Ton nom de domaine entier a son serveur primaire de DNS configuré sur l’ip failover 1-2-3-4.ovh.net (donc l’ip fail-over c’est 1.2.3.4), le serveur secondaire c’est sdns2.ovh.net (donc géré par ovh comme c’est souvent le cas pour une IP FO).
2) L’IP FO est installée sur le serveur A. C’est à dire que tu l’as faite pointer depuis ton manager OVH et que tu as installé cette IP FO sur le serveur A via l’outil OVHM
3) Tu veux migrer tout le domaine sur le serveur B, Tu ajoutes donc l’IP fail-over sur le serveur B via l’OVHM du serveur B sans la retirer du serveur A pour l’instant, ni en basculant l’IP FO depuis ton manager OVH.
4) Tu crée le domaine depuis OVHM sur le serveur B. Idéalement, conserve les mêmes utilisateurs.
5) Transfere les données du serveur A vers le serveur B. Il y a plusieurs méthodes pour ça. Le plus simple est, je penses que depuis le serveur A tu te connectes au FTP du serveur B (surtout maintenant que lftp est présent sur les Gentoo Release 2). Dans le cas des boites mails, le plus rapide est de se servir de la commande scp. Tu te connectes en root sur le serveur B et depuis ton serveur B tu lances la commandes scp qui se connectes en root au serveur A, copie les répertoires des boites mails sur le serveur B. Après, tu devras faire un chown -r vpopmail:vpopmail /home/vpopmail/domains/ton-domaine.com (c’est de tête hein, pas testé ^^)
6) Sur le serveur A, tu retires l’IP FO depuis l’OVHM du serveur A
7) Depuis ton mnager OVH, tu bascule l’IP FO du serveur A vers le serveur B. Ca ne prend que quelques secondes à être effectif.
Dans le cas d’un transfert partiel de nom de domaine (juste les boites mails par exemple) :
1) Tu ajoutes l’IP FO au serveur A (si ce n’est pas déjà fait)
2) sur le serveur A, dans la conf du domaine, tu indiques que les boites mails sont gérées sur ton IP FO directement dans le fichier de bind (attention, ne pas se servir de webmin, il est configuré pour Bind 8 or la release 2 utilise Bind 9 ! Il faut le faire directement en ssh sans oublier de mettre à jour le numéro de série du fichier sur la 1ere ligne)
3) Sur le serveur B tu ajoutes l’IP FO, tu crée le domaine depuis OVHM et tu met à jour le fichier de conf bind du domaine pour le mettre à l’identique de celui du serveur A
4) Copies des mails du serveur A vers le serveur B
5) Dans le manager OVH, basculer l’IP fai-over du serveur A vers le serveur B
6) Sur le serveur A, éditer les fichiers
/var/qmail/control/virtualdomains
/var/qmail/control/rcpthosts
et supprimer le nom de domaine de ces listes
7) Redémarrer Qmail sur le serveur A (c’est expliqué dans l’article de cette page)
Voilà, j’ai essayé de faire au plus simple pour l’explication. Si t’as encore des questions, n’hésites pas
Merci pour tous ces conseils.
Je m’y mets tout de suite et te tiendrais au courant
D’ores et déjà un grand merci
Me revoilà ,-)
Voilà où j’en suis.
J’ai pour mon serveur A demandé une IPFO. Je l’ai installé en updatant le fichier net dans etc/conf.d
Ensuite, j’ai :
1) Modifier pour mon 1er domaine son fichier hosts (dans var/bind/pri) en remplacant nsXXXX.ovh.net par ip-fail-over.ovh.net
2) J’ai modifié dans le httpd.conf (dans usr/local/apache.conf) le virtual host en modifiant l’adresse IP:80 par celle de l’IPFO:80 (je l’ai fait pour le www et pour le sql de ce domaine)
3) Dans le manager OVH, j’ai supprimé mon enregistrement DNS secondaire de ce domaine et les recrée en spécifiant en primaire l’IPFO
4) Je suis allé faire de même chez Gandi, registrar de ce domaine.
Ca marche parfaitement (le ping sur ce domaine me donne bien l’IPFO)
J’ai voulu faire la même démarche pour mon 2ème domaine dont le registrar est Network solutions.
Mais là quand j’ai regardé dans mon navigateur le résultat, il me renvoyait vers le site de mon 1er domaine.
Question ? Dois-je pour chaque domaine crée une IPFO différente ? Je ne pense pas. Mais alors je ne vois pas quel est le problème ? Pour l’heure, pour ce 2ème domaine, j’ai remis sur mon serveur (autant dans son fichier hosts comme dans httpd d’apache et dans la config DNS secondaire du manager, ses données initiales… et le site est à nouveau opérationnel)…
Une petite idée ?
Bien à vous
F.
Je précise que dans le fichier hosts j’ai modifié le nsXXX.ovh.net par ip-fail-over.ovh.net
et que j’ai modifié toutes les IP existantes par celle de l’IPFO….
AUtre chose, chez NEtwork Solutions, j’avais 2 noms de domaines :
http://www.sudreperages.com et http://www.sudreperage.com (qui pointaient vers le même site)
J’ai fait en même temps le changement de DNS primaire et secondaire (j’avais donc fait la même chose sur mon serveur comme indiqué sur mon écrit précédent).
Quand je ping http://www.sudreperages.com, il ping toujours sur l’ancienne adresse alors que http://www.sudreperage.com ping toujours (et depuis le début d’ailleurs) sur l’IPFO ce qui fait que même en remettant sur mon serveur toutes les données comme à l’origine, http://www.sudreperages.com m’envoie vers le « bon » site alors que http://www.sudreperage.com m’envoie vers le site du 1er domaine modifié (en l’occurence http://www.villaixosibiza.com)…..
Je ne sais pas si à l’heure où vous prendrez connaissance de ce message ce sera toujours le cas. Merci d’avance pour votre aide car là j’avoue que je suis circonspect (car je ne crois pas qu’il faille créer une IPFO/domaine). Pour info de +, http://www.sudreperage.com est défini comme alias de http://www.sudreperages.com
Nouvelle remarque ,-))
Si directement dans mon navigateur, je saisis mon IPFO, je tombe sur sur le site de villaixos
http://188.165.45.238/ (avec des problèmes de mise en page)
pfff là j’ai remis le 1er domaine également comme initialement et c’est la cata… je deviens fou ,-))) et comme j’ai encore fait nuit blanche.. vaut mieux que je me pose….
Bonjour,
Les réponses arrivent avec un peu de retard, j’ai pas trop le temps de me connecter à mon blog perso en ce moment.
Quelques réponses :
« Modifier pour mon 1er domaine son fichier hosts (dans var/bind/pri) en remplacant nsXXXX.ovh.net par ip-fail-over.ovh.net »
–> Tu as bien incrémenté un nouveau numéro de série? (sous la forme date + chiffre : YYYYMMDD01, puis 02, puis 03 etc.)
–> Tu as bien relancé Bind après avoir fait la modif? (/etc/init.d/bind restart)
« Question ? Dois-je pour chaque domaine crée une IPFO différente ? »
Non. Tout comme on put héberger plusieurs noms de domaines sur l’adresse IP physique du serveur on peut faire tourner autant de noms de domaines que l’on veux sur une IP FO. Ce sont les services (apache par exemple) qui font la distinction ensuite et redirigent dans les bons répertoires (toujours sur mon exemple d’apache).
« Je précise que dans le fichier hosts j’ai modifié le nsXXX.ovh.net par ip-fail-over.ovh.net
et que j’ai modifié toutes les IP existantes par celle de l’IPFO…. »
–> Une chose à la fois. A ta place, je ferai fonctioner une chose, puis, et seulement après que ça fonctionne je m’attaquerai à l’autre. (au début au moins). Tout modifier en même temps peut plus poser de problèmes qu’en résoudre (surtout si tu vires définitivement l’adresse IP physique du serveur qui doit bien être conservée même si elle est peu utilisée.
Pour les autres incohérences que tu as constaté : n’oublie pas qu’il y a un délais de propagation de DNS et que ce n’est pas instantané ! Surtout si tu changes les DNS primaires et secondaires, ça peut prendre jusqu’a 48h que les DNS soient propagées sur tout internet.
A ta place, je fonctionnerai comme ça :
- Ajout de l’ip FO via l’outil OVHM de webmin (manage IP fail-over)
- (SI L’IP FO GERE LES DNS DU DOMAINE) : chez ton registrar, modifie les serveurs primaires et secondaires du domaine avec la reverse de ton ip fo et sdns2.ovh.net. Attention : 48h de délais de propagation.
- (SI L’IP FO GERE LES DNS DU DOMAINE) Dans ton manager OVH, dans la partie « services » du manager (rubrique serveur dédié), ajoutes ton domaine au serveur secondaire de l’IP Fail-over : Manager -> ton serveur -> services -> DNS secondaires -> nouveau domaine -> tu saisis le nom de domaine et l’adresse IP de l’IP FO
- Sur le serveur Modifier le fichier de ton domaine dans /var/bind/pri/ , par exemple pour une 1ère modif faite aujourd’hui (2011 04 01), extrait :
$ttl 86400
mon-domaine.com. IN SOA mon-domaine.com. postmaster.mon-domaine.com. (
2011040101
21600
3600
604800
86400 )
IN NS REVERSE-IP-FAIL-OVER.ovh.net. ###SI L’IP FO GERE LES DNS DU DOMAINE
IN NS sdns2.ovh.net.
- redémarrer Bind : /etc/init.d/bind/restart
- Modifier /etc/httpd/httpd.conf
Si une ligne de ce genre n’est pas présente : NameVirtualHost ton-ip-fail-over-en-chiffres:80 l’ajouter avant la déclaration du vitualHost
- Ton VitualHost devrait ressembler à ça :
ServerAlias domaine-alias.com
ServerAlias http://www.mon-domaine.com
ServerAdmin webmaster@mon-domaine.com
DocumentRoot /home/mondoma/www
SuexecUserGroup mondoma users
ServerName http://www.mon-domaine.com
ServerAlias mon-domaine.com
CustomLog logs/mondoma-access_log combined
ScriptAlias /cgi-bin/ /home/mondoma/cgi-bin/
AddHandler x-httpd-php5 .php
- reload ou redémarre apache : /etc/init.d/httpd restart
Voilou, je penses n’avoir rien oublié.
@+
No problemo…. Je tiens déjà vous remercier de prendre sur votre temps pour répondre à mes questionnements de néophyte + ,-)))
Pour que vous ayez les derniers éléments en main, j’ai donc demandé l’IPFO chez OVH y’a déjà quelques jours. J’ai fait la modif sur le fichier net. J’ai attaché cette IPFO à l’IP de mon vieux serveur.
J’ai supprimé et recrée les DNS depuis le manager d’oVH pour prendre en compte le DNS secondaire qui était différent de celui enregistré jusqu’alors.
J’ai ensuite été chez mes 2 registrars faire les modifs des DNS pour faire pointer le primaire sur l’IP-fail-over.ovh.net le le secondaire sur sdns2.ovh.net
Le changement pour irisprod.com a été fait il y a 24h.. celui de sudreperages.com y’a déjà 3-4 jours.
Quand je vais sur ce lien :
http://digwebinterface.com/?hostnames=sudreperages.comirisprod.com&type=ANY&stats=on&trace=on&useresolver=69.65.17.101&ns=all&nameservers=
il semble que cela est bien pris en compte, non ?
J’ai par ailleurs fait le transfert d’un autre nom de domaine, cette fois directement, sans utiliser l’IPFO… çà a marché… le serveur de mail a eu + de mal (ou eu besoin de + temps) pour prendre le relais mais çà marche dorénavant.
Maintenant que cela a été fait et après lecture de votre dernier conseil, j’ai néanmoins toujours quelques petites zones d’ombre que j’aimerais dissiper avant de me lancer dans la bascul complète sur serveur. Je vous propose si vous avez quelques minutes à me consacrer de pouvoir vous joindre par téléphone, à l’heure qu’il vous conviendra bien entendu.
Je m’absente pendant 2h30…
J’ai une question qui m’angoisse…
Je crois avoir bien modifié ce qui devait l’être…
Je suis à prêt à faire la modification de basculement de l’IPFailover vers mon nouveau serveur mais quand depuis le manager OVH, sur mon nouveau serveur, je regarde « services, « DNS secondaires », je ne vois pas les domaines que je ceux basculer depuis mon ancien serveur (je ne vois que les domaines dont j’ai réalisé directement le transfert en faisant pointer leur DNS directement sur le nouveau serveur depuis leurs enregistrements chez leur registrars effectifs).
Est-ce donc normal ? Dois-je créer ces enregistrements sinon depuis le manager ? Si oui, je prends comme IP principale l’IP du nouveau serveur ou l’IPfailover ?
Bien à vous
F.
Je voulais vous dire que j’ai réussi (enfin je crois ,-)) la bascule ce matin. J’ai finalement opté pour supprimer et recréer mes domaines à transférer sur le nouveau serveur via OVHM afin de respecter scrupuleusement vos prérogatives.
Je vous remercie du temps que vous m’avez accordé et de vos précieux conseils..
Cordialement
F. TEJERA
Bonjour,
Désolé, je viens juste de voir les commentaires. Félicitations pour votre transfert !
Bien cordialement
Bonjour Denis, j’ai une situation légèrement différente et qui j’espère se résoud plus facilement : le site d’une société est sur un serveur A (1&1), les mails sur un serveur B. J’ai fait une nouvelle version du site sur un serveur C (Plesk OVH), et ce dernier envoie bien des mails partout sauf au nom de domaine du site.
J’ai bien supprimé je pense toutes les zones DNS en rapport avec les mails sur le serveur C, dois-je faire autre chose pour qu’il les envoie sur le serveur B ? Je ne pense pas avoir d’IP fail over à gérer, et les fichiers de qmail ne contiennent pas le domaine en question (il en contient d’autres).
Peut-être que je dois juste attendre une propagation ? Merci de me renseigner, tout cela n’est pas trop mon truc (comment ça ça se voit ?
.
Bonjour,
Si les entrées DNS n’ont pas été modifiées récemment (plus de 48 ou 72h) il n’y a pas de raison pour la propagation.
Par contre, avec Plesk il faut se méfier… Par exemple, il faut penser à dabord désactiver le service mail sur Plesk PUIS retirer le nom de domaine des 2 fichiers qmail cités dans ce billet PUIS ENFIN relancer qmail (sinon il ne prend pas en compte les modifications).
Pour vérifier si le serveur Plesk a bien compris que les emails étaient gérés ailleurs que « chez lui » on peut essayer le service via telnet (on se connecte en ssh au seveur puis, on se connecte en telnet au serveur mail comme ça on voit quel serveur répond et si il répond bien) ou tout simplement en faisant un « ping mail.mondomaine.com » (idem, on se connectes en ssh, on lance le ping puis crtl+c pour l’arretter).
En espérant que ça ait put t’aider ; sinon ben repostes un commentaire et j’essaierai de t’aider dans la mesure de mes compétences
(je ne suis pas un pro non plus
)
Merci pour ra réponse
En fait ce n’est pas moi qui ai vidé les fichiers de qmail, donc je suppose que Plesk l’a fait lorsque j’ai supprimé les zones DNS (il y a 3 heures). J’ai pensé au ping, mais le domaine du serveur mail n’est pas le même que celui du site et des adresses… Donc peut-être un alias, mais d’où que je ping, je n’arrive pas à l’atteindre (l’alias). Un peu compliqué…