Capistrano 和 Symfony3 的权限问题
Permission issues with Capistrano and Symfony3
我正在尝试使用 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 -m u:www-data:rwX -m u: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 表示 "default",因此所有新文件和文件夹都将继承这些默认权限。
我用 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
我正在尝试使用 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 -m u:www-data:rwX -m u: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 表示 "default",因此所有新文件和文件夹都将继承这些默认权限。
我用 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