- ベストアンサー
DSO形式でmod_sslを組み込む方法とは?
- RedHat7.2に、apache 1.3.27でパーチャルホストを運用している場合、SSLを組み込む方法としてDSOの形式でmod_sslを組み込むことがあります。
- 一般的には、mod_sslを組み込むためには、最初にmod_sslのconfigurを実行し、apacheのソースに組み込み、再構築する必要がありますが、DSOの形式を使用することで簡単に組み込むことができます。
- しかし、DSO形式でmod_sslを組み込む場合、適切なオプションを指定する必要があります。オプションを指定せずにインストールした場合、mod_ssl.soが存在しないというエラーが発生することがあります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
kyuraさんの指定どうりにやってみて、とりあえず動いたので参考にしてください。 でもApacheのConfigureでopensslとか指定していないので手抜きですよ。 (SSL_BASE=/path/to/openssl ./configure .....) # cd mod_ssl-2.8.12-1.3.27 # ./configure --with-apache=../apache_1.3.27 # cd ../apache_1.3.27 # ./configure --enable-module=most --enable-module=so --enable-module=ssl # make # make certificate # make install # /usr/local/apache/bin/apachectl startssl Apache/1.3.27 mod_ssl/2.8.12 (Pass Phrase Dialog) Some of your private key files are encrypted for security reasons. In order to read them you have to provide us with the pass phrases. Server localhost.localdomain:443 (RSA) Enter pass phrase: Ok: Pass Phrase Dialog successful. /usr/local/apache/bin/apachectl startssl: httpd started # ps ax | grep httpd 29859 ? S 0:00 /usr/local/apache/bin/httpd -DSSL 29860 ? S 0:00 /usr/local/apache/bin/httpd -DSSL 29861 ? S 0:00 /usr/local/apache/bin/httpd -DSSL 29862 ? S 0:00 /usr/local/apache/bin/httpd -DSSL 29863 ? S 0:00 /usr/local/apache/bin/httpd -DSSL 29864 ? S 0:00 /usr/local/apache/bin/httpd -DSSL 29866 pts/0 S 0:00 grep httpd おしまい。
その他の回答 (2)
- xjd
- ベストアンサー率63% (1021/1612)
--enable-module=ssl と指定しているので、モジュールとしてApacheにmod_sslという名で組み込まれます。 --enable-shared=ssl と指定すると /usr/local/apache/libexec/libssl.so という名のDSO (Dynamic Shared Object)ができます。
- xjd
- ベストアンサー率63% (1021/1612)
以下のコマンドを実行したら、mod_sslが表示されますか? # /usr/local/apache/bin/httpd -l Compiled-in modules: ... ... mod_ssl.c
お礼
お返事ありがとうございます。 mod_ssl.c あります。 でも、libexec に mod_ssl.so がないのです。 なぜでしょうか?
お礼
何度もありがとうございます。しかも追試までして頂いて申し訳ないです。SSLできるんですね。。。 mod_ssl.so と libssl.so の違いがわかりました。 で、色々とオプションを変えたりしてみたりしてますが、コンパイルエラーがないのに、どちらも生成されないのです。なんでだろう。。。 もうしばらく悪戦苦闘してみます。ありがとうございました
補足
いろいろとやってみたところ、うまく行くようになりました。原因は、opensslのモジュールをうまく取得できなかった事らしいです。 opensslの最新バージョンからインストールし直したら、ちゃんとlibssl.soが入ってきました。お手数おかけしました(^^ゞ