WordPressをマルチドメインで運用する
投稿日:2015/01/09 12:12
こんにちは、ひろのぶ(@hironobu_s)です。
明けましておめでとうございます。本年も技術ブログをよろしくお願いします。
今回はConoHaのWordPressテンプレートを使って、マルチドメイン対応のWordPressを作ってみます。弊社カスタマーサポートにも時々お問い合わせをいただく案件でもあり、需要のあるテーマだと思われます。
前提と大まかな流れ
マルチドメインでWordPressを運用するということで、今回は以下の環境を想定します。
- conoha-wp1.comとconoha-wp2.jpという二つのドメインを取得した。
- 1つのWordPressで二つのドメインを運用する。(マルチドメイン)
- ConoHa VPSを一つ使用して、ConoHaのWordPressテンプレートイメージを使用する。
実はWordPressにはVersion3.0から「マルチサイト」という複数サイトを管理する機能が備わっています。ただ、この機能は以下のようにサブドメインやURLパスを用いて複数サイトを実現するもので、マルチドメインは扱えません。
- 「サブドメイン」 http://wp1.example.com/ と http://wp2.example.com/
- 「URLパス」 http://example.com/wp1/ と http://www.example.com/wp2/
しかし、この機能に加えプラグイン「WordPress MU Domain Mapping」を導入するとマルチドメイン対応が比較的簡単にできるので、今回はこの方法を使っていきます。WordPressの機能とプラグインのみで導入できるため、ApacheやnginxなどWebサーバの設定を変更する必要が無いのも良いところです。
なお、今回ご紹介する手順はConoHa以外で構築したWordPressでもお使いいただけます。
ConoHaのWordPressテンプレートイメージ
ConoHaでは「WordPressテンプレートイメージ」と言うものをご用意しています。これはVPSを作成すると同時にWordPressがインストールされ設定が完了してしまう優れものの機能です。今回使うWordPressも、もちろんこのWordPressテンプレートを使用します。
詳細については下記の過去のエントリをご覧ください。
WordPress4.0(Benny)を使ってみよう! |
また、このエントリ内での「WordPressテンプレート」はすべてConoHaのVPSテンプレートイメージのことで、「WordPressのテーマ」ではありませんのでご注意ください。
設定手順
では構築を始めましょう!
NOTE: すでにWordPressサイトをお持ちの方も多いと思います。稼働中のWordPressで試す場合は、バックアップとってから作業を始めることをおすすめします。バックアップはWordPressのエクスポート機能でも良いですし、ConoHaのコントロールパネルからスナップショットを取得することで、VPS全体をバックアップする事もできます。
VPS作成
まず、WordPressテンプレートを使ってVPSを作成します。(すでにWordPressのサイトをお持ちの方は、このステップを省略してください)
ConoHaコントロールパネルの、OS再インストールのプルダウンメニューから選択できます。
VPSを起動したらブラウザから http://[VPSのIPアドレス] にアクセスして、WordPressの初期設定を済ませてください。
マルチサイトの設定を行う
WordPressをインストールしたフォルダにあるwp-config.phpを変更して、マルチサイト機能を有効にします。WordPressテンプレートを使っている場合は、/var/www/vhosts/default/にファイルがあります。
このファイルの89行目付近にある
1 |
// define ('WP_ALLOW_MULTISITE', true); |
とある行をコメントアウトします。
設定はサーバにログインして直接編集しても、SCPなどでダウンロードして編集しても、どちらでもかまいません。
設定ファイルを変更したら、次にWordPressの管理画面にログインしてネットワークを有効にします。WordPressでは複数のサイト群をネットワークというまとまりで管理します。
メニューの「ツール」から「ネットワークの設置」を選択してください。
プラグインの種類のよっては、以下のようにプラグインを止めるよう促されることがあります。この場合は先に当該のプラグインを停止してください。
ネットワークの設定画面は下記のようになります。そのまま「インストール」をクリックしてください。
インストールが完了して、下記の画面になります。2つ指示がありますが、WordPressテンプレートを使っている場合は1のみ対応が必要です。
それでは、ページの指示通り設定ファイルを変更します。再度wp-config.phpファイルを編集して、先ほどコメントアウトした「define (‘WP_ALLOW_MULTISITE’, true);」の行の下に、設定をそのままコピー&ペーストします。結果、下記のようになります(モザイク部分はVPSのIPアドレスで、ユーザ毎に違う値になります)。
以上でマルチサイトの設定が完了しました。これにより、WordPressサイト群を管理するための「サイトネットワーク」が作成され、今までログインしていたアカウントも「管理者」から「サイトネットワーク管理者」に変更されました(次のステップで解説します)。
そして、Webページに書いてあるとおり一度強制ログアウトされますので、再度ログインし直してください。
「WordPress MU Domain Mapping」プラグインをインストール
次にマルチドメインに対応させるため、「WordPress MU Domain Mapping」プラグインをインストールします。ただ、サイトネットワークが有効になったためプラグインのインストール方法が少し変わっています。プラグインは個別のサイト毎にインストールするのではなく、サイトネットワークに対してインストールし、個別のサイト毎に有効/無効を切り替えるような形になります。
上部のメニューに「参加サイト」という項目が追加されています。ここから「参加サイト」→「サイトネットワーク管理者」→「プラグイン」と辿ってください。
すると以下のように見慣れたプラグインの一覧画面になります。よく見るとプラグインが無効になっている場合があります。必要なプラグインがあったらここからサイトネットワーク全体で有効化する必要があります。
次に「新規追加」を選択してください。
検索メニューから「WordPress MU Domain Mapping」を検索して、インストールします。
インストールされましたがまだ有効にはなっていません。「ネットワークで有効化」をクリックしてプラグインを有効化してください。
次に設定ファイルの変更を行います。まず、プラグインの設定ファイル「wp-content/plugins/wordpress-mu-domain-mapping/sunrise.php」を「wp-content/」にコピーします。
1 2 3 |
# ConoHaをお使いでない場合は「/var/www/vhosts/default/」をWordPressをインストールしたディレクトリに読み替えてください cd /var/www/vhosts/default/ cp wp-content/plugins/wordpress-mu-domain-mapping/sunrise.php wp-content/ |
次にwp-config.phpファイルに以下の一行追加します。追加するところは、先ほどと同じ91行目付近で良いでしょう。
1 |
define( 'SUNRISE', 'on' ); |
これでプラグインのインストールと設定は完了です。
マルチドメインの設定
さぁこれが最後のステップです!マルチドメインの設定をしていきましょう。
まずメニューから「サイト」を選択してください。
パスが/となっているサイトが一つあります。これはマスターサイトと言って、設定をしていないドメインやIPアドレスでアクセスがあった際に表示されるサイトです。今まで稼働していたサイトでもあります。
さておさらいですが、今回は「conoha-wp1.comとconoha-wp2.jpという二つのドメインを取得した」という想定です。なのでconoha-wp1.comをマスターサイト、www.conoha-wp2.jpを追加サイトとして扱います。
マスターサイトはDNSを割り当てれば表示されます。つまりwww.conoha-wp1.comに対して、WordPress上での設定は不要です。VPSのIPアドレスでAレコードを設定してあげればサイトが表示されます。
一方www.conoha-wp2.jpも、もちろんDNSを設定するのですが、それ以外にWordPress上で設定が必要になります。また、今後たとえばwww.conoha-wp3.netというサイトを追加する場合でも、同じように設定します。
それでは、メニューから「設定」→「Domain Mapping」をクリックしてください。Domain Mappingの設定メニューが出ます。以下の通りVPSのIPアドレスを入力して「Save」をクリックしてください。この手順は最初の一度だけ行う必要があります。
次にメニューから「サイト」→「新規追加」をクリックしてください、サイト追加のメニューが出ます。そのまま画面の指示通りに入力しますが、「サイトのアドレス」の部分は特に使われませんのでサイト毎に固有の値を適当に入力します。ここではwp2としました。
サイトが追加されたので、メニューから「サイト」→「すべてのサイト」を選択してください。追加したサイトが確認できます。
ここで、追加したサイトのIDをメモします。wp2のリンクの上にマウスカーソルをのせると、ブラウザの下部にURLが表示され、IDがわかります。このid=2の「2」をメモしてください。
次にメニューから「設定」→「Domains」と選択してください。このページではドメインとWordPress上のサイトのマッピングを設定します。つまり先ほどメモしたサイトのID=2と「www.conoha-wp2.jp」の紐付けを行います。以下のように入力して「Save」をクリックしてください。
ドメインのマッピングが追加されました。
これで設定は完了です。DNSの設定ができているなら「http://www.conoha-wp2.jp/」にアクセスしてみましょう。
正しく表示されればOKです!
最後に、サイトの設定を変更しておきましょう。サイトの一覧からwp2の「編集」をクリックしてください。
ドメインやパスを正しく修正します。
以上ですべて完了です。おつかれさまでした!
おわりに
WordPressのマルチサイト機能と「WordPress MU Domain Mapping」プラグインで、WordPressのマルチドメイン化ができました。一つのWordPressで複数サイトをまとめて管理できるのは、運用上も大きなメリットになるでしょう。設定手順自体は少し多いのですが、一度設定してしまえば、以後サイトを追加するのはWordPressの管理画面から可能です。
またConoHaのWordPressテンプレートは株式会社デジタルキューブ様から提供を受けているもので、非常にパフォーマンスが高いです。デジタルキューブ様といえばご存じ、超高速のWordPressホスティングで名高い会社で、WordPressテンプレートにも、その高速化のノウハウが適用されています。
WordPressで複数のサイトを運用されている方は、これを機にConoHa VPSにまとめてみませんか? WordPressの乗り換えについてもドキュメントをご用意してあります:)
WordPressサイトをConoHa VPSに移行しよう |
1,500円分の無料クーポン付いてくる ConoHa のご入会はこちらから
アカウント登録(無料)
ConoHa byGMO