Apache の設定(ディレクティブ)

メモ:

この情報は、Apache 2.0.54をもとに作成しています。

OS名とApacheのバージョンの表示を設定 - ServerTokens

Apacheのバージョン情報やOSの種類の表示の有無を設定できます。バージョンを知ることでできることもあるので、ちょっとしたセキュリティ確保にもなります。

Prod[uctOnly]
Server: Apache といったように送ります。
Major
Server: Apache/2 といったように送ります。
Minor
Server: Apache/2.0 といったように送ります。
Min[imal]
Apache/2.0.54 といったように送ります。
OS
Server: Apache/2.0.54 (Unix) といったように送ります。
Full (もしくは未指定)
Server: Apache/2.0.54 (Unix) PHP/4.2.2 MyMod/1.2 といったように送ります。
ServerTokens ProductOnly

公開するディレクトリの設定 - DocumentRoot

http://サーバ名/index.html 又は http://サーバ名/ にアクセスした時のサーバ上のディレクトリを指定します。

私の場合、一般ユーザでホームページを管理したいため変更しています。

DocumentRootを変更した場合、Directoryディレクティブも忘れずに変更します。

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/home/webadmin/public_html"

ディレクトリにアクセスした時に表示するファイルの設定 - DirectoryIndex

http://サーバ名/ 等ファイルを指定しない状態でアクセスした際、Apacheがいくつかのファイルを 自動的に検索するように指定します。

複数のファイルを指定するには、ファイル名をスペースで区切って指定します。

DirectoryIndex index.html index.htm index.shtml index.cgi index.php

ディレクトリ単位にルールを設定 - <Directory>

Directoryディレクティブにパスを指定することで、ディレクトリ単位にルールを設定することができます。

Directoryディレクティブ内に指定する代表的なディレクティブ

AllowOverride
.htaccess ファイルがある場合、どのディレクティブを上書きするかを指定します。
Options
特定のディレクトリに対して どの機能が使用可能かを指定します。
Order
サーバへのアクセス可否を設定する Allow と Deny の評価順を指定します。
allow
サーバのある領域にアクセスできるホストを指定します。
Deny
サーバがアクセスを拒否するホストを指定します。
<Directory /home/webadmin/public_html/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
    # This directive allows us to have apache2's default start page
    # in /apache2-default/, but still have / go to the right place
    RedirectMatch ^/$ /apache2-default/
</Directory>

エラーのときに表示するページを指定する - ErrorDocument

リンク切れ等エラーのときに表示するページを指定することができます。

エラーコードとファイルを指定します。

ErrorDocument 500 http://foo.example.com/cgi-bin/tester
ErrorDocument 404 /cgi-bin/bad_urls.pl
ErrorDocument 401 /subscription_info.html
ErrorDocument 403 "Sorry can't allow you access today" 

スクリプトの配置先を設定 - ScriptAlias

スクリプトの配置先を変更することができます。

ScriptAlias /cgi-bin/ /home/webadmin/cgi-bin/

http://サーバ名/cgi-bin/foo へのリクエストに対してサーバはスクリプト /home/webadmin/cgi-bin/foo を実行します。