大切な大切なwp-config.php
これにはWordPressのDBのアカウントなどが書かれています。
外部から見えなくするためにDocumentRoot以外に置いておくのも手ですが、WordPressのファイル群なんだから位置ずらすのは嫌。
それでも一応直接「http://hogehoge.com/wp-config.php」とか見れないからいいやって思っていても不安なはず。
ならばapacheやnginxの方で制限をかけてあげましょう。
まずはapacheからhtaccessでの制限
apacheでwp-config.phpをhtaccessの制限
設定ファイルを作ります。
$ vim /var/www/html/public_html/.htaccess
「/var/www/html/public_html/」は自分のwp-configが置いてあるディレクトリに置き換えてください。同じ階層に置けばOKです。
中身はこんな感じで。
<files wp-config.php> order allow,deny deny from all </files>
order allow,denyはデフォルト拒否の設定なので2つ目はわかりやすいように書いただけです。
何かしらの理由で許可したいIPがあれば書いてください。
htaccessによる制限なのでApacheの再起動はいらず、アクセスがあったタイミングで自動的に読んでくれる。
nginxによるwp-config.phpのアクセス制限
こちらはコンフィグで行う。
$ vim /etc/nginx/conf.d/www.conf
個別設定に入れているはずなので、「/etc/nginx/conf.d/」でRootの項目がWordPressで使用しているディレクトリになっているものを探して下さい。
そちらのserverの中に
location ~* /wp-config.php { deny all; }
こちらを追加。コンフィグの書き方が間違っていたら、
$ nginx -t
でエラーが出ます。
アクセス拒否します。こちらは設定ファイルをいじっているのでreloadが必要です。
これであなたのwp-config.phpはWebサーバからも守ってもらえるようになりました。