[AlternC-dev] Plugin alternc-vhost ou comment se debarrasser du massive hosting

Retour à l'archive de la liste
Le site d'AlternC
Google Custom Search

cam.lafit at azerttyu.net cam.lafit at azerttyu.net
Ven 16 Oct 20:21:47 CEST 2009


S'lt la foule

Cette semaine je me suis amusé à faire un plugin qui répond en bonne
partie à http://alternc.org/ticket/1213

** Le plugin **

En l'état il semble complet et fonctionnel mais soyons bien d'accord
c'est du 0.0.1 encore :)
On peut installer / supprimer le plugin sans risque tout est remis
d'origine (sauf bug caché).

L'objectif c'est de gérer des vhost complets à base de templates.


** 1 API **

1 fichier hosting_functions.sh s'occupe de la gestion des vhost
l'api initiale est
hosting_"action"_"type" $user $fqdn $autres

Pour les "type" nous avons :
panel : creer le panel initial
vhost : un vhost classique avec openbasedir
redirect : une redirection http

Pour les "action" nous avons :
create : créer un nouveau domaine
update : mettre à jour
delete : supprimer

Nous avons aussi
enable : pour ajouter la gestion du domaine à apache
disable : pour retirer la gestion du domaine d'apache

J'ai essayé d'imaginer l'api pour qu'elle soit agnostique vis à vis du
serveur web, il suffirait de surcharger les fonctions pour etre
compatabile lighthttpd ou autres.
Du fait de la structure on peut facilement imaginer des extensions
pour gerer du trac, spip mutualisé, autres webmail, ... ce sont juste
des nouveaux type à déclarer.
J'ai forké au minimum les fichiers d'origine (update_domains.sh et
functions.sh) à coup de sed mais ce n'est pas très esthétique.


** Plan de route ou cahier de doléances **

Dans la listes des choses à faire :
Coté plugin :
 * supprimer les domaines
 * charger un repertoire de hosting_functions et non un simple fichier
pour permettre l'extensibilité par plugins
 * gérer plus finement les les postrm et postinst pour discriminer
installation / mise à jour / suppression / purge

Coté core alternc :
 * prévoir un nouveau nommage des type de host (passer d'une gestion
d'entier à un nommage explicite)
 * modifier add_host pour fonctionne plus comme un wrapper pour eviter
ces forks à coup de sed (cf hosting_manage.sh)



** Retour de debogue demandé **

Je viens de tester sur un serveur simili prod ça semble passer. Mais
pour autant le jeu de test est restreint et maitrisé du coup j'ai du
rater un certains nombres de cas ou erreurs grossière. je compte sur
vous pour les debusquer.



Plus d'informations sur la liste de diffusion Dev