質問 |
||
| 質問者:reeya0915 | apache/mod_perlの実行エラーについて | |
|---|---|---|
困り度:
|
apacheについて質問です。分かる方、どうぞご教授下さい。 httpd.confにmod_perlの設定を記述しない場合、通常どおりapacheが起動するのですが、以下のようにmod_perlの設定を追記するとapacheがエラーで起動しません。 【mod_perlの設定】 PerlModule ModPerl::Registry PerlRequire /usr/lib/perl5/site_perl/5.8.8/startup.pl <Location /cgi-bin> SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlSendHeader On Options ExecCGI </Location> 【apacheのエラー内容】 /usr/local/apache2/bin/httpd: symbol lookup error: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Apache2/ServerUtil/ServerUtil.so: undefined symbol: ap_get_server_banner httpd.confのmod_perlの設定については、他のサーバーでは問題なく起動していますので、mod_perlのconfigure時の共有ライブラリの設定に不備があるのではと思っているのですがどう設定すればいいのか分かりません。mod_perlのconfigure時のオプションは以下のようになっています。 【mod_perlのconfigure】 perl Makefile.PL \ > MP_USE_STATIC=1 \ > MP_AP_PREFIX=../httpd-2.0.63 \ > MP_AP_CONFIGURE="--prefix=/usr/local/apache2 --with-mpm=prefork" 以下、grep の実行結果です。 [root@colinux mod_perl-2.0.3]# grep -r ap_get_server_banner /usr/lib/* バイナリー・ファイル/usr/lib/httpd/modules/mod_rewrite.soは一致しました バイナリー・ファイル/usr/lib/httpd/modules/mod_proxy_connect.soは一致しました バイナリー・ファイル/usr/lib/httpd/modules/mod_proxy_ftp.soは一致しました どんな些細なことでも結構ですので、どうかご教授のほど宜しくお願い致します。 【環境】 fedora6 apache2.0.63 mod_perl2.0.4 |
|
質問投稿日時:08/04/20 17:02 質問番号:3962582 |
||
回答良回答20pt |
|
| 回答者:entree | ap_get_server_banner は apache 2.2.4 以降で定義されている関数です。 ということで、それ以前のバージョンには存在しません。 なので、apache のバージョンが 2.2.4 未満の場合はエラーとならないように (互換性を保つために) ap_get_server_banner 関数が mod_perl の中に定義されています。 すなわち、ap_get_server_banner 関数の実態は mod_perl の中 (DSO 版であれば mod_perl.so、static 版であれば httpd) にあります。 ということで、まずは nm httpd とかやってみて、ちゃんと ap_get_server_banner が定義されているかどうか確認してみると良いかと思います。 ちなみに私がやったときは DSO 版は起動まで問題なく、static 版は make の段階で転けました。 あと、mod_perl は make install の前に make test で動作確認できるのでやっていないようでしたらやってみてもよいかもしれません。 |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/04/22 22:42 回答番号:No.1 |
|
| この回答へのお礼 | 返事が遅くなりました。 原因はapache2をmakeしていなかったのが原因でした。 ありがとうございました。 |