次のページ 前のページ 目次へ

Apache HOWTO

Yoshio Shimamura <yoshios@green.ocn.ne.jp>

v1.0, 29 July 2000
この文書は、Apache のインストールとセットアップについての HOWTO です。 この文書の最新版は http://hp.vector.co.jp/authors/VA004572/index.html から入手可能です。

Table of contents


Summary

デファクトスタンダードであるapacheを用いたWeb Serverの構築。

apacheは次のような機能を持つ。

ここでは、Red Hat Linux 6.1(jp) + iiyama V400HSというプラットホームにapache 1.3.9で構築する。


Download

apacheは次のサイトからdownloadできる。

Install

/usr/srcにdownloadしたファイルを置いた場合には、次のようなオペレーションでインストールできる。
Install-Directoryには、インストール先のディレクトリを指定する。省略した場合のインストール先は、/usr/local/apacheとなる。
# cd /usr/src
# tar zxvf apache_x.x.x.tar.gz
# cd apache.x.x.x
# ./configure --prefix=[Install-Directory]
# make
# make install

httpd.conf

apacheの動作を決定する設定ファイルは、1.3.4以降、旧httpd.conf access.conf srm.confがhttpd.confに統合された。

httpd.confでは、サーバに関する基本的情報(ホスト名やサーバ管理者等)や、サーバの動作に関する設定(サービスポート、ドキュメントルート、同時起動プロセス数等)、各ディレクトリへのアクセス制御等に関する指定を行う。

ServerName www.hoge.co.jp
DNSに登録されているサーバ名(管理上通常エイリアスで指定する)
Port 80
ポート番号
ServerRoot /usr/local/apache
サーバルートディレクトリ
DocumentRoot /usr/local/apache/htdocs
ドキュメントルートを指定
DirectoryIndex index.html index.shtml...
ディレクトリが要求された場合、サーバが探すファイル名を指定
AccessFileName .htaccess
httpd.confで指定されたディレクトリアクセス制御の定義内容を書き換える内容を持つファイルを指定
UserDir public_html
http://www.hoge.co.jp/~user/で表示されるディレクトリを指定

制御対象の指定

<Directory>
絶対パスでディレクトリを指定し、下層のディレクトリとファイルを制御
<Files>
絶対パスでファイルを指定して制御
<Location>
URLで指定して制御
apacheは次の順に設定を読み込み、原則的に後から読み込まれた内容が有効となる。
  1. <Directory>
  2. .htaccess
  3. <Files>
  4. <Location>

アクセス制御

allow from host host...
hostには.hoge.co.jpなどのドメイン名やALL(全て)など
deny from host host...
hostの指定はallowと同じ
AllowOverride overrride overrride...
.htaccessで変更できる内容を指定。Optionsでオプション設定を許可、Noneを指定すると全て禁止。

オプション設定

Sample
<Directory /home/httpd/html>
Options Indexes ExecCGI FollowSymLinks
allow from ALL
</Directory>

mime.types


認証

パスワードファイルの新規作成
# htpasswd -c FILE USER
パスワードの変更
# htpasswd FILE USER

自動起動の設定

システムスタート時に自動起動するようにするには、/usr/local/apache/bin/apachectlをinitスクリプトから呼び出せばよい。 Red Hat LinuxはSysV系の初期化処理を行うので、例えばランレベル3で自動起動させるには次のようにすれば良い。
# cd /etc/rc.d/init.d
# ln -sf /usr/local/apache/bin/apachectl httpd
# cd ../rc3.d
# ln -sf ../init.d/httpd S83httpd

ログの管理

デフォルトの設定では、ログは次の場所に作成される。 ログをローテーションさせたら、apacheを再起動する必要がある。
# cd /usr/local/apache/logs
# cp -a access_log access_200002
# cp /dev/null access_log
# /usr/local/apache/bin/apachectl restart
通常、1ヶ月とかのサイクルで自動的にログをローテーションさせるためのスクリプトを用意し、cronで設定しておくのが良い。
次のページ 前のページ 目次へ