Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

WordPress - 更新時FTP情報要求エラー -

接続情報

要求されたアクションを実行するには、WordPress が Web サーバーにアクセスする必要があります。 次に進むには FTP の認証情報を入力してください。 認証情報が思い出せない場合は、ホスティング担当者に問い合わせてください。

と言われる。

>apacheのユーザーがWordPressのフォルダにアクセス権を持ってないのが原因
>なので以下のようにやれ
>sudo chown -R apache:apache path/to/wordpress
と書いてある記事がとても多い。
やると「apacheなんて奴は居ねえぜ。」って言われる。
apacheのユーザーがわからない。
>ApacheのPHP実行ユーザーは/etc/httpd/conf/httpd.confに書いてある。
そもそもhttpdが存在しない。
そもそもApache2だしなあ。
>それ、/etc/apache2/apache2.conf です。
見てみると、

# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

とあるので、今度は/etc/apache2/envvarsを見ると、

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

と書いてある。

結論。
www-dataさんでした。

で、やっとのことで振り出しに戻って、
sudo chown -R www-data:www-data /var/www/html/wordpress
実行すると、上のエラーは出なくなり、プラグインの削除などが問題なく行えるようになった。

追記(2021/08/28)
今度は、ホストでFileZillaを実行してSFTPでのファイル転送を行うとエラーが出るようになった。
WoedPress関連のフォルダやファイルの所有権の変遷はこんな感じだ。
 Apache2のインストール時に所有権を設定–>sahara(仮に)
 Apacheはwww-dataで実行なのでWordPressでエラーwww-data–>sahara
 www-dataに所有権を与えてWordPressでのエラーを回避–>www-data
 FileZillaはsaharaで接続なのでエラーsahara–>www-data
素人考えだと、pacheがwww-dataで実行されているのが悪いんではと思う。
ならば、pacheをsaharaで実行したらいいのではと思う。
/etc/apache2/envvarsの

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

export APACHE_RUN_USER=sahara
export APACHE_RUN_GROUP=sahara

に書き換えた。
今のところ何もエラーが出ずに運用できている。

このエントリーをはてなブックマークに追加

Posted under: ubuntu, WordPress


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.