he seguidoesta guíay estoy intentando crear vhosts dinámicos en OSX permitiendo foo.dev
el acceso directo a la carpeta web /foo
. Mi diferencia es que estoy usando ~/Sites
mi 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.dev
al index.php
archivo 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:
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.
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.