• 締切済み

Apache2 インストール後モジュール追加(proxy, proxy_ajp)

標題の件でご教授ください。 現象としては、Apache2にモジュール(mod_proxy.soおよびmod_proxy_ajp.so)追加しようとして、mod_*.soが作成されず困っております。 なお、インストール時、configureにオプション"--enable-proxy" "--enable-proxy-ajp"を付加する方法は知っていますが、インストール後にモジュールを追加する方法を教えていただきたいです。 ■環境 OS: Red Hat Enterprise Linux 5.3 ■参考ページ 「Enjoi Blog」~apache2 にモジュールを追加する http://blog.enjoitech.jp/article/131 ■実行手順(mod_proxy.soの場合の例) 1.コンパイル。 [root@localhost proxy]# /usr/local/apache2/bin/apxs -c mod_proxy.c proxy_util.c /usr/local/apache2/build/libtool --silent --mode=compile gcc -prefer-pic -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache2/include -I/usr/local/apache2/include -I/usr/local/apache2/include -c -o mod_proxy.lo mod_proxy.c && touch mod_proxy.slo /usr/local/apache2/build/libtool --silent --mode=compile gcc -prefer-pic -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache2/include -I/usr/local/apache2/include -I/usr/local/apache2/include -c -o proxy_util.lo proxy_util.c && touch proxy_util.slo /usr/local/apache2/build/libtool --silent --mode=link gcc -o mod_proxy.la -rpath /usr/local/apache2/modules -module -avoid-version proxy_util.lo mod_proxy.lo 2.オブジェクトが作成されていることを確認。 [root@localhost proxy]# ls -la mod_proxy.* -rw-r--r-- 1 root root 88327 2月 1 2009 mod_proxy.c -rw-r--r-- 1 root root 4942 1月 11 2007 mod_proxy.dsp -rw-r--r-- 1 root root 32152 11月 12 2008 mod_proxy.h -rw-r--r-- 1 root root 758 10月 23 21:42 mod_proxy.la -rw-r--r-- 1 root root 303 10月 23 21:42 mod_proxy.lo -rw-r--r-- 1 root root 180184 10月 23 21:42 mod_proxy.o -rw-r--r-- 1 root root 0 10月 23 21:42 mod_proxy.slo [root@localhost proxy]# ls -la proxy_util.* -rw-r--r-- 1 root root 81086 7月 3 20:57 proxy_util.c -rw-r--r-- 1 root root 305 10月 23 21:42 proxy_util.lo -rw-r--r-- 1 root root 148440 10月 23 21:42 proxy_util.o -rw-r--r-- 1 root root 0 10月 23 21:42 proxy_util.slo 3.インストール→失敗。 [root@localhost proxy]# /usr/local/apache2/bin/apxs -ian proxy mod_proxy.la /usr/local/apache2/build/instdso.sh SH_LIBTOOL='/usr/local/apache2/build/libtool' mod_proxy.la /usr/local/apache2/modules /usr/local/apache2/build/libtool --mode=install cp mod_proxy.la /usr/local/apache2/modules/ cp .libs/mod_proxy.lai /usr/local/apache2/modules/mod_proxy.la cp .libs/mod_proxy.a /usr/local/apache2/modules/mod_proxy.a chmod 644 /usr/local/apache2/modules/mod_proxy.a ranlib /usr/local/apache2/modules/mod_proxy.a PATH="$PATH:/sbin" ldconfig -n /usr/local/apache2/modules ---------------------------------------------------------------------- Libraries have been installed in: /usr/local/apache2/modules If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the `LD_RUN_PATH' environment variable during linking - use the `-Wl,--rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to `/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- Warning! dlname not found in /usr/local/apache2/modules/mod_proxy.la. Assuming installing a .so rather than a libtool archive. chmod 755 /usr/local/apache2/modules/mod_proxy.so chmod: cannot access `/usr/local/apache2/modules/mod_proxy.so': そのようなファイルやディレクトリはありません apxs:Error: Command failed with rc=65536 以上、よろしくお願いいたします。

