Apache服务器的架设(虚拟主机)

前言:一些公司拥有多个网站,可是每个网站不可能在一台服务器上跑,因为成本太高了,然而虚拟主机可以解决该问题,虚拟主机使得一台服务器可以运行多个网站。而配置虚拟主机的方法有三种,分别是:基于 IP 地址不同端口的虚拟主机、基于不同 IP 地址的虚拟主机、基于域名的虚拟主机这三种,下面就对他们各自进行详述吧!
1.     检查是否安装了 Apache 的相关组件,同时关闭掉防火墙先(免得忘记, ^_^ , 截图如下:
    
2.     配置基于 IP 地址不同端口的虚拟主机:配置一台虚拟主机,其 Ip 地址为 192.168.10.100 ,分别使用 8000 8080 端口,其 Web 站点的根目录分别为 /var/www/html/IP_8000 /var/www/html/IP_8080 。同时在 IP_8000 目录和 IP_8080 目录下分别建立 Index.html 文件,并分别在 Index.html 文件中添加一些内容。截图如下:
3.     查看一下网卡的 IP 地址,如果网卡的 Ip 地址不是我们所需要的那个 IP 地址的话,我们可以创建临时起作用的 IP 地址,输入命令“ ifconfig eth0 192.168.10.100 netmask 255.255.255.0. 查看一下网卡 IP 地址截图如下:
  
4.     编辑 /etc/httpd/conf/httpd.conf 文件,设置其内容,在配置文件的最后面就是虚拟主机的设置,这里只截关键的图,截图如下:
  
  
架设同一 IP 地址不同端口的多个虚拟主机时, Listen 参数值为端口号,而在 <VirtualHost IP 地址:端口号 > 语句块中,指定了 DocumentRoot 参数值就制定虚拟主机的站点目录。
5.     输入命令“ service httpd restart , 重启 httpd 服务,同时在 windows 计算机中启动 IE ,地址栏中输入: http://192.168.10.100:8000, http://192.168.10.100:8080, 显示如下图所示:
  
  
  
6.     基于相同 IP 地址不同端口的虚拟主机测试成功。
7.     基于不同 IP 地址的虚拟主机:配置一台虚拟主机,其 Ip 地址分别是 192.168.10.100 192.168.10.196 ,其 web 站点的根目录为 /var/www/html/IP_100 /var/www/html/IP_196. 并且在 IP_100 IP_196 两个目录下分别创建 Index.html 文件,并写入一些内容到 Index.html 文件中。截图如下:  
8.     由于我的虚拟机上用了两块网卡, eth0 IP 地址是 192.168.10.196 ,另一块网卡 eth1 IP 地址是 192.168.10.100 ,所以我就决定用着两块网卡来做实验,如果你只有一块网卡的话,那么你也不用着急怕做不了这个实验,因为 Linux 中的网卡支持虚拟子接口,所以使用“ ifconfig eth0:0 192.168.10.100和“ifconfig eth0:1 192.168.10.196就可以实现了,但是要让这些子接口有效的话,一定要保证eth0 这个网卡是启动有效的。由于我有两块网卡,所以我就用两块网卡做实验,截图如下:
    
9.     编辑 /etc/httpd/conf/httpd.conf 文件,设置其内容,在配置文件的最后面就是虚拟主机的设置,添加下面截图的内容,这里只截关键的图,截图如下:
    
10. 输入命令“ service httpd restart , 重启 httpd 服务,同时在 windows 计算机中启动 IE ,地址栏中输入 http://192.168.10.100, http://192.168.10.196 显示虚拟主机的主页如下:截图如下:
     
       
11. 基于不同 IP 地址的虚拟主机测试成功
12. 基于域名的虚拟主机:配置一虚拟主机,其 IP 地址为 192.168.10.100 ,设置两个虚拟主机,其域名分别是 product.redhat.com service.redhat.com.( 注:由于我的 DNS 服务器已经搭建好了,用的域名是 redhat.com ,在这里我就不再做详细介绍,可以去看《 DNS 服务器的架设》这份文档,这里就把主区域和反向区域进行截图 ) 我们在 /var/www/http/ 目录下分别建立 Vhost_service Vhost_product 目录,并分别在两个目录中创建 Index.html 文件,截图如下:
  
13. 创建 DNS 服务器的配置文件,输入命令“ vim /var/named/chroot/etc/named.conf ”,文件内容如下:
  
14. 编辑 redhat.com 这个域的正向区域文件,输入命令“ vi /var/named/chroot/var/named/yangzexin.redhat.com , 编辑的内容如下, product.redhat.com service.redhat.com IP 地址 192.168.10.100 的对应关系。
    
15. 编辑 redhat.com 这个域的反向区域文件,输入命令“ vi /var/named/chroot/var/named/192.168.10.in-addr.arpa , 编辑的内容如下, IP 地址 192.168.10.100 和域名 product.redhat.com service.redhat.com 的对应关系。
  
16. 启动 named 守护进程,输入命令“ service named Start
17. 编辑 /etc/httpd/conf/httpd.conf 文件,添加内容如下,截图如下:
  
架设不同域名的多个虚拟主机是, <VirtualHost IP 地址:端口号 > 语句块的 Servicename 参数值就是虚拟主机的域名, DocumentRoot 参数值就是指定虚拟主机的站点目录。
18. 重启 httpd 守护进程,输入命令“ service httpd restart” 重启。
19. windows 计算机下打开 IE 浏览器,在地址栏输入: http://service.redhat.com http://product.redhat.com 将分别显示 /var/www/html/Vhost_service /var/www/html/Vhost_product 目录下 Index.html 文件的内容,如图所示:
   
  
 
配置时出现的问题及解决方法有:

# service httpd start

 

问题一:配置apache多个虚拟主机以后,重启,出现以下错误提示:

[warn] NameVirtualHost *:80 has no VirtualHosts

原因:NameVirtualHost语法错误,对于同一主机支持多个虚拟主机的情况,只需要命名一次NameVirtualHost,如果在每个虚拟主机配置文件中都加上NameVirtualHost *:80 ,则会报这个警告。

原来在/etc/apache2/ports.conf中定义了*:80 VirtualHost。找到了这个后呢,接下来一切就都顺利了。删除之前添加的NameVirtualHost,将所有vhost相应的地方都改成*:80OK,一切非常顺利地解决了。

 

NameVirtualHost 192.168.1.232在所有httpd.conf中只需添加一次,如果添加多次也会出现上述错误。

 

 

问题二:You don't have permission to access /hello.php on this server

配置apache后访问网页出现“HTTP 错误 403 - 禁止访问,即 403 ForbiddenYou don't have permission to access / on this server”。

这是由于你更改了你的DocumentRoot,而更改了这个默认值后,下面还有一个值是要随着更改的。就在它下面不远的地方,有这样一段:

#

# This should be changed to whatever you set DocumentRoot to.

#

<Directory "\Your_New_DocumentRoot">

中括号里的内容就是你更改的新值。这样就不会出现403错误了。

<Directory "/var/www/html1/">

Options Indexes FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

</Directory>

如果是Deny from all,则把Deny from all中的Deny改成了Allow,保存后重起了apache,然后再一测试我的网页

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值