2018年8月13日月曜日

再起動後にCentOS7でHTTPD2.4が起動しなくなる問題

起こる事象
自動起動を設定したはずなのに、サーバ再起動後にHTTPD2.4が起動しない
ジャーナルを確認しても権限?何の?という状態に陥る
-- Unit httpd.service has failed.
-- 
-- The result is failed.
 8月 13 12:00:26 azitovb56.azito.co.jp systemd[1]: Unit httpd.service entered failed state.
 8月 13 12:00:26 azitovb56.azito.co.jp systemd[1]: httpd.service failed.
 8月 13 12:00:26 azitovb56.azito.co.jp polkitd[606]: Unregistered Authentication Agent for unix-proclines 2160-2173/2173
 8月 13 12:00:26 azitovb56.azito.co.jp systemd[1]: httpd.service: main process exited, code=exited, 
 8月 13 12:00:26 azitovb56.azito.co.jp kill[1490]: kill: cannot find process ""
 8月 13 12:00:26 azitovb56.azito.co.jp systemd[1]: httpd.service: control process exited, code=exite
 8月 13 12:00:26 azitovb56.azito.co.jp systemd[1]: Failed to start The Apache HTTP Server.

原因
systemdにて/var/run配下がtmpfsになったことが原因

再発試験

  1. yumからHTTPD2.4をインストール
  2. インストール過程で/var/run/httpdが作成される
  3. HTTPD2.4を起動すると、/var/run/httpdの下にPIDが作成される
  4. 無事起動して気分良く動作確認する
  5. サーバ再起動する
  6. 再起動時に/var/run/httpdが削除される
  7. PIDが作成できなくなり、自動でも手動でも起動できなくなて慌てる
解決法
/usr/lib/tmpfiles.d/httpd.conf の内容を書き換えることで、再起動時にディレクトリが

任意の権限で作成され、HTTPD2.4が起動するようになる。
書き換え前
d /run/httpd   710 root apache
d /run/httpd/htcacheclean   700 apache apache
書き換え後
d /var/run/httpd   710 root apache
d /var/run/httpd/htcacheclean   700 apache apache 

以前に一度同じハマりをした記憶があったのに、まんまと同じハマり方をしてしまったので、備忘を兼ねて公開いたします。

おわり

0 件のコメント:

コメントを投稿