Apache -2 設定変更
Apacheのインストールフォルダの中にconfというフォルダが存在します。
その中にhttpd.confというファイルがあるかと思いますが、このファイルがApacheの挙動を設定するファイルになります。
Unix系はソフトのコンパイル時にオプションを付ける形で設定を変えたりしますが、
Windowsはインストール後の設定変更は主に上記のファイルを書き換える事で行います。
この設定ファイルの中にはディレクティブと呼ばれるApacheの動作を規定するコマンドがあるのですが、
それに適切な記述をする事でApacheの設定を行います。
ServerAdmin you@your.address you@your.addressが管理者のアドレスになります。上記の様に記述すれば問題ないです。
初期ではC:\Program Files\Apache Group\Apache\htdocs 等の様にインストールフォルダ内のhtdocsフォルダになっているかと思います。 これを変更したい場合、 C:\ドライブのC:\httpdocsというフォルダを指定したいとすると、
上の LogFormat 以下がフォーマットタイプです。
下の CustomLog 以下が記録をどこに保存するかの指示と、上記フォーマットのどれを採用するかの指定です。 LogFormatでどんなフォーマットで記録を保存するかを規定し、それをCustomLogの項目で決定するといった具合です。 初期状態では common が指定されていますが、combined を指定したければ
ServerRoot
Apacheサーバーのルートフォルダです。インストールしたばかりの初期状態では(環境によって異なります) ServerRoot "C:/Program Files/Apache Group/ApacheX.X"(Xはバージョン) とかなっていたりします。ここはすなわちどこにインストールしたかみたいなものですので書き換える必要は特に無いです。 以降の設定で、絶対パスか相対パスかの指定を行う事になるかと思います。 相対パスの指定の場合は、このサーバールートを頭に付けた場合のパスになります。ServerAdmin
サーバー管理者の連絡先(E-Mail)を記述します。ServerAdmin you@your.address you@your.addressが管理者のアドレスになります。上記の様に記述すれば問題ないです。
DocumentRoot
コンテンツをローカルのどこから読み込ませるかを指定します。 アクセスが来たら、ここです、と指示する項目です。初期ではC:\Program Files\Apache Group\Apache\htdocs 等の様にインストールフォルダ内のhtdocsフォルダになっているかと思います。 これを変更したい場合、 C:\ドライブのC:\httpdocsというフォルダを指定したいとすると、
DocumentRoot "C:/Program Files/Apache Group/Apache/htdocs"を
DocumentRoot "C:/httpdocs"という具合に書き換えましょう! また、書き換えた場合、いくつかの注意が必要です。 conf内で<directory ~>という指示が数箇所あるかと思いますが、 これらはそのフォルダの動作を規定している設定になります。 ドキュメントルートを変えた場合はこれらにも気を配る必要があります。 CGIやPHP等を利用する場合、
AllowOverride None Order deny,allow Deny from all等の設定を読込むフォルダ対象にしてやらなくてはなりません。 これを忘れると、ドキュメントルートを変えたらプログラムが動かなくなった、といった事も起こりえます。
LogFormat
アクセスログの記録を保存する際のフォーマットを指定します。 アクセスログを記録したファイルはC:\Program Files\Apache Group\Apache\logs\の中にaccess.logという名前で保存されています。 これを見ていただければ、リモートホスト名、ユーザ名、ユーザ認証によるユーザ名、アクセス日時、HTTPリクエストヘッダー、ステータスコード、転送したファイルのバイト数といった順で記録がなされています。 つまりはここをいじれば希望の情報をアクセスログに残す事ができるというわけです。 初期状態では
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog logs/access.log common
という具合に記述されていると思います。上の LogFormat 以下がフォーマットタイプです。
下の CustomLog 以下が記録をどこに保存するかの指示と、上記フォーマットのどれを採用するかの指定です。 LogFormatでどんなフォーマットで記録を保存するかを規定し、それをCustomLogの項目で決定するといった具合です。 初期状態では common が指定されていますが、combined を指定したければ
CustomLog logs/access.log commonを
CustomLog logs/access.log combinedと書き換えましょう。 設定を書き換えたら変更を反映させてから確認してみたください。ログの記録文が今までと変わっているのが確認出来たかと思います。 これは既に設定されているフォーマットからどれを選ぶか、程度の変更でしかありません。 もちろん全く自由に自分だけのフォーマットのログ出力を設定する事も可能です。 もし任意のフォルダにログを保存したいという場合にはどのようにすれば良いのでしょうか。
CustomLog logs/access.log combinedの logs/accsess.log で保存場所を指定しています。これが、もしCドライブの直下に置きたいのだとすれば
CustomLog C:/access.log combinedと書いてしまえば良いわけなのです。 人によっては凝った設定をする方もいますが、だいたいは combined を指定すれば十分です。
LogLevel
エラーログを書き出すうえでの情報のレベルを指定します。 エラーログの情報レベルは8つが用意されています。# emerg # alert # crit # error # warm # notice # info # debugの8つです。下の指定ほど多くの情報を書き出す指定になっています。 最低でも cirt 以上を指定する事が推奨されています。初期設定は warm になっています。
2008年 10月 9日ドキュメント作成
2009年 3月 25日ドキュメント更新