Mac で mod_perl + Catalyst を試す
参考になるエントリーはすでにいっぱいあります。が、それだけにやり方も色々あってちょっと苦戦した(汗)
とりあえず僕はMacのWebサーバー(Apache2.2.15)でこれでやってうまくいきました。素直にやったらあっさり。
- Mac OS X Snow Leopard で Apache2.2.15 に mod_perl2.04 を組み込む 1
- Mac OS X Snow Leopard で Apache2.2.15 に mod_perl2.04 を組み込む 2
1. 準備
mod_perlを入れてない人は mod_perlインストール 。
Catalyst::Engine::Apache2::MP20も入れておく。
$ cpanm Catalyst::Engine::Apache2::MP20
2. httpd.confに追記
基本的にこれ追記するだけ!変更を加えたときはApacheを再起動する。
httpd.conf
LoadModule perl_module /usr/libexec/apache2/mod_perl.so
# staticなファイルはApacheに直接処理させる
# 先にこちらを書かないと反映されないとかとか
<Location /myapp/root/static/>
SetHandler default-handler
</Location>
# Aliasつくってやる場合
Alias /myapp/ /Users/wata/Sites/catalyst/MyApp/
PerlSwitches -I /Users/wata/Sites/catalyst/MyApp/lib
PerlLoadModule MyApp
<Location /myapp>
SetHandler modperl
PerlResponseHandler MyApp
</Location>
3. index.ttなどのパスを修正
MyAppのindex.tt
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8" />
<title>MyApp</title>
<link rel="stylesheet" media="all" href="/myapp/static/css/style.css" />
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<h1>MyApp</h1>
<ul>
<li><a href="/myapp/about">MyAppについて</a></li>
<li><a href="/myapp/books">本を検索</a></li>
</ul>
/static/… とか、/about とか書いていたのを /myapp/static/… とか、/myapp/about とかに直します。
あと<form action=“/search” method=“post”>とかあれば、<form action=“/myapp/search” method=“post”>に忘れずに直す。
そう、 これだけ!もっと良さげな方法あったら追記します。あとバーチャルホスト使うやり方とか。