☛ 任务要求

在信息中心的 Linux 服务器中安装 Apache 软件包,可以实现网站的部署功能。世界上很多著名的网站都在使用 Apache。它快速、可靠,并且具有出色的安全性和跨平台特性,是目前最流行的 Web 服务器软件之一。Web 服务器的配置主要是通过修改 Apache 服务的配置文件来实现。

☛ 任务资讯

万维网 ( World Wide Web,WWW ) 即全球广域网,它是一种基于超本文和 HTTP 的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在 Internet 上的一种网络服务,为浏览者在 Internet 上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超链接将 Internet 上的信息节点组织成一个互为关联的网状结构。

我们通常所说的 WWW 服务、Web 服务,其实是一个意思,泛指通过 HTTP 协议传输,使用图形化界面来展示信息的一种方式。也就是俗称的网站或者网页。

⑴ Web 服务的工作原理

Web 服务是采用典型的客户端 / 服务器模式运行的。Web 服务运行于 TCP ( Transmission Control Protocol,传输控制协议 ) 之上。用户可以通过客户端浏览器访问 Web 服务器上的图、文、音、视并茂的网页信息资源。Web 服务器的交互过程一般可分为四个步骤,即连接过程、请求过程、应答过程及关闭连接。Web 服务的交互过程如下图所示:

① 连接过程:Web 浏览器与 Web 服务器之间建立 TCP/IP 连接,以便传输数据。

② 请求过程:浏览器向 Web 服务器发出资源查询请求。

③ 应答过程:Web 服务器接收 HTTP 请求,并通过 HTTP 响应将 Web 资源发送给 Web 浏览器。

④ 关闭连接:在应答过程完成后,浏览器和 Web 服务器之间断开 TCP/IP 连接的过程。

⑵ Web 服务相关技术

① HTTP ( Hyper Text Transfer Protocol,超本文传输协议 ) 是浏览器和 Web 服务器通信时所使用的应用层协议,允许浏览器向服务器请求 Web 资源并接收响应。

② HTML ( Hyper Text Markup Language,超本文标记语言 ) 是由一系列标签组成的一种标记性语言,主要用来描述网页的内容和格式。它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的 Internet 资源连接为一个逻辑整体。网页中的不同内容,如文字、图形、动画、声音、表格、超链接等,都可以用 HTML 标签来表示。

⑶ 认识 Apache 服务

Apache 源于 NCSA 所开发的 httpd。1994 年后许多 Web 管理员在 httpd 基础上不断发展附加功能,一批 Web 管理员通过电子邮件沟通实现其功能,并以补丁 ( patches ) 形式发布。1995 年几位核心成员成立 Apache 组织。随后 Apache 不断更新版本,革新服务器架构,一年后超过 httpd 成为排名第一的 Web 服务器软件。

Apache 以其开源、快速、可靠并且可以通过简单的 API 扩展,将 Perl / Python 等解释器编译到服务器中等优点,成为世界使用率排名第一的 Web 服务器软件。它可以运行在所有广泛使用的计算机平台上,可移植性非常好。很多著名的网站使用 Apache 作为服务器,其市场占有率已超过 60%。

⑷ 认识 Apache 服务相关软件包

Apache 服务的主程序软件包为 httpd-2.4.37,如下所示:

httpd-2.4.37-47.module+e18.6.0+823+f143cee1.1.x86_64              // Apache 主程序
httpd-filesystem-2.4.37-47.module+e18.6.0+823+f143cee1.1.noarch   // 基本目录
httpd-tools-2.4.37-47.module+e18.6.0+823+f143cee1.1.x96_64        // Apache 工具

⑸ 认识 Apache 主配置文件

Apache 服务器的全部配置信息都存储在主配置文件 /etc/httpd/conf/httpd.conf 中。

① Apache 主配置文件

在 httpd.conf 文件中有三种类型的信息,包括注释行信息、全局配置、区域配置。httpd.conf 文件中的参数及功能如下所示:

ServerRoot:指定 Apache 的服务目录,默认是 /etc/httpd。

DocumentRoot:指定网站的根目录,一般要设置为绝对路径,默认值是 /var/www/html。

Listen:指定 Apache 的监听端口,默认工作端口号是 80。

User 和 Group:指定运行 Apache 的用户和群组,默认都是 apache。

ServerAdmin:指定网站管理员的邮箱,当用户访问该网站时,若遇到错误,则会向管理员邮箱发送信息。

ServerName:指定 Apache 服务器的域名,要保证能够被 DNS 服务器解析。

ErrorLog:指定错误日志文件的路径,默认是 logs/error_log。

CustomLog:指定访问日志文件的路径和格式,默认是 logs/access_log。

LogLevel:指定控制日志详细程度的级别。

TimeOut:指定访问超时时间,默认 300 s。

Directory:设置服务器上资源目录的路径、权限等。

DirectoryIndex:指定网站的首页,默认的首页文件是 index.html。

MaxClients:指定 Apache 的最大连接数,即 Web Server 可以允许多少客户端同时连接。

② Directory 配置段

在 Apache 主配置文件和虚拟主机配置文件中,都需要使用 Directory 配置段。<Directory> 和 </Directory> 是一对命令,它们中间所包含的指定,仅对指定的目录有效。Directory 配置段包含的选项及其功能如下所示:

Options:配置指定目录具体使用哪些功能特性。

AllowOverride:设置是否把 ” .htaccess ” 作为配置文件,可以允许该文件的全部命令,也可以只允许某些类型的指定,或者全部禁止。

Order:控制默认访问状态,以及 Allow 和 Deny 指定的生效顺序。

Allow:控制哪些主机可以访问,可根据主机名称、IP Address、IP 范围或其他环境变量的定义来进行控制。

Deny:限制访问 Apache 服务器的主机列表,其语法和参数与 Allow 命令完全相同。

⑹ Apache 服务的启动、停止

Apache 软件的后台守护进程是 httpd,因此,在启动、停止 Apache 服务和查询 Apache 服务状态时要以 httpd 为参数。

☛ 任务实施

⑴ 查询 Apache 服务器的 httpd 软件包是否安装

[root@localhost]#rpm -qa|grep httpd

⑵ 安装 Apache 服务器的 httpd 软件包

如果查询结果显示未安装 Apache 服务器的 httpd 软件包,就使用 yum 的命令安装 Apache 服务器所需的软件包,如下所示:

[root@localhost]#yum -y install httpd httpd-tools

⑶ 检查 Web 服务器初始状态

当确认 Apache 的相关软件包正确安装后,为了验证 Apache 服务器是否正常运行,无须更改任何配置文件,直接启动服务,如下所示:

[root@localhost]#systemctl start httpd
[root@localhost]#systemctl enable httpd

打开浏览器,输入 Apache 服务器主机的 IP Address 查看 Apache 服务器是否正常运行,如下图所示:

☛ 关闭防火墙

上述的安装架设步骤完成后,关闭防火墙,并设置开机不自动启动,如下所示:

[root@localhost]#systemctl stop firewalld
[root@localhost]#systemctl disable firewalld

☛ 关闭 SELinux

配置完成后,将 SELinux 的安全策略设置为允许模式,如下所示:

[root@localhost]#setenforce 0
[root@localhost]#getenforce