### 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 prend comme premier paramètre le nom du client et comme second paramètre le login du client. 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: $1" >> /tmp/event_handler.log # nom du client

echo "login: $2" >> /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 Control Panel :

1. Sélectionnez le raccourci Serveur dans le volet de navigation.
2. Cliquez sur l'icône Gestionnaire d'événements à la section Control Panel.
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 système au nom duquel le gestionnaire sera exécuté.
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, c'est la commande`/usr/local/psa/bin/test-handler.sh <new_contact_name> <new_login_name>`.
8. Cliquez sur OK.

Remarque : Dans la commande, nous avons écrit les paramètres entre crochets obliques`<new_contact_name>` et `<new_login_name>`. Avant que le gestionnaire ne soit lancé, ces paramètres seront remplacés par le nom et le login du client créé. La liste complète des paramètres disponibles est donnée à la section suivante. Souvenez-vous que pour les opérations de suppression, les paramètres de type new_xxx contiennent une chaîne vide. Et suite pour les opérations de création, les paramètres de type old_xxx contiennent une chaîne vide.

Maintenant, si vous vous connectez à votre Control Panel 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` :

Sat Jun 26 21:46:34 NOVT 2004

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 | Paramètres de la ligne de commande | REMARQUES
Ancienne valeur du composant | Nouvelle valeur du composant
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
Nom du contact | old_contact_name | new_contact_name | 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'
Nom du domaine | old_domain_name | new_domain_name | obligatoire
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
Nom du domaine parent | old_domain_name | new_domain_name | 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'
Nom de l'alias de domaine | old_domain_alias_name | new_domain_alias_name | 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'
Nom du domaine | old_domain_name | new_domain_name | 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 utilisateur 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 Mod 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'
Nom du domaine | old_domain_name | new_domain_name | obligatoire
Pour la 'Création d'une adresse de courrier électronique', 'Suppression d'une adresse de courrier électronique'
Adresse de courrier électronique | old_mailname | new_mailname | obligatoire (au format mailname@domain)
Pour la 'Mise à jour d'une adresse de courrier électronique'
Adresse de courrier électronique | old_mailname | new_mailname | 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 Control Panel des utilisateurs de messagerie | old_mail_controlpanel_access | new_mail_controlpanel_access |
Pour la 'Suppression d'un utilisateur Web'
Nom du domaine | old_domain_name | new_domain_name | obligatoire
Nom de l'utilisateur Web | old_webuser_name | new_webuser_name | obligatoire
Pour la 'Création d'un utilisateur Web', 'Mise à jour d'un utilisateur Web'
Nom du domaine | old_domain_name | new_domain_name | obligatoire
Nom de l'utilisateur Web | old_webuser_name | new_webuser_name | 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 Mod Perl | old_mod_perl_support | new_mod_perl_support |
Support Mod 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'
Nom du contact | old_contact_name | new_contact_name | 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'
Nom du domaine | old_domain_name | new_domain_name | 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'
Nom du domaine | old_domain_name | new_domain_name | obligatoire
Nom de la liste de diffusion | old_mail_list_name | new_mail_list_name | obligatoire
Liste de diffusion activée | old_mail_list_enabled | new_mail_list_enabled |
Pour les événements 'Utilisateur du Control Panel s'est connecté' et 'Utilisateur du Control Panel s'est déconnecté',
Nom du contact | old_contact_name | new_contact_name |
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
Nom du domaine | old_domain_name | new_domain_name | 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'
Nom du pack d'applications | old_site_application_package_ name | new_site_application_package_ name | obligatoire
Type de domaine (domaine ou sous-domaine) | old_site_application_domain_type | new_site_application_domain_type | obligatoire
Chemin d'installation (httpdocs ou httpsdocs) | old_site_application_directory | new_site_application_directory | obligatoire
Chemin d'installation dans le répertoire de destination | old_site_application_installation_ prefix | new_site_application_installation_ prefix | obligatoire
Pour l'Installation d'un pack d'applications' et la 'Désinstallation d'un pack d'applications'
Nom du pack d'applications | old_site_application_package_ name | new_site_application_package_ name | obligatoire
Pour 'Arrêt, démarrage ou redémarrage du service'
Service | old_service | new_service | obligatoire
Pour la 'Création, modification ou suppression d'une adresse IP'
ADRESSE IP | old_ip_address | new_ip_address | 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'
Nom du domaine | old_domain_name | new_domain_name | obligatoire
Type de transfert | old_forwarding_type | new_forwarding_type |
URL | old_url | new_url |
Pour la 'Modification du profil de l'administrateur'
Nom de login | old_login_name | new_login_name | 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'
Nom de l'application | old_package_name | new_package_name | obligatoire
Pour la 'Mise à jour du statut du client'
Nom du contact | old_contact_name | new_contact_name | obligatoire
Nom de login | old_login_name | new_login_name | obligatoire
Statut | old_status | new_status |
Pour la 'Mise à jour des préférences du client'
Nom du contact | old_contact_name | new_contact_name | obligatoire
Nom de login | old_login_name | new_login_name | 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'
Nom du contact | old_contact_name | new_contact_name | obligatoire
ADRESSE IP | old_ip_address | new_ip_address | obligatoire
Statut | old_status | new_status |
Pour l'événement 'Limite d'espace disque atteinte pour le compte client'
Nom du contact | old_contact_name | new_contact_name | obligatoire
Espace disque maximum | old_maximum_disk_space | new_maximum_disk_space | obligatoire
Pour l'événement 'Limite de trafic atteinte pour le compte client'
Nom du contact | old_contact_name | new_contact_name | obligatoire
Limite du trafic | old_maximum_traffic | new_maximum_traffic |
Pour la 'Modification du statut du domaine'
Nom du domaine | old_domain_name | new_domain_name | obligatoire
Statut du domaine | old_status | new_status |
Pour la 'Mise à jour de la zone DNS pour le domaine'
Nom du domaine | old_domain_name | new_domain_name | obligatoire
Pour l'événement 'Espace disque maximum atteint pour un domaine'
Nom du domaine | old_domain_name | new_domain_name | obligatoire
Espace disque maximum | old_maximum_disk_space | new_maximum_disk_space |
Pour l'événement 'Limite de trafic atteinte pour un domaine'
Nom du domaine | old_domain_name | new_domain_name | obligatoire
Limite du trafic | old_maximum_traffic | new_maximum_traffic |
Pour la 'Mise à jour de la clé de licence'
Numéro de la clé de licence | old_license | new_license | 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 |