我要创建一个Apache模块

我有机会创建Apache模块,所以记录了创建方法的笔记。

准备环境

要创建和构建Apache模块,需要使用名为apxs(Apache扩展)的工具。
由于这是Apache开发包的一部分,因此需要安装它。
在apache2.x版本中,根据MPM(多处理模块)的不同,引入的开发包可能会有所不同,所以首先需要确认一下。

> apache2 -V

作为一种选择,在中国本土完成以下的释义:

Server MPM:     Prefork

确认并安装适用于prefork的软件包。

> sudo apt-get install apache2-prefork-dev

顺便提一下,如果MPM作为Worker时,

apache2-threaded-dev 可用于开发具有多线程支持的 Apache 2 服务器。

安装。

撰写模板

以下,module_name的部分可以是任意的模块名称。

> apxs2 -n module_name -g

建造和安装

> apxs2 -c mod_module_name.c
> apxs2 -i -a -n 'handler_name' mod_module_name.la

只需创建so模块。

> apxs2 -c mod_module_name.c -o mod_module_name.o
> gcc -shared -o mod_module_name.so mod_module_name.o

样本

下次会详细说明。