2 votes

Un serveur virtuel dynamique donne 403 forbidden sur OSX Apache

J'ai suivi ce guide et j'essaie de créer des serveurs virtuels dynamiques sur OSX en autorisant foo.dev pour diriger vers le dossier web /foo . La différence est que j'utilise ~/Sites comme dossier web au lieu du Mac HD comme dans le guide. Il utilise dnsmasq qui, je crois, est installé et fonctionne correctement.

Donc dans mon dossier ~/Sites j'ai :

home
sites
|-foo
|-bar

Mon httpd-vhosts.conf ressemble à ceci :

<Virtualhost *:80>
DocumentRoot "/Users/harryg/Sites/home"
ServerName home.dev
UseCanonicalName Off
ErrorLog "logs/home/error.log"
<Directory "/Users/harryg/Sites/home">
    #Options FollowSymLinks
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride None
    Allow from all
</Directory>
</Virtualhost>

<Virtualhost *:80>
VirtualDocumentRoot "/Users/harryg/Sites/sites/%1"
<Directory "/Users/harryg/Sites/sites/%1">
    Options FollowSymLinks
    #Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride None
    Allow from all
</Directory>
ServerName sites.dev
ServerAlias *.dev
UseCanonicalName Off
</Virtualhost>

Le premier serveur virtuel fonctionne bien et va à home.dev conduit à l'exemple index.php que j'ai à la racine de ce serveur virtuel.

Le deuxième serveur virtuel ne donne qu'une erreur 403 Forbidden pour tout .dev, qu'il existe ou non un dossier pour le sous-domaine .dev.

Des idées ?

Editar:

Dernières entrées du journal

Journal d'erreurs Apache :

[Wed Dec 18 00:45:37 2013] [error] [client 127.0.0.1] File does not exist: /Users/harryg/Sites/home/favicon.ico
[Wed Dec 18 00:45:45 2013] [error] [client 127.0.0.1] client denied by server configuration: /Users/harryg/Sites/sites/test/, referer: http://home.dev/
[Wed Dec 18 00:45:45 2013] [error] [client 127.0.0.1] client denied by server 

Le serveur fonctionne maintenant (il y avait un problème avec le répertoire du journal des erreurs dans le fichier de configuration). Mais il ne peut toujours pas accéder aux vhosts dynamiques.

2voto

Robotica Points 96

Quel est le contenu de votre 2ème site ?

Il y a deux raisons possibles :

  1. Si un répertoire n'a pas de indice (index.php, index.html, default.html, etc.) et que la liste des répertoires n'est pas autorisée, Apache affichera une page d'erreur 403.

  2. Je remarque que vous n'avez pas activé ExecCGI dans sites.dev . Pourriez-vous essayer de l'activer ?

Mis à jour : Signe en pourcentage dans le chemin ( /Users/harryg/Sites/sites/%1 ) est destiné au mod_vhost_alias, mais pas à celui d'Apache. <Directory> règles. Modifiez ceci :

<Directory "/Users/harryg/Sites/sites/%1">

A ceci :

<Directory "/Users/harryg/Sites/sites">

Est-ce que ça marche ?

1voto

satyr Points 11

Je viens de rencontrer le même problème et il s'est avéré qu'il s'agissait d'un paramètre par défaut dans Apache. Dans le fichier httpd.conf, il y a ceci

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

supprimez la ligne "Deny from all" et redémarrez apache.

0voto

fboaventura Points 1127

L'erreur 403 correspond à un accès refusé. Vous devez vérifier les permissions sur le répertoire de l'arbre jusqu'au répertoire du site.

Assurez-vous que l'utilisateur qui exécute apache a les droits de lecture et d'exécution pour les répertoires et de lecture pour les fichiers.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X