symfony2 的内核需要写入缓存(作为 http 用户)。由于这些原因,我还需要读/写文件夹:
- IDE 需要在文档根目录中读取/写入/创建
- 在 shell 中,我的用户应该能够生成捆绑包并清除缓存
- 我的用户应该能够操作 .git 文件夹(通过暂存和提交)
- 我正在推送到远程/生产服务器,这应该由我的用户完成
设置文档根目录及其下文件的所有权和权限的最佳做法是什么?
谢谢
symfony2 的内核需要写入缓存(作为 http 用户)。由于这些原因,我还需要读/写文件夹:
设置文档根目录及其下文件的所有权和权限的最佳做法是什么?
谢谢
获得许可,您可以阅读此http://symfony.com/doc/2.0/book/installation.html#configuration-and-setup
ACL 是允许您的用户和 Web 服务器用户管理文件系统上的文件的好方法。
要部署您的应用程序,您可以使用http://capifony.org
希望它有帮助。
最良好的问候。
我为此使用ACL 。假设您的用户是arsham
并且 apache 组是www-data
创建一个文件夹来保存您开发的所有应用程序的文档根目录
sudo mkdir -p /var/vhosts
sudo chown arsham:www-data /var/vhosts
接下来,我们为用户和组 + SGID 位设置 rwx 权限,以便新文件和文件夹将跟随父目录组。
sudo chmod 770 /var/vhosts
sudo chmod g+s /var/vhosts
接下来我们通过 ACL 为新文件设置默认权限
sudo setfacl -dm u::rwx /var/vhosts
sudo setfacl -dm g::rwx /var/vhosts
sudo setfacl -dm u:arsham:rwx /var/vhosts
sudo setfacl -dm g:www-data:rwx /var/vhosts
sudo setfacl -m u:arsham:rwx /var/vhosts
sudo setfacl -m g:www-data:rwx /var/vhosts
现在,您只需为新项目创建文档根目录:
cd /var/vhosts && mkdir newproject
请注意,如果您需要修改现有文件的权限,则需要运行setfacl
并chmod
包含 -R(递归)选项