Ajouter un module à Apache

Vous avez compiler et installer votre tout nouveau serveur Apache, puis, quelques temps plus tard, vous avez besoin d'un nouveau module (par exemple, le mod_rewrite).

Plutôt que de tout recompiler, il est possible d'ajouter un module au serveur Apache de manière dynamique (ou shared) grâce à l'outil apxs (APache eXtenSion tool), fourni avec le package Apache.

Note : cette opération n'est réalisable que si vous avez compiler votre serveur Apache avec le module mod_so ! (option de compilation : --enable-module=shared)

Pour le vérifier, la commande httpd -l vous renseignera sur les modules compilés :

$ httpd -l
Compiled in modules:
  core.c
  prefork.c
  mod_so.c

Les sources d'Apache fournissent un certain nombre de sources de modules, dont le mod_rewrite qui nous intéresse. A partir de là, la compilation et l'installation se fait en une seule commande.

On se place dans le répertoire contenant les sources du module :

$ cd /usr/local/src/httpd-2.2.14/modules/mappers

Et on lance apxs avec trois options, plus le nom du fichier source *.c (fonctionne aussi avec les fichiers objets *.o et les archives *.a) :

  • -c pour compiler
  • -i pour installer le module compilé dans le répertoire des modules d'Apache
  • -a pour ajouter le chargement du module dans la configuration d'Apache (via la directive LoadModule)

$ apxs -i -a -c mod_rewrite.c

Un petit redémarrage d'Apache pour charger le module et c'est fini :

$ /etc/init.d/httpd stop
$ /etc/init.d/httpd start

PS : pour l'installation d'un serveur Apache, voir cet article : http://blog.moncoindunet.fr/linux/installer-un-serveur-apache-avec-php-sur-linux/

Laisser un commentaire