Linux下的Apache、HTTP服务器的安装与配置

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及相关依赖包

Linux下的Apache、HTTP服务器的安装与配置

(2)编译安装Apache软件包

2.1> 第一步解开源代码封装包;

Linux下的Apache、HTTP服务器的安装与配置

2.2> 第二步配置选择安装的功能和安装目录等信息;

--prefix:指定将httpd服务程序安装到哪个目录,如/usr/local/httpd。

--enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力。

--enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。

--enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。

--enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力。

Linux下的Apache、HTTP服务器的安装与配置

2.3> 第三步编译,将配置信息生成可执行的二进制文件;

Linux下的Apache、HTTP服务器的安装与配置

2.4> 第四步安装;

Linux下的Apache、HTTP服务器的安装与配置

2.5> 确认安装结果;

Linux下的Apache、HTTP服务器的安装与配置

(3)优化执行路径

    软链接:可以跨分区,也可以对目录进行操作,源文件被删除后链接失效;

    硬链接:不可对目录操作,不可跨分区,源文件被删除后链接文件同样有效,创建时不加-s

3.1> 建立软链接;

ln -s /usr/local/httpd/bin/* /usr/local/bin/

Linux下的Apache、HTTP服务器的安装与配置

Linux下的Apache、HTTP服务器的安装与配置

3.2> 查看软链接;

ls -l /usr/local/bin/httpd /usr/local/bin/apachectl(查看软链接)

Linux下的Apache、HTTP服务器的安装与配置

(4)添加httpd系统服务

4.1> 复制阿帕奇网站服务的控制脚本到etc/init.d/httpd;

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

Linux下的Apache、HTTP服务器的安装与配置

4.2> 显示启动状态信息,发现httpd服务不支持chkconfig;

Linux下的Apache、HTTP服务器的安装与配置

4.3> 修改阿帕奇网站服务的控制脚本,使其能够支持chkconfig来进行管理;

Linux下的Apache、HTTP服务器的安装与配置

Linux下的Apache、HTTP服务器的安装与配置

4.4> 调整启动级别,查看启动状态;

chkconfig --add httpd(调整启动级别)

chkconfig --list httpd(查看启动状态)

Linux下的Apache、HTTP服务器的安装与配置

(5)httpd服务访问控制

5.1> 修改httpd.conf,测试是否可以成功访问页面;

vim /usr/local/httpd/conf/httpd.conf

Linux下的Apache、HTTP服务器的安装与配置

并将配置文件中的servername那一行的注释去掉

Linux下的Apache、HTTP服务器的安装与配置

5.2> 启动httpd服务;

service  httpd  start

Linux下的Apache、HTTP服务器的安装与配置

5.3> 虚拟机本机进行测试(IP:192.168.10.10)——VMnet8;

Linux下的Apache、HTTP服务器的安装与配置

5.4> 物理机进行测试(IP:192.168.10.11)——VMnet8;

Linux下的Apache、HTTP服务器的安装与配置

(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>

Linux下的Apache、HTTP服务器的安装与配置

Linux下的Apache、HTTP服务器的安装与配置

6.2> 虚拟机上进行测试(注:需要清除浏览器的缓存——删除历史记录);

Linux下的Apache、HTTP服务器的安装与配置

6.3> 物理机上进行测试(注:需要清除浏览器的缓存——删除历史记录);

Linux下的Apache、HTTP服务器的安装与配置

(7)基于客户端地址的访问控制——对后台登录页面进行操作

7.1> 在/usr/local/httpd/htdocs目录上新建一个文件htadmin,将后台的登录页面index.html(自己创建一个)存放进去;

Index.html

Linux下的Apache、HTTP服务器的安装与配置

Linux下的Apache、HTTP服务器的安装与配置

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>

Linux下的Apache、HTTP服务器的安装与配置

Linux下的Apache、HTTP服务器的安装与配置

7.3> 虚拟机上进行测试,可以成功访问到后台的登录页面;

Linux下的Apache、HTTP服务器的安装与配置

7.4> 物理机上进行测试,不能访问后台的登录页面;

Linux下的Apache、HTTP服务器的安装与配置

(8)用户授权限制,并对网站目录(htadmin)添加授权

8.1> 创建用户认证数据库;

进入/usr/local/httpd/bin,添加用户信息并查看添加的用户是否成功;

Linux下的Apache、HTTP服务器的安装与配置

8.2> 修改httpd.conf,进行测试,并重启服务;

vim /usr/local/httpd/conf/httpd.conf

Linux下的Apache、HTTP服务器的安装与配置

Linux下的Apache、HTTP服务器的安装与配置

Linux下的Apache、HTTP服务器的安装与配置

8.3> 虚拟机上进行测试;

Linux下的Apache、HTTP服务器的安装与配置

Linux下的Apache、HTTP服务器的安装与配置

8.4> 物理机上测试,可以看到不允许访问;

Linux下的Apache、HTTP服务器的安装与配置