Linux下Apache服务器的配置和构建虚拟主机

假设某学院只有一台Apache服务器,但是有三个部门需要建立网站,一个为办公室网站,域名为office.myschool.com,另一个为计算机系网站,域名为computer.myschool.com. 还有一个为学生网站,域名为student.myschool.com.

  • 配置基于域名的虚拟主机(同一个IP地址对应多个域名)
  • 配置基于IP的虚拟主机(一个IP地址对应一个域名)

准备:
Linux:CentOS7(自己的虚拟linux系统)
虚拟机:VMware-workstation-full-15.5.1
虚拟机设置为桥接模式
CentOS下Apache服务器 IP: 172.20.10.6 (你的虚拟机ip地址)

一、配置基于域名的虚拟主机(同一个IP地址对应多个域名)

域名与ip对应关系如下:

office.myschool.com        172.20.10.6
computer.myschool.com     172.20.10.6
student.myschool.com    	 172.20.10.6

1.配置基于域名的虚拟主机:

步骤1:在WEB服务器上检查并安装必要软件;

yum install httpd

步骤2:注册虚拟主机所要使用的域名。
为了方便,暂时直接使用/etc/hosts文件来进行域名的解析。(大家也可以自己进行dns服务器配置进行域名解析)

编辑/etc/hosts文件,在文件中添加以下内容:
在这里插入图片描述
进行ping操作,判断解析是否成功;

 ping office.myschool.com    #检测域名解析是否正常
 ping computer.myschool.com
 ping student.myschool.com

若能ping通,则域名解析正常。

步骤3:创建所需的目录;

mkdir  /var/www/office
mkdir  /var/www/computer
mkdir  /var/www/student

步骤4:编辑/etc/httpd/conf/httpd.conf配置文件
设置Listen指令侦听的端口
Listen 80
在httpd.conf配置文件的第三部分(末尾)中,添加对虚拟主机的定义。添加的配置内容为:

NameVirtualHost  172.20.10.6
.20.10.6>
ServerName		office.myschool.com 
DocumentRoot	/var/www/office
</VirtualHost>

.20.10.6>
ServerName		computer.myschool.com 
DocumentRoot	/var/www/computer
</VirtualHost>

.20.10.6>
ServerName		student.myschool.com 
DocumentRoot	/var/www/student
</VirtualHost>

保存退出。
启动服务 ;systemctl start httpd

步骤5:测试虚拟主机
利用vi编辑器,在虚拟主机的站点根目录,分别创建index.html页面文件,并在页面的与之间输人不同的正文内容,以示区别。
/var/www/office/index.html 的内容是:

<html>
<body>
<p> this is office test  page!</p>
</body>
</html>

其他两个目录同样操作,显示文本不一样以示区别。

步骤6:启动浏览器,然后在地址栏中分别键入http://office.myschool.com和computer.myschool.com,student.myschool.com并回车,查看虚拟主机对应的Web站点工作是否正常。
Linux下Apache服务器的配置和构建虚拟主机_第1张图片

二、配置基于IP的虚拟主机(一个IP地址对应一个域名)

域名与ip对应关系如下:
office.myschool.com 172.20.10.10
computer.myschool.com 172.20.10.11
student.myschool.com 172.20.10.12

步骤1: 为网卡添加虚拟接口
ethx(每个人的x不一样,所以用x替代,我的是33)的网卡的配置文件为/etc/sysconfig/network-scripts/ifcfg-ethx,ethx的第一张虚拟网卡的设备名为ethx:0,对应的配置文件为ifcfg-ethx:0,通过修改配置文件中的设备名和IP地址,即可实现IP地址的绑定,具体操作步骤如下:

cp ifcfg-ethx  ifcfg-ethx:0
vim  ifcfg-eth0:0

在复制后的ifcfg-ethx:0中编辑两处:
DEVICE=ethx:0
IPADDR=172.20.10.10

同样的操作cp ifcfg-ethx ifcfg-ethx:1和ifcfg-ethx:2;
vim ifcfg-eth0:1和vim ifcfg-eth0:2,编辑更改两处对应的device和ipaddr。

步骤2:激活网卡
使用命令:ifup ethx:0
ping测试:ping 172.20.10.10
若能ping通,则说明IP地址绑定成功。

步骤3:编辑/etc/hosts文件,在文件中添加以下内容:

172.20.10.10   office.myschool.com      
172.20.10.11	computer.myschool.com   
172.20.10.12	student.myschool.com   

进行ping测试看是否能域名解析:

# ping office.myschool.com    #检测域名解析是否正常
# ping computer.myschool.com
# ping student.myschool.com

步骤4:编辑/etc/httpd/conf/httpd.conf配置文件:
设置Listen指令侦听的端口
Listcn 80
在httpd.conf配置文件的第三部分中,添加对虚拟主机的定义。添加的配置内容为:

.20.10.10>
ServerName		office.myschool.com 
DocumentRoot	/var/www/office
</VirtualHost>

.20.10.11>
ServerName		computer.myschool.com 
DocumentRoot	/var/www/computer
</VirtualHost>

.20.10.12>
ServerName		student.myschool.com 
DocumentRoot	/var/www/student
</VirtualHost>

保存退出。
启动服务: systemctl start httpd

步骤5:测试虚拟主机
利用vi编辑器,在虚拟主机的站点根目录,分别创建/var/www/xxx/index.html页面文件,并在页面的与之间输人不同的正文内容,以示区别。同之前。

步骤6:浏览器测试

启动浏览器,然后在地址栏中分别键入http://office.myschool.com和computer.myschool.com,student.myschool.com并回车,查看虚拟主机对应的Web站点工作是否正常。

好了,今天的apache服务器的配置就到这里了,有任何疑问或建议,在评论留言,大家一起讨论学习,更多linux学习请关注我!!!

你可能感兴趣的:(linux)