Apache+mod_proxy+PSGIでMovable Type 5.2を動かす

Movable Type 5.2はPSGIに対応し、特にnginx+PSGIの環境で使えるのがメリットです。
ただ、.htaccessを使いたいなどの理由で、WebサーバーをApacheにしたい場合もあるかと思います。
そこで、Apache+mod_proxy+PSGIでMovable Type 5.2を動かしてみました。

1.Apacheにmod_proxyを組み込む

まず、Apacheにmod_proxyを組み込んで、リバースプロキシを行えるようにします。
方法はいろいろありますが、こちらではconfigureの際のオプションを変えて、Apacheをソースからコンパイルしなおしてみました。
以下のようにコマンドを入力してコンパイルしました。

./configure --enable-mods-shared="most rewrite ssl proxy"
make
sudo make install

また、既存のmod_proxyなしのApacheに上書きする形でインストールしたためか、httpd.confにmod_proxyのモジュールを読み込む行がなかったので、httpd.confに以下を追加しました。

LoadModule proxy_module      modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

2.ProxyPass/ProxyPassReverseの設定

httpd.confには、リバースプロキシを行うための設定も追加します。
Movable Typeをドキュメントルート下の「/mt」ディレクトリにインストールするなら、httpd.confに以下のような記述を追加します。

<IfModule proxy_module>
ProxyPass /mt/mt-static/ !
ProxyPass /mt/ http://localhost:5000/mt/
ProxyPassReverse /mt/ http://localhost:5000/mt/
</IfModule>

また、「/mt」以外のディレクトリにインストールする場合は、上記の設定にある「/mt/」を、インストール先に合わせて置換します。

ここまでが終わったら、Apacheを再起動します。

3.mt.psgiの起動

次に、ms.psgiを起動します。
上記の例だと、ドキュメントルート→「mt」に対応するディレクトリに入って、以下のようなコマンドを入力すれば良いです。

starman --pid PIDファイルの名前 ./mt.psgi