この記事は約3分で読めます。
本文は約1721文字です
WordPressコアやプラグインの更新・インストール時にFTPの認証情報を聞かれる場合の回避手順

一般的なレンタルサーバーではあまり見かけないですが、VPSやマイナーなレンタルサーバーでWordpressをインストールした時に起こる現象があります。
WordPressコアやプラグインの更新・インストール時にFTP情報を聞かれることです。
こんな画面です。

この記事では、このFTP入力画面を出さない方法と、この画面が表示される場合に起きるほかの問題の回避手順をまとめます。
FTP認証情報を入力しても認証されない場合
ホスト名、ユーザー名、パスワードを正しく入力しているにもかかわらず、認証されない場合はホスト名が間違っている可能性が高いです。
そんな場合は、ホスト名をlocalhost
にして、ユーザー名、パスワードは変更せずに入力してみましょう。
FTP認証情報の入力画面を表示させないためには?
wp-config.phpに以下の記述を追加します。
define('FS_METHOD','direct');
この記述を追加すれば認証情報の入力画面は表示されなくなります。
パーミッションの問題やディレクトリが作成できないと言われる原因
ファイルやディレクトリのパーミッションが間違っています。
でも、コンパネからWordpressを自動インストールしたものをそのまま使っているわけですので、間違っていると言われても困ります。
この原因は、Wordpressインストール時に作成されたファイル一式のオーナーと、Apacheのオーナーが異なるために起こります。
オーナーの確認方法
FTPクライアントなどでWordpressインストール一式のファイルのオーナーを確認できます。
Apacheなどのオーナーは次の方法で確認できます。
test.phpというファイルを作ってブラウザで表示させると、Apacheのユーザー名がわかります。
<?php echo shell_exec('whoami');
SSHが使えるのであれば、以下のコマンドでユーザー名を確認できます。
ps aux | grep -i apache

Apacheのユーザー名とWordpressのファイルのオーナーが違っている場合、ダッシュボード経由でWordpressのファイルを操作する(ユーザーはApache)場合、権限にOtherが無いと、Apacheはファイルを操作できません。
ディレクトリやファイルの権限を変更する
もし、Wordpressのファイル一式のオーナーやグループを変更できるのであれば、Apacheのユーザー名と合わせてもいいかもしれません。
しかし、rootの権限がないとできないので、レンタルサーバーでは難しいでしょう。
オーナーやグループを変更できない場合は、Apacheユーザーが操作できるように、Wordpressのファイル一式のパーミッションを変更する必要があります。
find -type d | xargs chmod 757
find -type f | xargs chmod 646
ownerとotherの権限を同じにすれば、Apache経由でファイルの操作が可能となり、Wordpressのアップデートやプラグインの追加等のファイルの操作が可能になります。
chmodコマンドを視覚的に理解する


まとめ
WordPressをコンパネからインストールしたのに、Wordpresコアやプラグインの追加・更新で、FTPの認証情報の入力を促される場合、根本的に何かが間違っています。
多くの場合は、Wordpressファイル一式のオーナーとApacheのユーザー名が異なることが原因です。
それを解決して、通常のWordpressとして動かすには、ディレクトリやファイルに対して、オーナーとOtherに同じ権限を与える必要があります。
コメント