ApacheでのログローテとかMod_bwとか。
アクセスログの大きさが、1週間にすると40Mを超えるので日ごとに設定してみたんですが、増えすぎてめんどくさい。
とりあえずVirtualHostごとにディレクトリに分けてみたんですが、Apacheを再起動すると
httpd を停止中: [失敗]
httpd を起動中:
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
[失敗]
こんな感じでエラー出してるのにApache自体は起動してる状態。
[root@menta ~]# getenforce
Disabled
[root@menta conf.d]# /usr/sbin/httpd -t
Syntax OK
SELinuxも無効に設定してあるんですけどねぇ・・・
[root@menta ~]# cat /etc/httpd/conf.d/virtual.conf
NameVirtualHost *:80
<VirtualHost *:80>
ServerName menta.orz.hm
DocumentRoot "XXX"
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory "XXX">
Options Includes ExecCGI FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName XXX.YYY.ZZZ
DocumentRoot XXX
<Directory "XXX">
Options Includes ExecCGI FollowSymLinks
allowoverride All
</Directory>
ErrorLog /var/www/XXX/logs/error.log
CustomLog /var/www/XXX/logs/access.log combined env=!no_log
</VirtualHost>
Apacheの設定
[root@menta ~]# cat /etc/logrotate.d/httpd
/var/www/XXX/logs/*log {
missingok
compress
ifempty
sharedscripts
daily
rotate 200
ifempty
}
/var/log/httpd/*log {
missingok
compress
sharedscripts
daily
rotate 200
ifempty
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}
logroteの設定
うーん・・・わからない。
とりあえずログは出てるのでこんな感じでいいかなぁ。
もうひとつの課題がMod_bwのLocationでの設定。
[root@menta ~]# cat /etc/httpd/conf.d/mod.conf
<Location /up>
SetHandler uploader
UploaderBaseUrl "http://menta.orz.hm/up"
~
UploaderTotalFileSizeLimit 31457280
UploaderTotalFileNumberLimit 2048
UploaderFileSizeLimit 512000
UploaderPerPageItemNumber 40
~
BandWidthModule On
ForceBandWidthModule On
BandWidth all 78643200
</Location>
<Location /up/admin>
~
</Location>
Locationでの設定ができるみたいに書いてあったんですけどねぇ。
どうもこのグラフ見てみると効いてないみたい。
この設定のために昼間はたまに接続が切れることがありかもしれませんが、生暖かい目で見ながら再接続していただけるとありがたいです。
どこかのドキュメントにApacheを再起動しないで設定を反映させる方法があったような気がするんですが、reloadとrestartでどのような差があるのかわからないっていうのもあって・・・
とりあえずは再起動で反映させていきます。