俺としては、Apache1を従来より使ってきた。今現在(2003年10月)ではApache2も使われているが、俺的にはApache2の必要性を全く感じてないUserの一人である。Apache2は確かにマルチスレッド等の新しい機能は搭載されているが、俺としては必要ないので、あえて限りなく安定しているApache1.3.xx系をクローズアップして、今頃?と言うブーイングが飛んできそうだがあえてインストール方法を掲載してみる。
1.セットアップ環境
マシン:東芝ノートPC(Pentium100 MEM 48M HDD 10G)
OS:VineLinux2.6R
2.Apacheのインストール
1) ソースは、当然 http://www.apache.jp/ からゲットする。私がセットアップをした時(2003年10月時点)のApache1の最新ソースはapache_1.3.28.tar.gzが最新であった。
2) コンパイルとビルド
# tar zxvf apache_1.3.28.tar.gz
# chown -R root.root apache_1.3.28
# cd apache_1.3.28
# OPTIM=”-O2″ ./configure –enable-module=so
OPTIM ← Cコンパイラ最適化フラグを設定する。だからここの意味で言うとCコンパイラ最適化フラグに”-O2″を代入すると言う意味になる。まあとにかくコンパイル時に最適化も同時に行うと言う意味でしょう。しかし、この変数定義はFreeBSDにはない(FreeBSDで上記の書式でconfigureしてもエラーになるよ)。
–enable-module=so ← –enable-moduleでモジュールのビルドを有効にする。ここではmod_soモジュールのビルドを有効にしてる。
# make
# make inastall
3) httpd.confの編集(各自それぞれ違うと思うが、私の主な編集した項目を書く)
■ 訳有ってポート8080で動かさなくはならなかったので、 Port 8080 とした。
#
# Port: The port to which the standalone server listens. For
# ports < 1023, you will need httpd to be run as root initially.
#
Port 8080
■ ServerNameを編集。
ServerName hoge.hogehoge.co.jp
■ <Directory “/usr/local/apache/htdocs”> タブのoptionを編集。
< Directory “/usr/local/apache/htdocs” >
#
# This may also be “None”, “All”, or any combination of “Indexes”,
# “Includes”, “FollowSymLinks”, “ExecCGI”, or “MultiViews”.
#
# Note that “MultiViews” must be named *explicitly* — “Options All”
# doesn’t give it to you.
#
Options FollowSymLinks ExecCGI
#
# This controls which options the .htaccess files in directories can
# override. Can also be “All”, or any combination of “Options”, “FileInfo”,
# “AuthConfig”, and “Limit”
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
< /Directory >
■ <Directory /home/*/public_html>タブのoptionを編集(ユーザページが作れるようになる)。
#
# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only.
#
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Options FollowSymLinks ExecCGI
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
■ DirectoryIndexを編集。
#
# DirectoryIndex: Name of the file or files to use as a pre-written HTML
# directory index. Separate multiple entries with spaces.
#
DirectoryIndex index.html index.htm index.cgi index.php index.php3 index.php4 index.pl
■ CGIを使えるようにAddHandlerを編集。
#
# AddHandler allows you to map certain file extensions to “handlers”,
# actions unrelated to filetype. These can be either built into the server
# or added with the Action command (see below)
#
# If you want to use server side includes, or CGI outside
# ScriptAliased directories, uncomment the following lines.
#
# To use CGI scripts:
#
AddHandler cgi-script .cgi .pl
4) コンフィグレーションテスト及び起動
# /usr/local/apache/bin/apachectl configtest
シンタックスエラーがなければ、起動しよう!
# /usr/local/apache/bin/apachectl start
5) 動作テスト
テスト用の日本語のindex.htmlを作る。
# cd /usr/local/apache/htdocs
# mv < 日本語のindex.htmlファイル > index.html
http://localhost:8080/ でアクセスしてApacheのおなじみのテスト画面が出れば成功!
3.Apacheの自動起動の設定( 俺のやり方 )
(この方法はあまり推奨しないですが(ーー;)、しかし俺はやってる! いやだっていうなら止めてね!正式な方法は 2) で行うだがね)
1) /etc/rc.dフォルダから自動起動させる
# cd /etc/rc.d/
# vi rc.local
一番最後の方に以下を追加。
#!/bin/sh
省略
if [ -x /usr/local/apache/bin/apachectl ]; then
/usr/local/apache/bin/apachectl start
fi
2) chkconfig起動スクリプト(スタート・ストップスクリプト)
# vi /etc/init.d/apache
以下のスクリプトをエディト
#!/bin/bash
# chkconfig: 2345 30 30
# description: Apache Script
start() {
echo -n “Starting Apache: “
/usr/local/apache/bin/apachectl start
return 0
}
stop() {
killall httpd
return 0
}
case “$1” in
start)
start
;;
stop)
stop
;;
esac
# chmod 755 /etc/init.d/apache
# chkconfig –add apache
# chkconfig apache on
以上
コメント