• ベストアンサー

Apache HTTP Serverプラグインのコンフィグレーションでエラーが発生する

【環境】 linux5.1 Apache2.2.3 WebLogic8.1 Apache HTTPサーバから WebLogic Serverへリクエストをプロキシするための環境構築をしています。 下記URLを参考に環境構築していますが、最後のhttpd.confファイルの検証のところでエラーが示され、解決できません。 http://otndnld.oracle.co.jp/document/products/wls/docs92/plugins/apache.html エラー内容は、「libCrun.so.1 : ELF file data encoding not little-endian」です。 libCrun.so.1は、usr/libに配置しています。 ※mod_wl_22.soはmodulesに配置しています。 多数のサイトを見ていろいろ試してみてはいますが、一向に解決できません。 もしこのエラーについてご存じの方がいらっしゃいましたら、ご教授願います。

質問者が選んだベストアンサー

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

WebLogicサーバとApacheHTTPサーバが別OS、別機種ではありませんか? WebLogicサーバとApacheHTTPサーバが別OS、別機種なのに 「WebLogicサーバOS」用のApacheHTTPServerプラグインを導入していませんか? # 本来は、「ApacheHTTPサーバOS」用のapacheプラグインを # 利用しなければならない。 もし、上記に該当するならば、対処として、 「ApacheHTTPサーバOS」用のWebLogicサーバプラグインを入手して、導入しなおす必要があります。 >エラー内容は、 >「libCrun.so.1 : ELF file data encoding not little-endian」 このエラーメッセージは、他OS向けや他機種向けのプログラム(共有ライブラリやプラグインも含む)を実行しようとしたときに表示されるものです。 # 所謂テキストファイルの文字コードとは全く関係ありません。

goo1981080
質問者

補足

onosukeさんご回答ありがとうございます。 説明不足で申し訳ありませんが、onosukeさんのおっしゃる通り WebLogicサーバーとApacheHTTPサーバーは別OS、別機種です。 詳しくは、WebLogicサーバーがSolaris、ApacheHTTPサーバーはRedHat Linuxです。 >「WebLogicサーバOS」用のApacheHTTPServerプラグインを導入していませんか? 特に意識していたわけではありませんが、参考にしていたページを見てみると確かに「WebLogic Server における Web サーバ プラグインの使い方」と題名になっています。 >「ApacheHTTPサーバOS」用のWebLogicサーバプラグインを入手して、導入しなおす必要があります。 こちらに関してプラグインを入手するために関連ページを探していますが、今現在ヒットしておりません。 もし関連ページをご存じでしたらご教授ください。

その他の回答 (3)

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

>[エラー] >httpd: Syntax error on line xxx of /etc/httpd/conf/httpd.conf: >API module structure 'weblogic_module' in >file /etc/nttpd/modules/mod_wl_20.so is garbled - perhaps this >is not an Apache module DSO? このエラーは、サーバとモジュール、 両者の「MODULE_MAGIC_COOKIE」不一致が原因で発生します。 「MODULE_MAGIC_COOKIE」は、apache2.0, 2.1, 2.2 でそれぞれ異なる値を利用するので、言い換えれば、 サーバとモジュール、両者のバージョン不一致が原因です。 >Apache2.2.3の場合、 >mod_wl_20.soは互換性がないため、 >対応策として、Apache2.0などに変更する必要があるのでしょうか? ご明察。その通りです。

goo1981080
質問者

お礼

onosukeさんご回答ありがとうございます。 最終的に、apache2.0.62をインストールし直し、結果として Apache HTTP Serverプラグインは正常にインストールされることを 確認いたしました。 もっと早くからダウングレードすればよかったのに…とも思いますが、 いろいろ試してみて良い勉強になりました。 また機会がありましたら、よろしくお願い致します。

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

WebLogic8.1なので、マニュアルは下記のモノが正しく。。。 http://otndnld.oracle.co.jp/document/products/wls/docs81/plugins/apache.html#100375 WL_HOME/server/lib/linux/i686 ←Linux 32bitカーネル用のモジュール 配下のファイルを利用すべきかと。 # もし、Linux 64bitカーネル(x86_64)を利用している場合は、 # 対応するモジュールがWebLogic8.1には含まれていません。

goo1981080
質問者

補足

