このセクションではLinux上でApache/httpdを使ってWebサーバー構築するための方法について初心者/ビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
Webサーバーの構築

Webサーバーについて

Apacheの構成と設定の準備

全般的な動作環境の設定

コンテナディレクティブの形式

コンテナディレクティブの設定

ドキュメントルートの設定等

ユーザーディレクトリの設定

バーチャルホストの設定

CGIの実行許可の設定

ユーザー認証機能の設定

httpdのコントロール

httpdの動作チェック

ポートフォワーディングの設定


自宅にWebサーバーを設置するメリットとは

元々Webサーバーの動作の元になる HTTP は、

Webサーバー 上に保存されている コンテンツ のデータを、 クライアント の要求に従って配信する」

という非常に単純な役目を担う プロトコル です。

従って、双方向にデータ送信が可能な設計になっている FTP や、 ホスト機 のリモート操作を前提としている TELNET SSH などと違って、Webサーバー側も、クライアントの役目を担う Webブラウザ 側も、 セキュリティ に注意を払う必要なく扱うことが可能という特徴があります。

現在のインターネット環境は、Webページの登場によって急速に普及し、その利用スタイルが確立されたと言っても過言ではありません

そしてその基幹であるHTTPが、このように「余計な部分に注意を払う必要のないプロトコル」であったことが普及を加速させた要因のひとつといえるでしょう。

さて、現在個人で ISP とインターネット接続の契約を行うと、大抵ISPは、ISPの ドメイン名 のメールアドレスと、コンテンツ公開のためのWebサーバーのスペースをセットで提供してくれます。

単純に自分でコンテンツを公開したいだけならばそのスペースを利用すればよいだけですから、わざわざ自分でWebサーバーを構築する必要はないように思われますが、最近は少し事情が違ってきています。

webページ利用の爆発的ともいうべき普及はコンテンツへの利用依存度を更に高める結果となり、その配信作業を担うWebサーバーにも、元々必要のなかった様々な機能が追加されるようになっています。

そのため、本来安全性の高さが特徴だったWebサーバーにも、最近は他の多くの サーバー アプリケーション なみのセキュリティ対策が要求されるようになっています。

特に多種多様に利用されるISPの 公開サーバー は、常にクラッカーの攻撃にさらされるため、厳重なセキュリティ対策をとらざるを得ないという実情があります。

その結果、ISPから提供されるコンテンツスペースにも、 CGI などの サーバーサイドアプリケーション の利用に制限が加えられているのが普通で、もはや「動的なコミュニケーションツール」としての利用は難しくなってきています。

ところが、自宅にWebサーバーを設置すれば、コンテンツスペースが好きなだけ使えるだけではなく、サーバーサイドアプリケーションも使い放題、アクセス制限やパスワード認証の設置も自由自在に行うことができます。

もし サーバー機 や通信回線に余力があれば、家族や友人にコンテンツスペースを貸してあげてもいいでしょう。

自分で自由に使えるWebサーバーを持つことは、自宅に公開サーバーを設置するときの醍醐味ですから、目いっぱい活用しましょう。

このページの先頭へ↑

Webサーバー"Apache"について

インターネットの創成期にホームページの普及を支えてきたのは、 UNIX OS 上で働く Webサーバー Apache です。

現在では、 WindowsOS で標準で使用されている IIS などもありますが、世の中で使用されている公開用のWebサーバーの大部分は依然としてApacheで占められています。

理由はよくわかりませんが、"Apache"のプログラムパッケージ名については、バージョン1.3系列は "Apache" 、バージョン2.x系列は "httpd" となっています。

Apacheには現在、バージョン1.3系列とバージョン2.x系列の二種類の ディストリビューション があります。

バージョンの番号の示すとおり、バージョン2.xはもともとバージョン1.3に様々な新機能を追加した アップデート 版としてリリースされました。

しかしながらバージョン2.xは新機能の追加と同時に、動作の仕組みそのものも大幅に変更されたため、外部プログラムとの連携や、従来システムとの整合性への問題が懸念されたため、現在でもバージョン1.3は開発が継続されています。

従って、実用上は1.3も2.xも大差がある訳ではありませんから、一般的には使用している OS の種類との相性のよいバージョンを利用するのが望ましいといえるでしょう。

WBEL CentOS は、OSの インストール 時のパッケージの選択で "Webサーバ" を選択しておくと WBEL3のパッケージの選択 CentOS3のパッケージの選択 WBEL4のパッケージの選択 CentOS4のパッケージの選択 CentOS5のパッケージの選択 、バージョン2.xとその周辺プログラム類が自動的にインストールされます。

WBELやCentOSにインストールされたApacheは、予め準備されている GUI 設定ツールを利用して、 X-Window 画面から設定することが可能です。

