43 openEuler搭建Apache服务器-配置文件说明和管理模块

43.1 配置文件说明

当httpd服启动后,默认情况下它会读取如表1所示的配置文件。

表 1 配置文件说明

文件 说明
/etc/httpd/conf/httpd.conf 主要的配置文件
/etc/httpd/conf.d 配置文件的辅助目录,这些配置文件也被包含在主配置文件当中一个配置文件的辅助目录被包含在主要的配置文件中

虽然默认配置可以适用于多数情况,但是用户至少需要熟悉里面的一些重要配置项。配置文件修改完成后,可以在root权限下使用如下命令检查配置文件可能出现的语法错误。

# apachectl configtest

如果回显如下,说明配置文件语法正确。

Syntax OK

示例命令如下:

[root@superman-21 ~]# apachectl configtest
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::9393:f6ae:ced9:7759%ens33. Set the 'ServerName' directive globally to suppress this message
Syntax OK
[root@superman-21 ~]# 

image-20221219190513462 说明:

  • 在修改配置文件之前,请先备份原始文件,以便出现问题时能够快速恢复配置文件。
  • 需要重启web服务,才能使修改后的配置文件生效。

43.2 管理模块和SSL

43.2.1 概述

httpd服务是一个模块化的应用,它和许多动态共享对象DSO(Dynamic Shared Objects)一起分发。动态共享对象DSO,在必要情况下,可以在运行时被动态加载或卸载。服务器操作系统中这些模块位于/usr/lib64/httpd/modules/目录下。本节介绍如何加载和写入模块。

43.2.2 加载模块

为了加载一个特殊的DSO模块,在配置文件中使用加载模块指示。独立软件包提供的模块一般在/etc/httpd/conf.modules.d目录下有他们自己的配置文件。

例如,加载asis DSO模块的操作步骤如下:

  1. 在/etc/httpd/conf.modules.d/00-optional.conf文件中,使用root权限取消注释如下配置行。
LoadModule asis_module modules/mod_asis.so

示例命令如下:

[root@superman-21 ~]# vi /etc/httpd/conf.modules.d/00-optional.conf
[root@superman-21 ~]# 
[root@superman-21 ~]# cat /etc/httpd/conf.modules.d/00-optional.conf
#
# This file lists modules included with the Apache HTTP Server
# which are not enabled by default.
# 

LoadModule asis_module modules/mod_asis.so
#LoadModule buffer_module modules/mod_buffer.so
#LoadModule heartbeat_module modules/mod_heartbeat.so
#LoadModule heartmonitor_module modules/mod_heartmonitor.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule dialup_module modules/mod_dialup.so
#LoadModule charset_lite_module modules/mod_charset_lite.so
#LoadModule log_debug_module modules/mod_log_debug.so
#LoadModule log_forensic_module modules/mod_log_forensic.so
#LoadModule ratelimit_module modules/mod_ratelimit.so
#LoadModule reflector_module modules/mod_reflector.so
#LoadModule sed_module modules/mod_sed.so
#LoadModule speling_module modules/mod_speling.so
[root@superman-21 ~]# 
  1. 加载完成后,请使用root权限重启httpd服务以便于重新加载配置文件。
# systemctl restart httpd

示例命令如下:

[root@superman-21 ~]# systemctl restart httpd
[root@superman-21 ~]#
  1. 加载完成后,在root权限下使用httpd -M的命令查看是否已经加载了asis DSO模块。
# httpd -M | grep asis

回显如下,说明asis DSO模块加载成功。

asis_module (shared)

示例命令如下:

[root@superman-21 ~]# httpd -M | grep asis
 asis_module (shared)
[root@superman-21 ~]# 

image-20221219190513462 说明: httpd 的常用命令

  • httpd -v : 查看httpd的版本号。
  • httpd -l:查看编译进httpd程序的静态模块。
  • httpd -M:查看已经编译进httpd程序的静态模块和已经加载的动态模块。

43.2.3 SSL介绍

安全套接层SSL(Secure Sockets Layer)是一个允许服务端和客户端之间进行安全通信的加密协议。其中,传输层安全性协议TLS(Transport Layer Security)为网络通信提供了安全性和数据完整性保障。openEuler支持Mozilla NSS(Network Security Services)作为安全性协议TLS进行配置。加载SSL的操作步骤如下:

  1. 在root权限下安装mod_ssl的rpm包。
# dnf install mod_ssl

示例命令如下:

[root@superman-21 ~]# dnf install mod_ssl
Last metadata expiration check: 0:22:11 ago on 2022年12月02日 星期五 22时47分05秒.
Dependencies resolved.
=============================================================================================================================
 Package                    Architecture              Version                                Repository                 Size
=============================================================================================================================
Installing:
 mod_ssl                    x86_64                    1:2.4.51-9.oe2203                      update                    105 k

Transaction Summary
=============================================================================================================================
Install  1 Package

Total download size: 105 k
Installed size: 263 k
Is this ok [y/N]: y
Downloading Packages:
mod_ssl-2.4.51-9.oe2203.x86_64.rpm                                                           516 kB/s | 105 kB     00:00    
-----------------------------------------------------------------------------------------------------------------------------
Total                                                                                        511 kB/s | 105 kB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                     1/1 
  Installing       : mod_ssl-1:2.4.51-9.oe2203.x86_64                                                                    1/1 
  Running scriptlet: mod_ssl-1:2.4.51-9.oe2203.x86_64                                                                    1/1 
  Verifying        : mod_ssl-1:2.4.51-9.oe2203.x86_64                                                                    1/1 

Installed:
  mod_ssl-1:2.4.51-9.oe2203.x86_64                                                                                           

Complete!
[root@superman-21 ~]# 
  1. 安装完成后,请在root权限下重启httpd服务以便于重新加载配置文件。
# systemctl restart httpd

示例命令如下:

[root@superman-21 ~]# systemctl restart httpd
[root@superman-21 ~]# 
  1. 加载完成后,在root权限下使用httpd -M的命令查看是否已经加载了SSL。
# httpd -M | grep ssl

回显如下,说明SSL已加载成功。

ssl_module (shared)
[root@superman-21 ~]# httpd -M | grep ssl
 ssl_module (shared)
[root@superman-21 ~]#

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

image-20230320143953283