これまでなんとなくの知識でwebサーバを使っていたのですが、そろそろ基礎からがっちり固めてやる必要がありそうです。webサーバーとしてはapache以外にもlighttpdとかnginx(えんじんえっくす)とかありますが、やっぱりapacheが基本だと思うので(あとドキュメントも多いしね)、apacheにフォーカスして気になる部分をまとめていこうと思います。
セクションコンテナ
範囲を指定するディレクティブのこと。
DirectoryIndex
ファイル名を指定せずにアクセスした場合に表示するページ、つまりインデックスページの名前を指定するディレクティブです。
Optionsディレクティブ
いろんな設定をするディレクティブ。Optionsを書かなかった場合は、下記のように書いたのと同じになります。
Options ALL
例
通常パターン
Options Indexes ExecCGI
+, -で設定の追加/削除ができます
Options +Indexes -ExecCGI
通常パターンを複数書いた場合は、後に書いた設定の方が有効になります。
Optionsディレクティブのオプション
All
MutiView以外の全てのオプションを指定したのと同じです。
FollowSymLinks
シンボリックリンクを辿るのを許可します。
SymLinksIfOwnerMatch
ファイルやディレクトリの所有者とシンボリックリンクの所有者が同一の場合だけ、サーバがリンクを辿ることを許可する。だそう。セキュリティを考えると、FollowSymLinksよりもこちらを使った方がよさそう。
Includes
SSIの利用を許可します。SSI(Server-Side Include)とは、他のファイルやプログラムの実行結果をページの一部に組み込む機能を指します。RailsやPHPを使っている場合は使わない機能です。
IncludesNOEXEC
#exec cmd及び#exec cgi以外のSSIの利用を許可します。
Indexes
クライアントがディレクトリのURLを要求していて、かつインデックスファイルが存在しない場合にディレクトリ構成を表示する。
MultiViews
MultiViewsをサポート。MultiViewsとは、リクエストヘッダに合わせてレスポンスを変更できるようにする仕組みです。詳しくは下記を参考のこと。
Aliasディレクティブ
Aliasディレクティブを使うと、ドキュメントルートの外のディレクトリも公開できます。apache2.2系であれば、このあたりの設定はhttpd-autoindex.confに書いてあります。
例
Alias /icons "/usr/local/apache2/icons"
下記のように書いてもいいけど、そうするとhttp://www.example.com/iconsのように末尾の"/"を省いたときにNotFoundになるので、icons/index.htmlにアクセスさせたいときは上記の書き方の方がよいと思います(本来はApache側でディレクトリかファイルかの判別をさせるのは間違いらしいので、下記の書き方で問題ないときは下記のように書いた方がよいみたい)。
Alias /icons/ "/usr/local/apache2/icons/"
参考
Apacheハンドブック | |
Ben Laurie おすすめ平均 LINUX上のWEBサーバの基本 Apache使い必須 Amazonで詳しく見る by G-Tools |
できるPRO Apache Webサーバー Apache2/1.3対応 (できるPROシリーズ) | |
辻 秀典 おすすめ平均 第2刷買いました 良い本とは思いますが初心者向きでは無いと思います。 Amazonで詳しく見る by G-Tools |