Mencoba menjalankan proyek Symfony2 dan menjalankannya dengan VM gelandangan. Saya telah melihat jutaan artikel tentang ini, tetapi mendapatkan direktori cache diizinkan dengan benar terbukti sangat menyakitkan.
Di saya Vagrantfile
:
config.vm.share_folder("src", "/var/www", "../www")
fstab
File VM saya :
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
Paket acl telah diinstal pada VM.
Ketika saya menjalankan yang berikut ini di / var / www sesuai petunjuk instal Symfony2:
sudo setfacl -R -m u:apache:rwx -m u:username:rwx app/cache app/logs
Saya mendapat:
Operasi tidak didukung
Saya dapat menjalankan perintah di direktori lain atau file di FS (di luar direktori bersama) dan perintah itu berfungsi. Apa yang menyebabkannya?
virtualbox
vagrant
symfony
Josh Nankin
sumber
sumber
Jawaban:
Untuk mem-bypass semua masalah izin dengan Symfony2 dan Vagrant, solusi termudah adalah mengubah pengguna dan grup yang menjalankan apache menjadi gelandangan. Untuk melakukannya, edit file / etc / apache2 / envvars dan ganti baris 16 dan 17 dengan ini: ekspor APACHE_RUN_USER = ekspor gelandangan APACHE_RUN_GROUP = gelandangan Perhatikan bahwa instruksi ini adalah untuk apache 2.2 di Ubuntu, merujuk pada apache dan versi OS untuk melakukannya begitu.
Jika Anda tidak ingin mengubah pengguna dan grup apache, Anda juga bisa memasang ramdisk dan meletakkan proyek symfony Anda di atasnya. Kemudian gelandangan dapat memodifikasi izin pada disk ini. Lihat tautan ini untuk petunjuk tentang cara memasang ramdisk.
sumber
Solusi yang lebih baik menggunakan Atribut Overriding. Lihat Opscode Wiki .
Misalnya dalam definisi peran:
Saya memiliki masalah yang sama dengan Typo3 di Folder bersama, gagal membuat file sementara.
sumber