2 Commits

Author SHA1 Message Date
5e492bd4e2 solution apache minimaliste 2022-10-19 10:20:28 +02:00
5f0cfe7c1c instructions apache minimaliste 2022-10-19 10:15:04 +02:00

View File

@@ -6,36 +6,45 @@
* [doc directives](https://httpd.apache.org/docs/2.4/mod/directives.html) * [doc directives](https://httpd.apache.org/docs/2.4/mod/directives.html)
Soit la directive [dav](https://httpd.apache.org/docs/2.4/mod/mod_dav.html#dav) L'objectif est de ne charger que les modules nécessaires à apache
Que faut-il faire pour pouvoir l'utiliser dans notre configuration ? ## Procédure
-> s'assurer que le module "*mod_dav*" soit chargé: Commenter toutes les lignes "LoadModule" de chaque fichier de /etc/httpd/conf.modules.d/
sauf le fichier 00-systemd.conf
Faire un apachectl configtest, il va probablement se plaindre de l'utilisation de directives inconnues.
En s'aidant de la documentation de chaque directive en erreur, réactiver les modules strictement nécessaires.
Procédure:
1. faire un apachectl configtest - identifier le module en erreur
2. dans la doc de la directive user -> identifier le module \u00e0 charger (unixd)
3. identifier le fichier contenant le "loadmodule unixd":
```bash ```bash
$ httpd -M |grep -i dav grep unixd /etc/httpd/conf.modules.d/*
dav_module (shared)
dav_fs_module (shared)
dav_lock_module (shared)
```
Dans quel contexte peut-elle être utilisée ?
-> dans un contexte de type _répertoire_
Désactivez le / les modules permettant d'utiliser cette directive.
```bash
# identifier le fichier responsable du chargement du module
$ grep -ri dav /etc/httpd/conf.modules.d
/etc/httpd/conf.modules.d/00-dav.conf:LoadModule dav_module modules/mod_dav.so
/etc/httpd/conf.modules.d/00-dav.conf:LoadModule dav_fs_module modules/mod_dav_fs.so
/etc/httpd/conf.modules.d/00-dav.conf:LoadModule dav_lock_module modules/mod_dav_lock.so
```
```bash
# commenter ensuite toutes les lignes détectées dans le fichier et relancer apache
$ sed -E 's/^(LoadModule .*dav.*)/#\1/g' /etc/httpd/conf.modules.d/00-dav.conf -i
$ apachectl configtest && apachect graceful
$ httpd -M |grep dav
``` ```
4. Éditer et décommenter la ligne identifiée
5. répéter tant que la commande apachectl configtest ne renvoie pas "syntax OK"
## Validation
Le serveur apache tourne avec un nombre réduit de modules
```bash
sudo httpd -M
Loaded Modules:
core_module (static)
so_module (static)
http_module (static)
alias_module (shared)
authz_core_module (shared)
autoindex_module (shared)
unixd_module (shared)
mpm_event_module (shared)
systemd_module (shared)
```