Apache : résoudre l'erreur Forbidden You don't have permission to access / on this server

L'erreur est un problème lié aux accès au serveur web. Voici comment la résoudre.

Lorsque vous avez installé un serveur Apache, le message suivant peut s'afficher sur votre navigateur si vous essayez d'accéder à une page :

<p>403 Forbidden You don&#39;t have permission to access / on this server</p>

Cette erreur est un problème lié aux accès. La configuration des accès a lieu dans le fichier httpd-vhosts.conf. Le bloc Directory est utilisé pour configurer l'accès aux différents répertoires du serveur. Par défaut, il n'y en a qu'un pour le répertoire racine (/) et le réglage effectué sur ce bloc est appliqué à tous les sous-répertoires.

Le premier élément de ce bloc à modifier est la gestion des accès. Pour un serveur dans une version antérieure à la version 2.4, il est possible qu'Apache interdise par défaut l'accès au serveur :

<p>Options FollowSymLinks AllowOverride All Order deny,allow Deny from all</p>

La direction Order deny, allow indique que les directives deny sont prioritaires sur les directives allow. C'est la deuxième directive deny from all qui interdit l'accès pour tous. Pour corriger ce problème, si vous êtes sur un serveur de développement, qui n'héberge pas de site internet en ligne, il suffit de remplacer la deuxième directive par la directive allow from all. Si vous êtes sur un serveur en ligne, nous vous conseillons de créer un bloc Directory avec le chemin vers votre répertoire puis d'autoriser l'accès :

<p>Allow from all</p>

Si vous utilisez un serveur Apache en version 2.4 ou plus récente, le module qui gère les autorisations a changé : il s'agit du module mod_authz_host. Les directives pour autoriser ou refuser l'accès ne sont plus les mêmes. Il faut les modifier.

<p>Options FollowSymLinks AllowOverride All Require all denied Require all granted</p>

Si vous avez effectué une migration depuis une version antérieure d'Apache, suivez le guide de la fondation pour corriger la configuration du serveur : https://httpd.apache.org/docs/2.4/upgrading.html.

Si le problème n'est pas résolu, une autre solution consiste à remplacer la directive Options FollowSymLinks par Options Indexes FollowSymLinks Includes ExecCGI.

Divers