httpd.confの設定をすべて知ることが必要になったので
上から1つずつ設定をググっていきたいと思います
あくまでも自分が調べた結果です。
今回の環境
では早速やっていきましょう
ServerRoot
ServerRoot "/usr"
これはログファイルやconfファイルが格納されるところのパスです。
これからの設定はここからの相対パスになることが多いのですが今回は違うっぽいです。
Listen
Listen 80
Apacheが使うIPアドレスとポートを指定するところです。
ポートだけを指定された場合はすべての接続からそのポートへ、
IPアドレスとポートが指定された場合はそのポート、アドレスのリクエストに対して応答します。
LoadModule
LoadModule foo_module modules/mod_foo.so
apacheのコアは本当に基本的な機能だけ提供して、モジュールで機能を追加していく形をとっているようです。
そのモジュールをロードするためにこれを使います。
PHPとかもここでロードされます。
User
Group
User _www Group _www
ここでは実行ユーザー、グループを設定します。
Apacheの実行権限をしっかりしていればセキュリティ向上につながります。
ServerAdmin
ServerAdmin you@example.com
エラーメッセージが出た時などに連絡先のEmailアドレスなどを書いておくところ
ServerName
ServerName www.example.com:80
ホスト名を指定するものです
バーチャルホストを設定するときには必要みたいです。
DocumentRoot
DocumentRoot "/Library/WebServer/Documents"
コンテンツを置くところ。index.htmlとかを置くところ。
Directory
<Directory パス> </Directory>
パスのところ以下のディレクトリが対象となる。
権限とか認証とかがそこのディレクトリだけ設定するとかができる。
Order
Allow
Deny
Order Allow,Deny Allow from example.com Allow from 127.0.0.1
アクセス権限を設定できる。
上記の場合だとホワイトリスト形式で「example.com」と「127.0.0.1」を許可します。(それ以外はすべて遮断)
Order Deny,Allow Deny from all
これはブラックリスト形式ですべてを遮断しています。
これであってるか心配・・・笑
Options
Options FollowSymLinks MultiViews
apacheのオプションを設定します。
FollowSymLinks | ディレクトリ内でシンボリックリンクを辿れるようにする |
All | ほぼすべての機能をオン |
Indexes | ファイル一覧を見れるようにする |
MultiViews | HTTPの機能で言葉の言語とかをみてくれてページを用意しておけば振り分けてくれるのかな? |
AllowOverride
AllowOverride None
.htaccessをどうするかの設定です。
Noneだったら無視、Allだったらすべて設定。
部分設定とかもできる。
http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride
DirectoryIndex
DirectoryIndex index.html index.php
ディレクトリにアクセスしてきた場合にそのファイルが有ればそれを返す
上記の場合
http://localhost/にアクセスしてきた場合に
index.htmlを探してなければindex.phpを探す。
ErrorLog
ErrorLog "/private/var/log/apache2/error_log"
apache出されるエラーを格納するファイル名を指定する。
LogLevel
LogLevel warm
どのレベルのエラーまで出すかを選択できる。
http://httpd.apache.org/docs/2.2/mod/core.html#loglevel
LogFormat
LogFormat "%h %l %u %t \"%r\" %>s %b" common
ログのフォーマットを自分で決められるようです。
http://www.adminweb.jp/apache/log/index2.html
ここで挫折しました。。。。。。。。。。