仮想Webホストを構築するためのapacheサービス
1つは、仮想Webホストのタイプです。
1.仮想Webホスティングの概要
仮想Webホストとは、同じサーバー上で複数のWebサイトを実行することを指し、それぞれが実際にはサーバー全体を個別に占有するわけではないため、「仮想」Webホストと呼ばれます。仮想Webホスティングサービスは、サーバーのハードウェアリソースを最大限に活用できるため、Webサイトの構築と運用のコストを大幅に削減できます。
httpdサービスを使用すると、仮想ホストサーバーを構築するのに非常に便利です。httpdサービスを実行するだけで、同時に多数のWebサイトをサポートできます。
2.apacheサービスでサポートされる3種類の仮想Webホスト
2.1、ドメイン名のタイプに基づく
ドメイン名に基づく:仮想ホストごとに異なるドメイン名を使用しますが、対応するIPアドレスは同じです。これは、最も一般的に使用されるタイプの仮想Webホストです。
2.2、IPアドレスのタイプに基づく
IPアドレスに基づく:仮想ホストごとに異なるドメイン名を使用し、対応するIPアドレスも異なります。この方法では、サーバーに複数のネットワークインターフェイスが必要になるため、アプリケーションはそれほど広範囲ではありません。
2.3。ポートベースのタイプ
ポートベース:この方法では、ドメイン名とIPアドレスを使用して異なるサイトコンテンツを区別しませんが、異なるTCPポート番号を使用するため、ユーザーは異なる仮想サイトにアクセスするために同時にポート番号を指定する必要があります。
注:仮想ホストのタイプが異なれば、識別メカニズムも異なるため、混乱を避けるために、それらを同時に使用しないことをお勧めします。
次に、ドメインベースの仮想Webホストを構築します
1.ドメイン名の解決を提供します
まず、各仮想Webサイトのドメイン名をDNSサービスプロバイダーに登録する必要があります。これにより、仮想Webサイトのいずれかにアクセスすると、最終的に同じIPアドレス(すべての仮想Webサイトを実際にサポートするサーバーのIPアドレス)にアクセスします。
www.wlm.comとwww.wat.comの2つのドメイン名があるとします。対応するIPアドレスは20.0.0.58です。2つのドメイン名をApacheが提供する2つの仮想Webサイトとして使用でき、同時に1つのIPアドレス20.0.0.58に対応します。
2.Webドキュメントを準備します
仮想WebホストごとにWebサイトディレクトリとWebドキュメントを準備します。仮想Webホストごとに異なるコンテンツを含むホームページファイルを提供します。
[root@localhost ~]# mkdir -p /var/www/html/wlmcom
[root@localhost ~]# mkdir -p /var/www/html/watcom
[root@localhost opt]# echo "<h1>www.wlm web1</h1>" > /var/www/html/wlm/index.html
[root@localhost opt]# echo "<h1>www.wat web2</h1>" > /var/www/html/wat/index.html
3.構成ファイルを変更します
apacheサービスのメイン構成ファイルで、ドメインベースの仮想Webホストを有効にする場合は、通常、次の2つの領域を変更する必要があります。
-
仮想ホストエリアの構成:<VirtualHostリスニングアドレス> ...エリア構成を使用して、仮想Webホストごとに独立した構成コンテンツを確立します。少なくとも、仮想ホストのWebサイト名とWebページのルートディレクトリの構成項目を含める必要があります。実際のニーズに応じて、他の構成項目(メールボックスの管理、アクセスログなど)を追加できます。
-
Webページのルートディレクトリにアクセスするためのアクセス許可の構成:<ディレクトリディレクトリの場所> ...地域構成を使用して、誰でもアクセスできるようにするなど、各仮想WebホストのWebサイトディレクトリのアクセス許可を設定します。ディレクトリアクセスは、その親ディレクトリのアクセス許可を継承できるため、親フォルダのアクセス許可を直接許可して、構成を簡素化できます。仮想Webホストの数が多い場合は、別の仮想ホスト構成ファイルを使用することをお勧めします。
[root@localhost opt]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
....... //省略部分信息
//可在此位置手动创建独立的访问目录权限
<VirtualHost *:80> //设置域名 www.wlm.com 虚拟站点区域
DocumentRoot "/var/www/html/wlm" //服务访问域名网页的路径
ServerName www.wlm.com //服务访问的域名
ErrorLog "logs/www.wlm.com.error_log" //错误访问日志存放路径
CustomLog "logs/www.wel.com.access_log" common //访问日志存放路径
<Directory "/var/www/html"> //设置目录访问权限
Require all granted //允许所有访问
</Directory>
</VirtualHost>
<VirtualHost *:80> //设置域名 www.wlm.com 虚拟站点区域。
DocumentRoot "/var/www/html/wat" //服务访问域名网页的路径
ServerName www.wat.com //服务访问的域名
ErrorLog "logs/www.wat.com.error_log" //错误访问日志存放路径
CustomLog "logs/www.wat.com.access_log" common //访问日志存放路径
<Directory "/var/www/html"> //设置目录访问权限
Require all granted //允许所有访问
</Directory>
</VirtualHost>
次に、httpd.confファイルで「Includeconf / extra / httpd-vhosts.conf」を有効にして、これらの構成をロードします。これにより、httpd.confファイルへの変更を最小限に抑え、構成コンテンツの保守を容易にすることができます。
[root@localhost opt]# vim /usr/local/httpd/conf/httpd.conf
....... //省略部分信息
Include conf/extra/httpd-vhosts.conf //加载独立的配置文件,将行首的 "#" 删除
....... //省略部分信息
[root@localhost opt]# systemctl restart httpd //重启httpd服务
4.クライアントが仮想Webホストにアクセスします
まず、クライアントのホストファイルにdnsドメイン名のマッピングを追加し、次にクライアントのブラウザで、ウェブサイト名を使用してそれぞれ異なるドメイン名にアクセスすると、以前に設定したウェブページのコンテンツを表示できます。これは、仮想ドメイン名ベースを意味します。ホスト構成は成功しました。この結果が表示されない場合は、2つのサイトのホームページファイルを確認し、上記のプロセスに従って構成エラーのトラブルシューティングを行い、必要に応じてブラウザキャッシュをクリアして、もう一度アクセスする必要があります。
Linux的hosts文件路径为:/etc/hosts
20.0.0.58 www.wlm.com //添加内容
20.0.0.58 www.wat.com
window的hosts文件路径为:C:\Windows\System32\drivers\etc\hosts
20.0.0.58 www.wlm.com //添加内容
20.0.0.58 www.wat.com
テスト結果は次
のとおりです。ドメイン名がwww.wlm.comのテストページは、www.wat.comのテストページ
です。
第三に、IPアドレスに基づいて仮想Webホストを構築します
IPアドレスまたはポートベースの仮想ホストを構築するプロセスは、ドメインベースの仮想ホストのプロセスと似ています。また、ドメイン名の解決を提供し、Webドキュメントを準備し、httpd構成を調整し、httpdサービスを再起動してから、テストのためにクライアントの仮想ホストにアクセスする必要があります。 。主な違いは、仮想ホストの種類が異なれば、httpd.confファイルの構成もわずかに異なることです。
IPアドレスに基づく仮想ホストの場合、各仮想Webホストは異なるIPアドレスを使用しますが、すべてが同じhttpdサーバーを介してWebブラウジングサービスを提供します。このため、これらの仮想Webホストをサポートするために使用されるサーバーには、多数のネットワークインターフェイスも必要であり、実際のアプリケーションでは不便であることがよくあります。したがって、IPアドレスベースの仮想ホストは、ドメインベースの仮想ホストほど広く使用されていません。
httpd.confファイルの構成を変更します
[root@localhost opt]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
....... //省略部分信息
//可在此位置手动创建独立的访问目录权限
<VirtualHost 20.0.0.58> //基于20.0.0.58IP的虚拟web主机配置
DocumentRoot "/var/www/html/wlm" //服务访问域名网页的路径
ServerName www.wlm.com //服务访问的域名
ErrorLog "logs/www.wlm.com.error_log" //错误访问日志存放路径
CustomLog "logs/www.wel.com.access_log" common //访问日志存放路径
<Directory "/var/www/html"> //设置目录访问权限
Require all granted //允许所有访问
</Directory>
</VirtualHost>
<VirtualHost 20.0.0.55> //基于20.0.0.55的虚拟web主机的配置
DocumentRoot "/var/www/html/wat" //服务访问域名网页的路径
ServerName www.wat.com //服务访问的域名
ErrorLog "logs/www.wat.com.error_log" //错误访问日志存放路径
CustomLog "logs/www.wat.com.access_log" common //访问日志存放路径
<Directory "/var/www/html"> //设置目录访问权限
Require all granted //允许所有访问
</Directory>
</VirtualHost>
[root@localhost opt]# vim /usr/local/httpd/conf/httpd.conf
....... //省略部分信息
Include conf/extra/httpd-vhosts.conf //加载独立的配置文件,将行首的 "#" 删除
....... //省略部分信息
[root@localhost opt]# systemctl restart httpd //重启httpd服务
IP20.0.0.58に基づく仮想Webホスト20.0.0.50に基づく仮想Webホスト
第4に、ポートベースの仮想Webホストを構築します
ポートベースの仮想ホストは通常、同じWebサイトでのみ使用されます。Webサイト名とIPアドレスは同じであることがよくありますが、異なるWebコンテンツへのサービスアクセスを提供するために異なるTCPポートが使用されます。ブラウザで80以外のポートを使用してWebサーバーにアクセスする場合は、http://www.wat.com:55 /またはhttp://20.0.0.58.55/にアクセスするなど、サーバーのポート番号を明確に示す必要があります。
[root@localhost opt]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost 20.0.0.58:80> //基于80端口的虚拟web主机配置
DocumentRoot "/var/www/html/wlm"
ServerName www.wlm.com
ErrorLog "logs/www.wlm.com.error_log"
CustomLog "logs/www.wel.com.access_log" common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 20.0.0.58:55> //基于55端口的web主机配置
DocumentRoot "/var/www/html/wat"
ServerName www.wat.com
ErrorLog "logs/www.wat.com.error_log"
CustomLog "logs/www.wat.com.access_log" common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
ポートベースの仮想Webホストを構成する場合、複数のリッスン構成項目を介して監視するTCPポート番号を指定する必要があり、httpd.conf構成ファイルを変更する必要があります。
[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf //编辑配置文件
// 使用vim编辑器末行模式/搜索Listen 80服务器默认监听的端口,在其下一行添加配置
....... //省略部分信息
Listen 80
Listen 55 //添加监听55端口
....... //省略部分信息
Include conf/extra/httpd-vhosts.conf //加载独立的配置文件,将行首的 "#" 删除
....... //省略部分信息
[root@localhost opt]# systemctl restart httpd //重启httpd服务
ポート80に基づくWeb仮想マシンにアクセスします
ポート55に基づいてWeb仮想マシンにアクセスします。
注:実稼働環境には、ドメインベースの仮想Webホストを個人的にお勧めします。