コトの発端
WordPressをインストールしたデフォルトの状態だと、各種パスワードが記載されたwp-config.phpが公開ディレクトリにあって危ないよね。
調べたところ、WordPressの仕様的に一つ上の階層にwp-config.phpは移動可能だそう。
ただし、WordPressがドキュメントルートの直下にない場合は一つ上のディレクトリに移動したところで公開ディレクトリになって意味ないことになる点については要注意。
wp-config.phpの移動
wp-config.phpファイルの移動についてはワイの場合は下記のコマンドで実施することになった。
mv /var/www/wordpress/wp-config.php /var/www
ワイの場合はwww/wordpress/をドキュメントルートにしてるからwwwは公開ディレクトリではない。このあたりは設定次第で変わるので要確認やね。
そして移動後も記事の操作ができることを確認した。
wp-config.phpファイルのアクセス権限を変更(パーミッションの設定)
移動だけだと心許ないので、wp-config.phpファイルが予期せぬユーザ等により参照や変更されることを防ぐため、ファイルのパーミッションを確認する。
wp-config.phpのあるディレクトリで下記のコマンドを実行
cd /var/www
ls -l
wp-config.phpのファイルパーミッションは下記の通り設定されていた。
-rw-rw-rw- 1 www-data www-data 3299 Sep 24 16:04 wp-config.php
この場合、その他のユーザにアクセス権があり、さらに不必要な書き換え権限が付与されている。下記コマンドを実行。
chmod 440 wp-config.php
アクセス権が適正なものに変更された。
ls -l -r--r----- 1 www-data www-data 3299 Sep 24 16:04 wp-config.php
まとめ
ドキュメントルートの外に配置したことで外部から任意のタイミングでWEBサーバ経由でwp-config.phpにアクセスされることがなくなった。
また、アクセス権限を適切なものに設定した。
参考
wp-config.php の置き場所
http://memories.zal.jp/WP/wordpress/archives/164
いつもの
記事の正確性については無保証です。