Tengo un servidor apache2 instalado en Ubuntu. El problema surge una vez sigo una política de crear el proyecto fuera de la carpeta /var/www y luego mediante la creación de un host virtual enlazar sólo la parte pública( /home/pantalaimon/ruta/al/proyecto/web ).
El conflicto que surge entonces es que el directorio del proyecto tiene permisos de mi usuario pantalaimon mientras que apache2 trabaja con los permisos de www-data. Creo que por esta razón al acceder al proyecto via servidor virtual, me mandaba algun error.
Esto lo acabé solucionando dando permisos al grupo www-data al proyecto y añadiendo mi usuario pantalaimon al grupo www-data. Y dando permisos de lectura y escritura a los directorios app/cache y app/log con el grupo www-data.
De esta manera la cosa me ha ido funcionando hasta que he tenido que usar scripts de consola como:
Código BASH:
Estos scripts no me funcionaban por no tener los permisos adecuados. He solucionado este problema evitando el problema de 2 maneras:Ver original
php symfony cache:clear php app/console doctrine:database:create
1) Ejecutar los scripts con sudo. Pero de esta manera los cache y logs acaban transformandose en ficheros de root.
2) Como root, dar permisos de grupo y usuaria a pantalaimon para los directorios /cache y /logs. De esta manera he podido ejecutar los scripts sin sudo.
En fin, tengo un lío muy grande. Seguramente por mi desconocimiento sobre los permisos de los sistemas Unix y por mi desconocimiento de apache2. Me gustaría saber cual seria la manera correcta y segura de asignar permisos y que pueda trabajar sin hacer -desde mi punto de vista- estos trapicheos.
Un saludo y gracias