- PR -

Apache2.0でSSL

1
投稿者投稿内容
KK
会議室デビュー日: 2002/11/11
投稿数: 5
投稿日時: 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は証明書の形式らしいところまでは調べられましたが、その後の対応が分かりません。

どなたか、ご教授をお願いできないでしょうか。宜しくお願いいたします。
Hiro
会議室デビュー日: 2003/11/20
投稿数: 2
投稿日時: 2003-11-20 22:12
私もその件で苦労しました。

根本的な解決策にはなっていませんが
--enable-ssl=static でとりあえず動くと思いますが
モジュールは本体に組み込まれてしまいますが.....


nads
会議室デビュー日: 2004/01/27
投稿数: 2
投稿日時: 2004-01-27 03:53
私も同じエラーがでてました。
環境はRedHat9、Apache2.0.48、openssl-0.9.7cです。
調べたところopensslのコンフィグ時に「shared」フラグを付けないと駄目らしく。
そうしないと、Hiroさんが言うようにstaticでしか組み込めないようです。
$ ./config shared
こんな感じです。Apacheは今までと同じようにコンパイルするだけです。
私はこれで問題なく起動しました。
nads
会議室デビュー日: 2004/01/27
投稿数: 2
投稿日時: 2004-01-27 03:55
すいません。二重で書き込んでしまったので消します。

[ メッセージ編集済み 編集者: nads 編集日時 2004-01-27 04:07 ]
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 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 にリンクされてしまうかもしれません)。
technocore
常連さん
会議室デビュー日: 2003/11/07
投稿数: 20
投稿日時: 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/14
投稿数: 556
投稿日時: 2004-01-27 21:49
Apache 2 では ldconfig は必要ないようですね。

APACHE/bin/envvars に自動的に --with-ssl で指定したディレクトリ内の lib ディレクトリを LD_LIBRARY_PATH に加える設定をしてくれるようです。
1

スキルアップ/キャリアアップ(JOB@IT)