Introduction


L'idée est d'avoir une petite interface web où l'on saisie quelques infos sur notre futur vhost et elle nous génère la conf Apache en retour. L'objectif est de simplifier la création de nouveaux vhosts sur nos serveurs, qui finalement sont souvent du même type : Un site PHP, un reverse proxy devant un tomcat, etc. Le second objectif est de permettre à quelqu'un, qui ne maîtrise pas spécialement la conf des vhosts, de voir comment se construit une conf pas à pas. Pour l'occasion, j'ai ressortis ma bibliothèque "ajax" maison pour améliorer l'interactivité :-)

L'application


Plutôt que de blablater autour du code source, le plus simple c'est de tester le truc. Si vous trouvez ça pas mal mais que vous avez besoin de l'adapter à votre environnement, les sources sont disponibles dans la suite de l'article.

Accéder à Apache_conf sur Gamb.fr

Le code source


Je ne suis pas du tout un dev, alors soyez indulgent :-) Je met à dispo le code ici, libre à vous de l'adapter pour vos besoins. Vous trouverez une archive à la fin de l'article avec tous les fichiers nécessaires.

Le script index.php est l'ossature de l'interface, il y a deux colonnes : La gauche pour les paramètres (chaque paramètre est cliquable affichant une petite aide) et la droite nous affiche la conf résultante qui suffira de copier / coller.

Le script generate_virtualhost.php est celui qui va calculer la conf en fonction des paramètres. J'ai fais attention à l'indentation pour que le copier/coller dans VI soit parfait :-) Le javascript generate_virtualhost.js ne fait que formater la requête "ajax" qui appelle generate_virtualhost.php.

Le script ajax.js est ma bibliothèque "ajax" maison, ça fait le taff mais ce n'est pas un framework façon jQuery. Pour mon besoin, cette petite bibliothèque est largement suffisante. Les autres fichiers servent principalement à agrémenter l'affichage.

Télécharger l'archive contenant les sources

Installation


Généralement, j'aime pas les articles courts. C'est plus fort que moi, il faut que j'en rajoute :-) Pour le plaisir, voici les deux trois lignes de commandes :
cd /tmp/
wget http://gamb.fr/apache_vhosts/apache_vhosts.tar.gz
tar zxvf apache_vhosts.tar.gz
rm -f apache_vhosts.tar.gz
mv apache_vhosts /var/www/
chown apache:apache /var/www/apache_vhosts -R

Références


Ben pas grand chose en fait.