ディレクトリごとの基本設定、4回目(06-07)
ソースからインストールするとドキュメントルートは /usr/local/apache2/htdocs になる。httpd.conf では次のように書かれている。
<Directory "/usr/local/apache2/htdocs"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
Options
Optionsで指定できる機能をスペースで区切って並べる。
Options 機能1 機能2 ...
(何も設定したくない) Options None (すべて指定したい〜ただし MultiViewsはできない) Options ALL
Optionsで指定できる機能 | 内容 |
---|---|
ExecCGI | CGIの実行を許可する |
FollowSymLinks | 設定しているディレクトリ以下にあるファイルやディレクトリへのリンクを有効 |
Includes | SSI実行を許可する |
IncludesNOEXEC | 「#exec cmd」「#exec cgi」以外のSSIの実行を許可する |
Indexes | クライアントがアクセスしたディレクトリにindex.htmlファイルが存在しない場合、ディレクトリ内のファイルの一覧を表示 |
MultiViews | コンテンツネゴシエーションで適切な言語のHTMLや画像が選択されるようにする |
SymLinksIfOwnerMatch | リンク先の所有者がディレクトリの所有者と同一の場合にリンクを有効にする |
All | MultiViews以外を有効にする |
None | すべてを無効にする |
AllowOverride
Order allow, deny
allow from 192.168.1.1 ←192.168.1.1からのアクセスを許可 deny from 192.168.1.1 ←192.168.1.1からのアクセスを拒否 allow from all ←すべてのホストからのアクセスを許可
Order ではアクセス制限の評価順序を指定できる。
order allow, deny
とすると許可する指定が評価された後に拒否する指定が評価される。
(192.168.1.1からだけ許可し他はすべて拒否する) order allow, deny allow from 192.168.1.1 deny all (10.0.0.100 からは拒否し他は許可する) order deny, all deny from 10.0.0.100 allow all
とすると192.168.1.1からだけ許可し他はすべて拒否する。