複数ドメインを単体のCatalystで運用する方法
2011年5月1日
※下記の方法は、Catalyst5.8系までしか使えません。5.9以降は動きません。5.9なら、これで動くかも?→ https://blog.mitsuto.com/archives/97280
VPSだと複数起動したりプロセス増やしたりすると、すぐメモリ不足でスワップに突っ込んでいってしまうので、
ひとつのMyapp.pmを複数ドメインで運用しようと思います。
Catalyst+Apache(fastcgi)って、一般的なのかどうかわかりませんが。。
ま、Apacheのconf書くだけです。
普通は、ScriptAliasで、すべてのアクセスをmyapp_fastcgi.plに向けてるんですが、
ScriptAlias / /home/hogehoge/Myapp/script/myapp_fastcgi.pl/
今回は、AliasMatchにして、個別に渡します。
ServerName foo.mitsuto.com DocumentRoot /home/hogehoge/Myapp/root/foo AliasMatch ^/(.*)$ /home/hogehoge/Myapp/script/myapp_fastcgi.pl/foo/$1
ServerName bar.mitsuto.com DocumentRoot /home/hogehoge/Myapp/root/bar AliasMatch ^/(.*)$ /home/hogehoge/Myapp/script/myapp_fastcgi.pl/bar/$1
これで、
foo.mitsuto.comのアクセスは、Controller::Foo以下へ、
bar.mitsuto.comのアクセスは、Controller::Bar以下に飛ぶので、
Foo.pmのindex、Bar.pmのindexがそれぞれのトップページになり、
その下の階層も多分うまく行くはず。。
apacheの設定は、とりあえず変更したとこだけなんで、ホントはもうちょっと書いてあります。ログとか。
何かあったら、あとで追記するかも。