Drupalをマルチサイト対応にする方法を書いておく。
さくらレンタルサーバは複数のドメインを使わせてもらえるので、例えば、http://example.sakura.ne.jp/ というサイトと、http://abc.chew.jp/ という別々のサイトを運営することができる。両方のサイトをともにDrupalで構築しようとするとき、Drupalのコードは1つにしてき、データベースや設定を別々にすることができる。このようにすればDrupalモジュールのアップデートなどもどちらかのサイトで1回だけ行えばよい。
その方法は以下のページに書いてある。
Multisite – Sharing the same code base
この通りの手順でやってみた。さくらレンタルサーバの場合、最初のサイトは ~/www の下にファイルを置くことになる。その後、別のドメインを取得すると、~/www/another_site の下に第二のサイト用のファイルを置くことになる。
前提として、~/www にdrupal がインストールしてあり、http://example.sakura.ne.jp/ というサイトで使用しているとする。そこへ、新たに http://abc.chew.jpというサイトを追加する場合の手順である。
- 新しいサイト用のデータベースを作る
- ‘sites’の下に新しい abc.chew.jp というディレクトリを作る
- ‘sites/default/defalt.settings.php’ をabc.chew.jp の下に settings.php という名前でコピーする
- abc.chew.jpディレクトリのパーミションを 555 にし、abc.chew.jp/settings.php にいったんWriteパーミションを付加する
- www/subdirからwwwへシンボリックリンクを張る。subdir はabc.chew.jp でアクセスするときのWEBルートである。wwwディレクトリで、ln -s . subdir とすればよい。
- http://abc.chew.jp/install.php へアクセスしてインストールする。
これでできるはずだ。
それから、cron はサイトごとに実行しなければならない。例えば、http://example.sakura.ne.jp/cron.php と http://abc.chew.jp/cron.php の両方を定期的に実行する必要がある。