1. http服务的基本概念
(1)WEB简介
WEB是一种交互式图形界面的Internet服务,具有强大的信息连接功能,通过超文本链接( HyperText ) 的方式将信息通过 Internet 传递到全球每个角落!一般情况下,终端用户通过浏览器输入比较完整的URL即可以完成访问。
(2)URL简介
- 统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它;
- 基本URL包含:模式(或称协议)、服务器名称(或IP地址)、路径和文件名;如“协议://授权/路径?查询”;
- 完整的、带有授权部分的普通统一资源标志符语法看上去如下:协议://用户名:密码@子域名.域名.*域名:端口号/目录/文件名.文件后缀?参数=值#标志;
(3)HTTP协议
HTTP(HyperText Transfer Protocol),是目前WWW传递数据的主流协议!网站上的网页,则需要符合HyperText Markup Language(HTML)的语法。
(4)HTTP服务的原理
当我们在网址栏输入网址之后:
- Client经过DNS解析得到WWW主机的IP,会发出一个数据包,以http协议联接WWW主机,通知WWW主机要以http的方法来取得数据;
- WWW主机收到数据包后,根据Client的要求,提供相关的讯息来响应,大部分情况下用http的协议传送用HTML语法的网页数据到Client端的浏览器;
- 最后Client端的浏览器将 HTML的语法解析后,显示网页内容;
2. http服务的安装与配置
(1)准备工作,卸载httpd及相关依赖包
(2)编译安装Apache软件包
2.1> 第一步解开源代码封装包;
2.2> 第二步配置选择安装的功能和安装目录等信息;
--prefix:指定将httpd服务程序安装到哪个目录,如/usr/local/httpd。
--enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力。
--enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。
--enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。
--enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力。
2.3> 第三步编译,将配置信息生成可执行的二进制文件;
2.4> 第四步安装;
2.5> 确认安装结果;
(3)优化执行路径
软链接:可以跨分区,也可以对目录进行操作,源文件被删除后链接失效;
硬链接:不可对目录操作,不可跨分区,源文件被删除后链接文件同样有效,创建时不加-s
3.1> 建立软链接;
ln -s /usr/local/httpd/bin/* /usr/local/bin/
3.2> 查看软链接;
ls -l /usr/local/bin/httpd /usr/local/bin/apachectl(查看软链接)
(4)添加httpd系统服务
4.1> 复制阿帕奇网站服务的控制脚本到etc/init.d/httpd;
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
4.2> 显示启动状态信息,发现httpd服务不支持chkconfig;
4.3> 修改阿帕奇网站服务的控制脚本,使其能够支持chkconfig来进行管理;
4.4> 调整启动级别,查看启动状态;
chkconfig --add httpd(调整启动级别)
chkconfig --list httpd(查看启动状态)
(5)httpd服务访问控制
5.1> 修改httpd.conf,测试是否可以成功访问页面;
vim /usr/local/httpd/conf/httpd.conf
并将配置文件中的servername那一行的注释去掉
5.2> 启动httpd服务;
service httpd start
5.3> 虚拟机本机进行测试(IP:192.168.10.10)——VMnet8;
5.4> 物理机进行测试(IP:192.168.10.11)——VMnet8;
(6)基于客户端地址的访问控制——对主页进行操作
Order配置项,定义控制顺序
先允许后拒绝,默认拒绝所有:Order allow,deny
先拒绝后允许,默认允许所有:Order deny,allow
Allow、Deny配置项,设置允许或拒绝的地址
Deny from address1 address2 …
Allow from address1 address2 …
6.1> 修改httpd.conf,进行测试,并重启服务;
vim /usr/local/httpd/conf/httpd.conf
<Directory "/usr/local/httpd/htdocs">
……
Order allow,deny
Allow from 192.168.10.10
</Directory>
6.2> 虚拟机上进行测试(注:需要清除浏览器的缓存——删除历史记录);
6.3> 物理机上进行测试(注:需要清除浏览器的缓存——删除历史记录);
(7)基于客户端地址的访问控制——对后台登录页面进行操作
7.1> 在/usr/local/httpd/htdocs目录上新建一个文件htadmin,将后台的登录页面index.html(自己创建一个)存放进去;
Index.html
7.2> 修改httpd.conf,添加如下内容,进行测试,并重启服务;
vim /usr/local/httpd/conf/httpd.conf
<Directory "/usr/local/httpd/htdocs/htadmin">
Order allow,deny
Allow from 192.168.10.10
</Directory>
7.3> 虚拟机上进行测试,可以成功访问到后台的登录页面;
7.4> 物理机上进行测试,不能访问后台的登录页面;
(8)用户授权限制,并对网站目录(htadmin)添加授权
8.1> 创建用户认证数据库;
进入/usr/local/httpd/bin,添加用户信息并查看添加的用户是否成功;
8.2> 修改httpd.conf,进行测试,并重启服务;
vim /usr/local/httpd/conf/httpd.conf
8.3> 虚拟机上进行测试;
8.4> 物理机上测试,可以看到不允许访问;