プロパティウインドウの例(CentOS5提供のApache2GUI設定ツール)
プロパティウインドウの例(CentOS5提供のApache2GUI設定ツール)

ただ、 サーバー設定にGUIツールを勧めない理由(WBEL3) サーバー設定にGUIツールを勧めない理由(CentOS3) サーバー設定にGUIツールを勧めない理由(WBEL4) サーバー設定にGUIツールを勧めない理由(CentOS4) サーバー設定にGUIツールを勧めない理由(CentOS5) の説明のとおり、本当にWebサーバーを自由自在に操るには、やはり CUI で設定ファイルを編集することをお勧めします。

ところで、Apacheはその実体プログラムである httpd と、その周辺プログラムから構成されていますので、実際に扱う場合には"Apache"という名称より"httpd"という名称のほうが多用されます。

意味としては、"Apache"も"httpd"も同じものを指し示す場合がほとんどですので、設定ファイルを編集する場合にはほぼ同じ意味と考えて大丈夫でしょう。

このページの先頭へ↑

いきなりApacheを起動してみる

まずは、 Apache の動作を見てみるために、とりあえずApacheを起動してみましょう。

まず、 サブネット 内の適当な クライアント機 から SSHクライアント 構築中のLinuxサーバー ログイン します SSHクライアントでサーバーに接続する(WBEL3) SSHクライアントでサーバーに接続する(CentOS3) SSHクライアントでサーバーに接続する(WBEL4) SSHクライアントでサーバーに接続する(CentOS4) SSHクライアントでサーバーに接続する(CentOS5)

それから su コマンド アカウント "root" に変更し、 httpd の起動コマンドを実行してください。

[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# /etc/init.d/httpd startEnter
httpdを起動中:                    [ OK ]
[root@web1 ~]#

そして同じクライアント機の Webブラウザ から、 構築中のLinuxサーバー プライベートIPアドレス を使って、

"http://192.168.100.11/"

という URL でアクセスしてみてください。以下のようなのテストページが表示されれば、Webサーバーは正常に稼動していることになります。

サブネット内から接続したApache2のテストページ
サブネット内から接続したApache2のテストページ

実はこのテストページは、ホームページの基点となる htmlファイル である "index.html" が、Apacheの デフォルト で指定されている コンテンツ の収容ディレクトリ」 に存在しないときに表示されるものです。

では更に動作確認のために、Apacheの デフォルト のコンテンツ収容ディレクトリである、 "/var/www/html" に移動し、 nanoエディタ を使ってごく簡単なページ "index.html" を作成してみましょう。

[root@web1 ~]# cd /var/www/htmlEnter cdコマンドについて
[root@web1 html]# nano index.htmlEnter

↓以下のように"index.htmlを編集します。

nanoで/var/www/html/index.htmlを作成
nanoで"/var/www/html/index.html"を作成

編集が終わったら、"index.html"を保存してnanoを終了してください。 nanoエディタを閉じる

ここでもう一度Webブラウザで、

"http://192.168.100.11/" にアクセスしてみてください。今度は次のように表示されるはずです。

お使いのWebブラウザによっては、コンテンツの キャッシュ データが表示されるため、表示が変わらないことがありますので、 再読み込み 操作を行う必要があるかもしれません。
作成したindex.htmlを表示
作成した"index.html"を表示

これでもうお解かりと思いますが、Apacheは基本的に

「所定の位置(ディレクトリ)に格納されているhtmlファイルなどを、 クライアント からの要求に応じて送信する。」

という動作を行います。

Apacheの主な仕事は、こういったディレクトリまたはファイルごとに、例えば「特定のIPアドレスからの要求にのみ送信を行う。」、あるいは「 CGI の実行を許可する。」 という具合に、応答や実行の制御を行う、ということに尽きるかもしれません。

つまりこれから行うApacheの設定作業の中心も、

「ディレクトリごとのアクセスと実行の制御。」

ということになります。

このページの先頭へ↑

OSの種類によるApacheの違いについて

WBEL3 及び CentOS3 、 そしてWBEL4とCentOS4、CentOS5では、 デフォルト インストール されている Apache のバージョンが異なります。

これらは基本的な動作や仕組み、設定や稼動に必要なファイルや操作手順にはほとんど違いはなく、追加モジュールが若干増えていることと、設定ファイルの デフォルト 値などには若干の相違がある程度です。

従ってこれらに共通している設定の部分についてはとくに注釈を設けませんが、相違点については逐次解説を入れていきます。

操作が共通するところに関しては説明に支障がない限りはCentOS5を基準に説明しますので、WBEL3、CentOS3、WBEL4、CentOS4をご利用の方は細かい部分については適宜読み直して参考にしてください。

このサイトは リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。今のところ更新予定はありませんのでご了承ください。
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。