Apache2インストール記録
以前、Apache2をインストールしたので、その記録を書いておく。
ここからダウンロード:http://httpd.apache.org/download.cgi
その後、展開してインストール。
$ tar xzvf httpd-2.2.11.tar.gz $ ./configer --prefix=/usr/local/apache2 $ make # make install # /usr/local/apache2/bin/apachectl start
「--prefix=/usr/local/apache2」はインストールディレクトリ指定。あとは通常通りの手順を踏んでApacheの起動が正常にできれば完了といったところだ。
httpd.confの設定
サーバ名称変更
ServerName [IP address]
モジュール(mod_userdir.c)の設定。ユーザ毎に公開ディレクトリの作成
<IfModule mod_userdir.c> UserDir public_html </IfModule>
ユーザ毎のディレクトリアクセス権限等
<Directory /home/*/public_html> Options FollowSymLinks ExecCGI AllowOverride None Order deny,allow Allow from all </Directory>
「Allow from all」のところを最初「Deny from all」としていて、まったくアクセスできなかったよ。何でか分かるまで時間食った。ダメだね理解せずになんだかんだやると。
ちなみに、その時出ていたエラー
[Sun Jul 05 18:33:28 2009] [error] [client 192.168.32.1] client denied by server
configuration: /home/knoppix/public_html/index.html
あとはPerl大好きっ子にとってはスクリプトの指定も行わねば、
<IfModule mime_module> AddHandler script-type .cgi .pl </IfModule>
これで各ユーザのホームディレクトリの「public_html」以下に.cgiや.plのスクリプトを実行する事ができる。ちなみに「public_html」以下じゃなく「cgi-bin」以下で動かす場合はこちらの方がいいのかな。
<Directory /home/*/public_html> Options FollowSymLinks AllowOverride None Order deny,allow Allow from all </Directory> <Directory /home/*/public_html/cgi-bin> Options FollowSymLinks ExecCGI AllowOverride None Order deny,allow Allow from all </Directory>
「Options」の項目に「ExecCGI」を指定する。と自身と配下のディレクトリでスクリプトが実行可能となる。でいいんだよね。あんまりApacheの設定やった事無いからな〜まあいいや、本来であればセキュリティーも考えて「Allow」「Deny」をきちんと設定した方がよいのだろうが、まあいいや、また今度やろ。
項目名 | 内容 |
---|---|
FollowSymLinks | シンボリックリンクを許可する |
ExecCGI | CGIの実行を許可する |
Indexes | ディレクトリの中を一覧表示可能にする(Web上で) |