「WordPressで学ぶPHP(4)通信編」を発売しました。
本書は、「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造編」「WordPressで学ぶPHP(3)関数編」の続編にあたり、Webブラウザとサーバー(PHP)との通信と、PHPから他のサーバーに通信することについて解説します。
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