我在我的电脑上安装了最新版本的 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 个权限组 - user
、group
、others
。我假设您希望保留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