Article ID: 122876, created on Feb 13, 2015, last review on Feb 13, 2015

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

Symptômes

Parallels Plesk ne charge pas après une mise à niveau. Les erreurs suivantes s'affichent lorsque vous essayez de vous connecter :

    Unknown column ipAddress in where clause

Ou :

    ERR (3)  [panel]: SQLSTATE[42S02]: Base table or view not found: 1146 
    Table 'psa.table_name' doesn't exist

Ou :

 SQLSTATE[42S22]: Column not found: 1054 Unknown column 'DomainId' in 'where clause'   

Lorsque vous essayez d'ouvrir un domaine ou un abonnement, l'erreur suivante s'affiche :

ERROR: Call to a member function capability() on a non-object (SubscriptionController.php:1144)

Cause

En général, une mise à niveau échoue en raison de dépendances de packs, d'incohérences dans l'installation avant la mise à niveau ou de tentatives de mises à niveau antérieures.

Cet article fournit des instructions générales sur les étapes pour réexécuter la mise à niveau. C'est pourquoi la cause exacte est ignorée ici. Vous devez déterminer la cause en fonction des messages des fichiers de log et du résultat du script.

Résolution

Voici les étapes pour recommencer complètement une mise à jour qui a échoué :

  1. Prenez un snapshot de la base de données actuelle, celle-ci risque d'être incohérente (mise à niveau partielle), mais en cas de problème ce snapshot est requis :

    # mysqldump -uadmin -p`cat /etc/psa/.psa.shadow` --quote-names --database psa > current.sql
    
  2. Trouvez un dump de la base de données "psa" cohérent antérieur à la mise à niveau dans le répertoire "/var/lib/psa/dumps/" :

    # ls -l /var/lib/psa/dumps/mysql.preupgrade*
    -rw-------  1 root root 78771 Oct 11 16:56 /var/lib/psa/dumps/mysql.preupgrade.dump.gz
    -rw-------  1 root root 78452 Oct 11 16:32 /var/lib/psa/dumps/mysql.preupgrade.dump.gz.1
    -rw-------  1 root root 78320 Oct 11 16:07 /var/lib/psa/dumps/mysql.preupgrade.dump.gz.2
    -rw-------  1 root root 65351 Oct  7 02:09 /var/lib/psa/dumps/mysql.preupgrade.dump.gz.3
    -rw-------  1 root root 45632 Aug  3 12:39 /var/lib/psa/dumps/mysql.preupgrade.dump.gz.4
    -rw-------  1 root root 43245 Aug  3 00:19 /var/lib/psa/dumps/mysql.preupgrade.dump.gz.5
    -rw-------  1 root root 51235 Jun 12 12:19 /var/lib/psa/dumps/mysql.preupgrade.dump.gz.6
    

    Le snapshot de la base de données le plus valide est généralement le dump le plus ancien du jeu de dumps le plus récent (ici : "/var/lib/psa/dumps/mysql.preupgrade.dump.gz.2").

  3. Extrayez la base de données "psa" du dump à l'aide des commandes suivantes :

    3.1. Si une mise à niveau est effectuée depuis une version 10.3 et ultérieure, vous devez restaurer les deux bases de données "psa" et "apsc".

    # zcat /var/lib/psa/dumps/mysql.preupgrade.dump.gz.2 | sed -n '/^CREATE DATABASE.*psa/,/^CREATE DATABASE.*apsc/p' > preupgrade_psa.sql
    # zcat /var/lib/psa/dumps/apsc.preupgrade.dump.gz.2 > preupgrade_apsc.sql
    

    3.2. Si une mise à niveau est effectuée depuis une version antérieure à 10.3, seule la base de données "psa" est requise :

     # zcat /var/lib/psa/dumps/mysql.preupgrade.dump.gz.2 | sed -n '/^CREATE DATABASE.*psa/,/^CREATE DATABASE.*horde/p' > preupgrade.sql
    
  4. Vérifiez la version des packs "psa" et "plesk-core" :

    rpm -q plesk-core psa
    

    Si ces packs ont déjà été mis à niveau, téléchargez et installez les versions antérieures à la mise à niveau depuis http://autoinstall.plesk.com/PSA_<old_plesk_version>/<os_version_build>/base/ et forcez leur installation :

    rpm -Uvh --force --nodeps <package_name>
    

    S'il y a deux RPM "psa" installées, supprimez la nouvelle comme suit :

    # rpm -e --nodeps --noscripts --justdb <package>
    
  5. Corrigez les fichiers suivants : "/usr/local/psa/version" et "/usr/local/psa/core.version".

    Définissez les anciennes versions ici. Retrouvez le numéro de la version exacte dans le pack du bootstraper correspondant. Par exemple, si vous installez les packs Plesk suivants : plesk-core-11.5.30-cos6.build115130819.13.x86_64.rpm, psa-11.5.30-cos6.build115130819.13.x86_64.rpm, le fichier "version" doit contenir 11.5.30 CentOS 6 115140407.17 (version du build disponible dans la dernière version du pack du bootstraper : pp11.5.30-bootstrapper-11.5.30-cos6.build115140407.17.x86_64.rpm). Le fichier "core-version" doit contenir la version du pack principal.

  6. Supprimez les bases de données actuelles "psa" et "apsc" et restaurez les dumps antérieurs à la mise à niveau :

    # echo "DROP DATABASE psa" | mysql -uadmin -p`cat /etc/psa/.psa.shadow`
    # cat preupgrade_psa.sql | mysql -uadmin -p`cat /etc/psa/.psa.shadow`
    # echo "DROP DATABASE apsc" | mysql -uadmin -p`cat /etc/psa/.psa.shadow`
    # cat preupgrade_apsc.sql | mysql -uadmin -p`cat /etc/psa/.psa.shadow`
    
  7. Corrigez le problème qui a causé l'échec de la mise à niveau à l'origine. Attention, cet article ne traite pas de ce processus. Toutefois, vous trouverez des informations pratiques dans les logs de mises à niveau sous "/tmp".

  8. Téléchargez les packs "psa" et "plesk-core" de la version que vous avez essayé de mettre à niveau. Installez ces packs à l'aide de la commande "rpm -Uvh --force". Cette action lancera la mise à niveau de la base de données. En cas d'échec, vous devrez corriger l'origine de l'échec, restaurer tous les éléments conformément aux étapes précédentes et appliquer à nouveau cette étape.

  9. Exécutez l'utilitaire "bootstrapper" :

    /usr/local/psa/bootstrapper/pp12.0.18-bootstrapper/bootstrapper.sh --prep-install
    /usr/local/psa/bootstrapper/pp12.0.18-bootstrapper/bootstrapper.sh --rerun
    
  10. Pour restaurer les fichiers de configuration des services Web, mail et DNS, exécutez cette commande :

    plesk bin repair --run
    
  11. Exécutez la commande suivante :

    /usr/local/psa/admin/bin/autoinstaller --select-release-current --upgrade-installed-components
    

aea4cd7bfd353ad7a1341a257ad4724a 56797cefb1efc9130f7c48a7d1db0f0c a914db3fdc7a53ddcfd1b2db8f5a1b9c 29d1e90fd304f01e6420fbe60f66f838 0a53c5a9ca65a74d37ef5c5eaeb55d7f 01bc4c8cf5b7f01f815a7ada004154a2 2a5151f57629129e26ff206d171fbb5f e335d9adf7edffca6a8af8039031a4c7 def31538ba607bde27398f48ab5956be dd0611b6086474193d9bf78e2b293040 5356b422f65bdad1c3e9edca5d74a1ae caea8340e2d186a540518d08602aa065 614fd0b754f34d5efe9627f2057b8642 2554725ed606193dd9bbce21365bed4e 6f1456866eed87488c0f02b298a741c0

Email subscription for changes to this article
Save as PDF