Apache サーバーが仮想 WEB をセットアップします
まず例を挙げてみましょう:
PHP が d:/php/ にインストールされているとします。
php4apache.dll (php4apache2.dll) を d:/php にコピーします/
Aapche の httpd.conf の下に追加します:
############################### ## ###################
Aapche1 は:
LoadModule php4_module "d:/php/php4apache.dll"
Aapche2 は:
LoadModule php4_module "d:/php/php4apache2.dll"
PHP によって解析された拡張機能を追加します:
AddType application/x-httpd-php .phtml .pwml .php3 .php4 .php php2 .inc .izz
######################################### ###### ######
これで、PHP をサポートするには Apache を再起動するだけで済みます。
#次の行は Apache1 でのみサポートされます
LoadModule gzip_module modules/ApacheModuleGzip.dll
ApacheModuleGzip (つまり、mod_gzip) は、Remote Communications によって無料で提供される Apache モジュールで、静的な Web ページを圧縮できます。 Apache でコンパイルする (または DSO として使用する) だけで問題なく動作します。
Bingbing の Web サイトからダウンロードすることもできます:
http://justdn.com/down/apache/ApacheModuleGzip.dll
PHP アクセラレーションとバッファリングに関するその他の提案については、Bingbing を参照してください。 PHP ドキュメントから取得してください。
Apache はどのように仮想ホストを構築しますか? 以下は、ドメイン名に基づいた仮想ホストの簡単な概要です。
たとえば、サーバー アドレスは 61.132.27.69 (これは Bingbing)、今度は 2 つの仮想ホスト www.justdn.org と www.justdn.com を構築したいと思います。
Apache の httpd.conf
##### の後に次のコードを追加します。 ### ###########################################
NameVirtualHost 61.132.27.69
ServerAdmin webmaster@justdn.com
DocumentRoot C:/home/justdn.com/
ServerName www.justdn.com
ServerAlias justdn.com wwww.justdn.com
ErrorLog logs/www.justdn.com-error_log
CustomLog logs/www.justdn.com-access_log common
ErrorDocument 404 /404.html
< /VirtualHost>
ServerAdmin webmaster@justdn.com
DocumentRoot c:/home/justdn.org/
ServerName www.justdn.org
ServerAlias wwww.justdn.org justdn.org
ErrorLog ログ/www.justdn.org-error_log
CustomLog ログ/www.justdn.org-access_log common
### ###### ###########################################
以下の説明、
ServerAdmin は管理者の電子メールです。
DocumentRoot、仮想ホストのサイト ドキュメント ディレクトリ、
ServerAlias ドメイン名です。 wwww.justdn.com は、 www.justdn.com を使用してサイトにアクセスできることを示します。また、 justdn.com を使用してサイトにアクセスできることを示します。
ErrorDocument 404 /404.html (404 のカスタマイズを参照)サイトのページを、サイトのルート ディレクトリにある 404.html ファイルとして保存します。
注:
Unix プラットフォームと NT プラットフォームは、同じ Apache サーバー設定を使用します。以下では、Apache サーバーの設定を説明する例として UNIX プラットフォームに焦点を当てます。仮想 Web を正常にセットアップするには、作業負荷の約 50% がドメイン名の登録と解決にかかることにも注意してください。そのため、一般的にはドメイン名を登録してから仮想WEBを設定します。
1. IP 型仮想ホスト
IP 型仮想ホストとは、各仮想ホストが固有の IP に対応することを意味します。複数の物理ネットワーク カードまたは仮想ネットワーク ポートを介して複数の IP を実現できます。Solaris2.5 と Windows NT はどちらもこの方法をサポートしています。
複数の仮想ホストを構成する 2 つの方法:
1. 各仮想ホストに対して httpd プロセスを開始します。
この方法は次の状況で使用してください:
1) セキュリティ分離の問題を考慮する必要があります。たとえば、2 つの httpd が異なるユーザー、グループ、リッスン、およびサーバールートで実行されている場合、これら 2 つのユーザーは他のデータにアクセスできません。ウェブを通じてお互いのデータを閲覧します。
2) 十分なメモリとファイル記述子を提供できる。
設定方法:
各仮想ホストに独立した httpd インストールを作成し、各インストール パスの構成ファイル httpd.conf で、Listen コマンドを使用してプロセス サービスの IP を指定します。例: Listen 10.68. 37.10: 80
2. すべての仮想ホストに対して httpd プロセスを開始します。
この方法は次の状況で使用します:
1) 仮想ホスト間で httpd 構成の共有を許可します。
2) コンピューターは大量のリクエストを処理するため、複数のプロセスを実行するとサーバーのパフォーマンスが低下するため、重要な考慮事項になります。
設定方法:
構成ファイル httpd.conf で、VirtualHost コマンドを使用して、各仮想ホストの ServerAdmin、ServerName、DocumentRoot、ErrorLog、TransferLog、または CustomLog を設定します。
DocumentRoot /usr/local/etc/httpd/htdocs/smallco
ServerName www.smallco.com #ですここではドメイン名を使用することをお勧めします
ErrorLog /usr/local/etc/httpd/logs/smallco/error_log
TransferLog /usr/local/etc/httpd/logs/smallco/access_log
ServerAdmin webmaster@mail.baygroup.org
DocumentRoot /groups/baygroup/www
ServerName www.baygroup.org #Itここではドメイン名を使用することをお勧めします
ErrorLog / groups/baygroup/logs/error_log
TransferLog /groups/baygroup/logs/access_log
同時に設定する必要があります仮想ネットワーク ポートまたはネットワーク カードに対応する設定を DNS で行う必要があります。
2. 名前ベースの仮想ホスト (Apache 1.3 以降でサポート)
IP ベースの仮想ホストは優れていますが、最適なソリューションではありません。各仮想ホストには専用の IP が必要ですが、一部のマシンでは実装が困難です。名前タイプの仮想ホストとは、各仮想ホストが異なる名前を持つが、同じ IP を持つことを意味します。その利点は、仮想ホストの数に制限がなく、構成と使用が簡単で、追加のソフトウェアやハードウェアを必要としないことです。欠点は、クライアントがプロトコルのこの部分をサポートする必要があることです。ブラウザの最近のバージョンではサポートされていますが、一部の古いバージョンのブラウザではサポートされていません。しかし、Apache はこれに対する回避策を提供します。
設定方法:
設定ファイル httpd.conf で、次のように NameVirtualHost コマンドを使用して仮想ホストを設定します。
NameVirtualHost 111.22.33.44
ServerName www.domain.tld #ここでドメイン名を使用することをお勧めします
DocumentRoot /web/domain
同時に www.domain を定義しますDNS の .tld が 111.22.33.44 を指すようにします。
注: NameVirtualHost ディレクティブの後に IP が使用される場合、その IP を使用する URL リクエストはすべて仮想ホストに対するものであり、メイン サーバーは IP を使用する URL リクエストに応答しません。さらに、一部のサーバーは複数の名前でアクセスしたいと考えています。たとえば、特定の IP を持つサーバーがあり、domain.tld および www2.domain.tld という名前でアクセスできるようにしたいとします。その方法は、VirtualHost ディレクティブ セクションで ServerAlias ディレクティブを使用することです。例: ServerAliasdomain.tld *.domain.tld
仮想ホストの設定例をいくつか添付します。
添付: 仮想ホストのセットアップ例
IP タイプの仮想ホスト構成
セットアップ 1: サーバーには 2 つの IP、
111.22.33.44 server.domain.tld
111.22 .33.55 www.otherdomain.tld
www.domain.tld は、メイン サーバーを表すserver.domain.tld のエイリアス (CNAME) です。
サーバー構成:
...
ポート 80
DocumentRoot /www/domain
サーバー名 www.domain.tld
DocumentRoot /www/ otherdomain
ServerName www.otherdomain.tld
...
セットアップ 2: 基本的にセットアップ 1 と同じですが、専用のメイン サーバーをセットアップしません。
サーバー構成:
...
ポート 80
サーバー名 server.domain.tld
DocumentRoot /www/domain
サーバー名 www.domain .tld
...
DocumentRoot /www/otherdomain
サーバー名 www.otherdomain.tld
...
この設定は、URL が http://server.domain.tld の場合にのみメイン サーバーに適用されます。
セットアップ 3: サーバーには 2 つの IP、
111.22.33.44 server.domain .tld があります。
111.22.33.55 www-cache.domain.tld
www.domain.tld は、server.domain.tld のエイリアス (CNAME) であり、メインサーバーを表します。
www-cache.domain.tld はプロキシ キャッシュ、ポートは 8080、Web サーバーはデフォルトの 80 を使用します。
サーバー構成:
...
ポート 80
リッスン 111.22.33.44:80
リッスン 111.22.33.55:8080
サーバー名 server.domain.tld
DocumentRoot /www/domain
ServerName www.domain.tld
...
ServerName www-cache.domain.tld
...
order destroy,allow
すべてから拒否
111.22.33 から許可
ディレクトリ>
名前付き仮想ホスト構成
セットアップ 1: サーバーの IP は
111.22.33.44 server.domain.tld および www.domain.tld です。 domain.tld はエイリアス (CNAME) です。
サーバー構成:
...
ポート 80
サーバー名 server.domain.tld
名前VirtualHost 111.22.33.44
DocumentRoot /www/domain
サーバー名 www.domain.tld
...
DocumentRoot /www/subdomain
サーバー名 www.sub.domain.tld
...
IP を使用してサーバーにアクセスする場合、www.domain.tld の優先順位が最も高いため、それがデフォルトのサーバーまたは
最初のサーバーとみなされますサーバ。
セットアップ 2: サーバーには 2 つの IP があり、
111.22.33.44 server1.domain.tld がメイン サーバーに使用されます
111.22.33.55 server2.domain.tld が仮想ホストに使用されます
エイリアスwww.domain.tld はメインサーバーに使用され、
エイリアス www.otherdomain.tld は 1 つの仮想ホストに使用され、
エイリアス www.sub.domain.tld、*.sub.domain.tld は 1 つの仮想ホストに使用されます。別の仮想ホスト、
サーバー構成:
...
ポート 80
サーバー名 www.domain.tld
DocumentRoot /www/domain
NameVirtualHost 111.22.33.55
サーバー名 www.otherdomain.tld
...
DocumentRoot /www/ subdomain
ServerName www.sub.domain.tld
ServerAlias *.sub.domain.tld
...
混合 (IP/名前) 仮想ホスト構成
セットアップ: 3 つのサーバー IP があります。
111.22.33.44 server.domain.tld は名前タイプの仮想ホストに使用されます
111.22.33.55 www.otherdomain1.tld は IP タイプの仮想ホストに使用されます
111.22.33.66 www.otherdomain2.tld は IP タイプの仮想ホストに使用されます
サーバー構成:
...
ポート 80
サーバー名server.domain.tld
名前VirtualHost 111.22.33.44
DocumentRoot / www/domain
ServerName www.domain.tld
...
DocumentRoot /www/subdomain1
サーバー名 www.sub1.domain.tld
...
DocumentRoot /www/subdomain2
サーバー名 www.sub2.domain.tld
...
DocumentRoot /www/otherdomain1
サーバー名 www.otherdomain1.tld
...
DocumentRoot /www/otherdomain2
サーバー名 www.otherdomain2.tld
...
ポート タイプの仮想ホスト構成
セットアップ: サーバーには IP、
111.22.33.44 www.domain.tld
があり、別のエイリアスや IP は必要ありません。ポート タイプの仮想ホストを使用すると、次のことができます。メインサーバーとは異なる構成で仮想
仮想ホストをセットアップします。
サーバー構成:
...
Listen 80
Listen 8080
ServerName www.domain.tld
DocumentRoot /www/domain
DocumentRoot /www/domain2
...