web-dev-qa-db-ja.com

CentOS 6での起動時にhttpdサービスが開始されない

起動時にApacheサービスを開始するようにCentOS 6 Vagrantセットアップを構成するのに問題があります。私はchkconfigを使用してみましたが、OSはそれを無視しているようです。

Sudo chkconfig --list httpdを実行すると、

httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

コマンドを実行した結果だと思います

Sudo chkconfig httpd on
Sudo chkconfig --levels 235 httpd on
Sudo chkconfig --levels 345 httpd on

私のプロビジョニングスクリプトでこのことを正しく構成するさまざまな試みで。私はPuppetやChefを使用しておらず、実際に使用したくもありません。別のホストマシンでこれを機能させていましたが、2番目のホストでは、何らかの理由で機能しなくなったようです。

Sudo service httpd startを使用して手動でサービスを開始すると正常に機能しますが、vagrant halt && vagrant upまたはvagrant reloadを実行するとすぐに、VMが戻ってきたときにサービスが開始されませんアップ。

イライラして、まったく同じ方法で構成したmysqldサービスが、起動時に完全に正常に起動します。

私の/ var/log/httpd/error_logはこれを言っています:

[Thu Apr 17 09:31:09 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Apr 17 09:31:09 2014] [notice] Digest: generating secret for digest authentication ...
[Thu Apr 17 09:31:09 2014] [notice] Digest: done
[Thu Apr 17 09:31:09 2014] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.5.11 configured -- resuming normal operations
[Thu Apr 17 09:34:45 2014] [notice] caught SIGTERM, shutting down
7
Zac Crites

問題は、VMがVagrantが共有フォルダをマウントする前にApacheサービスを開始しようとしており、httpd DocumentRootが存在しないディレクトリを指していることであることがわかりました。マウントが発生するまで待機してからhttpdを起動しようとするudevイベントを設定します。

http://razius.com/articles/launching-services-after-vagrant-mount/

4
Zac Crites