[Other] Apacheでハマった

タグ :

localhostで開発をしている際、何かのきっかけでlocalhostに接続出来なくなるという現象が発生しました。
接続できないというのは、ブラウザで「http://localhost/」へのアクセスができないということです。

概要

結果としてフォアグラウンドで実行させた後で再起動させることで解決しました。
が、ここに辿り着くまでに相当時間が掛かってしまったので備忘録としてまとめておきます。

解決までの道のり

以下に解決までにやった内容を示します。

[再起動]

Apacheを再起動させてみれば、元に戻るかもという淡い期待をして再起動。
結果は惨敗。全く反応が無かった。


[httpd.confの修正]

https.confファイルをいろいろといじっていたため、どこをどう直せば良いのか分からなくなった。
そこで、デフォルトの状態に戻してみる事に。

/etc/apache2/original」フォルダ内の同名ファイルが元のファイル なので、コピーして上書きしてみた。
が、結果は惨敗。同じく反応無し。


[Apacheの起動確認]

ターミナルにてApache起動コマンドを実行し、起動しているかを確認してみる。

sudo /usr/sbin/apachectl start

「org.apache.httpd: Already loaded」と表示され、起動していることを確認。
起動しているのに接続できないのか、、、と悩むが分からないので置いておく。
念のため、停止と起動を繰り返してみたが、結果は同じ。


[ログの確認]

「/var/log/apache2」フォルダが無い事でログが取れていない事が原因というのも有り得るので、ちゃんと存在しているかを確認してみたが、ちゃんとあった。


[plistの確認]

何処ぞのサイトから「システム/ライブラリ/LaunchDaemons/」フォルダ内に「org.apache.httpd.plist」が在るかがカギという情報を入手し、あるかどうか確認してみたが、ちゃんとあった。


[Apacheの起動状態を確認]

ターミナルで、

sudo /usr/sbin/httpd -D FOREGROUND

を実行。
その後Apacheを再起動させてみると、なんと起動に成功していた。

よく分からないが、フォアグラウンドとすると、そのジョブが終了するまで次のジョブが実行できないようにするらしい。

まとめ

ここからは想像だが、別で起動しようとするApacheの起動を防ぎ、トップ階層の起動のみの状態とした上で停止させないと完全終了できないのかな。。。
違うかもだけど、とりあえずは接続出来たので良しとする。

ハマった時はひたすら情報収集することが大事ですね。

Share

  • このエントリーをはてなブックマークに追加

Comment

コメントを残す

*がついている欄は必須項目です。

  • Twitter
  • Facebook
  • Google Plus
  • RSS Feed