Gestionnaire des services

De ISPWiki.

Vous pouvez créer vos propres gestionnaires des services afin d'intégrer BILLnamager sous le panneau de configuration du serveur. Le gestionnaire doit être placé dans /usr/local/ispmgr/sbin/ et être nommé comme cp*. Le gestionnaire est lancé à l'aide de LongTask[1] et accepte les données de BILLmanager via les paramètres de la ligne de commande.

Sommaire

Pré-requis

Le gestionnaire doit savoir intégrer sous BILLmanager et réaliser les pré-requis suivants:

  • Après avoir lancé le module avec LongTask, le gestionnaire doit adresser des résultats à BILLmanager. En savoir plus dans l'article LongTask.
  • Le gestionnaire doit réagir aux fonctions de BILLmanager (les fonctions, telles que: check, getconfig, open, setparam sont obligatoires, le reste est à votre choix).

Paramètres à passer

BILLmanager lance ce module avec les différents paramètres pour l'interaction entre l'utilisateur et le serveur. En fonction des actions, les paramètres suivants seront appliqués:

  1. check IP_ADDR USERNAME PASSWD, où check est la directive, IP_ADDR est l'adresse IP qui sera utilisée pour l'intégration dans un panneau de configuration (l'adresse d'accès aux fonctions API), USERNAME est le nom d'utilisateur qui est utilisé afin d'entrer dans le panneau de configuration, PASSWD est le mot de passe qui est utilisé afin d'entrer dans le panneau de configuration.
    • La commande, les paramètres IP_ADDR et USERNAME sont passés comme paramètres, PASSWD doit être lu via l'input stream (suite d'entrée). En cas de succès, le module affiche "ok" (sans guillemets), sinon le module s'arrêtera.
  2. getconfig SRV_ID, où getconfig est la directive, SRV_ID est l'identificateur du serveur dans la base de données.
    • De ce fait, le module doit obtenir des informations sur toutes les formules tarifaires disponibles depuis le serveur et puis, passer les résultats du serveur de BILLmanager sous le format suivant: 'Preset <package name>'. Les informations sur chaque formule doivent être stockées dans la ligne séparée. Vous pouvez passer toutes informations que vous souhaitez. Ces informations seront affichées dans l'onglet 'Configuration', dans les propriétés du serveur.
  3. open ITEM_ID, où open est la directive, ITEM_ID est l'identificateur de la commande dans la base de données[2].
    • Suite au fonctionnement du module sur le serveur, l'hébergement avec les paramètres sauvegardés dans la base de données doit être installé.
    • Pour changer le statut de l'hébergement, vous devez lancer une fonction dans BILLmanager <service type>.open avec les paramètres suivants: sok est 'ok' (si le service a été installé avec succès), elid est ITEM_ID et d'autres paramètres.
      • Pour le service vhost les paramètres suivants sont passés: password est le mot de passe au compte sur le serveur, ip est une des adresses IP du serveur.
      • Pour le service rhost les paramètres suivants sont passés: password est le mot de passe au compte du serveur.
      • Pour le service vds les paramètres suivants sont passés: password est le mot de passe au compte du serveur, ip est l'adresse IP permettant d'accéder au serveur, et slavens sont les serveurs de noms esclaves.
      • Pour le service rvds les paramètres suivants sont passés password est le mot de passe au compte du serveur.
      • Pour le service dns les paramètres suivants sont passés password est le mot de passe au compte du serveur, ip est l'adresse IP permettant d'accéder au serveur.
    • En savoir plus sur l'appel des fonctions supplémentaires de BILLmanager, par exemple: le changement d'un nom d'utilisateur ou la liste des adresses IP, voyez la page BILLmanager API.
  4. setparam ITEM_ID, où setparam est la directive, ITEM_ID est l'identificateur de la commande dan la base de données[2]. Cette action est réalisée lors du changement d'une commande ou de ses détails (par exemple: l'espace disque commandé, le nombre de mémoire vive et etc.).
  5. suspend ITEM_ID, où suspend est la directive, ITEM_ID est l'identificateur de la commande dans la base de données[2]. Cette action est réalisée s'il faut arrêter l'hébergement.
    • En cas de succès, appelez la fonction BILLmanager item.setstatus avec les paramètres suivants: elid est l'ITEM_ID de service, status est alors '3'.
  6. resume ITEM_ID, où resume est la directive, ITEM_ID est l'identificateur de la commande dans la base de données[2]. Cette action est réalisée s'il faut restaurer l'hébergement.
    • En cas de succès, appelez la fonction BILLmanager item.setstatus avec les paramètres suivants: elid est l'ITEM_ID de service, status est alors '2'.
  7. delete ITEM_ID, où delete est la directive, ITEM_ID est l'identificateur de la commande dans la base de données[2]. Cette action est réalisée s'il faut supprimer l'hébergement depuis le serveur.
    • En cas de succès, appelez la fonction BILLmanager item.setstatus avec les paramètres suivants: elid est l'ITEM_ID de service, status est alors '4'. De plus, veuillez supprimer des adresses IP liées au compte depuis la base de données ou réaliser d'autres actions si cela est nécessaire.
  8. getstat SRV_ID, où getstat est la directive, SRV_ID est l'identificateur du serveur dans la base de données[2]. Cette commande est passée au module sur la base des horaires installés afin d'obtenir des statistiques sur la consommation des ressources de serveur du client.
    • Les statistiques sont ajoutées dans le tableau itemstat dans la base de données.
    • En cas de succès, appelez la fonction BILLmanager billserver avec les paramètres suivants: elid est SRV_ID et date est la date de collecte des statistiques.
  9. getloginurl ITEM_ID, où getloginurl est la directive, ITEM_ID est l'identificateur de la commande dans la base de données [2]. La redirection vers le serveur de getion de l'hébergement sera réalisée, si la ligne suivante est passée. voir. location='<URL de clique>'.
  10. newip ITEM_ID DOMAIN COUNT, où newip est la directive, ITEM_ID est l'identificateurde la commande dans la base de données[2], DOMAIN est le nom de domaine pour lequel des adresses IP seront ajoutées, COUNT est le nombre d'adresses IP à ajouter. Utilisez cette fonction s'il faut ajouter un certain nombre d'adresses IP pour le client.
    • Pour chaque adresse IP, appelez la fonction BILLmanager item.ip.done avec les paramètres suivants: sok est 'ok', elid est ITEM_ID et ip est l'adresse IP ajoutée.
  11. delip ITEM_ID IP, où delip est la directive, ITEM_ID - est l'identificateur de la commande dans la base de données[2], IP est l'adresse IP à supprimer. Utilisez cette fonction s'il faut supprimer une adresseIP du client depuis le serveur.
    • Pour l'adresse IP supprimée, appelez la fonction BILLmanager item.ip.done avec les paramètres suivants: delip est yes, elid est ITEM_IP et ip est l'adresse IP supprimée.
  12. fix, où fix est la directive. Cette commande est envoyé au module sur la base des horaires installés afin de synchroniser les données du serveur avec les données de BILLmanager.

Si vous souhaitez, vous pouvez ajouter votre propre mode de réalisation dans le module. Dans ce cas-là il faut ajouter l'agorithme de lancement dans le cron ou il faut lancer partout le mode qui vous convient.

Intégration sous BILLmanager

Le module peut intégrer sous BILLmanager via API[3] ou utiliser la bibliothèque Mgr[4]

Remarques

  1. LongTask
  2. 2,0 2,1 2,2 2,3 2,4 2,5 2,6 2,7 2,8 Structure de base de données
  3. http://fr.ispdoc.com/index.php/BILLmanager_API
  4. Bibliothèque Mgr
Cet article vous a-t-il été utile? Oui | Non
Outils personnels