En mi máquina Mac OS 10.5, me gustaría configurar una subcarpeta de ~/Documents
like ~/Documents/foo/html
para ser http: // localhost / foo .
Lo primero que pensé hacer es usar Alias de la siguiente manera:
Alias /foo /Users/someone/Documents/foo/html
<Directory "/Users/someone/Documents/foo/html">
Options Indexes FollowSymLinks MultiViews
Order allow,deny
Allow from all
</Directory>
Esto me prohibió 403. En el error_log obtuve:
[error] [client ::1] (13)Permission denied: access to /foo denied
La subcarpeta en cuestión tiene acceso a chmod 755. Intenté especificar gustos como http: //localhost/foo/test.php , pero tampoco funcionó. Luego, probé la ruta del enlace simbólico.
Entró /Library/WebServer/Documents
e hizo un enlace simbólico a ~/Documents/foo/html
. La raíz del documento tiene
Options Indexes FollowSymLinks MultiViews
Esto todavía me tiene prohibido 403:
Symbolic link not allowed or link target not accessible: /Library/WebServer/Documents/foo
¿Qué más necesito para configurar esto?
Solución :
$ chmod 755 ~/Documents
En general, el www
usuario del servicio debe poder ver la carpeta que se va a compartir y toda su carpeta ancestral .
apache-2.2
permissions
mac
http-status-code-403
Eugene Yokota
fuente
fuente
Respuestas:
Apuesto a que algún directorio por encima del que desea acceder no tiene permisos para permitir que Apache lo atraviese. Conviértase en el usuario con el que Apache se está ejecutando (
sudo -i -u apache
o lo que sea), luego intente cambiar al directorio de interés yls
éste. Si no puede (como se esperaba), intente acceder a los directorios que se encuentran arriba, uno por uno, hasta que uno le permita entrar. El subdirectorio de eso es aquel que necesita tenero+x
configurado. Enjabonar, enjuagar, repetir según sea necesario.fuente
sudo -i -u _www
en OS X (dado que el usuario de Apache está _www en la configuración predeterminada de apache en OS X), entonces lo hagowhoami
, todavía obtengo mi nombre de usuario, no _wwwsudo - www-data
(para Ubuntu).Utilizar
+FollowSymlinks
fuente
Verifique para asegurarse de que la bóveda de archivos no esté habilitada. Yo tuve el mismo problema. Intenté todo lo que pude encontrar. Nada funcionó. Pero después de una hora de tratar de resolver esto, recordé que tenía habilitado el depósito de archivos.
Deshabilitarlo resolvió el problema.
fuente
Verifique la propiedad del enlace simbólico. Como estás en Mac OS X, los propietarios de enlaces simbólicos pueden cambiarse. En
/Library/WebServer/Documents
hacerls -l
Si
~/Documents/foo/html
se llama a su enlace simbólicofoo
y tiene permisos comoLuego, de manera predeterminada en OS X, Apache se ejecuta como el usuario _www y el grupo _www, por lo que en el caso mencionado anteriormente no podrá atravesar el enlace simbólico a
~/Documents/foo/html
Ejecutar
man 8 chown
en su terminal del sistema, o mirar en línea chown hombreVerá que el uso de la
-h
opción cambiará la propiedad del enlace simbólico en sí mismo, en lugar del archivo al que apunta (es la fuente). Entonces puedes hacer algo comoEsto cambiará el enlace sim a
y el grupo Apache _www podrá atravesar el enlace.
fuente
Verifique su directorio / Users (ls -l / Users) para ver los derechos de su usuario (alguien).
¿También está correctamente disponible el directorio 'Sitios' en localhost / ~ someone?
fuente