使用持续集成在虚拟主机中设置 Apache Web Root 的操作系统级别权限

使用持续集成在虚拟主机中设置 Apache Web Root 的操作系统级别权限

我在安装 Apache 时遇到问题,导致我的 PHP 应用程序无法创建日志文件,原因是没有权限当尝试写入 Web 根目录时。

这发生在我的测试服务器上,它是 Virtual Box 内 Ubuntu 16.04 上的 LAMP 堆栈。安装与 apt 一样标准(用户是 www-data,/var/www 是 Web 根目录,由 root 拥有)。

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

  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

当我想要测试时,我将代码 scp(作为 Ubuntu OS 用户)到 /var/www/site 目录(实际上,我有一个同步脚本,只要检测到代码更改就会执行此操作)。

除了应用程序无法创建日志文件之外,一切都正常。

我已经看到了几个答案,包括对所有内容执行 chmod 777 (?!)、将 Ubuntu 用户添加到 www-data 组以及将 www-data 用户添加到 ubuntu 用户的组。

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

这是正确的程序吗?

相关内容