Apache2.0.55のhttpd.conf

感想おまちしてます!

Apacheの設定ファイル。Apache2をベースに記述している。

スポンサーリンク

最低限の設定の確認

ServerRoot

Apacheのインストール先。

ServerRoot "C:/Program Files/Apache Group/Apache2"

Listen

サービスポートの設定

Listen 80

ServerAdmin

サーバ管理者のメールアドレス

ServerAdmin test@test

ServerName

ホスト名の設定

ServerName localhost:80

パフォーマンスの設定

KeepAlive

Onにすることで、同一クライアントに対してコネクションを使い回す。

KeepAlive On 

MaxKeepAliveRequests

1つのKeepAliveが接続から切断までに受け付けるリクエストの数。大きな値を設定すると一度の接続で処理できる要求数が多くなるが、1ページ当たりの平均的なファイル数+αぐらいにとどめておく。

MaxKeepAliveRequests 100 

KeepAliveTimeout

指定された秒数の間、KeepAliveでコネクションを張っているクライアントからの接続がなくてもKeepAliveを維持する。サーバの状況を見ながら少しずつ小さな値を設定する。

KeepAliveTimeout 15 

HostnameLookups

ログへの記録などで、ドメイン名の逆引きなどのDNS問い合わせ処理をしない。

HostnameLookups Off

ドキュメントルートの変更

DocumentRoot

Webサーバのドキュメントルートを指定する。ドキュメントルートとはWebコンテンツ(HTMLファイルなど)を格納するディレクトリのこと。以下のように記述し、ブラウザより「http://domainname/」にアクセスすると「C\root」以下のindex.htmlが検索される。

DocumentRoot "C:/root"

ついでにDirectoryの設定も変更する。

<Directory "C:/root">

icons

iconsディレクトリも変更。

Alias /icons/ "C:/root/icons/"

<Directory "C:/root/icons/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

cgi-bin

これも変更。

ScriptAlias /cgi-bin/ "C:/root/cgi-bin/"

<Directory "C:/root/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

error

これも変更。でもうまくいかなーいので調査中。

Alias /error/ "C:/root/error"
Alias /error/include/ "C:/root/error/include/" ←これはいらないっぽい

基本的なセキュリティ設定

サーバ情報の出力制御

出しても意味がないので出ないようにする。

ServerTokens ProductOnly
ServerSignature Off

.htaccessの制限上書き禁止

.htaccessを無効にする。

<Directory />
省略
AllowOverride None
</Directory>

許可したいディレクトリがある場合は以下のように記述

<Directory /許可するディレクトリのフルパス/>
省略
AllowOverride All
</Directory>

Control access to UserDir directories.

ここでBasic認証などのアクセス設定ができる。

WEB/Apache/Basic認証

ディレクトリの非表示

「/apacheroot/icons」や「/apacheroot/manual」など、デフォルトで存在するフォルダのアクセス設定を行う。表示する意思を持って表示しないと、エクスプローラにフォルダの中身が表示されてしまうからだ。

これを防ぐためには下のようなディレクティブの設定を行うといい。Optionsでフォルダのどの機能が使用可能かを制御する。

<Directory "C:/root/apache2/icons/">
Options None <=ここがポイント
AllowOverride None
Order allow,deny
Allow from all
</Directory>