Apache2.0 系

ソースを入手

Apache2.0 系のインストールとその後の設定についての覚え書きです.適当な所から,tar ボールを取って来て展開します. 最新版では多少異なるかもしれません.

 
# pwd
/usr/local/src/apache2
# wget http://ring.asahi-net.or.jp/archives/net/apache/dist/httpd/httpd-2.0.47.tar.gz
ファイルに心配がある人はMD5チェックサムも落とすと良いかもしれません.
# tar xvzf httpd-2.0.47.tar.gz

コンフィグ

次に,Configure スクリプトを走らせて,好きな環境に設定します.今回はインストールディレクトリを /usr/loca/apache2, モジュールは標準に組み込まれるもの以外は組み込まないことにします. なお,標準で Apache に組み込まれるモジュールは ZDNet デベロッパーリファレンスを参考にするといいかもしれません(英語のマニュアルを読めんかっただけ).

 
# cd httpd-2.0.47
# ./configure --prefix=/usr/local/apache2

バイナリ作成

次に,コンパイルとインストールをします.

 
# make
# make install

httpd.conf 設定

このまんま Apache を走らせても絶対(でもないか)旨く(上手く?)できないはずなので httpd.conf を編集します.特に記載のないところはデフォルトのままです.

 
# vi /usr/local/apache2/conf/httpd.conf
行番号は httpd.conf.default を基準にしています.

L267 L268 Apache(httpd)のユーザとグループを決めます
User httpd
Group users

L277 サーバ管理者を適当に決めます
ServerAdmin webmaster@m9841.info

L291 サーバ名とポートを決めます
ServerName m9841.info:80

L307 ドキュメントルートを決めます
DocumentRoot "/home/httpd/html"

L332 L307 の変更に伴う変更
<Directory "/home/httpd/html">

L346 全域で CGI SSI を許可,ディレクトリのインデックスを禁止
Options -Indexes ExecCGI Includes FollowSymLinks MultiViews

L776 言語の優先順位を決めます
LanguagePriority ja en da nl et fr de el it ko no pl pt pt-br ltz ca es sv tw

L795 デフォルトの文字コードの設定をします.
ここの設定ですべてのテキストファイルでの文字コードとして設定されます
これでは都合が悪いのでテキスト側で文字コードを決定できようにします
AddDefaultCharset none

L858 CGI として認識される拡張子に .pl を追加します
AddHandler cgi-script .cgi .pl

L883 884 SSI として認識される拡張子を決めます
AddType text/html .shtml
AddHandler server-parsed .shtml

自動起動の設定

マシンを起動したときにApacheが自動実行できるように chkconfig に付け加えます.

 
付属の apachectl を利用します.
# cp /usr/local/apache2/bin/apachectl /etc/init.d/apache2
コピーした apache2 を編集します.
# vi /etc/init.d/apache2
25行目くらいのコメントが終わった所で以下を追加します.
#chkconfig: - 85 15
#description: apache2.0
chkconfig に登録します
# chkconfig --add apache2
# chkconfig --level 345 apache2 on
RPM とかで他の httpd がインストールされているときは,
# chkconfig --level 345 httpd off
とかして次回から起動時に自動起動しないようにしておきます.

ログのローテイト

Apache のログを大きくなりすぎないように logrotated にログの管理を任します.詳しい使い方は説明しませんが, こんなファイルを /etc/logrotate.d/ に置いておくと,Vine Linux の場合,毎週日曜日午前4時にログを分割して新しいものにしてくれます.