CentOS
Apache
Yum

Apacheの削除と導入を繰り返したら'httpd dead but subsys locked'にハマって起動できなくなった

More than 3 years have passed since last update.


前提


  1. CentOS 6.7に入っていたApache2.2をアンインストール

  2. ソースからRPMを作成してApache2.4をインストール

  3. Apache2.4をアンインストール

  4. yumリポジトリからApache2.2をインストール


症状

service httpd startでApacheを立ち上げると[OK]と表示されたので、Webページを確認。接続できない。

service httpd statusで状態を確認するとhttpd dead but subsys lockedと表示される。Apacheが正常に実行できていないらしい。OKとは何だったのか。


原因と解決方法

Apache2.4をインストールした時のライブラリを削除し忘れていたのが原因っぽいです。こちらを参考にしました。ありがとうStack Exchange。


外部リポジトリからインストールしたパッケージを探す

変なところから依存ライブラリとかインストールすると、コンフリクトして大変だよ!とのことなので、これで探します。

yum --disablerepo='*' --enablerepo=base --enablerepo=updates list extras

aprとかhttpdっぽいライブラリを外部リポジトリからインストールしたまま残していたらyum remove hogehogeでアンインストールします。もれなくhttpdも消えるので、注意してください。

僕の場合は、aprをソースからインストールしたまま残していたので、こいつが悪さをしていたようです。


お好きな方法でインストール

yumリポジトリからhttpdと依存ライブラリをインストールします。

yum install httpd

これでhttpd、httpd-tools、apr、apr-util、apr-util-ldapがyumの標準リポジトリからインストールできました。service httpd startで起動、service httpd statusで状態を確認して、httpd (pid xxxxx) is running...と表示されれば完了です。やったぜ。