次のページ
前のページ
目次へ
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
デファクトスタンダードであるapacheを用いたWeb Serverの構築。
apacheは次のような機能を持つ。
- WWW server
- PROXY server
- SSI support
- CGI support
- ホスト、ユーザ認証
- バーチャルホスト
- Web上での状態監視サポート
- MIMEベースでのスクリプト起動
- ハンドラ機能
- CERN httpdのメタファイル機能
- 改良Imagemapサポート
- エラーメッセージカスタマイズ
- URLの高度なマッピング
- HTTP/1.1サポート
- Cookieでのユーザ判断、追跡
ここでは、Red Hat Linux 6.1(jp) + iiyama V400HSというプラットホームにapache 1.3.9で構築する。
apacheは次のサイトからdownloadできる。
/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
|
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は次の順に設定を読み込み、原則的に後から読み込まれた内容が有効となる。
- <Directory>
- .htaccess
- <Files>
- <Location>
アクセス制御
- allow from host host...
- hostには.hoge.co.jpなどのドメイン名やALL(全て)など
- deny from host host...
- hostの指定はallowと同じ
- AllowOverride overrride overrride...
- .htaccessで変更できる内容を指定。Optionsでオプション設定を許可、Noneを指定すると全て禁止。
オプション設定
- All
Multiviewsを除くすべてのオプションを有効化
- ExecCGI
CGIの実行を許可
- Includes
SSIを許可
- Indexes
ディレクトリ内のIndex表示を許可
Sample
<Directory /home/httpd/html>
Options Indexes ExecCGI FollowSymLinks
allow from ALL
</Directory>
パスワードファイルの新規作成
# 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
デフォルトの設定では、ログは次の場所に作成される。
- アクセスログ - /usr/local/apache/log/access_log
- エラーログ - /usr/local/apache/logs/error_log
ログをローテーションさせたら、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で設定しておくのが良い。
次のページ
前のページ
目次へ