質問: vagrant共有ディレクトリでsetfaclを実行する symfony2プロジェクトをvagrant vmで稼働させようとしています。私はこれについて無数の記事を見てきましたが、キャッシュディレクトリに正しくアクセス許可を取得することは、耐え難いほどに痛みを伴うことが証明されています。私のvagrantfile内:config.vm.share_folder("src", "/var/www", "../www") 私のvmの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パッケージがvmにインストールされました。symfony2のインストール手順に従って/ var/wwwで以下を実行すると: sudo setfacl -r -m u:apache:rwx -m u:username:rwx app/cache app/logs 私は得ます: 操作はサポートされていません fs(共有ディレクトリの外)にある他のディレクトリまたはファイルでコマンドを実行でき、コマンドは機能します。何が得られますか?
回答: symfony2とvagrantのすべての権限の問題を回避するには、apacheを実行しているユーザーとグループをvagrantに変更するのが最も簡単な解決策です。これを行うには、ファイル/ etc/apache2/envvarsを編集し、16行目と17行目を次のように置き換えます。exportapache_run_user= vagrant export apache_run_group = vagrantこれらの手順はubuntu上のapache2.2用であることに注意してください。そう。apacheのユーザーとグループを変更したくない場合は、ramdiskをマウントしてsymfonyプロジェクトをその上に置くこともできます。次に、バグラントはこのディスクの権限を変更できます。 ramディスクをマウントする方法については、 このリンク を参照してください。