セキュリティのひとつとしてWordPressのディレクトリ構成をデフォルトから変更するためのメモ。
設定手順
wp-cliでインストールしながら設定する。(稼働中のサイトのディレクトリ構成を変更する場合には作業中の表示を用意するなど、追加手順が必要。)
- WordPressのパッケージをインストール。
# sudo -u www wp core download --locale=ja --path=/usr/local/www
- wp-config.phpを作成。
# sudo -u www wp core config --dbname=mysitedb --dbprefix=mysite --dbuser=myname --dbpass=somepassword
- ディレクトリ構成を変更。
# cd /usr/local/www # sudo -u www mkdir xxx # sudo -u www mv l* r* wp* xm* xxx # sudo -u www mv xxx/wp-content yyy # sudo -u www mkdir zzz # sudo -u www touch xxx/index.php
- wp-config.phpをエディタで開き、ABSPATH定義の後、かつwp-settings.php読み込みの前に次の行を追加。wp-settings.phpの読み込み後に定義するとWP_CONTENT_DIRなどは反映されないので要注意。
define('WP_HOME', 'http://www.somesite.jp'); define('WP_SITEURL', WP_HOME . '/xxx'); define('WP_CONTENT_DIR', realpath(ABSPATH . '../yyy')); define('WP_CONTENT_URL', WP_HOME . '/yyy'));
- index.phpを次のように書き換える。
require('./xxx/wp-blog-header.php');
- WordPressをインストール。
# sudo -u www wp core install --url="http://my.site.org/" --title="My Private Site" --admin_user=wpadmin --admin_password=anotherpassword --admin_email="contact@my.site.org"
- 後はテーマやプラグインを必要に応じてインストールすれば終わり。
参考リンク
- wp-config.phpの編集 (WordPress Codex日本語版)
- WordPressを専用ディレクトリに配置する (WordPress Codex日本語版)