AWS EC2でWordPressをインストールするのに便利な網元。
初期状態ではシングルインストールになりますが、網元内のNginxにはWordPressをマルチサイトにするための設定がはじめから盛り込まれてます。
自分用の備忘録ですが、このサイトをマルチサイトにしたときの手順を残しておきます。
※必ずバックアップを取ってから作業を行ってください。
目次
バックアップ(スナップショット)
運用中のEC2のバックアップ(スナップショット)を取っておきましょう。
今回はWordPress(データベースやコアファイル、wp-contentのファイル群、など)の外側、Nginxの設定を書き換えますので、インスタンス(ボリューム)を丸ごとバックアップします。
手順はこちらのページに書かれていますので、参考にどうぞ。
網元の設定を変える
網元のNginxの設定を変更します。
上記のサイトの説明をよく読んで、confファイルを変更・保存します。
終わったら、Nginxを再起動してください。
WordPressでマルチサイトの設定をする
WordPressのマルチサイトはサブドメイン型かサブディレクトリ型かを選べます。
- サブドメイン — site1.example.com や site2.example.com のような構成
- サブディレクトリ — example.com/site1 や example.com/site2 のような構成
どちらを選ぶかは好みなのですが、注意点があります。
- サブドメイン型の場合、DNSレコードにワイルドカードサブドメインを追加する必要があります。
レンタルサーバーによっては利用できない場合もあります。 - すでに運用中のWordPressの場合、インストールから1ヶ月以上経つとサブディレクトリ型を選択できなくなります(既にある固定ページなどのスラッグとの重複を避けるため)。
- サブディレクトリ型、サブドメイン型どちらかを選択したあとは変更はできません。
今回はEC2 + 網元の場合ですが、Codexにはマルチサイトを運用できるレンタルサーバーの情報がありますので、参考になさってください。
ちなみに、gatespace.jp はインストールから1ヶ月以上経っているので必然的にサブドメイン型になりました。
DNSはAWS Route53でワイルドカードサブドメインの設定も済んでいたのでスムーズにできました。
マルチサイト化の手順(WordPress3.5.1)
まずは wp-config.php の
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
の上に
define ('WP_ALLOW_MULTISITE', true);
追加します。
その後ダッシュボードにアクセスすると「ツール」に「ネットワークの設置」が追加されています。
ネットワークの作成
「ネットワークの設置」から指示通りに進みます。
1. ネットワークの詳細
ネットワークのタイトルや管理者のメールアドレスを入力します。
スクリーンショットのようにすでにインストール済みの場合は注意点も表示されます。
2. wp-config.php と .htaccess を書き換え
ネットワーク作成の機能を有効化するため、wp-config.php と .htaccess を表示された内容で書き換えます。
※2013.5.17追記:網元はNginxなので .htaccess の書き換えは必要ありません。
@gatespace_k かーさん、網元は Nginx だから .htaccess の書き換えは要らんで。
— wokamoto (@wokamoto) May 17, 2013
※注意:サブドメインの時は wp-config.php の
define('SUBDOMAIN_INSTALL', false);
を
define('SUBDOMAIN_INSTALL', true);
にしておきましょう。
書き換えたら再度ログインしなおします。
ログインし直すとAdminバー(管理バー)に「参加サイト」→「サイトネットワーク管理者」が追加されます。
3. 新規のサイト追加
「サイトネットワーク管理者」のダッシュボードから「サイト」→「新規サイト」からサイトの追加をおこないます。
※「サイトのアドレス」入力欄がサブディレクトリ型とサブドメイン型で異なります。
サイトを追加したあと、実際に表示できればOKです。
おまけ
サブディレクトリ型で入ってしまう /blog の消し方は検索するとたくさん出てきますのでここでは紹介しませんが、404が起きた場合の対処法などはこちらのブログを参考にどうぞ。