onosukeさんご回答ありがとうございます。 >WL_HOME/server/lib/linux/i686 ←Linux 32bitカーネル用のモジュール >配下のファイルを利用すべきかと。 Linuxは32ビットマシンですので、上記i686ディレクトリ中のmod_wl_20.soを/etc/httpd/modulesディレクトリ中にインストールし、apachectl -tを実行しましたが、以下のエラーが示されました。 [エラー] httpd: Syntax error on line xxx of /etc/httpd/conf/httpd.conf: API module structure 'weblogic_module' in file /etc/nttpd/modules/mod_wl_20.so is garbled - perhaps this is not an Apache module DSO? mod_wl_20.soは文字化けしていると示されていますが、実際は文字化けではなくモジュールの互換性がないのだと考えています。 Apache2.2.3の場合、mod_wl_20.soは互換性がないため、mod_wl_22.soでなければダメなのかと…。 対応策として、Apache2.0などに変更する必要があるのでしょうか? 度々の質問で申し訳ございませんが、ご存じであればご教授願います。

回答No.1

Apacheにそんなに詳しくないんですが、メッセージからすると一見、文字コードの問題のように見えます。 ”libCrun.so.1”はライブラリーファイルですよね。リンク先が違っていませんかね。usr/libとありますが、Apacheの配下のものか、/usr/libに配置するかですかね。lddコマンドでも確かめられますね。環境変数の設定でも変えられますね。下手すると、再アーカイブして、makeしないとだめかも。 このエラーが最終的なエラー出なければ、他のデーモンが起動していないか、他のプロセスのえらーかと。 本当にユニコードファイルになっていないのかもしれませんが、下記のURLを見ると、 http://forums.devshed.com/java-help-9/mod-jk-erro-elf-not-big-endian-19688.html http.confなどのミスでも似たようなエラーがでますね。そうなってくると、 「httpd.conf ファイルへの weblogic.conf ファイルのインクルード」 で、参照するパスや、書き換えがうまくいっていないような気がします。つまり、プラグインのインストールがうまくいっていないか、インストールは成功していても、それによる環境ファイルの書き換えがうまくいっていないかです。 そうなってくると 「mod_so.c がリストにない場合は、次のオプションがコンフィグレーションされるように、Apache HTTP サーバを再構築する必要があります。 」 は確実にやったのでしょうか? 再コンパイルすることになっていますが? などなど、どうも最初の設置から確かめる必要があり、なんとも言えません。混乱させてしまったらごめんなさい。

goo1981080
質問者

お礼

bakakyatapさんご回答ありがとうございます。 libCrun.so.1を/usr/libに配置する前は、「libCrun.so.1:cannot open shared object file: No such file or directory」と表示され、/usr/libに配置してからは今回の問題のエラーが示されています。 また、今回はコンフィグレーション ファイルを複数用意しないので、 「httpd.conf ファイルへの weblogic.conf ファイルのインクルード」 のようなことはしていません。 >「mod_so.c がリストにない場合は、次のオプションがコンフィグレーションされるように、Apache HTTP サーバを再構築する必要があります。 」 >は確実にやったのでしょうか? 再コンパイルすることになっていますが? これは、mod_so.cは有効になっていることをapachectl -lコマンドを実行して確認しています。 Apacheのバージョンが2.2.3なのでmod_wl_22.soファイルをAPACHE_HOME\modules ディレクトリに配置していましたが、試しに同じディレクトリにmod_wl_20.soファイルを配置しました。 すると結果は、「mod_wl_20.so : ELF file data encoding not little-endian」になります。 こうなるとやはり文字コードの問題なのでしょうか。。

