Linux Wordpress 无法写入 wp-config 文件

Linux Wordpress 无法写入 wp-config 文件

我在我的电脑上安装了最新版本的 Apache2 / PHP / MYSQL。

在该目录中,/src/www/htdocs我创建了一个wordpress包含所有 WordPress 文件的目录。

然后,当我尝试wp-config通过 Web 界面创建文件时,出现以下错误:

Sorry, but I can't write the `wp-config.php' file.

我尝试使用此命令来更改组/src/www/htdocs/wordpress

chown -R root:root /srv/www/htdocs/wordpress

但它不起作用。经过一些研究,我看到很多人说将组更改为,www-data但我没有看到www-data使用此命令:

cut -d: -f1 /etc/group

有人知道我做错了什么吗?

答案1

只需将文件夹的所有者从 root 更改为当前用户即可。

sudo chown -R yourcurrentuser:currentgroup /srv/www/htdocs/wordpress

答案2

如果wp-config.php尚不存在,请使用:

cp wp-config-sample.php wp-config.php

apache 使用的组位于 Apache 配置文件中。以下是我在 OS X 上的查找方式。对我来说,该组是_www

grep ^Group /etc/apache2/httpd.conf

Unix/Linux 使用 3 个权限组 - usergroupothers。我假设您希望保留user该文件的所有者。最简单的事情是授予group和写入权限others。为此,请使用:

 chmod go+w wp-config.php

答案3

首先,找出 Apache 守护进程当前正在使用哪个组:

$ cat /etc/apache2/apache2.conf | grep ^Group -B 2
# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

好的。这意味着该组存储在APACHE_RUN_GROUP变量中:

$ echo ${APACHE_RUN_GROUP}

该变量未在当前环境中设置。为什么?我真的不知道。但这并不重要,因为 Apache 配置文件中的注释将我们指向定义这些变量的文件:

$ cat /etc/apache2/envvars | grep GROUP
export APACHE_RUN_GROUP=www-data

因此,在我的例子中,Apache 运行所在的组是www-data。有了这些信息,现在就可以更改 WordPress 目录的组。对于您的情况:

sudo chgrp -R www-data /src/www/htdocs

-R标志使其递归。瞧!

答案4

对于nginx用户来说,默认用户是www-data,所以我们需要给该www-data用户授予写权限:

chown -R www-data wordpress

相关内容