0

我在运行 CentOS 7 的 digitalocean VPS 上安装了 Xenforo,我一打开网页就收到此错误。`验证您的服务器是否可以运行 XenForo 时发生以下错误:

The directory /var/www/html/data must be writable. Please change the permissions on this directory to be world writable (chmod 0777). If the directory does not exist, please create it.
The directory /var/www/html/internal_data must be writable. Please change the permissions on this directory to be world writable (chmod 0777). If the directory does not exist, please create it.
Please correct these errors and try again.

我将如何更改目录的权限以便它可以是世界可写的?

4

2 回答 2

0

这是根据 CentMinMod 和 Xenforo文档在 CentOS 上的 nginx 上为 Xenforo 2 推荐的内容。必须这样做,否则 Xenforo2 将无法工作。我已经在多个站点上使用它没有问题。为了安全起见,请先备份。

find /home/nginx/domains/domain.com/public/ -type f -print0 | xargs -0 chmod 0644;
find /home/nginx/domains/domain.com/public/ -type d -print0 | xargs -0 chmod 0755;
find /home/nginx/domains/domain.com/public/internal_data/ -type f -print0 | xargs -0 chmod 0777;
find /home/nginx/domains/domain.com/public/data/ -type f -print0 | xargs -0 chmod 0777;
find /home/nginx/domains/domain.com/public/internal_data/ -type d -print0 | xargs -0 chmod 0777;
find /home/nginx/domains/domain.com/public/data/ -type d -print0 | xargs -0 chmod 0777;
chmod 0750 /home/nginx/domains/domain.com/public;
于 2020-01-02T16:29:29.313 回答
0

基本上datainternal_data是运行 Xenforo 的用户应该能够写入的目录,因为它们将包含附件、头像和其他文件。

通常在 Apache 或 Nginx 上运行 PHP 的用户www-data在组中www-data(用户和组具有相同的名称),所以您所要做的就是让该用户在dataand上写internal_data

chown -R www-data.www-data /var/www/html/data /var/www/html/internal_data

如果您想完全按照错误消息中给出的建议进行操作,您可以这样做:

chmod -R 0777 /var/www/html/data /var/www/html/internal_data

但正如其他人评论的那样,这种方法更不安全,因为它允许系统中的任何用户写入datainternal_data目录。

于 2019-11-06T14:34:04.580 回答