0

symfony2 的内核需要写入缓存(作为 http 用户)。由于这些原因,我还需要读/写文件夹:

  1. IDE 需要在文档根目录中读取/写入/创建
  2. 在 shell 中,我的用户应该能够生成捆绑包并清除缓存
  3. 我的用户应该能够操作 .git 文件夹(通过暂存和提交)
  4. 我正在推送到远程/生产服务器,这应该由我的用户完成

设置文档根目录及其下文件的所有权和权限的最佳做法是什么?

谢谢

4

2 回答 2

1

获得许可,您可以阅读此http://symfony.com/doc/2.0/book/installation.html#configuration-and-setup

ACL 是允许您的用户和 Web 服务器用户管理文件系统上的文件的好方法。

要部署您的应用程序,您可以使用http://capifony.org

希望它有帮助。

最良好的问候。

于 2013-05-15T22:45:47.683 回答
0

我为此使用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

请注意,如果您需要修改现有文件的权限,则需要运行setfaclchmod包含 -R(递归)选项

于 2015-06-25T09:00:29.723 回答