### Ajouter des gestionnaires d'événements

Créons par exemple un gestionnaire d'événements pour l'événement 'création d'un compte client'. Le gestionnaire acceptera un nom de client et le login du client à partir des variables de l'environnement. Pour plus de simplicité nous utilisons un script shell appelé `test-handler.sh` et qui se présente comme suit :

#!/bin/bash

echo "--------------" >> /tmp/event_handler.log

/bin/date >> /tmp/event_handler.log # informations sur l'heure et la date de l'événement

/usr/bin/id >> /tmp/event_handler.log # informations sur l'utilisateur, au nom duquel le script a été exécuté (pour garantir un certain contrôle)

echo "client created" >> /tmp/event_handler.log # informations sur le compte client créé

echo "name: ${NEW_CONTACT_NAME}" >> /tmp/event_handler.log # nom du client

echo "login: ${NEW_LOGIN_NAME}" >> /tmp/event_handler.log # login du client

echo "--------------" >> /tmp/event_handler.log

Ce script imprime quelques informations dans un fichier pour qu'il soit possible de contrôler son exécution (il n'est pas possible d'exporter des informations dans stdout/stderr, car le script est exécuté en arrière-plan).

Supposons que notre script se trouve dans le répertoire `/plesk_installation_directory/bin` (par exemple). Enregistrons-le en créant un gestionnaire d'événements via le panneau de contrôle :

1. Sélectionnez le raccourci Serveur dans le volet de navigation.
2. Cliquez sur l'icône Gestionnaire d'événements à la section panneau de contrôle.
3. Sélectionnez l'icône Nouv. gestionnaire d'événements. La page des propriétés du gestionnaire d'événements s'ouvre :
4. Choisissez l'événement auquel vous voulez affecter un gestionnaire dans la liste déroulante Evénements.
5. Choisissez le degré de priorité pour l'exécution du gestionnaire ou indiquez une valeur de votre choix. Pour cela, sélectionnez 'Personnalisée' dans la liste déroulante Priorité puis tapez la valeur dans le champ.

   Quand vous affectez plusieurs gestionnaires à un seul événement, vous pouvez préciser l'ordre d'exécution des gestionnaires, en configurant des priorités différentes (une plus grande valeur correspond à une priorité plus élevée).

6. Sélectionnez l'utilisateur du système au nom duquel le gestionnaire sera exécuté (utilisateur "root", par exemple).
7. Dans la zone de saisie Commande entrez la commande devant s'exécuter quand l'événement sélectionné se produit. Dans notre exemple, il s'agit de`/usr/local/psa/bin/test-handler.sh`.
8. Cliquez sur OK.

Remarque : dans le script, nous avons donné les variables $NEW_CONTACT_NAME et $NEW_LOGIN_NAME. Au cours de l'exécution du gestionnaire, elles seront remplacées respectivement par le nom et le login du client créé. Vous trouverez la liste complète des variables disponibles à la section suivante. Vous devez garder à l'esprit qu'avec les opérations de suppression, les variables de type $NEW_xxx ne sont pas définies. De même pour les opérations de création, les paramètres de type $OLD_xxx ne sont pas définis.

Maintenant, si vous vous connectez à votre panneau de contrôle Plesk et créez un nouveau client en indiquant comme valeur 'Some client' dans le champ Contact name, et 'some_client' dans le champ Login, le gestionnaire sera appelé et les enregistrements suivants seront ajoutés au journal`/tmp/event_handler.log` :

Ven 16 mars 15:57:25 NOVT 2007

uid=0(root) gid=0(root) groups=0(root)

client created

name: Some client

login : some_client

Si vous voulez indiquer un voire plusieurs gestionnaire(s) supplémentaire(s), répétez les étapes ci-dessus.

Les paramètres de templates qu'il est possible d'utiliser pour configurer un gestionnaire d'événements sont indiqués dans le tableau ci-dessous.

Tableau. Paramètres de templates existants pour gestionnaires d'événements

