 |
|
1 2 3 次のページ
|
 |
Apacheの基本的な設定・パフォーマンスチューニングのポイント
|
こんにちは。ビーブレイクシステムズの木下です。「第7回:Apache+SSL環境を構築しよう!」はSSLのメカニズムについて解説しました。今回は、Apacheの基本的な設定・パフォーマンスチューニングのポイントについて解説します。
|
Apache設定ファイルとは
|
Apacheは、httpd.confというテキストファイルに「ディレクティブ(命令、コマンドの意)」と呼ばれる専用の命令を記述することで設定します。標準Apache配布に同梱されているディレクティブだけで約330もあります。非常に数が多いので、最初からすべても覚える必要はありません。必要に応じて1つ1つ理解していきましょう。
今回は、設定ファイルの書き方や代表的なディレクティブをいくつか紹介します。ぜひ皆さんも手を動かして、試してみてください。
|
設定ファイルの構文
|
Apache設定ファイルの構文は非常に単純で1行に1つのディレクティブから構成されています。はじめにディレクティブを記述し、空白に続いてディレクティブに与える設定値を記述するだけです(例:DocumentRoot /var/www)。
ディレクティブは基本的に大文字と小文字は区別しません。ただし、UNIX系OSでのファイル名やディレクトリ名については大文字と小文字が区別されます。また、「#」ではじまる行はコメントとして無視されます。ただし、ディレクティブ後ろにコメントを含めることはできません。また、ディレクティブの前の空白は無視されるので、設定をわかりやすくするためのインデントが可能です。
|
設定の有効範囲
|
設定ファイル中のディレクティブは、「全体の設定」と「範囲を指定(特定のディレクトリやファイル、URLのみに適用)した設定」の2種類があります。この範囲のことを「セッションコンテナ」といいます。
Apache標準のセッションコンテナにはディレクトリを示す<Directory>や、ファイルを示す<Files>、URLを示す<Location>などがあります。他のセッションコンテナについては「http://59.106.2.6/manual/sections.html」を参照してください。
比較順番 |
内容 |
セッションコンテナ |
1 |
ディレクトリ |
<Directory>(正規表現なし) |
2 |
ディレクトリ |
<Direcotry>(正規表現あり)、<DirecotryMatch> |
3 |
ファイル |
<Files>、<FilesMatch> |
4 |
URL |
<Location>、<LocationMatch> |
表1:セッションコンテナの優先順位
ディレクティブ名 |
設定 |
概要 |
ServerRoot |
ServerRoot <ディレクトリパス> |
Apacheのシステム全体のルートとなるディレクトリを指定します。 |
Listen |
Listen <ポート番号> |
Apacheが接続を受け付けるポート番号を指定します。 |
DocumentRoot |
DocumentRoot <ディレクトリパス> |
Webページとして公開するコンテンツを格納する最上位のディレクトリを指定します。 |
Include |
Include <設定ファイルパス> |
他の設定ファイルを読み込みます。 |
erverTokens |
ServerTokens <オプション> |
サーバのレスポンスヘッダを設定します。 |
ServerSignature |
ServerSignature <On|Off> |
サーバが生成するページのフッタを設定します。 |
表2:今回解説するディレクティブ一覧
|
セッションコンテナの優先順位
|
複数のセッションコンテナが競合する場合、「1. <Directory>(正規表現なし)」「2. <Direcotry>(正規表現あり)、<DirecotryMatch>」「3. Files>、<FilesMatch>」「4. <Location>、<LocationMatch>」の順番で解釈されます(表1)。また解釈される順番が後になる設定で上書きされていきます。
同じセッションコンテナ同士で競合する場合、<Directory>以外は設定ファイルに登場する順番で解釈されます。<Direcotry>については、ディレクトリが短いものから長いものへと処理されます。複数の<Directory>が同じディレクトリに適用される場合は、設定ファイル中の順番に従って処理されます。
|
Apache設定ファイルを設定する
|
それでは、実際にApache設定ファイルを設定してみましょう。今回は表2にあげた代表的なディレクティブについて解説します。
|
1 2 3 次のページ
|

|
|

|
著者プロフィール
株式会社ビーブレイクシステムズ 木下 喜雄
Javaスペシャリスト。前職ではCOBOL、Visual Basicを用いた大規模流通業向けシステム開発を行う。その現場で大規模システム構築時の開発効率の向上を目指してオブジェクト指向的な考え方を身につける。その後独学でJava言語を習得し、Java専業ベンダーであるビーブレイクシステムズに転職、現在は、Javaを用いた開発だけではなくお客様とのリアルコミュニケーションを実現できるマルチなエンジニアを目指し、日々奮闘中。
|
|
|
|