|
|
|
|
サーバーのセットアップ
|
|
Webサーバーの構築
|
||
webサーバーについてApacheの構成と設定の準備全般的な動作環境の設定コンテナディレクティブの形式コンテナディレクティブの設定ドキュメントルートの設定等ユーザーディレクトリの設定バーチャルホストの設定CGIの実行許可の設定ユーザー認証機能の設定httpdのコントロールhttpdの動作チェックポートフォワーディングの設定 |
ドキュメントルートの設定等このパートでは httpd の主設定アイル "/etc/httpd/conf/httpd.conf" の中から、コンテナ式ディレクティブに関係する部分の設定を説明します。
個々のディレクティブの具体的な内容については、
"/(ルートディレクトリ)"の設定WBEL3 及び CentOS3 では 292行目〜 、WBEL4及びCentOS4では 275行目〜 、CentOS5では 291行目〜 あたりに記述があります。 構築中のLinuxサーバー のファイルシステムの最上位に対する設定です。 httpd は、それが HTTP には全く関与しないものであっても、 OS 上のすべてのディレクトリとファイルに対してアクセスに関する設定を行う必要があります。 実際にhttpdが コンテンツ データとして クライアント に送信するものはファイルシステム全体のごく一部に過ぎませんから、コンテンツに関与しないその他のディレクトリやファイルに対しては「必要最低限の設定」を施しておきます。 |
||||||||
|
httpdのディレクトリ式コンテナの設定は、ディレクトリ構造の上位から順に適用されていきますので、最上位である "/(ルート)" ディレクトリに対してこの「必要最低限の設定」を行っておけばまず安心というわけです。 デフォルト の設定は、
ですから、単純に解釈すると、 「 シンボリックリンク への参照を許可し、アクセスファイルの参照を禁止する。」 |
|||||||||
| ここは最上位のディレクトリの設定ですから、引き継ぐべき上位の設定は存在しません。従ってデフォルト値が設定される、というわけです。 |
となりそうですが、実は
"Order"
ディレクティブ
と記述されていると解釈する必要があります。 |
||||||||
例えばこの設定の影響で、運用するつもりのないwebメール
アプリケーション
である
SquirrelMail
も自動的に有効になっていしまいます。
もちろん、セキュリティ的には問題ありです。 |
ですから正しくは、 「シンボリックリンクへの参照を許可し、アクセスファイルの参照を禁止し、すべての ノード からのHTTPアクセスを許可する。」 と設定されていることになります。 |
||||||||
|
|
従って、 セキュリティ を考慮すれば、この設定は好ましいものではありません。ここは、
と、 明示的にHTTPによるアクセスを禁止してください 。 実際にはドキュメントルートとして指定されたディレクトリ以外は、クライアントから直接 URL で参照することはできませんから、HTTPによるアクセスが許可されているだけで、それが直接セキュリティホールになるというわけではありません。 しかし、ここでとりあえず「すべてのファイルシステムに対してHTTPアクセスを拒否」という設定を施しておけば、「想定外のディレクトリを間違えてHTTP配信してしまう」というミスはずっと少なくなります。 "/var/www/html(ドキュメントルート)"の設定WBEL3 及び CentOS3 では 307行目〜 、WBEL4及びCentOS4では 290行目〜 、CentOS5では 306行目〜 あたりに記述があります。
"DocumentRoot"
ディレクティブ
通常の運用では、ここがHTTPで配信される最上位のディレクトリとなりますから、一般的には セキュリティ を高めに設定し、動作負荷の高い設定はできるだけ避けるようにします。 デフォルト 設定の記述部分には、行間にコメント文が挿入されています。
コメントの部分を省略すると、次のようになります。
すなわち、 |
||||||||
|
|
「ディレクトリ構造の表示と シンボリックリンク への参照を許可し、アクセスファイルの参照を禁止し、すべての ノード からのHTTPアクセスを許可する。」 と設定されていることになります。
もしもディレクトリ構造の表示が必要でなければ、
"Options"
ディレクティブから
"Indexes"
オプションを削除してください
SSI
や
CGI
の実行許可をドキュメントルート全域で許可したい場合は、"Options"ディレクティブに、
"Include"
オプション
ただ、ドキュメントルートの中のどこででもこういった サーバーサイドアプリケーション の実行許可を与えることは、セキュリティ面を考えるとあまり勧められるものではありません。 できれば、それらの実行プログラムは一ヶ所のディレクトリにまとめて、そのディレクトリにのみ実行を許可するように設定すべきです。
"AllowOverride"
ディレクティブ
"Order" "Deny" Alow" の各ディレクティブの設定は、コンテンツをすべてに公開するのが目的であればそのままでOKです。
稀なケースかも知れませんが、ドキュメントルートを他の目的で運用し、特別な設定を行う場合には、
ごく一般的なお勧めの設定は、以下のとおりです。
この <Directory /var/www/html> の設定が、以降の設定の基準ともいうべき設定になります。 ".ht"で始まるファイルの設定WBEL3 及び CentOS3 では 405行目〜 、WBEL4及びCentOS4では 388行目〜 、CentOS5では 404行目〜 あたりに記述があります。
"AllowOverride"
ディレクティブ
ということは、例えば、 "/var/www/html/member" 以下にアクセスファイル ".htaccess" を配置したとすると、その内容は クライアント から、 "http://www.obenri.com/member/.htaccess" で閲覧できる可能性があることを意味しています。 一般にアクセスファイルは、自分以外の第三者にhttpdの設定の一部を任せるためのものですが、その人が自分の管理する".htaccess"にきちんとアクセス制限をかけてくれるという保障はどこにもありません。 |
||||||||
|
|
そのため"/etc/httpd/conf/httpd.conf"には デフォルト で、
という設定があります。この設定の意味は、 「".ht"で始まるファイルのHTTPによるアクセスを全て拒否する。」 です。設定対象が 正規表現 になっていますが、これは ワイルドカード の ".ht*" と同じ意味になります。
"AccessFileName"
ディレクティブ
この設定があれば、 構築中のLinuxサーバー のファイルシステム全域で、".ht"で始まるファイルすべてにHTTPでのアクセスができなくなりますから、セキュリティについて理解の浅いコンテンツ作成者にも安心してアクセスファイルの運用を任せられる、というわけです。 設定を修正する必要は特にありません。 サーバーからのレポートディレクトリWBEL3 及び CentOS3 では 539,553,897行目 、WBEL4及びCentOS4では 521,875行目 、CentOS5では 539,837行目 あたりに記述があります。
既存の
"Alias"
ディレクティブ
各々の デフォルト の設定を、対応する"Alias"ディレクティブとともに以下に示します。 |
||||||||
|
WBEL4及びCentOS4では、
"/manual"
に関する記述は
"/etc/httpd/conf.d/
manual.conf" にあります。 |
これら"Alias"ディレクティブによって指定されたディレクトリは、ドキュメントルート以下の階層ではありませんから、このようにそれぞれのディレクトリに明示的に各ディレクティブを設定する必要があります。 個々のディレクティブに関する説明は割愛しますが、これらはいずれもhttpdが自分自身で使用するものですので、設定を修正する必要はありません。
|
||||||||
| このページの先頭へ↑ |
とりあえず設定完了この段階まで設定が終われば、 FTPクライアント でドキュメントルート "/var/www/html" に コンテンツデータ を送り込むことで、問題なく webサーバー として httpd を稼動させることができるはずです。
これ以上の機能が必要なければ、httpdの設定はこれで終了です。httpdの実際の操作を行う
もしも、
"http://www.obenri.com/"
以下に、自分以外のローカルユーザーに対してコンテンツスペースを貸し出すスタイルの運用をする場合は、ユーザーディレクトリの設定
"http://www.obenri.com/"
以外の
URL
を利用して、別のコンテンツを同時に配信する場合は
バーチャルホスト
の設定
CGI
を利用して動的なコンテンツを作成したい方は「CGIの実行許可の設定」
コンテンツの任意のディレクトリに、ユーザー認証による
ログイン
制限を行う場合には「ユーザー認証機能の設定」
|
|
コンテナディレクティブの設定
<<Previous
|
Next>>
ユーザーディレクトリの設定
|
| このサイトに対するご意見、ご要望、苦情、泣き言、献上品、資金援助などがございましたら こちら からお寄せください(お返事できなかったらごめんなさい)。もちろん リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |