我在 Ubuntu 15.10 上成功安装了 nginx、HHVM(使用 FastCGI 运行)等,HHVM 本身运行良好。我的 /var/www 目录由我的用户和组(例如 sam:sam)拥有,因此我可以通过 SSH 和 SFTP 访问它并相应地更改文件。现在运行 WordPress 之类的 CMS 时,它显然作为 Web 服务器(www-data)运行,因此无法从其后端更改/添加/删除文件(例如上传文件、更新 WordPress/插件),除非我将用户和组所有权更改为 www-data。
有没有办法解决这个问题,以便能够通过 PHP 和 SSH 更改文件,而无需让具有明显 sudo 权限的用户运行 Web 服务器?我相信以 FastCGI 运行的“正常”PHP 能够规避这个问题。
答案1
如果我理解正确的话,您应该将文件的所有权更改为用户www-data
。由于您具有 sudo 权限,您可以将您的用户 (sam) 添加到www-data
组中,并且仍然能够执行您需要执行的操作。
要将您的用户添加到www-data
组:
usermod -a -G www-data sam
要将所有文件的所有权更改为www-data
用户和组:
sudo chown -R www-data:www-data /var/www
要为所有文件添加组写入权限/var/www
:
sudo chmod -R g+w /var/www