Article ID: 112699, created on Jan 9, 2015, last review on Jan 9, 2015

  • Applies to:
  • Plesk 12.5 for Linux
  • Plesk 12.0 for Linux
  • Plesk 11.0 for Linux
  • Plesk 11.5 for Linux
  • Plesk 10.3 for Linux/Unix

Symptômes

Pendant la récupération après incident, il est nécessaire de configurer une nouvelle instance de Parallels Plesk et de migrer tous les paramètres du serveur ainsi que les données client depuis l'ancien serveur. Pour une raison indéterminée, il n'est pas possible d'utiliser la solution décrite dans cet article :

3072 : Comment restaurer Parallels Plesk à partir du disque dur si l'OS est corrompu, le HDD avec un ancien OS et si Parallels Plesk est monté dans le nouveau système ?

Résolution

Pour résoudre le problème, nous considérons que le disque dur de l'ancien serveur est monté sur le répertoire /old du nouveau serveur.

  1. Sur le nouveau serveur, installez la même version de Parallels Plesk que vous utilisiez avant et utilisez la licence appropriée.

  2. Important : cette étape est possible uniquement si la version du serveur MySQL est identique sur le serveur d'origine et sur le nouveau serveur.

    Démarrez le serveur MySQL. Faites pointer le paramètre "datadir" dans /etc/my.cnf vers l'emplacement de la base de données MySQL sur l'ancien serveur (/old/var/lib/mysql) et les bases de données dump :

    # mysql -uadmin -p`cat /old/etc/psa/.psa.shadow` -Dpsa -Ns -e"select name from data_bases where type = 'mysql'" | while read dbname ; do mysqldump -uadmin -p`cat /etc/psa/.psa.shadow` --databases $dbname > $dbname.sql ; done
    

    Arrêtez MySQL. Remettez la valeur d'origine pour le paramètre "datadir" dans "/etc/my.cnf". Démarrez MySQL et restaurez les bases de données :

    # for f in *.sql ; do mysql -uadmin -p`cat /etc/psa/.psa.shadow` < $f ; done
    
  3. Restaurez la base de données Parallels Plesk depuis le dump disponible :

    a) Arrêtez le service Plesk :

    # /etc/init.d/psa stopall
    

    b) Démarrez le serveur MySQL :

    # /etc/init.d/mysqld start
    

    c) Importez le dump de la base de données :

    # zcat /old/var/lib/psa/dumps/mysql.daily.dump.0.gz | mysql -uadmin -p`cat /etc/psa/.psa.shadow`
    
  4. Copiez le fichier du mot de passe de la base de données Plesk :

    # cp -rpf /old/etc/psa/.psa.shadow /etc/psa/.psa.shadow
    
  5. (pour Plesk 11.x et les versions ultérieures) Copiez la clé de chiffrement sur le nouveau serveur :

    # cp /etc/psa/private/secret_key /etc/psa/private/secret_key.save
    # cp -rpf /old/etc/psa/private/secret_key /etc/psa/private/secret_key
    

    Remarque : vous devrez peut-être exécuter chmod et chown pour le fichier :

    # chmod 0600 /etc/psa/private/secret_key
    # chown psaadm:root /etc/psa/private/secret_key
    

    Voici les droits corrects pour ce fichier :

    # stat /etc/psa/private/secret_key
      File: `/etc/psa/private/secret_key'
      Size: 16              Blocks: 8          IO Block: 4096   regular file
    Device: fd00h/64768d    Inode: 49938531    Links: 1
    Access: (0600/-rw-------)  Uid: (  501/  psaadm)   Gid: (    0/    root)
    Access: 2014-07-14 17:35:51.000000000 +0200
    Modify: 2012-11-22 00:14:01.000000000 +0100
    Change: 2014-07-14 17:06:31.000000000 +0200
    

    Remarque : si après ces étapes vous ne parvenez pas à accéder à MySQL avec les identifiants d'accès de Plesk (mysql -uadmin -p$(cat /etc/psa/.psa.shadow)), essayez de redémarrer le serveur MySQL à l'aide de service mysqld restart.

  6. Modifiez la table IP_Addresses si le jeu d'adresses IP affectées au nouveau serveur a changé.

  7. Restaurez le contenu du domaine :

    # rsync -av /old/var/www/vhosts/ /var/www/vhosts/   
    
  8. Restaurez les utilisateurs système de Plesk :

    # mysql -uadmin -p`cat /etc/psa/.psa.shadow` -Dpsa -Ns -e"select s.login, a.password, s.home, s.shell from sys_users s, accounts a where a.id = s.account_id" | awk '{ print "PSA_PASSWD=\x27" $2 "\x27 /usr/local/psa/admin/sbin/usermng --add-user --user=" $1 " --homedir=" $3 " --shell=" ($4?$4:"/bin/false")}' | sh -x
    

    Pour Plesk 10.x et les versions ultérieures, exécutez cette commande :

    # mysql -uadmin -p`cat /etc/psa/.psa.shadow` -Dpsa -Ns -e"select s1.login, s2.login from sys_users s1 left join sys_users s2 on s2.id = s1.mapped_to where s2.login is not null" | awk '{print "/usr/local/psa/admin/sbin/usermng --map-user --user=" $1 " --mapped-to=" $2}' | sh -x
    
  9. Indiquez le propriétaire correct sur le contenu des hôtes virtuels pour corriger les fichiers et les répertoires possédés par des utilisateurs non existants :

    Pour Plesk 10.x et 11.x :

    # mysql -uadmin -p`cat /etc/psa/.psa.shadow` -Dpsa -Ns -e"SELECT s.home, h.www_root, s.login FROM hosting h, sys_users s WHERE s.id = h.sys_user_id" | while read home www_root login ; do content_uid=`stat --format=%u "$www_root"` ; find $home -uid $content_uid -exec chown $login '{}' + ; done
    

    Pour Plesk 9.x et les versions antérieures :

    # mysql -uadmin -p`cat /etc/psa/.psa.shadow` -Dpsa -Ns -e"SELECT home, login FROM sys_users" | while read home login ; do content_uid=`stat --format=%u "$home/httpdocs"` ; find $home -uid $content_uid -exec chown $login '{}' + ; done
    
  10. Restaurez les certificats SSL :

    # cp -p  /old/usr/local/psa/var/certificates/* /usr/local/psa/var/certificates/
    
  11. Regénérez la configuration du serveur Web :

    Pour Plesk 8.x et 9.x :

    # /usr/local/psa/admin/sbin/websrvmng –a -v
    

    Pour Plesk 10.x :

    # /usr/local/psa/admin/sbin/httpdmng --reconfigure-all
    
  12. Restaurez le contenu de mailnames :

    # rsync -av /old/var/qmail/mailnames/ /var/qmail/mailnames/
    # chown -R popuser:popuser /var/qmail/mailnames/*
    
  13. Réparez la configuration de la messagerie :

    # /usr/local/psa/admin/sbin/mchk –-with-spam
    
  14. Restaurez les zones DNS :

    Pour Plesk 9.x et les versions antérieures :

    # mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa -Ns -e  "select name from dns_zone" | awk '{ print "/usr/local/psa/admin/sbin/dnsmng update " $1 }' | sh -x
    

    Pour Plesk 10.x et les versions ultérieures :

    # mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa -Ns -e  "select name from dns_zone" | awk '{ print "/usr/local/psa/admin/sbin/dnsmng --update " $1 }' | sh -x
    
  15. Démarrez le service Parallels Plesk :

    # /etc/init.d/psa start
    

a914db3fdc7a53ddcfd1b2db8f5a1b9c 29d1e90fd304f01e6420fbe60f66f838 56797cefb1efc9130f7c48a7d1db0f0c 0a53c5a9ca65a74d37ef5c5eaeb55d7f 01bc4c8cf5b7f01f815a7ada004154a2 aea4cd7bfd353ad7a1341a257ad4724a 2a5151f57629129e26ff206d171fbb5f e335d9adf7edffca6a8af8039031a4c7 742559b1631652fadd74764ae8be475e f4ce8084cb23619ef5fe9428ecc388ea dd0611b6086474193d9bf78e2b293040

Email subscription for changes to this article
Save as PDF