(No such file or directory)で Apache(httpd)が立ち上がらない!

ApacheのプロセスがMax Clientに張り付いて応答しなくなっていたので、とりあえずrestartでガッツリと再起動することに。

[dacelo@space ~]$ sudo service httpd configtest
Syntax OK
[dacelo@space ~]$ sudo service httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [失敗]

ぎえーきたこれ!
一気に嫌な汗をかきながら、httpdのログを見る。

広告

[Tue Jun 26 21:27:45 2018] [notice] caught SIGTERM, shutting down
[Tue Jun 26 21:27:47 2018] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Jun 26 21:27:47 2018] [warn] RSA server certificate CommonName (CN) `dacelo' does NOT match server name!?
Could not open log file 'logs/dummy-host.example.com-error_log.20180626' (No such file or directory)

「RSA server certificate CommonName (CN) `bronze02′ does NOT match server name!?」のエラーは、証明書のコモンネームが一致していないぞこら、と怒られているもので、これはそのままでも起動はするはず。

問題は次の、ログを書き込むファイルがない、というもので、DocumentRoot用のディレクトリがなくてもApacheは起動するが、ログを書き込むファイルがないと起動しない、というものだった。

ログを書き込めるディレクトリを用意して、起動。

httpd を停止中: [失敗]
httpd を起動中: [ OK ]

ああ、良かった。

何でこれまで大丈夫だったのか、だけど、httpd gracefulで再起動すると、優美すぎてこの不具合に目をつむってくれていたらしい。
stopしてstartする場合は、厳格に判断して起動しない、ということ。
普段は事故を避けるため、gracefulを使用しているのだけど、こういう弊害?のようなものもある、というのは心の中で意識しておきたい。

About: dacelo


Leave a Reply

Your email address will not be published. Required fields are marked *