3.1 ソフトの入手 |
http://www.apache.org/dist/apache_1.3.3.tar.gz
3.2 インストール |
3.2.1 インストールディレクトリの決定
インストール前に、インストールするディレクトリ、 WEBページを置くディレクトリ、 logファイルを置くディレクトリを決めておきます。/usr/local/apache
/usr/local/etc/httpd/htdocs
/usr/local/etc/httpd/users
例えばディレクトリ/usr/local/etc/httpd/users/usagiを作り、以下に"indexh.tml"ファイルを置くと、
http://your.site.name/~usagiでアクセスすることが出来るようになります。
/var/httpd/logs
3.2.2 インストール
ファイルapache-1.3.3.tgzを展開するディレクトリ$Workに移動して、バイナリパッケージを展開します。 作業ディレクトリ$Workは任意のディレクトリです。3.3 コンフィギュレーション |
# Port: The port the standalone listens to. For ports < 1023, you will (36行目) Port 80 # ErrorLog: The location of the error log file. If this does not start (81行目) ErrorLog /var/httpd/logs/error_log # The location of the access logfile (Common Logfile Format). (101行目) CustomLog /var/httpd/logs/access_log common |
# This should be changed to whatever you set DocumentRoot to. (32行目) <Directory /usr/local/etc/httpd/htdocs> # /usr/local/apache/share/cgi-bin should be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. (58行目) <Directory /usr/local/etc/httpd/htdocs/cgi-bin> |
運用上問題となるのはユーザディレクトリ(UserDir)です。
ユーザディレクトリで指定されたディレクトリ以下に各ユーザのWEBページをおけば、サイトのWEBページだけでなく、ユーザのWEBページも公開できます。
以下では"usagi"というユーザが
http://www.galaxy.org.jp/~usagiのURLアドレスでWEBページを公開する方法について説明します。
ユーザディレクトリの指定方法には大きく分けて2つの方法があります。
UserDir /usr/local/etc/httpd/users |
つまり、以下の対応が成り立ちます:
/usr/local/etc/httpd/users/usagi/index.html <----> http://www.galaxy.org.jp/~usagi/index.html |
この方法の利点と欠点を挙げます:
・好きな名前でホームページを公開できる。・外部からアクセスされるディレクトリが一つなので、セキュリティを確保しやすい。
・WEBサーバに不必要なユーザアカウントを作る必要がない。
UserDir web |
/$HOME/usagi/web/index.html <----> http://www.galaxy.org.jp/~usagi/index.html |
この方法は、"/etc/passwd"ファイルを利用して各ユーザのホームディレクトリを得るので、 ユーザアカウントを持っているユーザ以外WEBページを公開することは出来ません。
注: $HOMEは各システムのユーザホームディレクトリです。
以下に今回の例を示します。
(19行目) DocumentRoot "/usr/local/etc/httpd/htdocs" (24行目) UserDir "/usr/local/etc/httpd/users" (158行目) Alias /icons/ "/usr/local/etc/httpd/htdocs/icons/" (163行目) ScriptAlias /cgi-bin/ "/usr/local/etc/httpd/htdocs/cgi-bin/" |
3.4 運用 |
3.4.1 WEBページ
まずはWEBページを書きましょう。3.4.2 起動と停止
#!/sbin/sh # # start-up and stop script for apache # # Usage: S99apache {start|stop} # PATH=/usr/bin:/bin case $1 in 'start') if [ -f /usr/local/apache/sbin/apachectl ]; then /usr/local/apache/sbin/apachectl start; echo "httpd (apache) started."; fi 'stop') if [ -f /usr/local/apache/sbin/apachectl ]; then /usr/local/apache/sbin/apachectl stop; echo "httpd (apache) stoped."; fi *) echo "usage: /etc/rc2.d/S99apache {start|stop}" esac |
3.5 参考サイト&参考文献 |
3.5.1 参考サイト
apacheのオリジナルサイトは以下の通りです。http://www.apache.org
3.5.2 参考文献
apacheの特徴の一つに、機能をモジュールとして組み込めることがあげられます。
特に"mod_perl"はperlで記述されたCGIプログラムをを含むWEBページが数多くある場合に有効です。
通常ならCGIプログラムを実行する際には処理の重いperlインタプリタを逐次起動しなければなりませんが、
apacheに"mod_perl"モジュールを組み込んでおけばそれがCGIプログラムを実行するので、CGI処理がかなり軽くなるようです。
以下に"mod_perl"の詳細な説明があります。
・UNIX MAGAZINE 98.1 WWWサーバの育て方 mod_perl (p.p.46-55)
・UNIX MAGAZINE 98.4 WWWサーバの育て方 mod_perl (p.p.44-49)
・UNIX MAGAZINE 98.8 WWWサーバの育て方 mod_perl (p.p.73-78)