WordPressファイルに適切なパーミッションを設定する

WordPressファイルに適切なパーミッションを設定していないと、思わぬエラーが発生することがある。プラグインやWordPressのバージョンアップ実行時にFTP接続情報を求められたり、プラグインを更新するときにディレクトリを作成できませんでした。というエラーが発生したりしてしまう。

WordPressファイルやフォルダに適切なパーミッションを設定する方法。

公式より

まずは、WordPress.orgに説明されているパーミッションのテキストを引用する。

一般に、すべてのファイルの所有権はWebサーバー上のユーザー(ftp)アカウントに設定され、またそのアカウントから書き込み可能である必要があります。 共有ホストでは、ファイルの所有権をWebサーバープロセス自体にすべきではありません(所有権がwww、apache、nobodyユーザーなどにはならないということです)。

すべてのファイルにおいて、あなたのユーザアカウントが所有者として設定され、またそのアカウントでの書き込みが可能でなくてはいけません。また、WordPress が書き込みを行う必要のあるファイルにおいては、サーバのシステムアカウントが所有者として設定されている必要があります。そうすることで、例えば、あなたがユーザアカウントの権限でサーバにファイル転送を行う一方で、サーバは dhapache や nobody などのシステムアカウントで動作することが可能になります。

WordPressからの書き込みアクセスが必要なファイルは、WordPressが使用するユーザーアカウント(サーバーアカウントとは異なる場合があります)が所有またはグループ所有する必要があります。 たとえば、サーバーとファイルをFTPでやり取りできるユーザーアカウントを持っている場合でも、サーバー自体はdhapacheやnobodyなどの別のユーザーグループ内の別のユーザーを使用して実行できます。 WordPressがFTPアカウントとして実行されている場合、そのアカウントには書き込みアクセス権が必要です。つまり、ファイルの所有者であるか、書き込みアクセス権のあるグループに属している必要があります。 後者の場合、アクセス許可はデフォルトよりも寛容に設定されます(たとえば、フォルダーの場合は755ではなく775、644の代わりに664)。

パーミッションの設定

ファイルデフォルト適切な値現在の値
/.htaccess644604644
/xmlrpc.php400
000
400
/wp-includes/class-wp-xmlrpc-server.php400
000
400
/wp-includes/wlwmanifest.xml000000
/wp-mail.php000000
/.user.ini600
400
なし
/wp-config.php600600
フォルダ755705755

/xmlrpc.phpは400でも、スマホアプリから記事の投稿やメディアの追加ができるので、400としておく。