menjalankan setfacl pada direktori bersama gelandangan

10

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")

fstabFile 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?

Josh Nankin
sumber
Ini tidak menyelesaikan masalah yang sebenarnya, tetapi menjalankan pekerjaan ini untuk saat ini: stackoverflow.com/questions/7357120/…
Josh Nankin

Jawaban:

6

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.

jfcartier
sumber
3

Solusi yang lebih baik menggunakan Atribut Overriding. Lihat Opscode Wiki .

Misalnya dalam definisi peran:

override_attributes({
    "apache" => {
      "user" => "vagrant",
      "group" => "vagrant"
    }
})

Saya memiliki masalah yang sama dengan Typo3 di Folder bersama, gagal membuat file sementara.

Martin Lauer
sumber