Home > Webサーバー > Apache2.0でポート毎にサイト環境を作る方法(※要するに仮想環境)

Apache2.0でポート毎にサイト環境を作る方法(※要するに仮想環境)

サーバで「ルートから辿る」記述をしているHTMLソースを、そっくりそのまま自分のマシン上で動かす必要があったので調べてみました。

【要件】
・Apache2.0
・同一のIP、複数ポートをリスン
・ポート毎に異なるDocumentRoot

要は、やりたい事はこれ。
http://httpd.apache.org/docs/2.2/ja/vhosts/examples.html#port

でもこのドキュメント、Apache2.2系の解説なんだよなー。。。

とか思いながらApache2.0のhttpd.confを見てたらこんなくだりを発見。(httpd.confの一番最後)

<引用>
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#

意外と簡単そうじゃないかと。
早速、Example通りに追記してみる。

//////////

ServerAdmin webmaster@dummy-host.example.com
DocumentRoot “D:\www\tr-lab\itshindan”
ServerName itshindan.jp:81
ErrorLog logs/itshindan-error_log
CustomLog logs/itshindan-access_log common

//////////

あとはリスンポートの設定にポート81を追記。
オイラのマシンでは元々ポート80をリスンしていたので下のようになる。

//////////
#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
#
#Listen 12.34.56.78:80
Listen 80
Listen 81 (←今回追記した部分)
//////////

この2つの追記を行ってApacheをリスタート。
無事に各ポートでリスンしてくれました。

ちなみにポート82を追加しても動きました。
どこまで増やして大丈夫かはマシンパワーに依存するのかな。。。?

Comments:2

NWのI・Hです 07-06-16 (土) 23:55

お疲れ様です。
TrenteWorldでウロウロしていたら、Kさんのブログに辿り着きました。
初対面であまり話しない悪い性格ですが、興味のある分野に入り込むと話が止まらない。
というわけで、Kさんの質問に答えさせてください。
————————————
どこまで増やして大丈夫かは
マシンパワーに依存するのかな。。。?
————————————
これはマシンのパワーではありません。
そもそもTCP/IPの世界です。
基本的に80のポートはHTTPのプロトコルで使用するのですが、
あくまでこのポートはクライアントとサーバが対話できる出入り口です。
つまり、出入り口は空いているポート番号に設定すれば問題なく会話が出来ます。
WEBサーバで使用する、APACHEのバーチャルホストやWEBLOGICのドメインなど、
1台に数多くのWEBサーバの構築が可能に出来る魅力的な機能です。
ちなみに、バーチャルホストは台数の制限はないから、
理論上は何台分の役割をさせても構わない。
それで「マシンパワー」がどこに登場するかというと、
例えば、1台のサーバ(IPアドレスは一つ)に100台分のバーチャルホストを作成した場合、
問題なく運用することが出来ますが、サーバ(マシン)はクラインの要求は
どのぐらいのスピードで返せるのかマシンのパワーによります。
つまり、そこまでのプロセスが起動しているので、CPUやメモリの増築すれば済む話です。

でも、Kさんの設定だと、それぞれのページを表示したい場合、IE上で
「www.アドレス1.com」と「www.アドレス2.com:81」を入力しないと見れないですね。
クライアント側は毎回「:81」を入力しないといけないから面倒ですね。
ただ、「www.アドレス1.com」と「www.アドレス2.com」を入力すればページが表示させる
方法があります。
それはNICの追加です。

さて、なぜNICの追加すれば見れるのか?会った時に話しましょう。

以上、よろしくお願いいたします。

ghostrider115 07-06-20 (水) 1:46

>コメント投稿者さま
コメントありがとうございます!
せっかくですので、技術のコトだけでも公開コメントで書いて頂けないでしょうか?
ぜひご検討お願いします!

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://tech2web.sideb.jp/archives/2007/06/15-063801.html/trackback
Listed below are links to weblogs that reference
Apache2.0でポート毎にサイト環境を作る方法(※要するに仮想環境) from tech2web

Home > Webサーバー > Apache2.0でポート毎にサイト環境を作る方法(※要するに仮想環境)

Search
Feeds
Meta

Return to page top