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>