J'ai récemment essayé de configurer un serveur de test avec Apache. Le site doit fonctionner sous le domaine www.mytest.com
. J'obtiens toujours une 403 Forbidden
erreur. Je suis sur l'édition serveur Ubuntu 10.10. La racine de la documentation est sous dir /var/www
. Voici mes paramètres:
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 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
<VirtualHost *>
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.
#
<Directory "/var/www/mytest.com">
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Je n'ai pas de .htaccess
fichier dans ma racine doc. Les permissions sont correctement définies (lisibles par www-data).
Si je tape l'adresse IP depuis mon bureau, le site s'affiche correctement. J'ai changé le fichier hosts sur mon bureau pour qu'il pointe www.mytest.com
vers l'adresse IP du serveur. Quand je l'utilise, je reçois 403
. Étant donné que de nombreuses fonctions de ce site sont sensibles au nom du site, je dois pouvoir accéder au site par le nom de domaine.
Une autre chose amusante est que même si tous les fichiers journaux sont créés correctement, ils ne contiennent aucune information concernant cette erreur.
Je suis coincé. Quelqu'un peut-il aider?
la source
sudo sh -c ". /etc/apache2/envvars; apache2 -S"
(liste des hôtes virtuels) et:sudo sh -c ". /etc/apache2/envvars; grep -R Listen /etc/apache2/*|grep -v \"#\"; grep -R NameVirtual /etc/apache2/*|grep -v \"#\""
VirtualHost configuration: 192.168.2.5:* www.mytest.com (/etc/apache2/sites-enabled/mytest.com:1) Syntax OK
La seconde renvoie:/etc/apache2/ports.conf:Listen 80 /etc/apache2/ports.conf: Listen 443 /etc/apache2/ports.conf: Listen 443 /etc/apache2/conf.d/virtual.conf:NameVirtualHost *
Réponses:
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 verriez également un message de journal de la forme "client refusé par la configuration du serveur". La fonctionnalité nécessite une identité d'utilisateur pour accéder à un annuaire. Il est activé par DEFAULT dans le httpd.conf fourni avec Apache. Vous pouvez voir l'activation de la fonctionnalité avec la directive
Cela signifie essentiellement de refuser l'accès à tous les utilisateurs. Pour résoudre ce problème, supprimez la directive refusée (ou bien mieux) ajoutez la directive suivante aux répertoires auxquels vous souhaitez accorder l'accès:
un péché
la source
/etc/apache2/apache2.conf
et cela a aidé, merci!apache/conf/extra
intérieur/etc/apache2
Pour apache Ubuntu 2.4.7, j'ai finalement trouvé que vous deviez mettre en liste blanche votre hôte virtuel dans apache2.conf
la source
Cela peut être un problème d'autorisations.
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 changerDeny,Allow
pour définir le comportement par défaut sur "autoriser".la source
Déplacez la clause Directory hors de l'hôte virtuel et placez-la avant de déclarer l'hôte virtuel.
Cela m'a rendu fou pendant longtemps aussi. Je ne sais pas pourquoi. C'est un truc Debian.
la source
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 s'agit simplement d'ajouter une
<Directory >
balise à/etc/apache2/apache2.conf
la source
Si vous avez tout fait correctement, donnez simplement l'autorisation au répertoire personnel comme:
puis
la source
Le problème était que l'autorisation d'accès au fichier était incorrecte.
J'ai changé les permissions du répertoire et cela a fonctionné.
la source
J'ai aussi eu ce problème sur Arch Linux ... cela me coûte du temps mais je suis heureux maintenant d'avoir trouvé mon erreur:
Mon répertoire avec les
.html
fichiers où dans mon compte.J'ai tout activé
r+x
mais j'ai toujours l'403
erreur.Ensuite, je suis retourné complètement en arrière et j'ai essayé de configurer mon répertoire personnel pour qu'il s'exécute, ce qui a résolu mon problème.
la source
Je viens de passer plusieurs heures sur ce stupide problème
Tout d'abord, modifiez les autorisations en utilisant ceci dans le terminal
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 du répertoire par exemple pour moi c'était
C'est aussi l'autre chose stupide
assurez-vous que votre lien image src est votre nom de domaine par exemple
Assurez-vous d'avoir
Vous modifiez ceux en utilisant pico dans le terminal
J'ai également créé un répertoire pour les images spécifiquement afin que lorsque vous tapez dans la barre d'adresse du navigateur domainname.com/images, vous obtiendrez une liste de photos qui peuvent être téléchargées et doivent être téléchargées avec succès pour indiquer les fichiers image qui fonctionnent correctement
Et ce sont les solutions que j'ai essayées, maintenant j'ai des images fonctionnelles ... yay !!!
Sur le (s) problème (s) suivant (s)
la source