みんなの回答

  • onosuke
  • ベストアンサー率67% (310/456)
回答No.1

1. mod_proxy.laのファイル内容を提示してください。 2. コンパイル作業ディレクトリ配下の  ".libs"ディレクトリのファイルリストを提示してください。 (*.soファイルは".libs"ディレクトリ内に生成されます。)

関連するQ&A

  • apache22でのmod_proxy.soのインストール方法

    FreeBSD 6.2-RELEASEのapache22にmod_proxyを設定しようと したのですが、libexec/apache22/mod_proxy.soがないため、 下記方法で、apache22を再インストールしたのですが、 やはりファイルがありませんした。 手順的に間違っていたりする箇所がありますでしょうか? ご存知の方がおりましたら、教えてください。 # cd /usr/ports/www/apache22/ # make show-options # make clean # make deinstall # make WITH_PROXY_MODULES=yes # make reinstall

  • Apacheモジュールの追加方法

    ./configure --enable-module=so --enable-shared=max --activate-module= src/modules/php4/libphp4.a で、ApacheをLinuxへインストールしたのですが、mod_userdir.soがないというエラーになります。 モジュールを追加するにはどうすれば良いでしょうか? /etc/rc.d/init.d/httpd start Starting httpd: Syntax error on line 217 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/libexec/mod_userdir.so into server: /usr/local/apache/libexec/mod_user dir.so: undefined symbol: ap_os_is_path_absolute 又、Apacheはmodule=maxだとWWWサーバが 重くなるでしょうか?

  • apacheの起動

    apacheを起動させようとすると Cannot load /usr/local/apache/modules/mod_dav_svn.so into server: /usr/local/apache/modules/mod_dav_svn.so: undefined symbol: dav_xml_get_cdata ってでます。 mod_dav_svn.soが読み込めません、未定義のシンボルが含まれています、と読み取りましたが、どうすればよいでしょう? apacheはhttpd-2.0.59です。 よろしくお願いします。

  • Apacheインストール時にエラー

    はじめまして。 Solaris10の環境で、OpenSSL9.8lをソースからインストールし Apache2.2.14の所でmakeエラーが発生しました。 Googleで調べたのですが、よくわかりません。 ご存知の方、教えていただけたら幸いです。 ./configure --enable-mods-shared=all--enable-ssl=shared --enable-ssl --with-ssl=/usr/local/ssl --with-included-apr make /usr/local/src/httpd-2.2.14/srclib/apr/libtool --silent --mode=compile gcc -g -O2 -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE -I/usr/local/src/httpd-2.2.14/srclib/pcre -I. -I/usr/local/src/httpd-2.2.14/os/unix -I/usr/local/src/httpd-2.2.14/server/mpm/prefork -I/usr/local/src/httpd-2.2.14/modules/http -I/usr/local/src/httpd-2.2.14/modules/filters -I/usr/local/src/httpd-2.2.14/modules/proxy -I/usr/local/src/httpd-2.2.14/include -I/usr/local/src/httpd-2.2.14/modules/generators -I/usr/local/src/httpd-2.2.14/modules/mappers -I/usr/local/src/httpd-2.2.14/modules/database -I/usr/local/src/httpd-2.2.14/srclib/apr/include -I/usr/local/src/httpd-2.2.14/srclib/apr-util/include -I/usr/local/src/httpd-2.2.14/modules/proxy/../generators -I/usr/local/ssl/include -I/usr/local/src/httpd-2.2.14/modules/ssl -I/usr/local/src/httpd-2.2.14/modules/dav/main -prefer-non-pic -static -c htpasswd.c && touch htpasswd.lo /usr/local/src/httpd-2.2.14/srclib/apr/libtool --silent --mode=link gcc -g -O2 -L/usr/local/ssl/lib -R/usr/local/ssl/lib -L/usr/local/lib:-L/usr/sfw/lib:-L/usr/lib:-L/opt/sfw/lib:-L/usr/local/ssl/lib -o htpasswd htpasswd.lo -lm /usr/local/src/httpd-2.2.14/srclib/pcre/libpcre.la /usr/local/src/httpd-2.2.14/srclib/apr-util/libaprutil-1.la -lexpat -liconv /usr/local/src/httpd-2.2.14/srclib/apr/libapr-1.la -luuid -lsendfile -lrt -lsocket -lnsl -lpthread Undefined first referenced symbol in file atomic_swap_32 /usr/local/src/httpd-2.2.14/srclib/apr/.libs/libapr-1.so atomic_cas_ptr /usr/local/src/httpd-2.2.14/srclib/apr/.libs/libapr-1.so atomic_swap_ptr /usr/local/src/httpd-2.2.14/srclib/apr/.libs/libapr-1.so atomic_inc_32_nv /usr/local/src/httpd-2.2.14/srclib/apr/.libs/libapr-1.so atomic_dec_32_nv /usr/local/src/httpd-2.2.14/srclib/apr/.libs/libapr-1.so atomic_cas_32 /usr/local/src/httpd-2.2.14/srclib/apr/.libs/libapr-1.so ld: fatal: Symbol referencing errors. No output written to .libs/htpasswd collect2: ld returned 1 exit status make[2]: *** [htpasswd] エラー 1 make[2]: ディレクトリ `/usr/local/src/httpd-2.2.14/support' から出ます make[1]: *** [all-recursive] エラー 1 make[1]: ディレクトリ `/usr/local/src/httpd-2.2.14/support' から出ます make: *** [all-recursive] エラー 1 よろしくお願いします。

  • Apache2.2.4のmod_authnz_ldap

    centosにapacheの2.2.4をソースから次のconfigureオプションでインストールしたのですが、/usr/local/apache2/modules/にmod_authnz_ldap.cが追加されません。/usr/local/apache2/bin/httpd -lで確認するとmod_authnz_ldap.cとutil_ldap.cを確認する事ができるのですが。。。 ■configureオプション ./configure --enable-so --enable-authnz-ldap --with-ldap --enable-ldap /usr/local/apache2/modules/に追加されていない為、httpd.confに LoadModule authz_ldap_module modules/mod_authz_ldap.soを追記し apacheを再起動してもエラーがでてしまいます。   configureオプションに問題があるのでしょうか?

  • DB接続を行うApacheモジュールをApacheに追加して、Apacheを再起動するとエラー

    皆さんこんにちは。 Apacheモジュールを作りを行っていました。 モジュール内で、 MySQLにコネクションをはり、 queryリクエストの往来を行うだけの単純なものです。 モジュールの作成から次の順序で作業を進めました。 ----------------------------- (1)モジュールの作成 (2)モジュール(1)のmakeを行う -> make成功 (3)モジュールのsoファイルを配置。 /usr/local/apache2/modules/ に make時に作成された モジュールの「soファイル」を配置。 (4)httpd.confの編集 httpd.confに 作成したモジュールのディレクティブを挿入。 LoadModule db_connect_module modules/db_connect.so <Location /db_connect> SetHandler db_connect </Location> (5)Apacheのリスタート ----------------------------- (5)でapacheの再起動を行うと、 次のエラーが表示されました。 httpd: Syntax error on line 96 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_db_connect.so into server: /usr/local/apache2/modules/mod_db_connect.so: undefined symbol: mysql_query ここで不思議だったのは、 確かに、 作成したMySQLに接続するためのApacheモジュール内で、 「mysql_query」を利用していますが、 そのモジュールのmake時には エラーが表示されていなかったし、 make時にエラーが出なかったとおり、 モジュール内のソースでも、 記述した「mysql.h」も正常にインクルードされていると思います。 どうして、 apacheのhttpd.confは 「mysql_query」に関する 上記のエラーを出してくるのでしょうか? どなたか考えられる原因を アドバイスいただけるとありがたい次第です。 以上どうぞ宜しくお願い致します。

  • Apache1.3にmod_sslを追加インストール

    こんにちは。 まず、Apacheをインストールします。 tar zxvf apache1.3.33.tar.gz cd apache1.3.33 ./configure --enable-shared=max make make install このあとに、mod_sslを追加しようと思いインストールします。 tar zxvf mod_ssl-2.8.24-1.3.33.tar.gz cd mod_ssl-2.8.24-1.3.33 ./configure --with-apache=../apache1.3.33 --enable-ssl=/usr/local --enable-shared=max cd ../apache1.3.33 make make certificate make install そうすると下記のエラーになってしまいます。 [root@localhost apache_1.3.33]# /usr/local/apache/bin/apachectl startssl [Sat Sep 10 23:28:58 2005] [warn] Loaded DSO libexec/mod_mmap_static.so uses plain Apache 1.3 API, this module might crash under EAPI! (please recompile it with -DEAPI) ※途中削除 Syntax error on line 226 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/libexec/mod_rewrite.so into server: /usr/local/apache/libexec/mod_rewrite.so: undefined symbol: dbm_fetch /usr/local/apache/bin/apachectl startssl: httpd could not be started Apacheが入ってない状態で、mod_sslをインストールすれば上手くいくのですが。 どうしてこういうエラーが出てしまうのでしょうか? よろしくお願いします。

  • SentOSでapacheとtomcatの連携

    いつもお世話になっております。 Linuxを始めて使っています。 仕事でapache2.2.4とtomcat5.5をインストールして連携させようしています。 ネットで色々とやり方を調べたところ Apache2.2よりmod_proxy-ajpモジュールとして提供されるようになり、別途設定ファイル を用意する事なくhttpd.confにて設定を行うだけということがわかりこの方法でやろうと思っています。 しかし、apache2.2.4をインストールしても/usr/local/apache2/modulesの中にはhttpd.expしか存在していません。 modulesの中にmod_proxy-ajpモジュールなどがあると思っているのですがこの考えは正しいでしょうか? 違っていればご指摘ください。 上記が正しかったとして私が行っているapache2.2.4のインストール手順を以下に記載します。 以下suを実行して管理者で行います。 (1)wgetでapacheをダウンロードする。 wget http://www.meisei-u.ac.jp/mirror/apache/httpd/httpd-2.2.4.tar.gz (2)/usr/local/srcでダウンロードしたファイルを展開する。 tar xvfz httpd-2.2.4.tar (3)コンパイル前設定を行う ./configure --prefix=/usr/local/apache2 --enable-proxy --enable-proxy-ajp --enable-so (4)makeでコンパイルする。 make (5)インストールする。 make install 以上です。 これで/usr/local/apache2/modulesにmod_proxy-ajpができると思っているのですが、存在しません。 ネットで調べると皆さんこのようにし上手くいっているようなのですが・・・。 全くの初心者ですのでLinuxを知っている方にとって常識なことでも わからない部分があるので色々とご教授いただければと思います。 よろしくお願いします。

  • Apache2.0ではじめてモジュールの追加

    現在、LinuxサーバにてApache2.0を利用しています。 mod_proxyが必要になったためモジュールの追加を行わなければなりません。 Apache2.0をインストール時のConfigureオプションでは、 インストール先を指定しただけでモジュール追加のオプションは指定して いませんでした。 ./configure --prefix=/usr/local/apache2 モジュールの追加をいままで行ったことがないので 手順が分かっていません。 もう一度 Apacheをインストール configure make && make install しなければならないのでしょうか。 運用中のApacheをできるだけ止めることなく安全に追加したいのですが、 良い方法はありますでしょうか。 こちらが現在の環境です。 Linux2.6 jakarta-tomcat-5.0.28 j2sdk-1_4_2_12 httpd-2.0.58 ご存知のかた教えてください。

  • 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