結論
期限切れになったLet’s Encryptの入れ直しでこんな↓エラーが出る場合
Syntax error on line 11 of /etc/httpd/conf.d/vhost-le-ssl.conf:
SSLCertificateFile: file '/etc/letsencrypt/live/ドメイン/cert.pem' does not exist or is empty
/etc/httpd/conf.d/vhost-le-ssl.confというファイルを削除したら上手くいったよ!
解説
このブログのSSLはLet’s Encryptを使用しています。
Cronで自動更新するようにしていましたが、DNS設定を更新したとき、開発用のサブドメインを追加するのを忘れて、期限切れになってしまいました。
期限切れになった場合、更新するのではなくいったん削除して入れ直しするのが良いらしく、他のブログ先生の説明に従って進めていたところ。
Job for httpd.service invalid.
Unable to restart apache using ['apachectl', 'graceful']
Error while running apachectl restart.
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
こんなエラーが出ました。
それでは言われたとおりにsystemctl status httpd.serviceしてみようではありませんか。
そしたら。
Failed to start The Apache HTTP Server.
Unit httpd.service entered failed state.
httpd.service failed.
としか出なくて。
でもよく見たら、certbot –apacheしたときにこんなエラーが出てるのに気付きました。
Syntax error on line 11 of /etc/httpd/conf.d/vhost-le-ssl.conf:
SSLCertificateFile: file '/etc/letsencrypt/live/ドメイン/cert.pem' does not exist or is empty
たぶん、Let’s Encryptが前に作った設定ファイルが残ってたから、エラーになったのかな?
このファイルを消してやり直したら、うまくいきました!
サーバの設定やLet’s Encryptの状態によっては、この解決法が当てはまらないかもしれないので、
ファイルを削除する際は必ずバックアップを取り、いつでも元に戻せるようにしてから実行してください。