Après être passé en Debian 8, mon serveur Apache ne fonctionnait plus correctement. La raison de ce problème est lié au fait que, par cette nouvelle version de Debian, Apache passe de la version 2.2 à 2.4. Voici un article pour vous présenter les changements de configuration que j’ai dû opérer.
Disparition de la directive NameVirtualHost
Le SNI (tel qu’évoqué dans un de mes précédents articles) fonctionne désormais de base. Pour l’utiliser, vous devez éditer le fichier
ports.confet supprimer toutes les lignes contenant
NameVirtualHost
Ajout de l’extension .conf
pour les fichiers sites-enabled
Il existe 2 solutions pour pallier ce problème:
- Editer
apache2.conf
et adapter la directiveIncludeOptional sites-enabled/*.conf
qui charge sites-enabled en retirant.conf
. Je ne conseille pas cette pratique - Renommer les fichiers présents dans sites-enabled pour qu’il se termine par
.conf
Nb: si vous utilisez le répertoire
sites-availableset que
sites-enabledcontient des liens symboliques, je vous conseille de renommer les fichiers dans
sites-availableset de reconstruire les liens symboliques présents dans
sites-enabled.
Dépréciation de Order
, Allow
et Deny
Comme spécifié dans la documentation officielle d’Apache, en lieu et place de
Order allow,deny<br /> Allow from all
il faut maintenant utiliser
Require all grantedpour autoriser l’accès sur un dossier. Plus concis et précis de l’idée que l’on veut faire, on ne peut que souhaiter cette simplification pour les débutants.
Vous devez ajouter cette directive sur vos
vhostsdans les balises ou se trouvait précédemment
Order allow,denyque vous pouvez donc retirer.
Préfixe obligatoire des options par + ou –
Il n’est pas rare d’avoir des directives du type
"Options Indexes"pour autoriser la vue des répertoires ou suivre les liens symboliques.
Tout argument doit être préfixé par un
+ou un
-
Ainsi
Options FollowSymLinks Indexesdeviendra
Options +FollowSymLinks +Indexes
Apache refusera tout simplement de se lancer sans cette option.
Vos logs d’erreurs sont vides? Pensez à systemd!
Suite au passage controversé de Debian à systemd, il se peut que vous soyez un peu perdu quant aux changements engendrés dans la gestion des logs.
systemd-journald remplace désormais l’implémentation de syslog utilisée par Debian jusqu’alors. journald ne stocke plus les logs du système dans des fichiers de texte stockés dans
/var/logmais dans des fichiers binaires.
Ce changement peut paraître bizarre de prime abord et semble à l’encontre de la philosophie de UNIX, mais se justifie pour une utilisation contemporaine d’un OS. Utiliser un stockage binaire, documenté, permet tout d’abord une vérification de l’intégrité des journaux. Eviter que les logs ne soient modifiés si un hacker venait à prendre le contrôle de la machine et souhaiterait effacer toutes traces de son passage. Il permet aussi une recherche plus rapide au sein de ces logs en parsant les fichiers plus rapidement. Oubliez donc l’utilisation de
grep.
Pour consulter les derniers logs de Apache, tapez simplement
systemctl status apache2.
Pour obtenir tous les logs de Apache,
journalctl -u apache2.
Pensez aux directives
--sinceet
--untilsi vous souhaitez restreindre le champ de recherche.
Bonsoir,
juste pour vous remercier, cela à fonctionné parfaitement pour moi !
Cordialement.