Web服务器(Apache)虚拟主机的配置
2011-03-02 23:44
731 查看
一.定义
所谓虚拟主机是指在一台服务器里运行几个网站,提供WEB、FTP、Mail等服务。
二.虚拟主机的实现方法有三种:
基于IP的方法,基于主机名的方法和基于端口的法官法。
①基于IP的方法:
在服务器里绑定多个IP,然后配置WEB服务器,把多个网站绑定在不同的IP上。访问不同的IP,就看到不同的网站。
②基于端口的方法:
一个IP地址,通过不同的端口实在不同网站的访问。
③基于主机名的方法:
设置多个域名的A记录,使它们解析到同一个IP地址上,即同一个服务器上。然后,在服务器上配置WEB服务端,添加多个网站,为每个网站设定一个主机名。因为HTTP协议访问请求里包含有主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。
三.三种虚拟主机实现的基本配置
①基于IP虚拟主机的实现:
多个ip,需要把中心主机取消
打开web服务的主配置文档:vim /etc/httpd/conf/httpd.conf
DocumentRoot 注释掉
配置虚拟主机:
<VirtualHost 192.168.0.20:80>
DocumentRoot "/www/a.com"
ServerName www.a.com
<VirtualHost/>
<VirtualHost 192.168.0.25:80>
DocumentRoot "/www/b.com"
ServerName www.b.com
<VirtualHost/>
vim /etc/hosts
192.168.0.20 www.a.com
192.168.0.25 www.b.com
浏览器中输入IP地址进行实验效果的验证。
②基于端口:
<VirtualHost 192.168.0.20:80>
DocumentRoot "/www/a.com"
ServerName www.a.com
<VirtualHost/>
<VirtualHost 192.168.0.20:8080>
DocumentRoot "/www/b.com"
ServerName www.b.com
<VirtualHost/>
③基于主机名:
开启:NameVirtualHost 192.168.0.20:80
<VirtualHost *:80>
ServerAdmin www.a.com
DocumentRoot /etc/httpd/aaa/a.com
ServerName dummy-host.example.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin www.b.com
DocumentRoot /etc/httpd/aaa/b.com
</VirtualHost>
四.案例综合实现
建立http服务器,要求:
1)提供两个基于名称的虚拟主机:
(a)www1.ilinux.org,页面文件目录为/var/www/html/www1;错误日志 为/var/log/httpd/www1.err,访问日志为/var/log/httpd/www1.access;
(b)www2.ilinux.org,页面文件目录为/var/www/html/www2;错误日志为/var/log/httpd/www2.err,访问日志为/var/log/httpd/www2.access;
(c)为两个虚拟主机建立各自的主页文件index.html,内容分别为其对应的主机名;
2)www1主机仅允许192.168.0.0/24网络中的客户机访问;www2主机可以被所有主机访问;
为http服务提供第3个虚拟主机,要求:
1)www3.ilinux.org,页面文件目录为/var/www/html/www3;错误日志为/var/log/httpd/www3.err,访问日志为/var/log/httpd/www3.access;
2)为此虚拟主机提供基本认证功能,并为其提供两个虚拟用户webuser1和webuser2,
密码均为redhat,要求允许此两用户在提供密码的情况下访问此站点;
配置过程如下:
①安装web服务:yum -y install httpd
②进入主配置文档vim /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
DocumentRoot "/var/www/html/www1"
ServerName www1.ilinux.org
Errorlog /var/log/httpd/www1.err
CustomLog /var/log/httpd/www1.access common
<Directory "/var/www/html/www1">
Options Indexes
AllowOverride None
Order allow,deny
Allow from 192.168.0.0/24
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/var/www/html/www2"
ServerName www2.ilinux.org
Errorlog /var/log/httpd/www2.err
CustomLog /var/log/httpd/www2.access common
<Directory "/var/www/html/www2">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/www3
ServerName www3.ilinux.org
ErrorLog /var/log/httpd/www3.err
CustomLog /var/log/httpd/www3.access combined
<Directory "/var/www/html/www3">
Options Indexes
AllowOverride AuthConfig
AuthName "AuthConfig.."
AuthType basic
AuthUserFile /etc/httpd/.htpasswd
require user webuser1 webuser2
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
htpasswd -cm /etc/httpd/.htpasswd webuser1
htpasswd -m /etc/httpd/.htpasswd webuser2
③分别在/var/www/html目录下创建www1,www2,www3目录
vim /var/www/html/www1/index.html
This is www1 test!
vim /var/www/html/www2/index.html
This is www2 test!
vim /var/www/html/www3/index.html
This is www3 test!
④service httpd start 启动web服务
⑤进行实验效果的验证:浏览器中分别输入www1.ilinux.org www2.ilinux.org www3.ilinux.org
本文出自 “Linux Study” 博客,请务必保留此出处http://chenxizhuimeng.blog.51cto.com/2516314/504823
所谓虚拟主机是指在一台服务器里运行几个网站,提供WEB、FTP、Mail等服务。
二.虚拟主机的实现方法有三种:
基于IP的方法,基于主机名的方法和基于端口的法官法。
①基于IP的方法:
在服务器里绑定多个IP,然后配置WEB服务器,把多个网站绑定在不同的IP上。访问不同的IP,就看到不同的网站。
②基于端口的方法:
一个IP地址,通过不同的端口实在不同网站的访问。
③基于主机名的方法:
设置多个域名的A记录,使它们解析到同一个IP地址上,即同一个服务器上。然后,在服务器上配置WEB服务端,添加多个网站,为每个网站设定一个主机名。因为HTTP协议访问请求里包含有主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。
三.三种虚拟主机实现的基本配置
①基于IP虚拟主机的实现:
多个ip,需要把中心主机取消
打开web服务的主配置文档:vim /etc/httpd/conf/httpd.conf
DocumentRoot 注释掉
配置虚拟主机:
<VirtualHost 192.168.0.20:80>
DocumentRoot "/www/a.com"
ServerName www.a.com
<VirtualHost/>
<VirtualHost 192.168.0.25:80>
DocumentRoot "/www/b.com"
ServerName www.b.com
<VirtualHost/>
vim /etc/hosts
192.168.0.20 www.a.com
192.168.0.25 www.b.com
浏览器中输入IP地址进行实验效果的验证。
②基于端口:
<VirtualHost 192.168.0.20:80>
DocumentRoot "/www/a.com"
ServerName www.a.com
<VirtualHost/>
<VirtualHost 192.168.0.20:8080>
DocumentRoot "/www/b.com"
ServerName www.b.com
<VirtualHost/>
③基于主机名:
开启:NameVirtualHost 192.168.0.20:80
<VirtualHost *:80>
ServerAdmin www.a.com
DocumentRoot /etc/httpd/aaa/a.com
ServerName dummy-host.example.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin www.b.com
DocumentRoot /etc/httpd/aaa/b.com
</VirtualHost>
四.案例综合实现
建立http服务器,要求:
1)提供两个基于名称的虚拟主机:
(a)www1.ilinux.org,页面文件目录为/var/www/html/www1;错误日志 为/var/log/httpd/www1.err,访问日志为/var/log/httpd/www1.access;
(b)www2.ilinux.org,页面文件目录为/var/www/html/www2;错误日志为/var/log/httpd/www2.err,访问日志为/var/log/httpd/www2.access;
(c)为两个虚拟主机建立各自的主页文件index.html,内容分别为其对应的主机名;
2)www1主机仅允许192.168.0.0/24网络中的客户机访问;www2主机可以被所有主机访问;
为http服务提供第3个虚拟主机,要求:
1)www3.ilinux.org,页面文件目录为/var/www/html/www3;错误日志为/var/log/httpd/www3.err,访问日志为/var/log/httpd/www3.access;
2)为此虚拟主机提供基本认证功能,并为其提供两个虚拟用户webuser1和webuser2,
密码均为redhat,要求允许此两用户在提供密码的情况下访问此站点;
配置过程如下:
①安装web服务:yum -y install httpd
②进入主配置文档vim /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
DocumentRoot "/var/www/html/www1"
ServerName www1.ilinux.org
Errorlog /var/log/httpd/www1.err
CustomLog /var/log/httpd/www1.access common
<Directory "/var/www/html/www1">
Options Indexes
AllowOverride None
Order allow,deny
Allow from 192.168.0.0/24
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/var/www/html/www2"
ServerName www2.ilinux.org
Errorlog /var/log/httpd/www2.err
CustomLog /var/log/httpd/www2.access common
<Directory "/var/www/html/www2">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/www3
ServerName www3.ilinux.org
ErrorLog /var/log/httpd/www3.err
CustomLog /var/log/httpd/www3.access combined
<Directory "/var/www/html/www3">
Options Indexes
AllowOverride AuthConfig
AuthName "AuthConfig.."
AuthType basic
AuthUserFile /etc/httpd/.htpasswd
require user webuser1 webuser2
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
htpasswd -cm /etc/httpd/.htpasswd webuser1
htpasswd -m /etc/httpd/.htpasswd webuser2
③分别在/var/www/html目录下创建www1,www2,www3目录
vim /var/www/html/www1/index.html
This is www1 test!
vim /var/www/html/www2/index.html
This is www2 test!
vim /var/www/html/www3/index.html
This is www3 test!
④service httpd start 启动web服务
⑤进行实验效果的验证:浏览器中分别输入www1.ilinux.org www2.ilinux.org www3.ilinux.org
本文出自 “Linux Study” 博客,请务必保留此出处http://chenxizhuimeng.blog.51cto.com/2516314/504823
相关文章推荐
- 29讲 apache服务器使用及配置④ apache虚拟主机 web访问时序图
- 韩顺平PHP学习视频笔记整理029apache服务器使用及配置④ apache虚拟主机 web访问时序图
- Web服务器(Apache)虚拟主机的配置
- Web学习之——03Apache服务器的高级配置(虚拟主机、status)
- Web服务器(Apache)虚拟主机的配置
- Apache服务器之------虚拟主机多功能配置
- HTTP协议的介绍,Web服务器配置,虚拟主机的配置,如何用SSL实现HTTPS。
- RHEL6.3配置Apache服务器(2) 构建虚拟主机
- Web服务器的配置与管理(2) 虚拟主机技术
- Linux 配置Apache服务器 下(虚拟主机,排错)
- Apache服务器——基于不同端口不同域名搭建的虚拟Web主机
- Linux运维实战之Apache服务器的高级配置(虚拟主机、status)
- Apache服务器配置多个虚拟主机
- 配置apache虚拟主机,实现在一台服务器上运行多个网站
- Apache2.4(二) 虚拟web服务器配置
- 在RHEL5下构建LAMP网站服务平台之编译安装Apache与配置基于域名的虚拟Web主机
- 在Red Hat Linux5下构建LAMP网站服务平台之编译安装Apache与配置基于域名的虚拟Web主机
- 虚拟主机IIS和Apache服务器配置方法
- Apache服务器虚拟主机和别名配置及问题
- 配置Apache服务器,提供一个Tomcat虚拟主机和一个静态内容虚拟主机的服务