Apt-get install help
15 avr 2008
Le serveur HTTP Apache2 de la fondation apache est un programme modulaire. De nouvelles fonctionnalités viennent s’ajouter au serveur en greffant un ensemble de modules. Ils peuvent être soit statiques, compilés avec les binaires du serveurs, soit dynamiques.
Dans leur forme dynamique les modules sont compilés en tant que “dynamic shared objects” aussi appelés DSO et sont distribués séparément.
Activer un module particulier implique d’éditer le fichier de configuration d’apache pour ajouter une directive de type LoadModule propre à ce module. En fonction du module des options de configuration sont nécessaires, c’est le cas pour le module ssl par exemple.
Debian simplifie la gestion des modules en groupant les aspects propres à chaque module dans deux fichiers :
Les répertoires qui interviennent dans la gestion des modules sont les suivants :
Il est tout à fait possible de créer et supprimer les liens symboliques manuellement. Néanmoins les scripts suivants permettent d’automatiser cette tache et de grandement simplifier l’administration des modules :
La configuration des modules et des virtual hosts est gérée de manière très similaire.
On trouve donc les répertoires suivants dans le dossier de configuration /etc/apache2:
Les scripts pour activer et désactiver les virtual hosts sont les suivants :
La configuration ‘externe’ du serveur en revanche est située dans un seul répertoire : “conf.d”
Les applications Web qui s’installent avec le système de packages Debian placent bien souvent un fichier de configuration dans ce répertoire.
PhpMyAdmin par exemple, crée un lien symbolique /etc/apache2/conf.d/phpmyadmin.conf qui pointe vers le fichier /etc/phpmyadmin/apache.conf
Ce fichier contient des directives de protection des répertoires ainsi que les alias de l’application.
Je vous propose donc de modifier légèrement votre installation d’Apache2 pour améliorer la prise en compte de la configuration et la rendre plus “modulaire” :).
1. Se logguer en tant qu’administrateur ou utiliser sudo.
2. Renommer le répertoire “conf.d” en “conf-available” :
mv /etc/apache2/conf.d /etc/apache2/conf-available
3. Créer le répertoire “conf-enabled” :
mkdir -p /etc/apache2/conf-enabled
4. Pour ne pas casser les dépendances des programmes web, créer un lien symbolique conf.d vers conf-available :
ln -s /etc/apache2/conf-available /etc/apache2/conf.d
5. Modifier la configuration d’Apache :
Dans le fichier de configuration apache2.conf, remplacer la ligne
Include /etc/apache2/conf.d/par
Include /etc/apache2/conf-enabled/6. Relancer apache :
/etc/init.d/apache2 restart
Je me suis très fortement inspiré des scripts a2ensite et a2dissite pour créer les scripts “a2enconf” et “a2disconf”
Téléchargez ces deux fichiers et placez les dans le répertoire /usr/sbin de votre serveur.
Vous disposez maintenant de deux nouveaux scripts pour ajouter et supprimer très rapidement les options de configuration des applications web que vous souhaitez appliquer à votre serveur web.