今日のテーマは「WordPressのパーミッションの設定」です。
最近のサーバーは、WordPressの自動インストールができるので便利ですが、私はMySQLの設定もWordPressのインスートルも、手動でするようにしています。
(手動で)WordPressのキャッチフレーズの「5分でインストールできます」というのは、本当の話で、機会をみて、具体的にお見せしたいと思っています。
今日、久しぶりにWordPressのサイトをインストールしたのですが、最初に設定するのがパーミッションの設定です。
WordPressのサイトのセキュティをしっかりしておかないと、情報の漏洩だけでなく、自分のサイトを踏み台にされて、いろいろ悪さをされてしまいます。
そこで、最初にしておくパーミッションの設定ですが、これはメモを見ながらの設定ですので、このメモを載せておきます。
- 「.htaccess」のバーミッション・・・・・「606」→「604」
- 「wp-config.php」のパーミッション・・「400」
- その他のファイル・・・・・・・・「604」
- その他のディレクトリー・・・・・・「705」
「themes」や「uploads」・・・「707」
※パーミッションを「777」「666」などにしない
「.htaccess」のバーミッション
「.htaccess」ファイルが書き換えられてしまう事例が多発していますが、実は、私も以前、大失敗をしてしまったことがあります。
たまたま、外出時にあるWordPressのサイトで管理者権限で緊急の変更をする必要が生じて、それを別の担当者に依頼したときのことです。
管理者権限のユーザーパスワードを一時的に(30分ほど)、簡単なパスワードに変更したのですが、どうも、その間にパスワードが破られて、「.htaccess」ファイルが書き換えられてしまいました。
その書き換えの手口が上手で、最初は気がつきませんでした。
どういう手口かというと、「.htaccess」ファイルをエディターで開いても、書き換えの文字列が簡単には見えないようにしてあったのです。
つまり、本来の「.htaccess」ファイルの文字列の後に「改行」を200位挿入した後に、たくさんの文字列が追加されていたのです。
まさか、そんな下に文字列が追加されていると思わないので、エディターで開いて、「.htaccess」の本来の文字列のチェックをして、問題がなかったので、そのまま大丈夫と思って、閉じてしまっていたのです。
この時の教訓は、
- 管理者権限のユーザー名とパスワードは、とにかく細心の注意が必要
- パスワードは、一時的でも簡易な内容に変更してはいけない
- パーミッションの設定を最初にしっかりしておかないといけない
ということでした。
※ただ、今だにどうやって「.htaccess」ファイルの書き換えをしたのか、は私にもわかっていません。
.htaccessのバーミッションについては、私は、パーマリンクの設定ができるように「606」にして、終わったら「604」にしています。
「wp-config.php」のパーミッション
WordPressをインストールする際の設定情報が、この「wp-config.php」に書き込まれますので、WordPressの心臓部といえる大切で重要なファイルです。
インストールするサーバーによって、異なるようですが、私の使用しているサーバーでは、ファイルのオーナーのみが読み込むことができる「400」にしています。
自動のインストーラーで「wp-config.php」を作成した場合は、パーミッションは「646」か「666」になっているかもしれません。
この場合、パーミッションを変更しようとしてできない場合は、オーナーが「Apache」になっているからなので、一工夫が必要です。
- FTPソフトでパソコン上に「wp-config.php」をダウンロードする
- サーバー上の「wp-config.php」を削除する
- 1.でダウンロードした「wp-config.php」を再アップロードする(戻す)
これで、オーナーが自分になりますので、パーミッションの設定ができるようになりますので、パーミッションを「400」にします。
ただし、共有サーバーの場合「400」で設定すると、WordPressが見えなくなってしまうことがあります。
WordPress.orgでは、「600」を推奨しています。
その他のファイル・ディレクトリー
- その他のファイルは「604」
- その他のディレクトリーは「705」
がいいみたいです。
なお、この設定にしてWordPressの管理画面でテーマの編集やファイルのアップロードができない場合は、「themes」や「uploads」を「707」などに変更します。
ただ、これはサーバーの仕様によって異なるようです。
なお、画像がアップロードできない場合に、パーミッションを「777」「666」などに設定すると、「誰でも書き込める」状態になってしまいます。
パーミッションを「777」「666」などに設定しないように注意です。