Apacheの設定
■基本設定
Apacheはhttpdというサービス(デーモン)で動いている。その設定ファイルは通常、/etc/httpd/conf/に置かれているhttpd.confである。
httpd.confを編集する事で、様々な設定変更をする事ができる。
DocumentRoot “/var/www/html” |
/var/www/html/にindex.htmlファイルを置く
service httpd startコマンドでhttpd(apacheデーモン)を起動
ブラウザを立ち上げ、http://localhost/index.htmlに飛ぶ。
index.htmlに記述した内容がきちんと見れていればOK
ネットワークに繋がった他のマシンからIPアドレスで同じくindex.htmlが見れるか確認。見れない時は、セキュリティレベルをきちんと設定していない場合がある。
lokkitコマンドを使用し、許すNICやプロトコルを指定する。
nmapコマンドで開いているポートをスキャン。
いらないポートで動いているデーモンを切ればポートも遮断される。
■Apache日本語化(始めは英語標準になっているのでEUC−JPを標準にする)
/etc/httpd/conf/httpd.confの設定を、日本語用に書き換える。日本語の文字コードとしてはShift-JISとEUC-JP、iso-2022-jpなどがあるが、Shift-JISとEUC-JPで使えるように設定すればよい。
重要なのは次の3点である。
・AddCharsetとして様々な言語が書かれてあるが、その先頭の行に以下の設定を追加する。
AddCharset shift_jis .sjis AddCharset EUC-JP .euc-jp |
・AddLanguageとしても十数行の設定があるが、jaを先頭にしてやる。
AddLanguage ja .ja |
・LanguageProrityの一番手前にjaを置く。
LanguagePriority ja en da nl et fr de el it kr no pl pt pt-br ltz ca es sv tw |
■CGIの実装
CGIの動作はmod_perlというモジュールで実現している。
モジュールを動かすには/etc/httpd/conf/にあるhttpd.confファイルを編集し、CGIが動く設定してやらなければならない。
cgiファイルはhttpd.confの
ScriptAlias /cgi-bin/ “/var/www/cgi-bin/” |
という記述で/var/www/cgi-bin/以下に置く事が決まっている。
ファイルのパーミッションを「ls ?l」コマンドで確認後、
# chmod 755 script.cgi |
のようにchmodコマンドで適切なパーミッションに変更。特にcgiファイルは実行できなければならないため、パーミッションを「755」などに変更する。
CGIモジュールのある場所を確かめておく。
# locate */perl |
とすると
/usr/bin/perl /usr/share/doc/bash-2.05b/loadables/perl /usr/share/vi/perl |
のように出てくるどれかである。おそらく1つが実行ファイルで2つはディレクトリであるので、「ls ?l」コマンドで実行ファイルを探す。
# ls -l /usr/bin/perl -rwxr-xr-x 2 root root 12572 2月 19 12:51 /usr/bin/perl |
というようにパーミッションにxのあるものが実行ファイルである。これを、CGIファイルの書き出しに「#!/usr/bin/perl」として指定する。
■SSIの実装
SSIとはServer Side Includesの略で、Apacheの内部ではIncludesという名で使われている。
<Directory “/var/www/html”> Options Indexes FollowSymLinks Includes ….. </Directory> |
の場所にある「Options」の後に続くパラメータはそのディレクトリ以下で実装されるオプションを示す。ここではSSIを使うために、Optionsの行にIncludesを書き加える。
.htaccessについて
.htaccessファイルはそのフォルダに置かれているSSIファイルの動作を決める事のできるファイルである。例えhttpd.confで別の設定がされていてもhttpdは.htaccessを参照して動作を行う。
Options +ExecCGI +Includes -Indexes AddType text/x-server-parsed-html .html AddType text/x-server-parsed-html .stml AddType application/x-httpd-cgi .cgi AddType audil/x-pn-realaudio .ra |
httpd.confに次の設定が書かれてある。shtmlを書き換える事で、SSIを実行させる識別子を変える
AddOutputFilter INCLUDES .shtml |
SSIの記述は
<!--#printenv --> <!--#echo var=”DATE_LOCAL” --> |
などのようにする。
■ASPの実装
■PHPの実装
■suExecの実装