我正在学习服务器,并且正在配置 Nginx、MySQL、PHP 和 WordPress。服务器发行版是 Debian 6。
我创建了一个新用户,并且我希望每个用户都是站点文件夹的所有者 /var/www/site.one
,因此我运行该命令chown -R kossel:kossel site.one
我的问题是,我的 WordPress 只有在我的情况下才能工作chmod 644 wp-config.php
,所有人都可以读取wordpress 网站建议该文件应为 640。
我的问题是,当有人打开 mydomain.com 时,WordPress 必须访问 wp-config.php 文件,但它实际上使用哪个用户来“读取”该文件?根用户?用户 kossel?还有其他人吗?我如何正确授予它权限或所有权?
答案1
我创建了一个新用户,我希望每个用户都是站点文件夹的所有者,
/var/www/site.one
所以我chown -R kossel:kossel site.one
为什么要这么做?文档根目录 ( /var/www/site.one
) 应归运行 Web 服务器的用户所有(www-data
基于 Debian,apache
基于 Red Hat)。
我的问题是,只有当我 chmod 644 wp-config.php 时,我的 wordpress 才能工作,所有这些都可以读取 [wordpress 网站建议][1] 该文件应该是 640。
因为你上面的步骤做错了。
我的问题是:当有人打开 mydomain.com 时,wordpress 必须访问 wp-config.php 文件,但实际上哪个用户是用来“读取”该文件的?root?用户 kossel?还是其他用户?
正如我上面所说,这是www-data
用户。您可以通过运行来检查ps -ef | grep nginx
。
我如何才能正确地授予其权限或所有者?
chown -R www-data:www-data /var/www/site.one
chmod -R 755 /var/www/site.one
答案2
在 Debian 中(大多数情况下),Web 服务器由“www-data”用户运行。如果您希望您的网站正常运行,其文件应可供 www 用户读取(或执行)。因此,您的 wp-config.php 必须可供 www-data 用户读取。为了解决您的问题,您可以做几件事,
- 将 www-data 添加到网站所属的组
- 将文件夹的组所有权更改为 www-data
通过进行上述更改之一,您可以保留 wp-connfig.php 640。
答案3
查看Apache 软件基金会有了它,您可以以其所有者的名义运行所有网站(虚拟主机)。因此 640 对于 wp-config.php 来说就足够了。