• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:apache2.x&mod_ssl)

Apache2.xでSSLをサポートする方法とは?

このQ&Aのポイント
  • Apache2.xでSSLをサポートさせる方法について調べました。参考にしたサイトでは、configureの引数が使えなかったため、削除してconfigureしましたが、SSL化ができない状況になりました。
  • SSL化の必須条件として、-lでmod_ssl.cが表示されることが挙げられます。しかし、現在の状態では、-lのモジュール確認でcore.c、prefork.c、http_core.c、mod_so.cのみが表示されています。
  • この状態ではSSL化はできないため、別の方法を探す必要があります。

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

  • ベストアンサー
  • entree
  • ベストアンサー率55% (405/735)
回答No.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)
回答No.1

modules ディレクトリを見て下さい。そこに mod_ssl.so ファイルが存在するのであれば恐らく成功しているでしょう。あとは conf/ssl.conf を編集し、サーバキーとサーバ証明書を用意することで SSL を有効にすることができます。 それがないのであれば、mod_ssl.so を用意することで SSL 化することは可能ですが、mod_ssl.so を用意するには結局ソースコードを1からコンパイル直さないといけないのであまり意味がないですね。 SSL を有効にするには、少なくとも --enable-ssl オプションが必要です。

mithsc
質問者

補足

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も試しました。

関連するQ&A