Apache ne fonctionne plus après mon passage sous Debian 8

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.conf et 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 directive IncludeOptional 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-availables et que sites-enabled contient des liens symboliques, je vous conseille de renommer les fichiers dans sites-availables et 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 granted pour 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 vhosts dans les balises ou se trouvait précédemment Order allow,deny que 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 Indexes deviendra 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/log mais 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 --since et --until si vous souhaitez restreindre le champ de recherche.

deb8-apache

1 comment

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

This site uses Akismet to reduce spam. Learn how your comment data is processed.