Apache2
Apparence
Présentation
Le Serveur HTTP Apache (souvent appelé Apache2) est le serveur web le plus utilisé de l'histoire d'Internet. Développé par la fondation Apache, il est réputé pour sa robustesse et son extrême modularité.
Architecture et Modules
La force d'Apache repose sur les DSO (Dynamic Shared Objects), des modules que l'on peut activer ou désactiver selon les besoins.
- mod_ssl : Pour le support du protocole HTTPS.
- mod_rewrite : Permet la réécriture d'URL à la volée (crucial pour le SEO et MediaWiki).
- mod_proxy : Permet d'utiliser Apache comme reverse-proxy (vers un serveur NodeJS par exemple).
Commandes de gestion (Debian/Ubuntu)
| Commande | Description |
|---|---|
a2enmod |
Activer un module |
a2dismod |
Désactiver un module |
a2ensite |
Activer un VirtualHost |
apache2ctl configtest |
Vérifier la syntaxe des fichiers |
Configuration des Virtual Hosts
Un Virtual Host permet à un seul serveur Apache de gérer plusieurs noms de domaine (ex: `wiki.exemple.fr` et `blog.exemple.fr`).
Fichier type dans /etc/apache2/sites-available/000-default.conf :
<VirtualHost *:80>
ServerAdmin admin@mon-domaine.com
DocumentRoot /var/www/html
ServerName www.mon-domaine.com
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Sécurité
Il est recommandé d'appliquer les "bonnes pratiques" suivantes sur une installation propre :
- Désactiver le listage des répertoires (
Options -Indexes). - Masquer la signature du serveur dans les headers (
ServerSignature Off). - Utiliser un certificat Let's Encrypt via Certbot pour forcer le HTTPS.
Comparaison avec Nginx
Contrairement à Nginx qui est "événementiel", Apache utilise une approche par processus (ou threads).
- Avantage Apache : Flexibilité totale avec les fichiers
.htaccesspar répertoire. - Inconvénient : Consomme plus de RAM sous une charge de trafic extrêmement lourde.