Red Hat Training

A Red Hat training course is available for RHEL 8

1.13. 使用 Apache 模块

httpd 服务是一个模块化应用程序,您可以使用多个 Dynamic Shared Objects (DSOs)对其进行扩展。Dynamic Shared Objects 是您可以可以根据需要在运行时动态加载或卸载的模块。您可以在 /usr/lib64/httpd/modules/ 目录中找到这些模块。

1.13.1. 载入 DSO 模块

作为管理员,您可以通过配置服务器应加载哪个模块来选择要包含在服务器中的功能。若要载入特定的 DSO 模块,可使用LoadModule 指令。请注意,由单独的包提供的模块通常在/etc/httpd/conf.modules.d/目录中有自己的配置文件。

先决条件

  • 您已安装了 httpd 软件包。

流程

  1. /etc/httpd/conf.modules.d/ 目录中的配置文件中搜索模块名称:

    # grep mod_ssl.so /etc/httpd/conf.modules.d/*
  2. 编辑在其中找到了模块名称的配置文件,然后取消对模块的 LoadModule 指令的注释:

    LoadModule ssl_module modules/mod_ssl.so
  3. 如果没有找到模块,例如,因为 RHEL 软件包没有提供该模块,请创建一个配置文件,如 /etc/httpd/conf.modules.d/30-example.conf

    LoadModule ssl_module modules/<custom_module>.so
  4. 重启httpd服务:

    # systemctl restart httpd

1.13.2. 编译自定义 Apache 模块

您可以创建自己的模块,并使用 httpd-devel 软件包帮助构建,该软件包包含 include 文件、头文件以及编译模块所需的 APache eXtenSion (pxs)工具。

先决条件

  • 您已安装了 httpd-devel 软件包。

流程

  • 使用以下命令构建自定义模块:

    # apxs -i -a -c module_name.c

验证步骤