関連するQ&A

  • PHPのエラーでapacheが起動できない

    教えてください。 Fedora Core4でWebサーバーを構築しているのですが、 httpd.confをコンパイルすると下記エラーが出てしまいます。 ”Syntax error on line6 of /etc/httpd/conf.d/php.conf:Cannot load /etc/httpd/modules/libphp5.so into server:libgmp.so.3: Cannot open shared object file:No such file or directory” /etc/httpd/conf.d/php.confのファイルをロードしないようにすればapacheは起動するのですが、PHPが使えません。 どう対処したらapacheとPHPが両方解決できますか? 宜しくお願いします。

  • apacheのインストール時、エラーがでます

    apacheのインストールの際 Syntax error on line 60 of /apache2.2/Apache2/conf/httpd.conf: Cannot load /apache2.2/modules/mod_actions.so into server: と出るのですか、どなたかこの意味か解決策を教えてくれませんか?

  • 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」に関する 上記のエラーを出してくるのでしょうか? どなたか考えられる原因を アドバイスいただけるとありがたい次第です。 以上どうぞ宜しくお願い致します。

  • apache tomcatの連携でのエラーメッセージ

    こんにちは、いつもお世話になっております。 「tomcat apache の連携ができていないのでしょうか」 という質問(受付中)をしているものです。 tomcat apache の連携で試行錯誤していたら 新たに疑問が出てきたので質問させていただきます。 APACHE_HOME/modulesにmod_jk2.soを配置し APACHE_HOME/conf\httpd.confの最後の行に 「LoadModule jk2_module modules/mod_jk2.so」 と記述する。 そしてapacheを起動すると以下のようなエラーが出ます。 「Syntax error on line "LoadModuleを記述した行番号" of APACHE_HOME/conf/httpd.conf: Cannot load APACHE_HOME/modules/mod_jk2.so into server: ....」 原因は何なのでしょうか、どなたか教えていただけないでしょうか よろしくお願いします。

  • Apache HTTP Server

    インストール時にIP番号 「127.0.0.1」にApache HTTP Serverを設定し、Apache の「htdocs」 にhello.cgiというファイルを保存したのに、 1. Apacheを立ち上げると httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.131.65 for ServerName とエラー表示(?)されます。 2. URLを「http://127.0.0.1/hello.cgi」と指定してもブラウザ(FireFox)には 「127.0.0.1 のサーバへの接続を確立できませんでした。」とエラーになります。 何がいけないのでしょうか? どなたか教えてくださると幸甚です。

  • apacheの起動のときのlibphp5.soエラーで困っています。

    現在、PHPを使ったWebアプリケーションを制作しようとインストールしてるのですが、エラーが出てしまった困っています。 環境======= Fedora Cora6 Apache2.0.54 mysql4.1.13 php5.0.4 ========= ○症状 Apacheとphpをコンパイルしてインストールしたのですが、Apacheのみで動作確認したときは、apacheは動作に問題なかったのですが、PHPをインストールしてからphpinfoを見ようとApacheを起動すると動かなくなってしまいました。アクセスができないとのことですが、rootで操作しているので、何がわるのかわかりません。 ------------------------------------------------------------------- [root@localhost ~]# /usr/local/apache2/bin/apachectl start Syntax error on line 232 of /usr/local/apache2/conf/httpd.conf: Cannot load /libphp5.so into server: /libphp5.so: cannot restore segment prot after reloc: Permission denied 問題とされる ”httpd.conf”ファイルの内容: LoadModule php5_module modules/libphp5.so -------------------------------------------------------------------- 同じような症状で解決した方がおりましたら、お手数ですがご教授いただけると幸いです。 よろしくお願いいたします。

  • Apache HTTPサーバについてなのですが

    こん**わ、adminsです。 Apache2 HTTPサーバについてなのですが Red hat Linuxにインストールして 自動起動等まで作業を行って、 公開ディレクトリにファイルをおいたのですが、 日本語が表示されません。 いろいろ参考になるサイトを探しています。 そこで、「標準で読み込むエンコードを SHIFT_JIS」などにするとか書いてありますが、その手段をとっても、 同じく文字化けしてしまいました。 これを解決するべく手段はあるでしょうか? たくさんの回答お待ちしております。

  • Apache 2.2がエラーで起動できない

    以前よりmod_layoutの導入に四苦八苦していましたが、以下のサイト様で配布しているApache 2.2 with mod_layoutというファイルをインストールしたところ、正常にインストールされました。 ttp://fetus.k-hsu.net/document/webmaster/diary2/20060315.html ところが、httpd.confに LoadModule layout_module modules/mod_layout.so AddModule mod_layout.c を追加してApacheを再起動させると Starting httpd: Apache 1.3 configuration directives found please read /usr/share/doc/httpd-2.2.2/migration.html                               [FAILED] となってしまい、再起動できませんでした。 このエラーが何を意味しているのか、どの様な解決方法があるかなど、情報をお持ちの方、ご教授いただけると幸いです。 サーバー情報 OS:FedoraCore5 Apache 2.2 mod_layout-4.0.1a

  • Apache HTTP Server 2.2.4が起動しない

    PHPを独学しようと、PHPとApacheを自宅のマシン(WindowsXP Home edition)にインストールしてみました。 Apache HTTP Server 2.2.4をインストール後、Apacheを「start」で起動させようとしたら、下記の表示が出てApacheが起動しません。 httpd.exe: Syntax error on line 495 of C:/[Apacheのインストールディレクトリ]/conf/httpd.conf: Cannot load C:/[PHP5のインストールディレクトリ]/phpapache2.dll into server: \x8ew\x92\xe8(以下暫く羅列が続く) httpd.confの495行目の記述は「LoadModule php5_module "C:/[PHP5のインストールディレクトリ]/php5apache2.dll"」と、phpapache2.dllへパスが通っていると考えているのですが、初心者ゆえ戸惑っています。 全く初心者な質問だと思いますが、解決へお力添えを頂けたらと思います。宜しくお願い致します。

    • 締切済み
    • PHP
  • 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