- - PR -
Apache2.0でSSL
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2002-11-17 09:55
RedHat Linux7.2でApache2.0.43+openssl-0.9.6gを使用して、
SSL環境を目指しています。 #apachectl startssl を実行すると Syntax error on line 243 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_ssl.so into server: /usr/local/apache2/modules/mod_ssl.so : undefined symbol: X509_free このようなエラーが出て、起動しません。 modules/mod_ssl.soもありますし、 line 242〜244も <IfDefine SSL> LoadModule ssl_module modules/mod_ssl.so </IfDefine> となっています。 #apachectl start を実行すると、問題なく起動しています。 #apachectl configtest を実行すると、Syntax OKと出ます。 make等も全て正常に終了します。 conifgureは下記の通りに行っています。 ./configure --enable-mods-shared=most --enable-ssl --with-ssl=/usr/local/ssl X509は証明書の形式らしいところまでは調べられましたが、その後の対応が分かりません。 どなたか、ご教授をお願いできないでしょうか。宜しくお願いいたします。 |
|
投稿日時: 2003-11-20 22:12
私もその件で苦労しました。
根本的な解決策にはなっていませんが --enable-ssl=static でとりあえず動くと思いますが モジュールは本体に組み込まれてしまいますが..... |
|
投稿日時: 2004-01-27 03:53
私も同じエラーがでてました。
環境はRedHat9、Apache2.0.48、openssl-0.9.7cです。 調べたところopensslのコンフィグ時に「shared」フラグを付けないと駄目らしく。 そうしないと、Hiroさんが言うようにstaticでしか組み込めないようです。 $ ./config shared こんな感じです。Apacheは今までと同じようにコンパイルするだけです。 私はこれで問題なく起動しました。 |
|
投稿日時: 2004-01-27 03:55
すいません。二重で書き込んでしまったので消します。[ メッセージ編集済み 編集者: nads 編集日時 2004-01-27 04:07 ] |
|
投稿日時: 2004-01-27 09:02
OpenSSL を shared オプション付きで Configure すると、libcrypto.so* と libssl.so* prefix/lib ディレクトリにインストールされます。
Apache はコンパイル時に rpath をセットしてくれなかったように思いますので、/etc/ld.so.conf ファイルに prefix/lib ディレクトリを追加して、/sbin/ldconfig を実行するか、環境変数 LD_LIBRARY_PATH に prefix/lib を追加する必要があったように思います (やらなくても動くと思いますが、プリインストールされている OpenSSL にリンクされてしまうかもしれません)。 |
|
投稿日時: 2004-01-27 18:04
こんにちは。
こちらは、以下の環境ですが、特に問題なく動いてます。 RedHat9 httpd-2.0.48 openssl-0.9.7c Apacheのコンパイル時は ./configure --enable-ssl --with-ssl=/usr/local/ssl です。 httpd.conf/ssl.confは特に変更していません。 (サーバ名とか指定したくらい) 各種証明書は以下のディレクトリに置いてます。 /usr/local/apache2/conf/ssl.crt/ /usr/local/apache2/conf/ssl.csr/ /usr/local/apache2/conf/ssl.key/ # /usr/local/apache2/bin/apachectl startssl 21147 ? S 0:01 /usr/local/apache2/bin/httpd -k start -DSSL 21148 ? S 0:00 /usr/local/apache2/bin/httpd -k start -DSSL 21149 ? S 0:00 /usr/local/apache2/bin/httpd -k start -DSSL 21150 ? S 0:00 /usr/local/apache2/bin/httpd -k start -DSSL 21151 ? S 0:00 /usr/local/apache2/bin/httpd -k start -DSSL 21152 ? S 0:00 /usr/local/apache2/bin/httpd -k start -DSSL |
|
投稿日時: 2004-01-27 21:49
Apache 2 では ldconfig は必要ないようですね。
APACHE/bin/envvars に自動的に --with-ssl で指定したディレクトリ内の lib ディレクトリを LD_LIBRARY_PATH に加える設定をしてくれるようです。 |
1