Quiero configurar un servidor web local en mi Ubuntu (14.04). Así que instalé todo el software para obtener un servidor LAMP.
El problema es que hago algo mal al crear mis hosts virtuales. Quería crear diferentes subdominios en mi localhost. Entonces, por ejemplo, site1.localhost y site2.localhost.
En mi /var/www/
directorio creé un enlace simbólico "sitio1" que iba a /home/user/Workspaces/site1
.
En mi archivo Apache error.log recibí el siguiente error.
[core:error] [pid 12679] [client 127.0.0.1:59006] AH00037: Symbolic link not allowed or link target not accessible: /var/www/site1
En mi configuración de apache tengo:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Así que creo que hay algo mal con los permisos de las carpetas. Busqué en Google y encontré algunas personas con el mismo problema, pero todas las respuestas siempre que no funcionaron. Agregué mi propio nombre de usuario al grupo www-data y cosas así.
Entonces ls -la /var/www
vuelve:
total 12
drwxrwsr-x 3 user www-data 4096 okt 13 19:08 .
drwxr-xr-x 14 root root 4096 okt 1 22:50 ..
drwxr-xr-x 2 root www-data 4096 okt 1 22:50 html
lrwxrwxrwx 1 root www-data 29 okt 13 19:08 site1 -> /home/user/Workspaces/site1/
y ls -la /home/juul/Workspaces/site1
vuelve:
total 24
drwxrwxr-x 4 user www-data 4096 okt 13 18:21 .
drwxrwx--- 3 user user 4096 okt 13 17:31 ..
-rw-rw-r-- 1 user user 0 okt 13 18:21 index.html
drwxrwxr-x 4 user www-data 4096 okt 13 16:12 .metadata
drwxrwxr-x 5 user www-data 4096 okt 13 16:53 Project
Espero que alguien pueda ayudarme con esto :-)
fuente
Tengo una instalación estándar de Apache en 14.04. No hay archivos o directorios que especifiquen "www-data". ¿Cambiaste todo esto tú mismo? Hay mucha información desactualizada o simplemente incorrecta sobre cómo configurar servidores web, así que tenga cuidado con a quién sigue y deshaga lo que no funciona.
Dicho esto, "sitio1" debe estar en el
html
directorio y ser de su propiedad. Realmente no necesita ser un enlace simbólico; Puede especificar un directorio diferente en el archivo de configuración. Algo como esto:fuente
Solución para: Enlace simbólico no permitido o destino del enlace no es accesible:
/var/www/html/mySymbolicLink
.Esto claramente es un problema con los permisos. El problema es que el html bajo su directorio de inicio es propiedad de su usuario, y el servidor apache lo ejecuta otro usuario, por lo que no puede acceder a su directorio de inicio.
La solución sería agregar al usuario que ejecuta apache a su grupo, normalmente lo mismo que su nombre de usuario. Entonces, en mi caja CentOS lo hice como:
Entonces esto agrega el usuario apache al grupo dev. Ahora necesito dar permisos de ejecución.
En
/home
:Esto otorgará permiso de ejecución a mi carpeta solo para los miembros del grupo. Y eso es. Tendrá que modificar el usuario de Apache para lo que sea que esté ejecutando su servidor web, creo que para Ubuntu el usuario es
www-data
.fuente