Apache Memo

 ベンチマーク
# /usr/local/apache2/bin/ab -n 100 -c 10 http://example.com
参考URL
@IT Apacheパフォーマンス・チューニングのポイント


 バージョン情報
# vi httpd.conf

ServerSignature Off
参考URL
@IT Apacheのバージョン表示を隠したい


 BASIC認証
BASIC認証を行いたいディレクトリへ.htaccessを作成

# vi /home/hoge/.htaccess

 .htaccess 2.0系
AuthType Basic
AuthUserFile /home/hoge/.htpasswd
AuthName "Please Enter Username and Password"
AuthGroupFile /dev/null
require valid-user


 .htaccess 2.2系
AuthType Basic
AuthBasicProvider file
AuthUserFile /home/hoge/.htpasswd
AuthName "Please Enter Username and Password"
Require valid-user


 .htpasswd
# cd /home/hoge
# /usr/local/apache2/bin/htpasswd -c .htpasswd username
# chmod 604 .htpasswd


 httpd.conf
<Directory />
AllowOverride AuthConfig
</Directory>


 httpd.conf
AuthType Basic
AuthBasicProvider file
AuthUserFile /home/hoge/.htpasswd
AuthName "Please Enter Username and Password"
Require valid-user
.htaccessを用いずに直接httpd.confに記述するほうが推奨されてある。

参考URL
Apache チュートリアル


 logrotateによるlogrotate
# vi /etc/logrotate.d/apache

/home/user/teenschat.jp/www/log/*_log {
daily
missingok
ifempty
size 10M
create 0777 apache apache

postrotate
/usr/local/apache2/bin/apachectl -k graceful

endscript
}

 logrotateのテスト
# /usr/sbin/logrotate -d /etc/logrotate.d/apache

 logrotate強制
# /usr/sbin/logrotate -f /etc/logrotate.d/apache

 logrotateの履歴
# vi /var/lib/logrotate.status
参考URL
Stray Penguin - Linux Memo logrotate
logrotateでログファイルがローテーションされない事への対処


 apacheによるlogrotate
# vi /usr/local/apache2/conf/httpd.conf

TransferLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/log/saccess_log.%Y%m%d_%H%M%S 604800"
ErrorLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/error_log.%Y%m%d_%H%M%S 604800"
参考URL @IT第14回 ログローテーションとAnalogの導入


 log出力おすすめ設定
%X 応答が完了したときの接続ステータス

%D リクエストを処理するのにかかった時間、マイクロ秒単位
参考URL @ITApacheのログ出力に追加しておいたほうがいい(かもしれない)設定


 モジュールの確認
DSOの場合
/usr/local/apache2/bin/httpd -M

DSO以外のとき
/usr/local/apache2/bin/httpd -l


更新 2009.07.13