Apache 与Capistrano和Symfony3的许可问题

Apache 与Capistrano和Symfony3的许可问题,apache,symfony,capistrano,Apache,Symfony,Capistrano,我正在尝试使用capistrano部署我的symfony应用程序,但我遇到了权限问题 这是我的deploy.rb: # config valid only for current version of Capistrano lock "3.8.0" set :application, "projetLavande-api" set :repo_url, "git@bitbucket.org:me/project-api.git" set :format, :pretty set :log_l

我正在尝试使用capistrano部署我的symfony应用程序,但我遇到了权限问题

这是我的deploy.rb:

# config valid only for current version of Capistrano
lock "3.8.0"

set :application, "projetLavande-api"
set :repo_url, "git@bitbucket.org:me/project-api.git"

set :format, :pretty
set :log_level, :info


set :composer_install_flags, '--no-dev --optimize-autoloader'

set :file_permissions_users, ["www-data"]
set :file_permissions_paths, ["var"]

set :linked_dirs, ["var"]

before "deploy:updated", "deploy:set_permissions:acl"
after 'deploy:updated', 'symfony:cache:clear'
部署正常,capi执行命令setfacl:

/usr/bin/env setfacl-Rn-mu:www-data:rwX-mu:me:rwX/var/www/project/shared/var

但是Apache无法在
var/cache


任何提示?

在部署过程中,您可能会删除var/cache文件夹。可能会使用错误的访问权限重新创建它。也尝试启动此任务:

/usr/bin/env setfacl -dRn -m u:www-data:rwX -m u:me:rwX /var/www/project/shared/var
d表示“默认”,因此所有新文件和文件夹都将保留这些默认权限


编辑:

我修复了整个应用程序目录的setfacl问题,如:

 $HTTPDUSER=`ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\  -f1`

 $sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:`myuser`:rwX /var/www/project
 $sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:`myuser`:rwX /var/www/project