VirtualHosts Apache : Un script pour générer les fichiers de conf

Friday, March 1, 2013

Dans mon article sur les VirtualHosts Apache basés sur le nom, je met en place une “nomenclature” où chaque vhost a son propre fichier de conf. On se rend compte rapidement que les fichiers de conf sont plus ou moins les mêmes, à quelques noms prêts. En bon informaticien feignant, j’ai écris un pti script PHP qui nous génère le fichier de conf qui va bien :D

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.

https://github.com/ggambini/apache_conf

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.

https://github.com/ggambini/apache_conf

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.

Geekajaxapachecnamehttpdhttpd.confmod_vhost_aliasredirectvhostVirtualHost
Le contenu de ce site est sous licence Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)

Gamb

DIY

Cuve Catering : Ajouter une vanne

OwnCloud : L'outil collaboratif ultime ?