apache のインストール
1:ソースコードのダウンロード
# cd /usr/local/src
# wget http://www.apache.org/dist/httpd/httpd-2.2.4.tar.gz
2:解凍
# tar zvxf httpd-2.2.4.tar.gz
3:httpdのバイナリをおくためのフォルダを作成
# mkdir /opt/www
4:組み込むMPMモジュールの指定とバイナリをインストールするフォルダの指定.MPMモジュールの選択によって動作の最適化ができるらしい?
# cd httpd-2.2.4
# ./configure --with-mpm=worker --prefix=/opt/www
5:コンパイルしてインストール
# make
# make install
6:/opt/www/conf/httpd.conf の最低限の設定
ServerTokensProd // サーバ情報を送らないようにする
ServerRoot/opt/www // apacheの設定ファイルやログファイルの置き場所
ServerAdminyou@example.com // エラーが発生したときに表示されるメールアドレス
ServerNamewww.example.com:80 // サーバの自己参照URLとポート番号
Listen80 // リクエストを受け付けるIP番号(NICが複数の場合)とポート番号.
DocumentRoot/opt/www/htdocs // HTMLページを保存するディレクトリ
DirectoryIndex/index.html // 「/」で終わるリクエストを受けたときに表示するファイル
とりあえずこれで表示はできる.
セキュリティに関しては 「玄箱 - apacheをインストール」を参照.
7:プロセス所有者の設定
ユーザ:www、グループwwwを作成して、他のユーザのファイルへのアクセス権を持たないようにする.ユーザwwwは既に作成しているので、グループwwwを作成してユーザwwwを追加する
# groupadd www
# usermod -g www www
リクエストに応答するときに起動する子プロセスの所有者を設定
# vim /opt/www/conf/httpd.conf
User www
Group www
www:wwwのアクセス権を下げる.やり方は勉強中.
8:rcスクリプトの作成
# cd /etc/init.d
# vim httpd
-----------------
#!/bin/bash
start() {
echo -n "Starting Apache: "
/opt/www/bin/apachectl -k start
return 0
}
stop() {
/opt/www/bin/apachectl -k graceful-stop
return 0
}
restart() {
/opt/www/bin/apachectl -k graceful
return 0
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
esac
-----------------
起動時に実行するように init.d に登録.
# ln -s /opt/www/bin/httpd /etc/rc3.d/S91httpd
# ln -s /etc/rc2.d/S91httpd /etc/rc3.d/S91httpd