在CentOS-6.9配置apache服务(3)---虚拟主机配置

一 定义

虚拟主机是指在一台WWW服务器上为多个单独的域名提供web服务,产生不同的web界面。每个域名都有特定的目录和配置,相当于将一台主机分为多台主机。它满足了对主机数量不足而又想为不同用户提供独立web服务的需求。

二 系统环境

参数
主机IP10.0.0.100
安装的apache版本Apache/2.2.15 (Unix)
操作系统版本CentOS release 6.9 (Final)
操作系统内核2.6.32-696.el6.x86_64

三 基于域名

在一个主机创建多个网站,采用多个域名进行访问,其中域名对应的IP是同一个。

3.1 安装软件

yum安装apache服务

yum install -y httpd

安装完成后,会有2个依赖软件包一同被安装。

在这里插入图片描述

3.2 修改主配置文件

通过yum安装得到的主配置文件是 /etc/httpd/conf/httpd.conf
在对其修改前,首先进行源文件备份。

[root@test ~]# cd /etc/httpd/conf
[root@test conf]# cp httpd.conf httpd.conf.bak

我们对 httpd.conf 进行修改,这是apache最终生效的主配置文件。

在这里插入图片描述

ServerName 后面的IP改成本主机网卡绑定的IP地址。
NameVirtualHost 前面的注释符号去掉,使其生效。

