Plesk
Sommaire
- 1 Lister les domaines
- 2 Lister les redirections emails
- 3 Lister les domaines par IP
- 4 Changer l'IP d'un domaine
- 5 Lister les handlers PHP
- 6 Lister les id de domaines par version/handler PHP
- 7 Lister les domaines qui ont une version spécifique de PHP
- 8 Sortir une liste pour fichier hosts des sites hébergés
- 9 Désactiver DNS pour tous les domaines
- 10 Désactiver la gestion des mails pour tous les domaines
- 11 Voir les mots de passe des boites mail
- 12 Lister les date d'expiration des certificats SSL TLS chargés dans postfix
- 13 Faire en sorte que le site https et le site http soit le même documentroot (et plus httpsdocs)
- 14 liste des logs plesk
- 15 Reconfigurer nginx pour la nouvelle syntaxe http2
- 16 Activer les rotation de logs
- 17 Trouver les abonnements n'ayant pas 1 domaine unique
Lister les domaines
plesk bin domain --list
Lister les redirections emails
mysql -uadmin -p$(cat /etc/psa/.psa.shadow) --batch psa -e "SELECT CONCAT_WS('@',mail.mail_name,domains.name) AS adresse ,mail_redir.address AS redirection FROM domains,mail,mail_redir WHERE domains.id=mail.dom_id AND mn_id=mail.id ORDER BY domains.name ASC,mail.mail_name ASC;" | sed 's/\t/\t->\t/g'
Lister les domaines par IP
MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql -u admin -Dpsa -e"SELECT dom.id, dom.name, ia.ipAddressId, iad.ip_address FROM domains dom LEFT JOIN DomainServices d ON (dom.id = d.dom_id AND d.type = 'web') LEFT JOIN IpAddressesCollections ia ON ia.ipCollectionId = d.ipCollectionId LEFT JOIN IP_Addresses iad ON iad.id = ia.ipAddressId WHERE iad.ip_address='<THE.IP.ADDRESS.HERE>'"
Changer l'IP d'un domaine
plesk bin subscription -u "$DOMAIN" -ip <ip_address>
Lister les handlers PHP
plesk bin php_handler --list
Lister les id de domaines par version/handler PHP
MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql -uadmin psa -e "select dom_id,php_handler_id from hosting where php_handler_id LIKE '%5.2%';"
Lister les domaines qui ont une version spécifique de PHP
MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql -uadmin psa --batch -e "select name from domains, hosting WHERE domains.id=hosting.dom_id AND hosting.php_handler_id LIKE '%72%';"
Sortir une liste pour fichier hosts des sites hébergés
MYSQL_PWD=$(cat /etc/psa/.psa.shadow) mysql -u admin -Dpsa -e"SELECT dom.id, dom.name, ia.ipAddressId, iad.ip_address FROM domains dom LEFT JOIN DomainServices d ON (dom.id = d.dom_id AND d.type = 'web') LEFT JOIN IpAddressesCollections ia ON ia.ipCollectionId = d.ipCollectionId LEFT JOIN IP_Addresses iad ON iad.id = ia.ipAddressId" | awk {'print $4" www."$2" "$2'}
Désactiver DNS pour tous les domaines
for dom in $(plesk bin domain --list) ; do plesk bin dns --off ${dom} ; done
Désactiver la gestion des mails pour tous les domaines
for dom in $(plesk bin domain --list) ; do plesk bin subscription --update ${dom} -mail_service false ; done
Voir les mots de passe des boites mail
plesk sbin mail_auth_view
Lister les date d'expiration des certificats SSL TLS chargés dans postfix
for domain in $(postmap -s /var/spool/postfix/plesk/certs| cut -d$'\t' -f1) ; do echo $domain ; postmap -s /var/spool/postfix/plesk/certs| grep ${domain} | cut -d$'\t' -f2 | base64 -d | openssl x509 -in - -noout -enddate ; done
Afficher EXPIRED ou valid :
for domain in $(postmap -s /var/spool/postfix/plesk/certs| cut -d$'\t' -f1) ; do CERTDATE=$(postmap -s /var/spool/postfix/plesk/certs| grep ${domain} | cut -d$'\t' -f2 | base64 -d | openssl x509 -in - -noout -enddate | cut -d"=" -f2) ; CERTDATE_SEC=$(date -d "${CERTDATE}" +%s) ; if (( $CERTDATE_SEC < $(date +%s) )) ; then echo $domain : EXPIRED ; else echo $domain : valid ; fi ; done
Faire en sorte que le site https et le site http soit le même documentroot (et plus httpsdocs)
plesk bin subscription -u example.com -same_ssl true
liste des logs plesk
Reconfigurer nginx pour la nouvelle syntaxe http2
si l'erreur est
nginx: [warn] the "listen ... http2" directive is deprecated, use the "http2" directive instead in
alors, en root, faire :
plesk bin http2_pref --disable plesk bin http2_pref --enable
(commande globale à tout le serveur)
Activer les rotation de logs
chaque semaine, 12 jours de rétention
plesk bin site --update example.com -log-rotate true -log-compress true -log-bytime weekly -log-max-num-files 12
Trouver les abonnements n'ayant pas 1 domaine unique
for subscription in $(plesk bin subscription --list) ; do ndomain=$(mysql psa -Ns -uadmin -p$(cat /etc/psa/.psa.shadow) -e "select count(a.name) AS domainname FROM domains AS a inner join hosting AS b ON b.dom_id = a.id inner join sys_users AS c ON c.id = b.sys_user_id where c.home LIKE '%${subscription}'") ; if [ $ndomain -ne 1 ] ; then echo $subscription has $ndomain domain ; fi ; done