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 を実行します。