J’ai récemment essayé de configurer un serveur de test avec Apache. Le site doit fonctionner sous le domaine www.mytest.com
. Je reçois toujours une erreur 403 Forbidden
. Je suis sur l’édition du serveur Ubuntu 10.10. La racine de la doc est sous dir /var/www
. Voici mes parameters:
Contenu de / var / www
ls -l /var/www/ total 12 drwxr-xr-x 2 root root 4096 2011-08-04 11:26 mytest.com -rwxr-xr-x 1 root root 177 2011-07-25 16:10 index.html
Contenu du fichier hôte sur le serveur (avec l’adresse IP 192.168.2.5)
cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 americano 192.168.2.5 americano.mytest.com www.mytest.com # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Configuration du site
ServerAdmin [email protected] ServerName www.mytest.com ServerAlias mytest.com DocumentRoot "/var/www/mytest.com" ErrorLog /var/log/apache2/mytest-error_log CustomLog /var/log/apache2/mytest-access_log combined # # This should be changed to whatever you set DocumentRoot to. # Options -Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all
Je n’ai pas de fichier .htaccess
dans mon répertoire racine. Les permissions sont définies correctement (lisibles par www-data).
Si je tape l’adresse IP de mon bureau, le site s’affiche correctement. J’ai changé le fichier hosts sur mon bureau pour pointer www.mytest.com
sur l’adresse IP du serveur. Quand je l’utilise, je reçois 403
. Étant donné que de nombreuses fonctions de ce site sont sensibles aux noms de sites, je dois pouvoir accéder au site par le nom de domaine.
Une autre chose géniale est que, même si tous les fichiers journaux sont créés correctement, ils n’ont aucune information concernant cette erreur.
Je suis coincé. Quelqu’un peut-il aider?
Apache 2.4.3 (ou peut-être un peu plus tôt) a ajouté une nouvelle fonctionnalité de sécurité qui entraîne souvent cette erreur. Vous verrez également un message de la forme “client refusé par la configuration du serveur”. La fonctionnalité nécessite une identité d’utilisateur pour accéder à un répertoire. Il est activé par DEFAULT dans le httpd.conf fourni avec Apache. Vous pouvez voir l’activation de la fonctionnalité avec la directive
Require all denied
Cela dit essentiellement de refuser l’access à tous les utilisateurs. Pour résoudre ce problème, supprimez la directive refusée (ou mieux) ajoutez la directive suivante aux répertoires auxquels vous souhaitez accorder l’access:
Require all granted
un péché
Order allow,deny Allow from all # New directive needed in Apache 2.4.3: Require all granted
Pour apache Ubuntu 2.4.7, j’ai finalement trouvé que vous deviez mettre votre hôte virtuel en liste blanche dans apache2.conf
# access here, or in any related virtual host. Options FollowSymLinks AllowOverride None Require all granted
Cela peut être un problème de permissions.
chaque chemin d’access parent à la racine du document virtuel doit être lisible, inscriptible et exécutable par l’utilisateur du serveur Web httpd
selon cette page sur les erreurs Apache 403.
Puisque vous utilisez Allow from all
, votre commande ne devrait pas avoir d’importance, mais vous pouvez essayer de la Deny,Allow
autorisant le comportement par défaut .
Déplacez la clause Directory du virtualhost et mettez-la avant de déclarer virtualhost.
M’a conduit pendant longtemps aussi. Je ne sais pas pourquoi. C’est une chose Debian.
Je viens de passer plusieurs heures sur ce problème stupide
Tout d’abord, modifiez les permissions en utilisant ce terminal
find htdocs -type f -exec chmod 664 {} + -o -type d -exec chmod 775 {} +
Je ne sais pas quelle est la différence entre 664 et 775 J’ai fait les deux 775 comme ça Aussi htdocs a besoin du chemin de répertoire par exemple pour moi c’était
/usr/local/apache2/htdocs find htdocs -type f -exec chmod 775 {} + -o -type d -exec chmod 775 {} +
Ceci est l’autre chose stupide aussi
assurez-vous que votre image src link est votre nom de domaine par exemple
src="http://img.zgserver.com/linux/f"
Assurez-vous d’avoir
EnableSendfile off in httpd.conf file EnableMMAP off in httpd.conf file
Vous éditez ceux utilisant pico dans le terminal
J’ai également créé un répertoire pour les images afin que, lorsque vous tapez dans la barre d’adresse du navigateur, domainname.com/images, vous obtiendrez une liste de photos pouvant être téléchargées et téléchargées pour indiquer que les fichiers d’image fonctionnent correctement.
AddType images/png .png
Et ce sont les solutions que j’ai essayées, maintenant j’ai des images qui fonctionnent … yay !!!
Sur le prochain problème (s)
J’avais le même problème avec un hôte virtuel sur Ubuntu 14.04
Pour moi, la solution suivante a fonctionné:
http://ubuntuforums.org/showthread.php?t=2185282
Il suffit d’append une
à /etc/apache2/apache2.conf
mon problème était que l’autorisation d’access aux fichiers était incorrecte, j’ai changé les permissions du répertoire et cela a fonctionné pour moi
Si vous avez tout fait correctement, donnez simplement le répertoire de permission comme:
sudo chmod o+x $HOME
puis
sudo systemctl restart apache2