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でどのような差があるのかわからないっていうのもあって・・・
とりあえずは再起動で反映させていきます。