web-dev-qa-db-ja.com

Apacheにmod_sslをインストールする方法

私は少し前にApache httpdをインストールしましたが、最近SSLをセットアップしていくつかの異なるTomcatサーバーにサービスを提供するために戻ってきました。

現時点では、わずかに異なるバージョン(開発用とデモ用)に対応する2つの完全に独立したTomcatインスタンスを2つの異なるポートに提供しています。 mydomain.com:8081およびmydomain.com:8082

私は首尾よく(1月に戻って)mod_jkを使用してhttpdを取得し、同じTomcatインスタンスをhttp://www.mydomain.com:8090/devおよびhttp://www.mydomain.com:8090/demoに提供しました(8090 cosこの段階でJettyを介して8080で別のアプリを実行しています) httpd.confで次のコードを使用します。

LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug

<VirtualHost *:8090>
    JkMount /devd* tomcatDev
    JkMount /demo* tomcatDemo
</VirtualHost>

私がやろうとしていないことは、SSLを有効にすることです

以下をhttpd.confに追加しました

Listen 443
<VirtualHost _default_:443>
    JkMount /dev* tomcatDev
    JkMount /demo* tomcatDemo
    SSLEngine on
    SSLCertificateFile "/opt/httpd/conf/localhost.crt"
    SSLCertificateKeyFile "/opt/httpd/conf/keystore.key"
</VirtualHost>

しかし、「apachectl restart」でApacheを再起動しようとすると(私が言及した他のアプリをシャットダウンした後、https接続で動作しません)、エラーが継続的に発生します。

「無効なコマンド「SSLEngine」。スペルが間違っているか、サーバー構成に含まれていないモジュールによって定義されている可能性があります。httpdが実行されていません。開始しようとしています」

私はhttpd/modulesディレクトリを調べましたが、実際にはmod_sslはなく、mod_jk.soとhttpd.expのみがあります。

私はyumを使用してmod_sslをインストールしようとしましたが、すでにインストールされています。実際、mod_ssl.soは/ usr/lib/httpd/modulesにありますが、これは/ opt/httpdであるhttpdをインストールした場所へのパスではなく、実際には/ usr/lib/httpdにはモジュールdirのみが含まれています。

Httpdのインストール場所にmod_sslを適切にインストールする方法を教えてもらえますか?

6
Nick Foote

実際にmod_sslをロードする行は、Apacheの構成にどこかに追加する必要があります。Debian/ Ubuntuでは、Sudo a2enmod sslを実行するだけですが、RedHat/Fedora/CentOSに相当するものは知りません。次のような行が必要です。

LoadModule ssl_module /usr/lib/httpd/modules/mod_ssl.so
4
Mike Scott