Apacheが起動できなくなりました

あまりLinuxに詳しくないのでのですが
サーバを再起動し
/usr/sbin/apachectl start
を実行したところ
httpd: could not open document config file /etc/httpd/conf/httpd.conf
というエラーが表示されてしまいます

ちなみにhttpd.confの所有者がrootになっているのですがこれは関係あるのでしょうか

自身でも調べていますが、取り急ぎこちらでも質問したいと思います
解決方法を教えてください

回答の条件
  • 1人3回まで
  • 登録:2007/09/06 11:25:56
  • 終了:2007/09/08 22:12:42

回答(7件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402007/09/06 11:40:38

ポイント18pt

/etc/httpd/conf/httpd.conf という設定ファイルが読み込めないというエラーです。


権限の問題かもしれません。

コマンドを実行したユーザーと、

# ls -l /etc/httpd/conf/httpd.conf

を実行した結果を教えてください。

Manpage of LS

なお、

ちなみにhttpd.confの所有者がrootになっているのですが

これは通常のことですので問題ありません。

id:technote7

実行結果は下記です。

コマンドはrootで行っています

  • rwxr-xr-x 1 root root 36616 8月 28 11:55 /etc/httpd/conf/httpd.conf

特にhttpd.confをいじった記憶が無いので所有者くらいしか考えられないのですが・・・

2007/09/06 11:46:18
id:Yota No.2

Yota回答回数453ベストアンサー獲得回数282007/09/06 11:43:12

ポイント17pt

権限の問題だと思います。

apachectlを実行しようとしているユーザにhttpd.confの読み取り権限が与えられていない。

id:technote7

上記の権限なのですが問題ないように見えます。。


/etc/rc.d/init.d/httpd reload

を実行すると

httpd を再読み込み中: not reloading due to configuration syntax error

[失敗]

と表示されてしまいます

2007/09/06 12:05:52
id:Kumappus No.3

くまっぷす回答回数3784ベストアンサー獲得回数1852007/09/06 12:19:13

ポイント17pt

不確かな情報になってしまうので、コメント欄を開けておいてもらえるとよかったのですが。

not reloading due to configuration syntax error

が出るとするとconfファイルがどこか壊れているかもしれません。

http://claris.hp.infoseek.co.jp/apache/setup/apache_conf_chk.htm...

などを参考にconfファイルの中身をチェックしてみる方がいいと思います。

最近のLinuxでapache2だとすると

/usr/sbin/apache2ctl configtest

で実行できます。

id:technote7

ありがとうございます

/usr/sbin/apachectl configtest

を実行したところ

Syntax OK

昔のファイルを書き戻したところ

httpd: bad group name apache

とでます

2007/09/06 12:31:14
id:maakunh No.4

maakunh回答回数35ベストアンサー獲得回数22007/09/06 12:25:12

ポイント17pt

もしかしてapachectlで読み込むconfファイルは、

/etc/httpd/confにないのかも。

もともとそういう設定なのか、それとも何かの拍子で変わってしまったのかは不明ですが・・・。


/etc/rc.d/init.d/httpd reload

の場合は、どこかにあるhttpd.confは読んでいるようですが、

記述内容に誤りがあるようです。


代表的なhttpd.confの位置は

/usr/local/apache/httpd.conf

/etc/httpd/conf/httpd.conf

ですが、一度、httpd.confの場所を全検索されてはいかがでしょうか?

どこかから別のApacheを入手してインストールとかして、Apacheがダブった状態になってるとかありませんか?

id:technote7

ご回答が遅くなりました

httpd.confの場所を検索してみましたが

/etc/httpd/conf/httpd.conf

/opt/CA/BrightStorARCserve/httpd/conf/httpd.conf

/opt/CA/BrightStorARCserve/httpd/newconf/httpd.conf

この3つだけした

2007/09/07 15:10:57
id:Yota No.5

Yota回答回数453ベストアンサー獲得回数282007/09/06 12:44:14

ポイント17pt

そのhttpd.confのなかで、さらにconfを呼んでいないですか。

Include hoge.conf

こいつに読み取り権限がない。

id:technote7

特にありませんでした

調べたところなんとなく分かりました

httpd.conf内で

User hogehoge

Group hogehoge

と指定しているので、hogehogeで実行しないといけないと思うのですが

su - hogehoge

を実行すると

This account is currently not available.

と表示されます

2007/09/06 13:01:40
id:Bookmarker No.6

しおり回答回数191ベストアンサー獲得回数342007/09/06 13:16:38

ポイント17pt

hogehogeで実行しないといけないと思うのですが

それは、Apache がやってくれます。

hogehoge ユーザーまたはグループを削除してしまったのではないでしょうか?

su - hogehoge

通常、hogehoge はログインできない設定になっていてエラーになりますので、テキストビューワー等で /etc/passwd と /etc/group の内容を確認してみてください。

id:technote7

ありがとうございます。

どうも私とは別のものが下記の操作を行ったとのこと

etc配下の所有者とグループを全てrootに変更

これが主原因のような気がします。。しかしもとの所有者とグループが分かりません。。

2007/09/06 14:30:02
id:Kumappus No.7

くまっぷす回答回数3784ベストアンサー獲得回数1852007/09/06 15:32:35

ポイント17pt

うーん、普通は/etcの下のファイルは オーナーもグループもrootですが…。

属性も普通は

 -rw-r--r--

になってるはずなので、読むだけなら誰でも読めて問題ないですからね。

id:technote7さんの別の質問を読みました(かなりボロボロみたいですね>サーバ)。

何かそのトラブルでやったことが影響している可能性はあります。コメントにあるようにいじった記憶はなくてもいじられてしまった可能性は否定できません。

さて、とりあえずvipwでそのhogehogeというユーザを追加してみてはいかがでしょうか?

おそらくapacheというユーザ名ではないかと思うのでvipwで/etc/passwdに

apache:x:NN:NN:apache:/home/httpd:/bin/false

/etc/groupに

apache::NN:

(NNは任意のユーザID,グループIDで、Linuxでは70〜80番台ぐらいの番号が割り振られることが多い)

を追加してみては?

id:technote7

ありがとうございます

DNSの件は解決できました。

指摘の通り

/etc/group

を確認すると、ちゃんと下記グループがあります

apache:x:48:

しかし

# /etc/rc.d/init.d/httpd start

httpd を起動中: httpd: bad group name apache

と出てしまいます

2007/09/07 14:34:38
  • id:technote7
    色々と試してみたところ
    httpdが動きましたが

    # /usr/sbin/apachectl start
    実行すると
    (13)Permission denied: Error retrieving pid file run/httpd.pid

    となります
    このエラーはどういう意味でしょうか。。
  • id:Yota
    古いhttpd.pidが残っているのでは。
    いったん停止して、pidファイルがなくなっているか見てみたほうがいいですよ。
    あるいは他のhttpdプロセスが動いている。
    #ps auxw | grep httpd| grep -v grep
  • id:jarijari
    >Permission denied: Error retrieving pid file run/httpd.pid

    これは、「権限がありません:pidファイル、run/httpd.pidの読み込みエラーです」みたいな意味です。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません