我从 Vagrant 的 Official Precise64 box 配置了我自己的基本 Vagrant Box。我有一个同步文件夹位于“/var/www”,公共(public)文件夹位于“/var/www/public”。
对于“/var/www”,我的权限是:
drwxr-xr-x 1 vagrant vagrant
对于“/var/www/public”,我的权限是:
drwxr-xr-x 1 vagrant vagrant
为了说明我的问题,对于 WordPress 应用程序,我手动将上传权限设置为 777。WordPress 能够在当月的上传内容中创建一个文件夹,例如“/var/www/public/wp-content/uploads/10/";但是,它无法上传或写入刚刚创建的文件夹,除非我再次手动将新创建的“10”文件夹的权限更改为可写。
所有应用程序都会发生这种情况,例如 Laravel 的“存储”文件夹,并且基本上任何时候程序尝试创建目录。尝试在配置期间强制设置 Vagrant Up 的权限也不起作用:
config.vm.synced_folder "/path/to/writable/folder", "/path/to/writable/folder", :mount_options => ["dmode=777","fmode=666"]
那么,我需要在虚拟服务器上设置哪些权限才能使其正常工作?
最佳答案
我在 Vagrant 中使用了 WordPress 和 Laravel,并在 Vagrantfile 中设置了写权限:config.vm.synced_folder ".", "/vagrant", :mount_options => ['dmode=774','fmode=775']
并将默认 Apache 用户添加到 vagrant
组(我使用外壳配置):usermod -a -G vagrant www-data
关于permissions - 应用程序无法使用 Vagrant 创建可写文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26373744/