« キャッシュの上手な使い方 | メイン | 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