複数ドメインを単体のCatalystで運用する方法

※下記の方法は、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の設定は、とりあえず変更したとこだけなんで、ホントはもうちょっと書いてあります。ログとか。

何かあったら、あとで追記するかも。