Jos*_*kin 10 virtualbox symfony vagrant
尝试使用流浪虚拟机启动并运行 Symfony2 项目。我已经看过无数关于此的文章,但事实证明,正确获得缓存目录的权限是极其痛苦的。
在我的Vagrantfile
:
config.vm.share_folder("src", "/var/www", "../www")
Run Code Online (Sandbox Code Playgroud)
我的虚拟机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
Run Code Online (Sandbox Code Playgroud)
虚拟机上已经安装了 acl 包。
当我按照 Symfony2 安装说明在 /var/www 中运行以下命令时:
sudo setfacl -R -m u:apache:rwx -m u:username:rwx app/cache app/logs
Run Code Online (Sandbox Code Playgroud)
我得到:
不支持操作
我可以在 FS(共享目录之外)的任何其他目录或文件上运行该命令,并且该命令有效。是什么赋予了?
小智 6
要绕过 Symfony2 和 Vagrant 的所有权限问题,最简单的解决方案是将运行 apache 的用户和组更改为 vagrant。为此,请编辑文件 /etc/apache2/envvars 并将第 16 行和第 17 行替换为以下内容: export APACHE_RUN_USER=vagrant export APACHE_RUN_GROUP=vagrant 请注意,这些说明适用于 Ubuntu 上的 apache 2.2,请参考您的 apache 和操作系统版本所以。
如果您不想更改 apache 用户和组,您也可以挂载一个 ramdisk 并将您的 symfony 项目放在上面。然后 vagrant 就可以修改这个磁盘的权限了。有关如何挂载 ramdisk 的说明,请参阅此链接。
归档时间: |
|
查看次数: |
4639 次 |
最近记录: |