vhost dinámico que da 403 prohibido en OSX Apache

vhost dinámico que da 403 prohibido en OSX Apache

he seguidoesta guíay estoy intentando crear vhosts dinámicos en OSX permitiendo foo.devel acceso directo a la carpeta web /foo. Mi diferencia es que estoy usando ~/Sitesmi carpeta web en lugar del Mac HD como en la guía. Utiliza dnsmasq que creo que está instalado y funcionando correctamente.

Entonces en mi carpeta ~/Sites tengo:

home
sites
|-foo
|-bar

Mi httpd-vhosts.conf se ve así:

<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>

El primer vhost funciona bien y va home.deval index.phparchivo de ejemplo que tengo en la raíz de ese vhost.

El segundo vhost simplemente muestra un error 403 Prohibido para cualquier cosa.dev, exista o no una carpeta para el subdominio de .dev.

¿Algunas ideas?

Editar:

Últimas entradas del registro

Registro de errores de 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 

El servidor ahora funciona (hubo un problema con el directorio de registro de errores en el archivo de configuración). Pero todavía no puedo acceder a vhosts dinámicos.

Respuesta1

¿Cuál es el contenido de su segundo sitio?

Hay dos posibles razones:

  1. Si un directorio no tieneíndicedocumento (index.php, index.html, default.html, etc.) y el listado de directorios no están permitidos, Apache mostrará una página de error 403.

  2. Noto que no habilitaste ExecCGI en sites.dev. ¿Podrías intentar habilitarlo?

Actualizado:La ruta de inicio de sesión porcentual ( /Users/harryg/Sites/sites/%1) es para mod_vhost_alias, pero no para las reglas de Apache <Directory>. Modifica esto:

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

A esto:

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

¿Funciona?

Respuesta2

Me encontré con el mismo problema y resultó ser una configuración predeterminada en Apache. en httpd.conf está esto

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

elimine la línea "Denegar de todos" y reinicie Apache.

Respuesta3

El error 403 indica acceso denegado. Debe verificar los permisos en el directorio del árbol hasta el directorio del sitio.

Asegúrese de que el usuario que ejecuta Apache tenga permisos de lectura y ejecución para los directorios y de lectura de archivos.

información relacionada