【01: Web サーバの設定ファイル】

「httpd.conf」ファイルはサーバ設定情報が記述されている非常に重要なApache 設定ファイルです。
このファイルの書き換えには十分な知識が必要になります。
「httpd.conf」ファイルは、初期状態では、ルートオーナー権限になっておりますので、FTP接続でファイルをダウンロードする事はできません。
「chown」コマンドで、オーナー権限を管理者に変更されてから、FTP接続でダウンロードされるか、直接viコマンド等のエディタコマンドで編集を行って下さい。

どの方法で行うにせよ、「httpd.conf」ファイルは非常に重要な設定ファイルですので、 編集作業前には、必ずバックアップ用のファイルを作成される事を強くお薦め致します。

「httpd.conf」ファイルの役割は、主に以下の3つの設定を行っています。
1) Apacheサーバプロセスの全般的な制御を行うためのディレクティブ
全般にわたる環境設定

2) バーチャルホストでない「main」もしくは「default」サーバのパラメータ指定を行うためのディレクティブ
ここで指定した値は、すべてのバーチャルホストの初期値として反映されます。

3) Apacheサーバプロセスが、IPアドレスやホスト名により別々に要求を受け付けた際の各バーチャルホスト毎のパラメータ指定をおこうためのディレクティブ

作業によりhttpd.confを変更し、動作がおかしくなった際のご参考にされてください。
<サーバホスト名> とある場所にお客様固有の情報が入ります。< > は不要です。

※以下の利用例や、その他の目的で「httpd.conf」ファイルを書き換える際には、
必ず作業前の状態の「httpd.conf」のバックアップファイルなどをを作成してください。
■httpd.confファイルの利用例
SVシリーズ では、管理者ユーザと一般ユーザに与えられたFTP接続の権限でアクセスする先は「/home/ユーザ」と決まっています。
そして、その場所はWeb上からアクセスする事はできませんが、 httpd.confを上手く書き換えるとユーザIDのhomeにApacheでアクセスすることが可能になります。
例:
UserID:sato
HomeDir:/home/sato
表示ディレクトリ:/home/sato/www/

この設定は、/home/ユーザ名/www/に対して有効となりますので、
ユーザホームディレクトリ内に「www」フォルダを作成して下さい。
下記設定で、ユーザホームディレクトリに、http://YourDomain/~sato のようなアドレスで
接続する事が可能となります。
オリジナル【httpd.conf】

<IfModule mod_userdir.c>
UserDir www/htdocs

#Allow CGI's for a UserDir user
#ScriptAliasMatch /~(.*)/cgi-bin(.*) "/home/$1/www/cgi-bin$2"

#Disable a set of users
#UserDir enabled
#UserDir disabled user1 user2 user3
</IfModule>

<Directory /home/*/www>
AllowOverride All
Options Indexes MultiViews SymLinksIfOwnerMatch IncludesNoExec
</Directory>
修正後の【httpd.conf】

<IfModule mod_userdir.c>
# UserDir www/htdocs
UserDir /home/*/www

ホームディレクトリの個所に変更します。
「*(アスタリスク)」は、/home以下にあるユーザディレクトリすべて対応の意味です。

# Allow CGI's for a UserDir user

ScriptAliasMatch /~(.*)/cgi-bin(.*) "/home/$1/www/cgi-bin$2"
この行を有効にすると/home/*/www/cgi-bin のディレクトリがあった場合、
その中でCGIがつかえます。


# Disable a set of users
UserDir enabled <マスターユーザID>
#UserDir disabled user1 user2 user3
</IfModule>

<Directory /home/*/www>
# AllowOverride All
# Options Indexes MultiViews SymLinksIfOwnerMatch IncludesNoExec
Options All
AllowOverride All
<Limit GET POST>
order allow,deny
allow from all
</Limit>
</Directory>

すべて許可を可能にしています。/home/*/www以下のどこでもCGIが可能です。
希望しない場合は、Optionsの設定を行ってください。
修正後、 1)サーバの再起動をすると/home/sato/www/に以下のようなURL記述でアクセス可能となります。
http://YourDomain/~sato
でWebアクセス可能となります。
サブホスト設定時にこの方法を応用すると、DNS書き換え前にweb上からサブホストディレクトリ内容の閲覧が可能となります。
上記方法でweb表示可能になるのは、「/home/USER/www/」フォルダ以下になりますので、サブホストのドキュメントルートを「home/USER/www/subhost.com/」としている場合は、その領域へのアクセスURLは、以下のようになります。
http://YourDomain/~USER/subhost.com/