欢迎光临
我们一直在努力

windows环境下使用apxs编译添加apache模块

windows环境下使用apxs编译添加apache模块

简介说明:本文使用mod_limitipconn模块为例。

环境:

windows7
x86
系统

apache
2.4.18

目标:

windows环境下,利用mod_limitipconn0.24源码、apxsapache2.4.18添加mod_limitipconn模块。

分析:

limitipconn模块最新版已经支持apache2.4了。但是没有编译好的对应版本。因此需要自己动手编译模块。在windows下要实现这个目标,需要安装以下几个软件:apxswindows版)、perlwindows版本的,这是为了可以安装apxs)、vc++6.0(要安装版的。这个是apxs编译c源码模块调用使用的。也可以使用其他的软件)。

下载地址:

apxs

http://www.apachelounge.com/download/additional/

perl(ActivePerl
)

http://www.activestate.com/activeperl/downloads

vc++6.0

要安装版。绿色版编译时出错。

步骤:

安装perlActivePerl),直接默认安装就好。安装完成请确认windows环境变量的path是否添加了perl的文位置。没有自动添加,请手工追加。如图:

安装vc++6.0,这个一定使用安装版的,否则编译时会报错。我的安装目录:D:\Program
Files\Microsoft Visual Studio,
安装完成确认D:\Program
Files\Microsoft Visual
Studio\VC98\Bin\cl.exe,
双击是否报错。(若报错,请根据报错信息修复。我的报错:mspdb60.dll文件丢失,下载该文件放到cl.exe所在目录)。并把“D:\Program
Files\Microsoft Visual Studio\VC98\Bin\”
添加到环境变量path中。如图:

安装apxs

首先说明:apache安装目录:D:\wamp\bin\apache\apache2.4.18\

运行windows的命令提示符(即cmd),并进入apxs安装包文件所在位置。运行以下命令:“perl
Configure.pl –with-apache2=D:\wamp\bin\apache\apache2.4.18\
–with-apache-prog=httpd.exe”
。如图:

注:会生成D:\wamp\bin\apache\apache2.4.18\build\config_vars.mk文件和D:\wamp\bin\apache\apache2.4.18\bin\apxs.bat文件。

修改D:\wamp\bin\apache\apache2.4.18\build\config_vars.mk,效果如下:

CC = cl

LD = link

CPP = cl
-nologo -E

LDFLAGS =
kernel32.lib ws2_32.lib apr-1.lib aprutil-1.lib libapr-1.lib
libapriconv-1.lib libaprutil-1.lib libhttpd.lib mod_dav.lib xml.lib
/nologo /subsystem:windows /dll /machine:I386
/libpath:”D:\wamp\bin\apache\APACHE~1.18\lib”

注:cllink是调用D:\Program
Files\Microsoft Visual
Studio\VC98\Bin\
下的cl.exelink.exe。其中LDFLAGS=…”D:\wamp\bin\apache\APACHE~1.18\lib采用默认的就可以(”D:\wamp\bin\apache\APACHE~1.18\lib是我的默认的。其实就是apache安装目录下的lib文件夹的目录)。若LDFLAGS项目没有更改编译模块时会报错。

在命令提示符中,运行“VCVARS32”,如图:

windows环境变量中path,追加D:\wamp\bin\apache\apache2.4.18\bin\,如图:

在命令提示符中进入mod_limipiconn源码所在目录,并运行如下命令:

apxs -i -c -a
mod_limitipconn.c

如图:

重要说明:

会在D:\wamp\bin\apache\apache2.4.18\lib\生成mod_limitipconn.lib文件。

会在D:\wamp\bin\apache\apache2.4.18\modules\生成mod_limitipconn.so文件。

每次追加windows环境变量path下的内容,需要重新运行命令提示符才能生效(或者说才能在命令提示符中应用)。

编译时提示“windows.h”相关错误,请检查D:\wamp\bin\apache\apache2.4.18\build\config_vars.mk文件中的LDFLAGS是否修改,若已经修改,请使用安装版的vc++6.0

涉及的文件位置罗列:

apache2.4.18安装位置:D:\wamp\bin\apache\apache2.4.18

vc++6.0安装位置:D:\Program
Files\Microsoft Visual Studio

cl.exelink.exeVCVARS32
.bat
所在位置:D:\Program
Files\Microsoft Visual Studio\VC98\Bin\

apxs安装后所在位置:D:\wamp\bin\apache\apache2.4.18\bin\

config_vars.mk所在位置:D:\wamp\bin\apache\apache2.4.18\build\config_vars.mk

perl安装位置:C:\Perl\

mod_limitipconn源码所在位置:D:\mod_limitipconn\

附件:http://down.51cto.com/data/2366438

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。