Intentando poner en marcha un proyecto de Symfony2 con una VM vagabunda. He visto millones de artículos sobre esto, pero obtener el permiso del directorio de caché correctamente está resultando insoportablemente doloroso.
En mi Vagrantfile:
config.vm.share_folder("src", "/var/www", "../www")
El fstabarchivo de mi VM :
proc            /proc           proc    nodev,noexec,nosuid 0       0
/dev/mapper/ubuntu--1110-root /               ext4    acl,errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=4ed7eaaf-6f42-48ba-b5ed-f0c1df9add38 /boot           ext2    defaults        0       2
/dev/mapper/ubuntu--1110-swap_1 none            swap    sw              0       0
El paquete acl se ha instalado en la VM.
Cuando ejecuto lo siguiente en / var / www según las instrucciones de instalación de Symfony2:
 sudo setfacl -R -m u:apache:rwx -m u:username:rwx app/cache app/logs
Yo obtengo:
Operación no admitida
Puedo ejecutar el comando en cualquier otro directorio o archivo en el FS (fuera del directorio compartido) y el comando funciona. ¿Lo que da?
                    
                        virtualbox
                                vagrant
                                symfony
                                
                    
                    
                        Josh Nankin
fuente
                
                fuente

Respuestas:
Para evitar todos los problemas de permisos con Symfony2 y Vagrant, la solución más fácil es cambiar el usuario y el grupo que ejecuta apache a vagabundo. Para hacerlo, edite el archivo / etc / apache2 / envvars y reemplace las líneas 16 y 17 con estas: export APACHE_RUN_USER = vagrant export APACHE_RUN_GROUP = vagrant Tenga en cuenta que estas instrucciones son para apache 2.2 en Ubuntu, consulte su versión de apache y OS para hacerlo entonces.
Si no desea cambiar el usuario y el grupo de Apache, también puede montar un ramdisk y poner su proyecto de Symfony en él. Entonces vagabundo puede modificar los permisos en este disco. Consulte este enlace para obtener instrucciones sobre cómo montar un disco RAM.
fuente
Una mejor solución es utilizar la anulación de atributos. Ver Opscode Wiki .
Por ejemplo, en una definición de roles:
Tuve el mismo problema con Typo3 en una carpeta compartida, al no poder crear archivos temporales.
fuente