将ModSecurity加到Apache中时,需要修改Apache配置文件,如下:
#Load libxml2
LoadFile /usr/lib/libxml2.so
#Load Lua
LoadFile /usr/lib/liblua5.1.so
#Finally, load ModSecurity
LoadModule security2_module modules/mod_security2.so
此时发现并不存在liblua5.1.so之类的文件。于是下载lua-devel源码:
wget http://www.lua.org/ftp/lua-5.1.5.tar.gz
阅读Makefile,发现只指定生成liblua.a静态库,想要生成动态链接库,只能自己修改Makefile,大致如下:
1. 修改src/Makefile
- CFLAGS= -O2 -Wall $(MYCFLAGS)
+ CFLAGS= -O2 -Wall -fPIC $(MYCFLAGS)
+ LUA_SO= liblua.so
- ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
+ ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
+ $(LUA_SO): $(CORE_O) $(LIB_O)
+ $(CC) -o $@ -shared $?
2. 修改Makefile
- INSTALL_TOP= /usr/local
+ INSTALL_TOP= /usr
- TO_LIB= liblua.a
+ TO_LIB= liblua.a liblua.so
完成。安装lua安装指南进行安装即可,最后发现在/usr/lib/下生成liblua.so文件。
#Load libxml2
LoadFile /usr/lib/libxml2.so
#Load Lua
LoadFile /usr/lib/liblua5.1.so
#Finally, load ModSecurity
LoadModule security2_module modules/mod_security2.so
此时发现并不存在liblua5.1.so之类的文件。于是下载lua-devel源码:
wget http://www.lua.org/ftp/lua-5.1.5.tar.gz
阅读Makefile,发现只指定生成liblua.a静态库,想要生成动态链接库,只能自己修改Makefile,大致如下:
1. 修改src/Makefile
- CFLAGS= -O2 -Wall $(MYCFLAGS)
+ CFLAGS= -O2 -Wall -fPIC $(MYCFLAGS)
+ LUA_SO= liblua.so
- ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
+ ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
+ $(LUA_SO): $(CORE_O) $(LIB_O)
+ $(CC) -o $@ -shared $?
2. 修改Makefile
- INSTALL_TOP= /usr/local
+ INSTALL_TOP= /usr
- TO_LIB= liblua.a
+ TO_LIB= liblua.a liblua.so
完成。安装lua安装指南进行安装即可,最后发现在/usr/lib/下生成liblua.so文件。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25432352/viewspace-735971/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25432352/viewspace-735971/