내 컴퓨터에 최신 버전의 Apache2/PHP/MYSQL이 설치되어 있습니다.
해당 디렉터리 내에 모든 WordPress 파일이 포함된 디렉터리를 /src/www/htdocs
만들었습니다 .wordpress
wp-config
그런 다음 웹 인터페이스를 통해 파일을 생성 하려고 하면 다음 오류가 발생합니다.
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
폴더 소유자를 루트에서 현재 사용자로 변경하면 됩니다.
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