- ベストアンサー
Apache2.xでSSLをサポートする方法とは?
- Apache2.xでSSLをサポートさせる方法について調べました。参考にしたサイトでは、configureの引数が使えなかったため、削除してconfigureしましたが、SSL化ができない状況になりました。
- SSL化の必須条件として、-lでmod_ssl.cが表示されることが挙げられます。しかし、現在の状態では、-lのモジュール確認でcore.c、prefork.c、http_core.c、mod_so.cのみが表示されています。
- この状態ではSSL化はできないため、別の方法を探す必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
/usr/local/apache2 (prefix オプションを指定しなかった場合の出デフォルト) にインストールされたのであれば modules のフルパスは /usr/local/apache2/modules になるでしょう。ただし、enable-layout オプションや libexecdir オプションを指定したりした場合はこの限りではありません。 Apache2 をどこにインストールされたのでしょうか? /usr/sbin/httpd は OS に最初からインストールされている Apache です。 configure 時に特に何もオプションを指定していないのであれば mithsc さんが自分でインストールされた Apache は /usr/local/apache2/bin/httpd です。違う Apache に対して httpd -l を実行しても思うような結果が得られないのは当たり前です。 $ /usr/local/apache2/bin/httpd -l と実行されてみてはいかがでしょうか。
その他の回答 (1)
- entree
- ベストアンサー率55% (405/735)
modules ディレクトリを見て下さい。そこに mod_ssl.so ファイルが存在するのであれば恐らく成功しているでしょう。あとは conf/ssl.conf を編集し、サーバキーとサーバ証明書を用意することで SSL を有効にすることができます。 それがないのであれば、mod_ssl.so を用意することで SSL 化することは可能ですが、mod_ssl.so を用意するには結局ソースコードを1からコンパイル直さないといけないのであまり意味がないですね。 SSL を有効にするには、少なくとも --enable-ssl オプションが必要です。
補足
modules ディレクトリのフルパスを教えてください。 既にapache2は使っている状態でSSLをサポートさせようとしています。 何か消さないとだめなんでしょうか? make install までやりましたが、 # /usr/sbin/apache2 -l core.c prefork.c http_core.c mod_so.c でした。 # /usr/local/src/httpd-2.0.54/httpd -l なら、もっとたくさん表示されました。 しかし、これは実際には使われていないものですよね。 実際に使われているものは /usr/sbin/apache2 ですよね。 でもこれはシンボリックリンクで、リンク先は /usr/sbin/apache2.preforkだから、これをSSLに対応するようにビルドし直せばよいのでしょうが、それをやったつもりなんですが、-lは以前として4つしか表示されないわけです。 https://localhost/へのアクセスは、接続が予期せず終了になってしまいます。 ./configureは色々試しました。 --enable-sslも--enable-ssl=staticも試しました。