« キャッシュの上手な使い方 | メイン | Web Identity Syndication (WEIS) »
2006年02月14日
cygwin + mod_perl
cygwin に apache/2.0 + mod_perl をインストールしようとして苦労しました。備忘録を兼ねて、ブログに手順を書いておきたいと思います。
1. apache/2.0 の設定
apache/2.0 自体は、cygwin の setup.exe から、そのままインストールすることができます。
しかし、実行するにあたっては、 cygserver を起動しておく必要があります。
% cygserver-config
...
% cygrunsrv -S cygserver # サービスに登録されるので、2回目以降は不要
また、環境変数 CYGWIN に "server" が設定されている必要があります。
2. mod_perl のインストール
mod_perl は、 cygwin のディストリビューションに入っていないようです。手動で make しなければなりません。
% gcc -c boot_.c
% tar xzf mod_perl-2.0-current.tar.gz
% cd mod_perl-2.0.2
% LIB= perl Makefile.PL MP_APXS=/usr/sbin/apxs2 EVERYTHING=1
...
% cp ../boot_.o src/modules/perl
% vi src/modules/perl/Makefile # -lresolv を削除し boot_.o を追加
% LIB= make
...
% LIB= make install
...
cygwin 版の perl にはバグがあり、boot_ というシンボルへの参照が混入しています。よって、この参照をごまかすためのファイル (boot_.c) のリンクが必要になりました。
また、私の PC には Visual Studio 2005 が入っていて、環境変数 LIB に Windows 形式のパスが記述されているのですが、これをそのまま % make すると、 sh script がエラーを起こしてしまいました。
以上で、とりあえずインストールが完了しました。 /usr/sbin/apachectl restart すると異常終了してしまいますが、 Perl スクリプト自体は、ちゃんと実行されているようです。
投稿者 kazuho : 2006年02月14日 14:21
トラックバック
このエントリーのトラックバックURL:
http://labs.cybozu.co.jp/cgi-bin/mt-admin/mt-tbp.cgi/406