赞
踩
实验目标:
- 搭建基于域名和基于IP的虚拟主机
- 搭建个人网站和实现访问控制
WWW的核心是HTTP协议,由于HTTP协议是明文的数据传输,所以有了基于SSL加密协议的HTTP协议,即HTTPS协议。在Linux中有httpd守护进程来进行相应的服务。可以用httpd进程来监听80端口(http通信)、443端口(https通信)。
① 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 ==文件中的指令进行修改,一般默认情况是禁止开通个人网站。
准备工作:防火墙和SELinux对hhtp进行开放(自行解决)
①基于名称的虚拟主机的配置
-自定义两台虚拟主机(多个名称对应一个IP地址)
student.example.com 192.168.2.105
office.example.com 192.168.2.105
-配置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账号进行登录
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。