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 *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.