LINUX:HTTP - Paramétrage des modules
But
Le logiciel Apache est accompagné d'un grand nombre de modules qui chacun vient ajouter une fonctionnalité particulière. On peut en ajouter à la liste installée d'office.
Chaque module peut être activé ou désactivé. Ce paramétrage se retrouve dans les fichiers du répertoire "/etc/httpd/conf.modules.d". Vous y trouver plusieurs fichiers de type ".conf".
Désactivation
Pour désactiver un module, il suffit de le mettre en commentaire en plaçant devant la ligne concernée un dièse ("#").
Par exemple le fichier concernant les fonctionnalités WebDav "/etc/httpd/conf.modules.d/00-dav.conf" contient trois lignes:
LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule dav_lock_module modules/mod_dav_lock.so
Si on veux les désactiver, le contenu devient:
#LoadModule dav_module modules/mod_dav.so #LoadModule dav_fs_module modules/mod_dav_fs.so #LoadModule dav_lock_module modules/mod_dav_lock.so
Attention, certains modules dépendent d'autres. Par exemple, les modules "mod_dav_fs" et "mod_dav_lock" ont besoin du module "mod_dav"; ils ajoutent des fonctionnalité au module de base.
Notez que ce module est souvent cité comme un point de vulnérabilité et sujet au piratage. Comme je ne l'utilise pas, je l'ai désactivé par sécurité et économie.
Stratégie
On ne désactive pas un module sans connaitre son implication avec nos sites Web.
Pour connaitre sa fonctionnalité, on consulte le site de la documentation d'Apache à l'URL https://httpd.apache.org/docs/2.4/fr/mod/
En première approche, on analyse les informations données par le serveur Web. L'article sur le module mod_info permet de les consulter.
Dans cet écran, les directives que nous avons implémentées dans nos fichiers de paramétrages tel le fichier "httpd.conf" sont regroupées par module. Si vous désactivez le module concerné, votre serveur ne démarrera pas ou si la directive est reprise dans un bloc "<IfModule>", le paramétrage concerné ne sera pas appliqué.
Consultez aussi la section "Request Hooks". Notons qu'il y a certains modules qui sont chargés d'office même s'ils ne sont pas utilisés.
Il faut aussi remarquer que certains modules sont nécessaires même s'ils semblent non utilisés.
C'est le cas de la fonctionnalité PHP, très souvent utilisée; ce sous-processus a besoin d'une délégation (Proxy) du processus Apache pour fonctionner. Dans le fichier "00-proxy.conf", il utilise le module "mod_proxy_fcgi" qui dépend du module "mod_proxy". Ces deux modules ne doivent pas être désactivés, les autres oui. En liaison les fichiers "00-mpm.conf" et "01-cgi.conf" doivent rester tel quel.
Autre cas, le module "mod_systemd" doit être gardé car le service Httpd est lancé par le processus Systemd.
Autre piste, consultez les prérequis du logiciel utilisé dans votre site.
Test
Pour rendre actif nos modifications, il faut redémarrer le serveur Apache.
Avant de relancer le serveur Web, testez votre configuration par la commande:
httpd -t
Si le résultat est "OK", on peut relancer le service Httpd. Il ne se mettra pas en erreur.
A ce stade, testez tous vos sites pour vérifier que tout fonctionne correctement.
Note: La désactivation des modules n'est pas absolument nécessaire, surtout qu'elle est délicate. Le serveur Web fonctionnera sans problème.