[Linux CentOS] 虚拟机中www服务器搭建(Apache HTTP)

实验目标:

  • 搭建基于域名和基于IP的虚拟主机
  • 搭建个人网站和实现访问控制

1.基本了解

WWW的核心是HTTP协议,由于HTTP协议是明文的数据传输,所以有了基于SSL加密协议的HTTP协议,即HTTPS协议。在Linux中有httpd守护进程来进行相应的服务。可以用httpd进程来监听80端口(http通信)443端口(https通信)

2.主要配置文件的了解

Apache HTTP的主要配置文件==/etc/httpd/conf/httpd.conf==。
http.conf主要分为三部分:全局环境、主服务器配置、和虚拟主机

全局环境:配置整个服务器的相关指令,指令格式为:指令 参数值。

指令含义默认参数
ServerTokens配置http服务器返回给客户端的响应头中是否包含服务器操作系统版本OS:基本操作系统信息
ServerRoot服务器的顶级目录所在/etc/httpd:其他相关配置文件存放在该目录的二级目录下
PidFile记录hhtpd进程PID文件/run/httpd.id:该目录需结合顶级目录参考
Timeout自动断开连接的最大时限60:单位是秒
KeepALive是否建立持续连接off:不建立持续连接
Listen监听的服务器端口80
User apache&Group apache多处理模块启动的服务子进程的所属用户及所属组群

主服务器配置:主要了解目录访问权限

<Directory 目录路径> 访问控制指令 </ Directory>

对于目录的访控指令主要讲:
AllowOverride:用于设定是否允许覆盖当前的访问权限设置

虚拟主机:使得一台实际的Apache服务器可以提供多个不同的主机,每台主机好像独立存在的。
基于IP地址的虚拟主机:不同的IP地址来访问不同的虚拟主机。配置时主要利用网卡的不同接口,即设置IP别名,利用DNS服务器进行解析后连接不同的虚拟主机。
== 基于名称的虚拟主机==:不同的虚拟主机使用同一个IP地址。配置时主要是利用http.conf文件中的 < VirtualHost >来进行不同的虚拟主机辨别。
个人网站:Linux系统中的用户可以设置客人网站,并且可以控制允许访问权限。要开通个人网站,首先要对== /etc/httpd/userdir.conf ==文件中的指令进行修改,一般默认情况是禁止开通个人网站。

3.配置步骤

准备工作:防火墙和SELinux对hhtp进行开放(自行解决)
①基于名称的虚拟主机的配置
-自定义两台虚拟主机(多个名称对应一个IP地址)

student.example.com 192.168.2.105
office.example.com 192.168.2.105

-配置named.conf,定义正向解析区文件和反向解析区文件(此处也可以不用重新定义)
named.conf
-在正向解析区文件和反向解析区文件中都添加相应的资源记录(注意细节,比如说’.’)
在这里插入图片描述
在这里插入图片描述
-重启named服务,用dig命令检测是否配置成功(出现标红那段的就是配置成功了,当然也可以用nslookup来解析,只要证明配置没毛病就行,注意!!这里踩雷一次,DNS真的是每次都要仔细去看看/etc/resolv.conf文件有没有修改为自己的DNS服务器做首选,就是要把自己Linux虚拟机IP加在第一行了
在这里插入图片描述
-配置网站首页
在这里插入图片描述
-修改httpd.conf,添加如下虚拟主机配置(刚开始因为把student的路径写成了/var/www/office,后来登录的时候一直访问的时office的主页,所以要细心)
在这里插入图片描述
== 注意:在新版本的Apache中是不需要添加 NameVirtualHost (如下),不然在启动httpd时会报: NameVirtualHost has no effect and will be removed …直接去掉就可以了 ==
在这里插入图片描述 -重启httpd服务后,在浏览器中分别使用域名访问两个虚拟主机(成功)
在这里插入图片描述
在这里插入图片描述
== ②基于IP的虚拟主机==
-又自定义两个虚拟主机(不同主机不同IP)

student.example.com 192.168.2.106
office.example.com 192.168.2.107

-用ifconfig和route命令为网卡ens33增加两个接口,ifconfig后显示出来ens33多了两个子设备(不叫ens33,叫eth0也行,默认网卡名称而已)
在这里插入图片描述
在这里插入图片描述-熟悉的DNS配置再来一遍
在这里插入图片描述
在这里插入图片描述
-熟悉的httpd.conf虚拟主机配置再来一遍(接上个实验改下IP就可以了)
在这里插入图片描述
-IP登录
在这里插入图片描述
在这里插入图片描述③个人网站及访问控制
-修改httpd.conf文件(对/home下的所有用户允许访问覆盖)
在这里插入图片描述
-修改userdir.conf文件当然,不同的版本userdir所在不同,有些可以直接在httpd.conf文件中找到mod_userdir模块,但是如果httpd.conf文件中不存在该模块,那么就应该存在一个独立的userdir的配置文件,此次实验我开始对httpd.conf简单的手动添加mod_userdir模块,并成功开通个人网站功能,而是在对userdir.conf文件进行修改后,个人网站才得以开通
在这里插入图片描述-设置Apache服务器的身份验证账号test1、test2
在这里插入图片描述
-切换至cy用户、准备访问目录
在这里插入图片描述
-创建.htaccess文件,允许test1、test2访问
在这里插入图片描述
-使用浏览器:http://localhost/~cy 登录用户个人网站,可以使用test1和test2账号进行登录
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值