在具有持续集成的虚拟主机中设置Apache Web根目录的操作系统级权限

我遇到了一个与我的Apache安装问题,因为我的PHP应用程序无法创build自己的日志文件,因为尝试写入到Web根目录的权限被拒绝

这发生在我的testing服务器上,这是Virtual Box中Ubuntu 16.04上的一个LAMP堆栈。 从apt下载(用户是www-data,/ var / www是web根目录,由root启动),安装非常标准。

我希望运行的每个项目都在自己的虚拟主机中,创build如下:

  1. sudo mkdir -p /var/www/site1.com
  2. sudo chown -R $ USER:$ USER /var/www/site1.com
  3. sudo chmod -R 755 / var / www

当我想testing的时候,我(作为Ubuntu操作系统用户)将代码转到/ var / www / site目录(实际上,我有一个同步脚本,当它检测到代码发生变化时就执行这个操作)。

这工作正常,除了应用程序无法创build他们的日志文件的事实。

我已经看到了几个答案,包括chmod 777的一切(?!),将Ubuntu用户添加到www-data组,并将www-data用户添加到ubuntu用户组。

我的首选是将www-data用户添加到Ubuntu用户组,并为需要写入的任何内容授予g + w权限;

这是正确的程序?