apache 2.0.47 のインストールログ
1. 展開
gtar zxvf httpd-2.0.47.tar.gz
2. configure と make
cd httpd-2.0.47
./configure --prefix=/www --enable-so
make
make install
3. 設定ファイル編集
/www/conf/httpd.conf を編集
今回編集したのは、
--- サーバの設定
ServerAdmin kanamitu@fukuoka-edu.ac.jp
ServerName hoge1.fukuoka-edu.ac.jp
Group nobody
AddHandler cgi-script .cgi
---ドキュメントルート設定
DocumentRoot "/www/home"
AllowOverride All
---ユーザ用設定
UserDir html
Options Indexes FollowSymLinks ExecCGI
AllowOverride AuthConfig Limit
Order allow,deny
allow from all
---文字化け対策(最初は DefaultCharset が ISO-8859 になってる)
AddDefaultCharset none
LanguagePriority ja en da nl et fr de el it ko no pl pt pt-br ltz ca es sv tw
---PHP用設定(最後のフラッグは PHP-4.1以前と互換にするため)
LoadModule php4_module modules/libphp4.so
AddType application/x-httpd-php .php
php_admin_flag register_globals On
4. 起動設定
/etc/init.d/apache として、
#!/sbin/sh
#
# Copyright (c) 1999 by Sun Microsystems, Inc.
# All rights reserved.
#
#ident "@(#)apache.sh 1.3 99/11/10 SMI"
APACHE_HOME=/www
CONF_FILE=/www/conf/httpd.conf
PIDFILE=/www/logs/httpd.pid
if [ ! -f ${CONF_FILE} ]; then
exit 0
fi
case "$1" in
start)
/bin/rm -f ${PIDFILE}
cmdtext="starting"
;;
restart)
cmdtext="restarting"
;;
stop)
cmdtext="stopping"
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
echo "httpd $cmdtext."
status=`${APACHE_HOME}/bin/apachectl $1 2>&1`
if [ $? != 0 ]; then
echo "$status"
exit 1
fi
exit 0
として、/etc/rc3.d/S50apache にリンク
補足:再起動時に libdb が見つからないというエラーが出たので、
apachectl と同じところの envvars ファイルの LD_LIBRARY_PATH に
/opt/sfw/lib を追加(Solaris9 ではここに libdb が見つかったので)
5. ログのローテーション
Solaris 9 からはログのローテーションに logadm コマンドが使える。
apache に使う場合は例えば次のようにする。
/usr/sbin/logadm -w apache2 -p 1w -C 3 -t '/www/logs/$basename.$n'
-a '/www/bin/apachectl graceful'
'/www/logs/*{access,error}_log'
(実際は1行。-w オプションは設定ファイルへのエントリ名、
-p オプションはローテーションの間隔(1w は1週間)、
-C オプションはログを何世代残すかの指定、
-t オプションはローテーションしたログの名前のテンプレート
-a オプションはローテーション後に実行するコマンド
最後にローテーション対象のログファイル名)
logadm コマンドの結果は /etc/logadm.conf に書き込まれる。この設定ファイル
が1日に一度参照され、それに従ってログのローテーションが実行される。