Plesk

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Panneau d'hébergement mutualisé
Commande /usr/local/psa/... (binaires CLI Plesk/PSA)
Contexte Linux (RHEL/CentOS), Plesk historique (Parallels/Odin, PSA 8/9)
Fichiers clés /etc/psa/psa.conf, /etc/psa/.psa.shadow

Plesk est un panneau de contrôle d'hébergement mutualisé (gestion de domaines, mails, bases de données, vhosts). En plus de son interface web, la quasi-totalité de l'administration se fait via les binaires CLI installés sous /usr/local/psa/, ce qui permet scripts et dépannage en ligne de commande.

Emplacements et fichiers clés

/etc/psa/psa.conf          # configuration générale Plesk (chemins MYSQL_BIN_D, PRODUCT_ROOT_D...)
/etc/psa/.psa.shadow       # mot de passe de l'utilisateur admin MySQL (accès direct à la base psa)
/usr/local/psa/admin/logs  # logs de l'interface d'administration
/var/www/vhosts/<domaine>/statistics/logs/access_log  # logs du site web d'un vhost

Accès direct à la base de données Plesk (utilisateur admin) :

mysql -uadmin -p"$(cat /etc/psa/.psa.shadow)" psa

Administration générale

/usr/local/psa/admin/sbin/serverconf -l              # lister la configuration serveur
/usr/local/psa/bin/repair -r                          # réparer la configuration Plesk
/usr/local/psa/admin/sbin/httpdmng --reconfigure-all  # régénérer la config Apache/Nginx de tous les vhosts
/usr/local/psa/admin/sbin/httpdmng --reconfigure-domain exemple.com  # idem pour un seul domaine

Rechargement du DNS géré par Plesk (après modification manuelle de zone) :

/etc/init.d/bind9 restart
tail -f /var/log/syslog

Gestion des vhosts

Activer une directive Apache spécifique à un vhost (exemple : allow_url_fopen) :

# /var/www/vhosts/exemple.com/conf/vhost.conf
<Directory /var/www/vhosts/exemple.com/httpdocs>
php_admin_flag allow_url_fopen on
</Directory>

Puis régénérer la configuration Apache pour appliquer le changement :

/usr/local/psa/admin/bin/websrvmng -a -v

Vérifier ensuite avec un phpinfo() déposé dans httpdocs/ du vhost concerné.

Mails (qmail/postfix)

Reconstruction des handlers de messagerie (boîtes qui ne reçoivent plus les mails, ou dysfonctionnement général) :

/usr/local/psa/admin/sbin/mailmng --stop-service
/usr/local/psa/admin/sbin/mchk --with-spam      # ou --without-spam
/usr/local/psa/admin/sbin/mailmng --start-service

Recharger le service mail sans tout arrêter :

/usr/local/psa/admin/sbin/mailmng --reload-service

Bascule entre postfix et qmail comme MTA :

/usr/local/psa/admin/sbin/autoinstaller --select-release-current --install-component postfix
chown mhandlers-user:popuser /usr/lib/plesk-9.0/postfix-queue
chmod 550 /usr/lib/plesk-9.0/postfix-queue

qmail-remove (équivalent de qmHandle) permet de purger la queue qmail par motif :

wget http://www.linuxmagic.com/opensource/qmail/qmail-remove/qmail-remove-0.95.tar.gz
tar -zxvf qmail-remove-0.95.tar.gz
make && make install
mkdir /var/qmail/queue/yanked

qmail-remove -r -p 'motif_a_rechercher'

Statistiques

Relancer le calcul des statistiques AWStats :

/usr/local/psa/admin/sbin/statistics                                    # tous les domaines
/usr/local/psa/admin/sbin/statistics --calculate-one --domain-name=exemple.com  # un seul domaine

Changement de DNS en masse

Pour appliquer un changement de zone DNS à tous les domaines hébergés (exemple : mise à jour du format de série SOA), boucler sur la table domains de la base psa :

#!/bin/sh
ADMIN_PASS=$(cat /etc/psa/.psa.shadow)
MYSQL_BIN_D=$(grep MYSQL_BIN_D /etc/psa/psa.conf | awk '{print $2}')
PRODUCT_ROOT_D=$(grep PRODUCT_ROOT_D /etc/psa/psa.conf | awk '{print $2}')
mysql="${MYSQL_BIN_D}/mysql -N -uadmin -p${ADMIN_PASS} psa"

domains=$(echo "select name from domains;" | $mysql)
for d in $domains; do
  echo "$d"
  "$PRODUCT_ROOT_D/bin/dns" --update-soa "$d" -soa-serial-format yyyymmddnn
done

Dépannage courant

Erreur table 'mysql.servers' doesn't exist dans l'interface Plesk : bug de privilèges sur les tables MySQL, à corriger avec :

mysql_fix_privilege_tables --user=admin --password=123admin --verbose

Les backups Plesk ne fonctionnent plus après une mise à jour : cause fréquente, le safe_mode PHP repassé à On. Le repasser à Off puis recharger Apache :

# /etc/php.ini
safe_mode = Off
service httpd reload

Voir aussi

  • Chkconfig — gestion des services SysV init sur les mêmes générations de serveurs