我目前正在使用 Capistrano 在 Ubuntu 16.04 上部署 Rails 应用程序。我已配置使用 root 用户,master
但在运行部署检查时出现以下错误。
01 mkdir -p /var/www/pdtracker/shared /var/www/pdtracker/releases
01 mkdir: cannot create directory ‘/var/www/pdtracker’
01 : Permission denied
01 mkdir: cannot create directory ‘/var/www/pdtracker’: Permission denied
不确定我是否需要发布更多信息,因为这是我的第一个 Ubuntu 问题。我应该更改文件夹权限吗?有什么建议吗?
这是我正在运行的产生错误的命令:
sudo cap production deploy:check
答案1
我还没有使用过Capistrano
,但是大多数安装指南都说默认情况下该过程将由我们在安装期间创建的用户部署运行。
所以我认为用户 deploy 没有权限在其下创建目录/var/www/
,这就是出现此错误的原因。
因此,更改部署用户/var/www/
应该可以解决问题。
因此首先检查是否有/var/www/
。如果没有,请使用以下命令创建它。
sudo mkdir /var/www/
接下来将该目录的用户更改为部署。
sudo chown -R deploy:www-data /var/www/
笔记:有些安装指南将用户名指定为 deployer。因此您需要确认您使用的用户名。
更多:请参阅授权官方部分文档