bir vagrant paylaşılan dizinde setfacl çalıştırma


10

Bir Symfony2 projesi kurmaya çalışıyor ve bir vagrant VM ile çalışıyor. Bu konuda milyonlarca makale gördüm, ancak önbellek dizinini doğru şekilde izin almak çok acı verici olduğunu kanıtlıyor.

Benim Vagrantfile:

config.vm.share_folder("src", "/var/www", "../www")

VM dosyam fstab:

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

Acl paketi VM'ye kuruldu.

Symfony2 kurulum yönergelerine göre aşağıdaki / var / www dizininde çalıştırdığımda:

 sudo setfacl -R -m u:apache:rwx -m u:username:rwx app/cache app/logs

Alırım:

İşlem desteklenmiyor

Komutu, FS'deki (paylaşılan dizinin dışında) başka bir dizinde veya dosyada çalıştırabilir ve komut çalışır. Ne oluyor?


Bu gerçek problemi çözmedi, ancak şu an için bu işi
yürüttü

Yanıtlar:


6

Symfony2 ve Vagrant ile ilgili tüm izin sorunlarını atlamak için, en kolay çözüm apache çalıştıran kullanıcı ve grubu vagrant olarak değiştirmek. Bunu yapmak için, / etc / apache2 / envvars dosyasını düzenleyin ve satır 16 ve 17'yi bunlarla değiştirin: export APACHE_RUN_USER = vagrant export APACHE_RUN_GROUP = vagrant Bu talimatların Ubuntu'daki apache 2.2 için olduğunu, yapılacak apache ve OS sürümüne bakın yani.

Apache kullanıcısını ve grubunu değiştirmek istemiyorsanız, bir ramdisk bağlayabilir ve symfony projenizi buna koyabilirsiniz. Ardından vagrant bu diskteki izinleri değiştirebilir. Ramdisk takma talimatları için bu bağlantıya bakın .


3

Daha iyi bir çözüm, Özellik Geçersiz Kılmayı kullanmaktır. Bkz. Opscode Wiki .

Örneğin bir rol tanımında:

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

Paylaşılan bir klasördeki Typo3 ile aynı sorunu yaşadım, geçici dosyalar oluşturulamadı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.