Nom et description du composant | Nom de la variable de l'environnement | REMARQUES | REMARQUES
Valeur utilisée précédemment | Nouvelle valeur | Pour la 'Création d'un compte client', 'Mise à jour d'un compte client' et 'Suppression d'un compte client' |
Nom de login | old_login_name | new_login_name | obligatoire | obligatoire
Nom du contact | old_contact_name | new_contact_name | obligatoire | obligatoire
Société | old_company_name | new_company_name |  |
Téléphone | old_phone | new_phone |  |
Fax | old_fax | new_fax |  |
E-mail | old_email | new_email |  |
Adresse | old_address | new_address |  |
Ville | old_city | new_city |  |
Département/région | old_state_province | new_state_province |  |
Code postal | old_postal_zip_code | new_postal_zip_code |  |
Pays | old_country | new_country |  |
Pour la 'Création de domaine', 'Mise à jour de domaine' 'Suppression de domaine' | Pour la 'Création de domaine', 'Mise à jour de domaine' 'Suppression de domaine'
--- | ---
nom du domaine | old_domain_name | new_domain_name | obligatoire | obligatoire
Pour la 'Création de sous-domaine', 'Mise à jour de sous-domaine' 'Suppression de sous-domaine' | Pour la 'Création de sous-domaine', 'Mise à jour de sous-domaine' 'Suppression de sous-domaine'
Nom du sous-domaine | old_subdomain_name | new_subdomain_name | obligatoire | obligatoire
Nom du domaine parent | old_domain_name | new_domain_name | obligatoire | obligatoire
Compte FTP | old_system_user_type | new_system_user_type |  |
Nom de login de l'administrateur du sous-domaine | old_system_user | new_system_user |  |
Quota de disque dur | old_hard_disk_quota | new_hard_disk_quota |  |
Support SSI | old_ssi_support | new_ssi_support |  |
Support PHP | old_php_support | new_php_support |  |
Support CGI | old_cgi_support | new_cgi_support |  |
Support Perl | old_mod_perl_support | new_mod_perl_support |  |
Support Python | old_mod_python_support | new_mod_python_support |  |
Support ColdFusion | old_coldfusion_support | new_coldfusion_support |  |
Apache : support ASP | old_apache_asp_support | new_apache_asp_support |  |
Support SSL | old_ssl_support | new_ssl_support |  |
Pour les événements 'Création d'un alias de domaine', 'Mise à jour d'un alias de domaine', 'Suppression d'un alias de domaine', 'Modification de la zone DNS' | Pour les événements 'Création d'un alias de domaine', 'Mise à jour d'un alias de domaine', 'Suppression d'un alias de domaine', 'Modification de la zone DNS'
Nom de l'alias de domaine | old_domain_alias_name | new_domain_alias_name | obligatoire | obligatoire
Alias de domaine activé ou désactivé | old_status | new_status |  |
Le service Web pour l'alias de domaine est en ou hors service | old_domain_alias_web | new_domain_alias_web |  |
Le service de messagerie pour l'alias de domaine est en ou hors service | old_domain_alias_mail | new_domain_alias_mail |  |
Prise en charge pour accéder aux applications web de Java pour les visiteurs d'alias de domaines (activé ou désactivé) | old_domain_alias_tomcat | new_domain_alias_tomcat |  |
Pour la 'Création d'un hébergement physique', 'Mise à jour d'un hébergement physique' | Pour la 'Création d'un hébergement physique', 'Mise à jour d'un hébergement physique'
nom du domaine | old_domain_name | new_domain_name | obligatoire | obligatoire
ADRESSE IP | old_ip_address | new_ip_address |  |
Type d'IP | old_ip_type | new_ip_type |  |
Utilisateur système | old_system_user | new_system_user |  |
Mot de passe de l'utilisateur du système | old_system_user_password | new_system_user_password |  |
Accès shell | old_system_shell | new_system_shell |  |
Support FP | old_fp_support | new_fp_support |  |
Support FP-SSL | old_fpssl_support | new_fpssl_support |  |
Composition FP | old_fp_authoring | new_fp_authoring |  |
Login administrateur FP | old_fp_admin_login | new_fp_admin_login |  |
Mot de passe administrateur FP | old_fp_admin_password | new_fp_admin_password |  |
Support SSI | old_ssi_support | new_ssi_support |  |
Support PHP | old_php_support | new_php_support |  |
Support CGI | old_cgi_support | new_cgi_support |  |
Support Perl | old_mod_perl_support | new_mod_perl_support |  |
Support Apache ASP | old_apache_asp_support | new_apache_asp_support |  |
Support SSL | old_ssl_support | new_ssl_support |  |
Statistiques Web | old_web_statistics | new_web_statistics |  |
Documents d'erreurs personnalisés | old_apache_error_documents | new_apache_error_documents |  |
Quota de disque dur | old_hard_disk_quota | new_hard_disk_quota |  |
Pour la 'Suppression d'un hébergement physique' | Pour la 'Suppression d'un hébergement physique'
nom du domaine | old_domain_name | new_domain_name | obligatoire | obligatoire
Pour la 'Création d'une adresse de courrier électronique', 'Suppression d'un compte de messagerie' | Pour la 'Création d'une adresse de courrier électronique', 'Suppression d'un compte de messagerie'
Adresse mail | old_mailname | new_mailname | obligatoire (au format mailname@domain) | obligatoire (au format mailname@domain)
Pour la 'Mise à jour d'un compte de messagerie' | Pour la 'Mise à jour d'un compte de messagerie'
Adresse mail | old_mailname | new_mailname | obligatoire (au format mailname@domain) | obligatoire (au format mailname@domain)
Boîte aux lettres | old_mailbox | new_mailbox |  |
Mot de passe | old_password | new_password |  |
Quota de boîte aux lettres | old_mailbox_quota | new_mailbox_quota |  |
Redirection | old_redirect | new_redirect |  |
Adresse de la redirection | old_redirect_address | new_redirect_address |  |
Groupe de messagerie | old_mail_group | new_mail_group |  |
Répondeurs automatiques | old_autoresponders | new_autoresponders |  |
Accès au panneau de contrôle des utilisateurs de messagerie | old_mail_controlpanel_access | new_mail_controlpanel_access |  |
Pour la 'Suppression d'un utilisateur Web' | Pour la 'Suppression d'un utilisateur Web'
nom du domaine | old_domain_name | new_domain_name | obligatoire | obligatoire
Nom de l'utilisateur Web | old_webuser_name | new_webuser_name | obligatoire | obligatoire
Pour la 'Création d'un utilisateur Web', 'Mise à jour d'un utilisateur Web' | Pour la 'Création d'un utilisateur Web', 'Mise à jour d'un utilisateur Web'
nom du domaine | old_domain_name | new_domain_name | obligatoire | obligatoire
Nom de l'utilisateur Web | old_webuser_name | new_webuser_name | obligatoire | obligatoire
Mot de passe de l'utilisateur Web | old_webuser_password | new_webuser_password |  |
Support SSI | old_ssi_support | new_ssi_support |  |
Support PHP | old_php_support | new_php_support |  |
Support CGI | old_cgi_support | new_cgi_support |  |
Support Perl | old_mod_perl_support | new_mod_perl_support |  |
Support Python | old_mod_python_support | new_mod_python_support |  |
Support Apache ASP | old_apache_asp_support | new_apache_asp_support |  |
Quota de disque dur | old_hard_disk_quota | new_hard_disk_quota |  |
Pour la 'Mise à jour des limites pour le client' | Pour la 'Mise à jour des limites pour le client'
Nom du contact | old_contact_name | new_contact_name | obligatoire | obligatoire
Nombre maximum de domaines | old_maximum_domains | new_maximum_domains |  |
Espace disque maximum | old_maximum_disk_space | new_maximum_disk_space |  |
Trafic maximum | old_maximum_traffic | new_maximum_traffic |  |
Nombre maximum d'utilisateurs Web | old_maximum_webusers | new_maximum_webusers |  |
Nombre maximum de bases de données | old_maximum_databases | new_maximum_databases |  |
Nombre maximum de boîtes aux lettres | old_maximum_mailboxes | new_maximum_mailboxes |  |
Quota de boîte aux lettres | old_maximum_mailbox_quota | new_maximum_mailbox_quota |  |
Nombre maximum de redirections de courrier | old_maximum_mail_redirects | new_maximum_mail_redirects |  |
Nombre maximum de groupes de messagerie | old_maximum_mail_groups | new_maximum_mail_groups |  |
Nombre maximum de répondeurs automatiques | old_maximum_mail_autoresponders | new_maximum_mail_autoresponders |  |
Nombre maximum de listes de diffusion | old_maximum_mail_lists | new_maximum_mail_lists |  |
Nombre maximum d'applications Java | old_maximum_tomcat_web_applications | new_maximum_tomcat_web_applications |  |
Date d'expiration | old_expiration_date | new_expiration_date |  |
Pour la 'Mise à jour des limites du domaine' | Pour la 'Mise à jour des limites du domaine'
nom du domaine | old_domain_name | new_domain_name | obligatoire | obligatoire
Espace disque maximum | old_maximum_disk_space | new_maximum_disk_space |  |
Trafic maximum | old_maximum_traffic | new_maximum_traffic |  |
Nombre maximum d'utilisateurs Web | old_maximum_webusers | new_maximum_webusers |  |
Nombre maximum de bases de données | old_maximum_databases | new_maximum_databases |  |
Nombre maximum de boîtes aux lettres | old_maximum_mailboxes | new_maximum_mailboxes |  |
Quota de boîte aux lettres | old_maximum_mailbox_quota | new_maximum_mailbox_quota |  |
Nombre maximum de redirections de courrier | old_maximum_mail_redirects | new_maximum_mail_redirects |  |
Nombre maximum de groupes de messagerie | old_maximum_mail_groups | new_maximum_mail_groups |  |
Nombre maximum de répondeurs automatiques | old_maximum_mail_autoresponders | new_maximum_mail_autoresponders |  |
Nombre maximum de listes de diffusion | old_maximum_mail_lists | new_maximum_mail_lists |  |
Nombre maximum d'applications Java | old_maximum_tomcat_web_applications | new_maximum_tomcat_web_applications |  |
Date d'expiration | old_expiration_date | new_expiration_date |  |
Pour la 'Création d'une liste de diffusion', 'Mise à jour d'une liste de diffusion' et 'Suppression d'une liste de diffusion' | Pour la 'Création d'une liste de diffusion', 'Mise à jour d'une liste de diffusion' et 'Suppression d'une liste de diffusion'
nom du domaine | old_domain_name | new_domain_name | obligatoire | obligatoire
Nom de la liste de diffusion | old_mail_list_name | new_mail_list_name | obligatoire | obligatoire
Liste de diffusion activée | old_mail_list_enabled | new_mail_list_enabled |  |
Pour les événements 'Utilisateur du panneau de contrôle s'est connecté' et 'Utilisateur du panneau de contrôle s'est déconnecté', | Pour les événements 'Utilisateur du panneau de contrôle s'est connecté' et 'Utilisateur du panneau de contrôle s'est déconnecté',
Nom du contact | old_contact_name | new_contact_name |  |
Pour la 'Mise à jour du compte de l'administrateur du domaine' | Pour la 'Mise à jour du compte de l'administrateur du domaine'
Autoriser l'accès à l'administrateur du domaine | old_allow_domain_user_access | new_allow_domain_user_access |  |
Nom de login | old_login_name | new_login_name | obligatoire | obligatoire
nom du domaine | old_domain_name | new_domain_name | obligatoire | obligatoire
Nom du contact | old_contact_name | new_contact_name |  |
Société | old_company_name | new_company_name |  |
Téléphone | old_phone | new_phone |  |
Fax | old_fax | new_fax |  |
E-mail | old_email | new_email |  |
Adresse | old_address | new_address |  |
Ville | old_city | new_city |  |
Département/région | old_state_province | new_state_province |  |
Code postal | old_postal_zip_code | new_postal_zip_code |  |
Pays | old_country | new_country |  |
Pour l'Installation d'une application', la 'Reconfiguration d'une application' et 'Désinstallation d'une application' | Pour l'Installation d'une application', la 'Reconfiguration d'une application' et 'Désinstallation d'une application'
Nom du pack d'applications | old_package_name | new_package_name | obligatoire | obligatoire
Type de domaine (domaine ou sous-domaine) | OLD_DOMAIN_TYPE | NEW_DOMAIN_TYPE | obligatoire | obligatoire
Chemin d'installation (httpdocs ou httpsdocs) | OLD_DIRECTORY | NEW_DIRECTORY | obligatoire | obligatoire
Chemin d'installation dans le répertoire de destination | OLD_INSTALLATION_PREFIX | NEW_INSTALLATION_PREFIX | obligatoire | obligatoire
Pour l'Installation d'un pack d'applications' et la 'Désinstallation d'un pack d'applications' | Pour l'Installation d'un pack d'applications' et la 'Désinstallation d'un pack d'applications'
Nom du pack d'applications | old_package_name | new_package_name | obligatoire | obligatoire
Pour 'Arrêt, démarrage ou redémarrage du service' | Pour 'Arrêt, démarrage ou redémarrage du service'
Service | old_service | new_service | obligatoire | obligatoire
Pour la 'Création, modification ou suppression d'une adresse IP' | Pour la 'Création, modification ou suppression d'une adresse IP'
ADRESSE IP | old_ip_address | new_ip_address | obligatoire | obligatoire
Masque IP | old_ip_mask | new_ip_mask |  |
Interface | old_interface | new_interface |  |
Type d'IP | old_ip_type | new_ip_type |  |
Pour la 'Création, modification ou suppression d'un transfert' | Pour la 'Création, modification ou suppression d'un transfert'
nom du domaine | old_domain_name | new_domain_name | obligatoire | obligatoire
Type de transfert | old_forwarding_type | new_forwarding_type |  |
URL | old_url | new_url |  |
Pour la 'Modification du profil de l'administrateur' | Pour la 'Modification du profil de l'administrateur'
Nom de login | old_login_name | new_login_name | obligatoire | obligatoire
Nom du contact | old_contact_name | new_contact_name |  |
Société | old_company_name | new_company_name |  |
Numéro de téléphone | old_phone | new_phone |  |
Fax | old_fax | new_fax |  |
E-mail | old_email | new_email |  |
Adresse | old_address | new_address |  |
Ville | old_city | new_city |  |
Département/région | old_state_province | new_state_province |  |
Code postal | old_postal_zip_code | new_postal_zip_code |  |
Pays | old_country | new_country |  |
Pour l'Installation, reconfiguration et désinstallation d'une application' | Pour l'Installation, reconfiguration et désinstallation d'une application'
Nom de l'application | old_package_name | new_package_name | obligatoire | obligatoire
Pour la 'Mise à jour du statut du client' | Pour la 'Mise à jour du statut du client'
Nom du contact | old_contact_name | new_contact_name | obligatoire | obligatoire
Nom de login | old_login_name | new_login_name | obligatoire | obligatoire
Statut | old_status | new_status |  |
Pour la 'Mise à jour des préférences du client' | Pour la 'Mise à jour des préférences du client'
Nom du contact | old_contact_name | new_contact_name | obligatoire | obligatoire
Nom de login | old_login_name | new_login_name | obligatoire | obligatoire
Taille de la page | old_lines_per_page | new_lines_per_page |  |
Skin d'interface | old_interface_skin | new_interface_skin |  |
Pour la 'Modification du pool d'adresses IP du client' | Pour la 'Modification du pool d'adresses IP du client'
Nom du contact | old_contact_name | new_contact_name | obligatoire | obligatoire
ADRESSE IP | old_ip_address | new_ip_address | obligatoire | obligatoire
Statut | old_status | new_status |  |
Pour l'événement 'Limite d'espace disque atteinte pour le compte client' | Pour l'événement 'Limite d'espace disque atteinte pour le compte client'
Nom du contact | old_contact_name | new_contact_name | obligatoire | obligatoire
Espace disque maximum | old_maximum_disk_space | new_maximum_disk_space | obligatoire | obligatoire
Pour l'événement 'Limite de trafic atteinte pour le compte client' | Pour l'événement 'Limite de trafic atteinte pour le compte client'
Nom du contact | old_contact_name | new_contact_name | obligatoire | obligatoire
Limite du trafic | old_maximum_traffic | new_maximum_traffic |  |
Pour la 'Modification du statut du domaine' | Pour la 'Modification du statut du domaine'
nom du domaine | old_domain_name | new_domain_name | obligatoire | obligatoire
Statut du domaine | old_status | new_status |  |
Pour la 'Mise à jour de la zone DNS pour le domaine' | Pour la 'Mise à jour de la zone DNS pour le domaine'
nom du domaine | old_domain_name | new_domain_name | obligatoire | obligatoire
Pour l'événement 'Espace disque maximum atteint pour un domaine' | Pour l'événement 'Espace disque maximum atteint pour un domaine'
nom du domaine | old_domain_name | new_domain_name | obligatoire | obligatoire
Espace disque maximum | old_maximum_disk_space | new_maximum_disk_space |  |
Pour l'événement 'Limite de trafic atteinte pour un domaine' | Pour l'événement 'Limite de trafic atteinte pour un domaine'
nom du domaine | old_domain_name | new_domain_name | obligatoire | obligatoire
Limite du trafic | old_maximum_traffic | new_maximum_traffic |  |
Pour la 'Mise à jour de la clé de licence' | Pour la 'Mise à jour de la clé de licence'
Numéro de la clé de licence | old_license | new_license | obligatoire | obligatoire
Type de la clé de licence (Plesk, supplémentaire) | old_license_type | new_license_type |  |
Nom de la clé de licence (pour les clés supplémentaires) | old_license_name | new_license_name |  |