CentOS に SSL証明書のインストール後、Apache の再起動を行ったところ、Apache の起動に失敗しました。
今回の私の場合の原因は VirtualHost ディレクティブ内に「SSLEngine on」の記載がなかったことが原因でした。
以下調査手順。
# 再起動 $ sudo apachectl graceful # 再起動コマンド後、サイトにアクセスするとページが表示されない # 「apachectl graceful」実行時にエラーは表示されていなかったが、再起動に失敗していた模様 # 別のコマンドで再起動を試すと、以下のエラー文が表示される $ sudo service httpd restart Redirecting to /bin/systemctl restart httpd.service Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details. # 文面に書かれていたコマンド2つをそれぞれ試す $ systemctl status httpd.service xxx.xxx.xxx.xxx systemd[1]: Starting The Apache HTTP Server... xxx.xxx.xxx.xxx systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE xxx.xxx.xxx.xxx kill[2615]: kill: cannot find process "" xxx.xxx.xxx.xxx systemd[1]: httpd.service: control process exited, code=exited status=1 xxx.xxx.xxx.xxx systemd[1]: Failed to start The Apache HTTP Server. xxx.xxx.xxx.xxx systemd[1]: Unit httpd.service entered failed state. xxx.xxx.xxx.xxx systemd[1]: httpd.service failed. $ journalctl -xe xxx.xxx.xxx.xxx systemd[1]: Failed to start -- Subject: Unit httpd.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit httpd.service has failed. -- -- The result is failed. # それぞれ、起動に失敗した旨は書かれているが、原因は不明 # そこで Apache のエラーログを確認する $ less /var/log/httpd/error_log [ssl:emerg] [pid 2614] AH02311: Fatal error initialising mod_ssl, exiting. See /etc/httpd/logs/ssl_example.com-error_log for more information # SSLのログに詳細があるとのことなので、確認 $ less /etc/httpd/logs/ssl_example.com-error_log [ssl:emerg] [pid 2614] AH01910: Oops, no RSA, DSA or ECC server certificate found for 'example.com:0'?!
ということで、ようやくそれっぽい原因を見つけました。 調べてみた結果、冒頭の VirtualHost ディレクティブ内に「SSLEngine on」の設定が無かったことが原因でした。