Essayer de faire fonctionner un projet Symfony2 avec une VM vagabonde. J'ai vu des millions d'articles à ce sujet, mais obtenir correctement le répertoire de cache se révèle être atrocement douloureux.
Dans mon Vagrantfile
:
config.vm.share_folder("src", "/var/www", "../www")
fstab
Fichier de ma 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
Le package acl a été installé sur la machine virtuelle.
Lorsque j'exécute ce qui suit dans / var / www selon les instructions d'installation de Symfony2:
sudo setfacl -R -m u:apache:rwx -m u:username:rwx app/cache app/logs
Je reçois:
Opération non prise en charge
Je peux exécuter la commande sur n'importe quel autre répertoire ou fichier sur le FS (en dehors du répertoire partagé) et la commande fonctionne. Ce qui donne?
virtualbox
vagrant
symfony
Josh Nankin
la source
la source
Réponses:
Pour contourner tous les problèmes d'autorisation avec Symfony2 et Vagrant, la solution la plus simple est de changer l'utilisateur et le groupe exécutant apache en vagrant. Pour ce faire, éditez le fichier / etc / apache2 / envvars et remplacez les lignes 16 et 17 par celles-ci: export APACHE_RUN_USER = vagrant export APACHE_RUN_GROUP = vagrant Notez que ces instructions concernent Apache 2.2 sur Ubuntu, reportez-vous à votre version Apache et OS à faire donc.
Si vous ne voulez pas changer d'utilisateur et de groupe apache, vous pouvez également monter un ramdisk et y placer votre projet symfony. Vagrant peut alors modifier les autorisations sur ce disque. Consultez ce lien pour obtenir des instructions sur la façon de monter un disque virtuel.
la source
Une meilleure solution consiste à remplacer les attributs. Voir le wiki Opscode .
Par exemple, dans une définition de rôles:
J'ai eu le même problème avec Typo3 dans un dossier partagé, ne parvenant pas à créer des fichiers temporaires.
la source