Plesk
| 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