(检查Include这一步在 中同样检查,不再赘述)
检查 Include conf.d/*.conf 没有注释符号,需要生效。
在这里插入图片描述

3.3 编写虚拟主机配置文件

首先进入 /etc/httpd/conf.d/ 目录下,创建 vhost.conf

cd /etc/httpd/conf.d/
touch vhost.conf

配置的域名分别为 www.test1.comwww.test2.com,站点目录分别为 /var/www/html/test1/var/www/html/test2

[root@test conf.d]# cat vhost.conf
<VirtualHost *:80>
        ServerName www.test1.com
        DocumentRoot "/var/www/html/test1"
        ErrorLog logs/test1.err
        CustomLog logs/test1.access common
</VirtualHost>

<VirtualHost *:80>
        ServerName www.test2.com
        DocumentRoot "/var/www/html/test2"
        ErrorLog logs/test2.err
        CustomLog logs/test2.access common
</VirtualHost>

在这里插入图片描述

修改配置文件后,使用 httpd -t 检查httpd服务的配置文件语法是否有错。

在这里插入图片描述

3.4 创建站点目录和测试文件

mkdir -p /var/www/html/test{1,2}
echo "www.test1.com" > /var/www/html/test1/index.html
echo "www.test2.com" > /var/www/html/test2/index.html

3.5 设置防火墙访问策略

允许80端口的服务。
添加一行下列内容。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

在这里插入图片描述

3.6 编写Linux和Windows的hosts文件

在Linux中,编写 /etc/hosts 文件,使域名和IP产生映射关系。

在这里插入图片描述

在Windows,编写 C:\Windows\System32\drivers\etc\hosts 文件。

在这里插入图片描述

3.7 重启服务并测试

首先重启防火墙和httpd服务。

service iptables restart
service httpd restart

其次先在Linux测试,页面内容可以正常显示。

在这里插入图片描述

接着在Windows浏览器测试,也可以正常显示。

在这里插入图片描述
在这里插入图片描述

由此可知,基于域名的虚拟主机配置成功。

3.8 报错说明

(1)如果在日志文件中发现,服务器出现下列错误提示:

configuration error:  couldn't perform authentication. AuthType not set!: /

此处的500错误需要检查是否存在 Require all granted

在这里插入图片描述

如果出现,删除 Require all granted 即可。

(2)出现下列错误,将所有配置文件中多余的NameVirtualHost *:80参数删除掉即可,只保留我们配置的那部分内容。

[warn] NameVirtualHost *:80 has no VirtualHosts

(3)出现下列错误,去掉主配置文件的 ServerName 参数前面的注释,使其生效即可。

httpd: apr_sockaddr_info_get() failed for test

四 基于IP

在一个服务器上配置多个IP地址,每个IP地址提供不同的web界面,每个IP地址都有特定的目录和配置。

4.1 添加网卡

由于本机只有一个网卡,IP是10.0.0.100,因此需要添加一个网卡,IP是10.0.0.101

在这里插入图片描述
然后编写 eth1 网卡的配置文件 /etc/sysconfig/network-scripts/ifcfg-eth1

在这里插入图片描述

将网卡名eth0改为eth1,将IP地址改成新的10.0.0.101,并修改mac地址。
得到mac地址,输入命令 ip a

在这里插入图片描述
最后重启网卡服务即可。

在这里插入图片描述

4.2 安装软件

yum安装apache服务

yum install -y httpd

安装完成后,会有2个依赖软件包一同被安装。

在这里插入图片描述

4.3 编写主配置文件

去掉 ServerName 的注释,使其生效。
在这里插入图片描述

其他内容不需要改变。

4.4 编写虚拟主机配置文件

[root@test conf.d]# cat vhost.conf 
<VirtualHost 10.0.0.100:80>
        ServerName 10.0.0.100
        DocumentRoot "/var/www/html/test1"
        ErrorLog logs/test1.err
        CustomLog logs/test1.access common
</VirtualHost>

<VirtualHost 10.0.0.101:80>
        ServerName 10.0.0.101
        DocumentRoot "/var/www/html/test2"
        ErrorLog logs/test2.err
        CustomLog logs/test2.access common
</VirtualHost>

编写配置文件后,使用 httpd -t 检查语法格式。
在这里插入图片描述

4.5 创建站点目录和测试文件

mkdir -p /var/www/html/test{1,2}
echo "10.0.0.100" > /var/www/html/test1/index.html
echo "10.0.0.101" > /var/www/html/test2/index.html

4.6 设置防火墙访问策略

允许80端口的服务。
添加一行下列内容。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

在这里插入图片描述

4.7 重启服务并测试

首先重启防火墙和httpd服务。

service iptables restart
service httpd restart

其次先在Linux测试,页面内容可以正常显示。

在这里插入图片描述

接着在Windows浏览器参数,页面也可以正常显示。

在这里插入图片描述

在这里插入图片描述

综上所述,基于IP的虚拟主机配置成功。

五 基于端口

向外网用户提供多个端口的HTTP服务器。

5.1 安装软件

yum安装apache服务

yum install -y httpd

安装完成后,会有2个依赖软件包一同被安装。

在这里插入图片描述

5.2 编写主配置文件

去掉 ServerName 的注释,使其生效。
在这里插入图片描述

增加端口号,81和82.
在这里插入图片描述

其他内容不需要改变。

5.3 编写虚拟主机配置文件

[root@test conf.d]# cat vhost.conf 
<VirtualHost *:81>
        ServerName www.test1.com
        DocumentRoot "/var/www/html/test1"
        ErrorLog logs/test1.err
        CustomLog logs/test1.access common
</VirtualHost>

<VirtualHost *:82>
        ServerName www.test2.com
        DocumentRoot "/var/www/html/test2"
        ErrorLog logs/test2.err
        CustomLog logs/test2.access common
</VirtualHost>

编写后,使用 httpd -t 检测,配置文件格式正确。
在这里插入图片描述

5.4 创建站点目录和测试文件

mkdir -p /var/www/html/test{1,2}
echo "10.0.0.100:81" > /var/www/html/test1/index.html
echo "10.0.0.100:82" > /var/www/html/test2/index.html

5.5 设置防火墙访问策略

允许80端口的服务。
添加一行下列内容。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 81 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 82 -j ACCEPT

在这里插入图片描述

5.6 重启服务并测试

首先重启防火墙和httpd服务。

service iptables restart
service httpd restart

其次先在Linux测试,页面内容可以正常显示。

在这里插入图片描述

接着在Windows浏览器参数,页面也可以正常显示。

在这里插入图片描述
在这里插入图片描述

综上所述,基于端口的虚拟主机配置成功。

六 基于IP和端口

配置好第二块网卡后,在 配置的基础上,只将虚拟主机配置文件进行修改成下列格式

在这里插入图片描述
就可以配置基于IP和端口的虚拟主机。

测试结果如下:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: centos-6.9-x86_64-bin-dvd1是CentOS 6.9版本的安装镜像文件,适用于64位x86架构的硬件设备。该文件为一个DVD镜像文件,可以用于安装CentOS 6.9操作系统。 CentOS是一种基于Linux的免费开源操作系统,是Red Hat Enterprise Linux(RHEL)的社区版。CentOS是一个功能强大且可靠的服务器操作系统,被广泛用于企业级的服务器环境。 "bin"表示二进制文件,这意味着DVD1镜像包含的是可执行文件、库文件以及其他二进制文件。这些文件是操作系统运行的核心组件,包括内核、驱动程序和系统服务等。因为CentOS是开源的,所以用户可以访问和修改这些二进制文件。 "DVD1"表示这是一个DVD镜像文件,它通常用于光盘安装CentOS操作系统。使用此镜像文件,可以制作成安装光盘或者使用软件模拟光盘的方式进行安装。镜像文件包含了完整的CentOS 6.9版本所需要的软件包,用户可以在安装过程中选择需要安装的软件包和组件。 总结来说,centos-6.9-x86_64-bin-dvd1是一个CentOS 6.9版本的安装镜像文件,适用于64位x86架构的硬件设备。它包含了CentOS操作系统的二进制文件,可以用于制作安装光盘或者在软件模拟光盘的环境下安装CentOS 6.9操作系统。 ### 回答2: CentOS-6.9-x86_64-bin-dvd1是CentOS操作系统的一个版本,适用于x86_64架构的计算机。这个版本以dvd1的形式提供,意味着它需要通过DVD光盘来安装。 CentOS是基于开放源代码的Linux发行版,是Red Hat Enterprise Linux(RHEL)的一个替代品。CentOS提供了稳定、可靠和安全的操作系统,适合用于服务器和工作站。 CentOS-6.9-x86_64-bin-dvd1版本是CentOS 6.9的一个版本,适用于64位的x86架构的计算机。这个版本的安装介质是一个二进制的DVD1,其中包含了安装CentOS-6.9所需要的全部文件和软件。使用DVD1安装CentOS-6.9时,用户需要将这个DVD1光盘放入计算机的光驱中,并按照安装向导的提示进行操作。 CentOS-6.9-x86_64-bin-dvd1版本的安装介质包含了操作系统的核心组件、工具和一些常用的软件。用户可以在安装过程中选择需要安装的软件包,并根据自己的需求进行定制。安装完成后,用户可以通过命令行界面或者图形界面来管理和配置CentOS系统,运行各种应用程序和服务。 总而言之,CentOS-6.9-x86_64-bin-dvd1是一个适用于64位x86架构计算机的CentOS 6.9版本。通过使用DVD1进行安装,用户可以获得一个稳定、可靠、安全的操作系统,适用于服务器和工作站。 ### 回答3: CentOS-6.9-x86_64-bin-DVD1是指CentOS操作系统的一个版本。CentOS是一种基于Linux内核的开源操作系统,它是Red Hat Enterprise Linux(RHEL)的重建版本,所有的软件包和补丁都由CentOS团队重新编译和打包,以保证与RHEL的兼容性。 CentOS-6.9-x86_64-bin-DVD1是CentOS 6.9版本的一个可执行文件的名称。x86_64表示支持64位的x86架构的处理器,这是目前大多数计算机使用的架构。bin表示这是一个可执行二进制文件。DVD1表示这个版本的CentOS被分发在单个DVD光盘上,而不是多个光盘。 通过CentOS-6.9-x86_64-bin-DVD1,用户可以在一台兼容的计算机上安装CentOS 6.9操作系统。用户可以将DVD插入计算机的光驱,然后从DVD启动计算机。这将引导用户进入CentOS安装程序,用户可以按照向导的指示进行安装。 CentOS-6.9-x86_64-bin-DVD1包含完整的CentOS 6.9版本的软件包。这些软件包包括操作系统核心、硬件驱动程序、实用工具、应用程序等等。用户安装CentOS后,可以利用这些软件包来构建和运行各种不同类型的应用程序,从简单的桌面应用程序到复杂的服务器应用程序。 总之,CentOS-6.9-x86_64-bin-DVD1提供了安装CentOS 6.9操作系统所需的一切。用户可以使用这个可执行文件将CentOS 6.9安装到计算机上,并且根据自己的需求自定义软件包的安装。CentOS操作系统以其稳定性、免费使用和广泛的社区支持而受到很多用户的欢迎。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值