AIと戦って、あなたの人生のリスク診断 >>

はじめまして。現在、以下の環境でホスティングサーバを運用しております。
稼働開始から半年ほど問題なく動いていたのですが、各バーチャルドメインのWebのアクセスログが記録されないという状態になってしまいました。アクセスすると、ファイルのタイムスタンプは最終アクセス日時に更新されるのですが、中身に書き込まれない状態です。

OS:RedHat EnterPrise Linux 4 ES 6.1
Kernel:kernel-2.6.9-55.EL
WebServer:Apache(httpd-2.0.52-32.ent)
管理ソフト:HDE Controller4 ISP Edition

◎Apacheの設定ファイル
■/etc/httpd/conf/httpd.confの一部
Include vhosts/*.conf

◎VirtualDomain設定ファイル
■/etc/httpd/vhost/directory_hogehoge.jp.conf
<Directory "/home/lcvirtualdomain/hogehoge.jp/htdocs/">
Options -Includes -ExecCGI
#LCControlDomain "hogehoge.jp"
#AuthName ""
#AuthType Basic
#AuthUserFile "/home/lcvirtualdomain/hogehoge.jp/htdocs/.htpasswd"
#Require valid-user
</Directory>
■/etc/httpd/vhost/virtual_hogehoge.jp.conf
<VirtualHost *:80>
UserDir disabled
ServerName "hogehoge.jp"
ServerAdmin "webmaster@hogehoge.jp"
#LCControlDomain "hogehoge.jp"
ScriptAlias /cgi-bin/ /home/lcvirtualdomain/hogehoge.jp/htdocs/cgi-bin/
AliasMatch ^/~([^/]+)/(.*) /home/lcvirtualdomain/hogehoge.jp/users/$1/public_html/$2
ServerAlias www.hogehoge.jp
DocumentRoot "/home/lcvirtualdomain/hogehoge.jp/htdocs/"
CustomLog /home/lcvirtualdomain/hogehoge.jp/logs/access.log combined env=!imgfile
ErrorLog /home/lcvirtualdomain/hogehoge.jp/logs/error.log
Hostnamelookups "on"
</VirtualHost>

ドメインは「hogehoge.jp」と架空のものに書き換えております。
ホスティング管理ソフト(HDE Controller)のメーカーとやり取りしていたのですが、最終的に「apacheの問題と思われる」との回答で終わってしまい、困っています。

何か考えられる、原因はないでしょうか。

足りない情報がありましたら、追って補足いたします。

よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

>chown apache:apache access.log


>としたところ、書き込まれるようになりました。
>その後
>chown root:root access.log
>で元に戻しても問題なく書き込まれるようになりました。

なんとも言い難い事象ですね。
アクセス権を戻しても正常に書き込まれることから、アクセス権の問題ではないように思えます。
サービスの再起動のコマンドはどのようにしていますか?
バーチャルホストを追加した際に、
service httpd reload
を使用したのではないでしょうか。

この回答への補足

ご回答ありがとうございます。

>サービスの再起動のコマンドはどのようにしていますか?
>バーチャルホストを追加した際に、
>service httpd reload

バーチャルホスト追加はHDEControllerを使用しているので
どのようにサービスを再起動しているか不明なのですが、

今回私が、試していた時にしていたのは
/etc/init.d/httpd restart
でやっていました。

補足日時:2008/05/06 00:56
    • good
    • 0

すでに調査済みかもしれませんが、現在の情報から羅列。



1.ユーザーディレクトリのquota超え
2.rootにquotaをかけている
3.env=!imgfile にすべてのログがヒット
  とりあえず、env=!imgfile を外してから確認してみてはいかがでしょうか。

エラーログは記録されますか?
アクセスログが記録された最後の日付でなにか作業はなかったのでしょうか?

この回答への補足

早速のご回答ありがとうございます。

1.ユーザーディレクトリのquota超え
特にかけていません

2.rootにquotaをかけている
特にかけておりません。

3.env=!imgfile にすべてのログがヒット
  とりあえず、env=!imgfile を外してから確認してみてはいかがでしょうか。
変えた上で、httpを再起動しましたが変化なしでした。

>エラーログは記録されますか?
はい、エラーログは記録されいます。
しかも、バーチャルドメインではなく、大本のwebサービスのaceess.logとerror.logは
/var/log/httpd/
配下になるのですが、こちらは両方、正常に書き込まれています。

先ほどから調査していてわかったことがあります。
各バーチャルドメインのログは
/home/lcvirtualdomain/hogehoge.jp/logs/
配下に格納されいてls -laコマンドで確認すると
drwxr-xr-x 2 root root 4096 May 5 14:55 .
drwxr-xr-x 7 lcvirtualdomain lcvirtualdomain 4096 Sep 21 2007 ..
-rw-r--r-- 1 root root 1123 May 5 21:43 access.log
-rw-r--r-- 1 root root 8192 May 5 21:43 error.log
となっていて所有権がrootとなっています。HDEのメーカーはこれで正常だということだったのですが、httpd.confの中に
User apache
Group apache
という記述があったため、ログもapacheユーザとして書きこんでいるのではないかと思い、
chown apache:apache access.log
としたところ、書き込まれるようになりました。
その後
chown root:root access.log
で元に戻しても問題なく書き込まれるようになりました。

もともと、所有権はrootだったはずで、動いていたはずなのですが
なぜなのでしょうか。

最悪、前バーチャルドメインに対して前述の処理を行えば解決できそうですが、原因が分からないため気持ち悪いところです。

とりあえず、現在の状況を報告いたします。

なにか、お分かりになることがあればアドバイスいただけると幸いです。

よろしくお願いします。

補足日時:2008/05/05 21:43
    • good
    • 0
この回答へのお礼

とりあえず、現在は正常に機能しておりますので様子を見ることにします。
ありがとうございました。

お礼日時:2008/05/07 11:54

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


人気Q&Aランキング