¿Hay alguna manera de vincular simbólicamente un directorio ln
a mi directorio ~/Sites/ en OS X para que los permisos sean correctos y pueda verse en un navegador web cuando estoy haciendo desarrollo web en una máquina local?
Esto es lo que hice ln -s ~/code/web/yolkportfolio ~/Sites/yolkportfolio
en chmod 755
el directorio pero todavía no es legible.
Cualquier ayuda sería muy apreciada.
Respuesta1
El problema estaba en mi configuración de Apache. Esto es lo que permitió que funcionara, solo la FollowSymLinks
regla.
<Directory "/Users/Joe/Sites/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Respuesta2
Tienes unas cuantas opciones:
1.Si está ejecutando apache
con un usuario diferente (no el suyo) y definitivamente desea que DocumentRoot
apunte a algún directorio dentro de su hogar, debe cambiar los permisos a su directorio de inicio (el valor predeterminado debe ser 750
o 700
) para755
Sólo recomendaría esto si se trata de su computadora portátil o personal y nadie más tiene acceso a ella.
2.La primera no es una opción, pero aún quieres el DocumentRoot
interior de tu casa, luego puedes cambiar el usuario que lo ejecuta apache
. Edite su archivo de configuración y busque directivas User
y Group
.
3.La segunda todavía no es una opción, y aún así... quieres cosas dentro de tu casa. Utilice mod_userdir de Apache. Con la siguiente configuración:
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
</IfModule>
Esta es la configuración predeterminada para mod_userdir de Apache en Debian. Podrás acceder a:
/home/your-username/public_html/*
en su navegador en la siguiente dirección:
http://somewhere/your-username/*
4.Finalmente, puede ubicarlo DocumentRoot
en otro lugar ( /srv/www
o /opt/www
lo que sea) y configurar los permisos según sea necesario.