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 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-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.
Bonsoir,
juste pour vous remercier, cela à fonctionné parfaitement pour moi !
Cordialement.