声明:本博文用于学习总结及工作心得
1.安装apxs sudo apt-get installapache2-dev
2.使用apxs生成程序 apxs2 -g –n helloworld
3 生成一个helloworld的目录 进入目录目录下有一个.c文件。可以进入该文件做适当修改;因为Apache模块开发更传统的c程序还是有差别的,底层都一样比如针对目录操作的饿函数apr_dir_remove() 函数。实际上还是调用的rmdir();Apacheh还做了很多优化;具体参考apr官方文档
常用模块可参考http://www.cnblogs.com/AloneSword/archive/2013/03/01/2939564.html
模块案例可参考http://www.cnblogs.com/274914765qq/p/4453315.html
Apr源文件 https://mirrors.tuna.tsinghua.edu.cn/apache//apr/
Apr API可参考http://apr.apache.org/docs/apr/1.4/files.html
4. apxs2 -c mod_ helloworld.c
5. apxs2 -i mod_ helloworld.la
这里环境是linux Ubuntu14.04.3
执行完命令以后会在/usr/lib/apache2/modules/目录下生成一个mod_helloworld.so文件
6.进入apache配置文件 我这里是在/etc/apache2 其目录结构为
apache2.conf conf-available/ conf-enabled/ envvars magic mods-available/mods-enabled/ ports.conf sites-available/ sites-enabled/
这里需要为apache2添加配置参考apache2.conf中有这么一句
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Apache 会自动加载这mods-enabled/中的.load和.conf的配置文件;而mods-enabled/中是mods-available/的符号链接文件;所以进入mods-available/下新建helloworld.load配置文件,添加以下内容:
LoadModule helloworld_module/usr/lib/apache2/modules/mod_helloworld.so (这里为之前生成.so文件的路径,默认是放在/usr/lib/apache2/modules/)
<Location /helloworld >
SetHandler helloworld
</Location>
保存以后进入mods-enabled/输入以下命令
ln –s ../mods- available/helloworld.load./ helloworld.load
7.重启apache服务器
需要注意的是需要使用apxs2来进行操作