コンテンツ・マネジメント・システム(CMS)のマルチドメイン対応とは、1つのシステムで複数のドメインでWebサイトを構築・管理できるというものです。
先日は、CMSの一つMODx Revolutionがマルチドメインに対応することに気がついたので、早速現在借りてるVPSに導入した顛末を書きました。
ですがその後よく調べてみたところ、マルチドメインに対応するCMSって、DrupalとかMTとか、結構あるんですね…
これを知らない点が私の素人たる所以だと思うと同時に、自分がネット社会の恩恵を受けてるという実感を噛み締めることができる良い機会です。
と気を取り直して、私がサイト構築に際しMODxと共にいつも使っている「WordPress」のマルチドメインはどうなんだろう?と調べてみたところ、
やはりWordPressもプラグインを入れるとマルチドメインに対応することが分かりました。
ということで、早速WordPressもVPSに入れてみました。
結論から言うと導入は完了し、MODx導入時と比べると、Apatcheの設定だけはちょっと悩みましたが、マルチドメイン化はMODxと同じぐらい簡単でした。
1.Apacheの仮想サーバをドメイン毎に作るときに、MODxとWordPressどっちでサイトを構築するかによってドキュメントルートを分けます。
前回VPSに導入したMODxは、WebサーバApacheのルートに入れてしまっていました。
同じVPSに今回入れるWordPressと分けるために、まずMODxは専用フォルダを作ってそちらに入れなおしました。
MODxのマルチドメイン機能を使っているドメインの仮想サーバは全部、Webminから[Apache Web サーバ][仮想ホストの作成]で、MODx専用フォルダをドキュメントルートに振り向けなおし、新規作成しました。
続いてMODx専用フォルダと同レベルでWordPress専用フォルダを作り、WordPressでサイトを構築したいドメイン(今回は5つ)の仮想サーバをApacheで上記同様に設定して新規作成しました。
2.WordPressをインストールし、マルチドメイン対応にします。
前回の記事ではVPSのFTPサーバはそのうち削除すると書きましたが、WordPressのファイルをアップロードするために削除せず、FTPを設定しました。
WordPress専用フォルダにFTPで解凍ファイルを転送し、普通のレンタルサーバと同じ段取りでインストールします。
データベースは前回の記事で設定したphpMyAdminで作成しました。
WordPressをインストール後、サブドメイン形式のマルチサイト対応にします。
「WordPress MU Domain Mapping」というプラグインをインストール(FTPの設定をしておいたおかげで、プラグインのインストールは管理画面から可能でした)。
マルチサイト対応のWordPressで、新しい子ブログをとりあえず親ブログのサブドメインで1個作りました。
phpMyAdminでデータベースをみると、子ブログ用に接頭辞に番号が加わっているデータベースが増えていましたので、加わったその番号を、WordPress MU Domain Mappingの設定画面でID欄に、子ブログで使いたいドメインをDomain欄に入れました。
一応元のサブドメインでもマッピングしておきました。
いよいよマッピングしたドメインでアクセスしてみたのですが、まだ表示されません。
3.やってなかったApacheの設定を追加しました。
試行錯誤した結果、次の2つで動くようになりました。
まず、Apacheにmod_rewriteを入れるのを忘れていたので、Webminの管理画面で導入しました。マルチサイトにするときにWordPressの管理画面で言われていたのを聞き流してしまいました。
それでも動かないので、Apacheで親ブログのドメインの仮想サーバの設定でディレクティブを
ServerAlias hogehoge.com *.hogehoge.com
と編集したところ、独自ドメインで子ブログが表示されるようになりました。
子ブログの管理画面も独自ドメインになっています。