apache编译(win)

雨
2008-8-5 14:42 by:果面 PC应用 » 网络应用 本站原创 | |
平台:
Microsoft Visual C++ 6.0
ActivePerl
awk工具
Microsoft Platform SDK - February 2003

所需软件:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
Microsoft Platform SDK - February 2003

http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe  awk工具
下载后改名为awk.exe并放到VC98\bin目录下

http://httpd.apache.org/下载win的源代码

http://www.zlib.net/下载zlib的DLL和win的源代码

http://www.openssl.org/下载OpenSSL源代码

1.解压Apache的源代码到httpd目录里面

2.解压zlib源代码包和编译好的DLL文件,放在httpd\srclib\zlib目录下(自行创建新文件夹)

3.解压OpenSSL源代码,放在httpd\srclib\OpenSSL目录下(自行创建新文件夹)

4.把httpd\srclib\zlib文件夹复制一个到httpd\srclib\OpenSSL目录下

5.打开httpd\srclib\OpenSSL\zlib\lib目录把zdll.exp和zdll.lib复制一份,并改名为zlib1.exp和zlib1.lib,此时目录下面存在
zdll.exp\zdll.lib\zlib1.exp\zlib1.lib这四个文件。复制zlib1.exp和zlib1.lib到httpd\srclib\OpenSSL目录下。

6.打开CMD,CD到httpd\srclib\OpenSSL目录,执行下面的命令
备注:注意大小写,不用版本的Apache可能会有些不同,详情去查看Apache手册里面的win_compiling.html
perl Configure no-mdc2 no-rc5 no-idea enable-zlib VC-WIN32 -Izlib

ms\do_ms.bat

nmake -f ms\ntdll.mak


编译完毕之后,生成的文件会放在httpd\srclib\OpenSSL\out32dll目录面

7.将httpd\srclib\OpenSSL\out32dll目录里面的*.dll,*.exp,*.lib复制到httpd\srclib\OpenSSL目录里面

8.进入httpd\srclib\zlib\lib目录,把zdll.exp和zdll.lib复制到httpd\srclib\zlib目录里面

9.打开命令行模式,CD到httpd目录,然后执行下面的命令

正常发行版命令
nmake /f Makefile.win _apacher


带调试文件命令
nmake /f Makefile.win _apached


如果在编译过程中,出现类似
Support for LDAP v2.0 toolkits has been removed from apr-util. Please use an LDAP v3.0 toolkit.

的问题,就按照下面的方法修改:
httpd\srclib\apr-util\include\apr_ldap.h

#error Support for LDAP v2.0 toolkits has been removed from apr-util. Please use an LDAP v3.0 toolkit.

注释或删除(编译过程中这一行会恢复,如果第一次编译失败,要重新编译,还需要进去这个文件修改一次)
httpd\srclib\apr-util\ldap\apr_ldap_init.c

LDAP_VENDOR_NAME

注释或删除

修改完之后再进行编译。

10.编译完毕之后,执行安装命令,提取文件。
备注:INSTDIR的dir参数是用来设定安装目录;如果忽略此参数,则安装到分区根目录的Apache2文件夹内。

正常发行版命令
nmake /f Makefile.win installr INSTDIR=dir


带调试文件命令
nmake /f Makefile.win installd INSTDIR=dir



完成
评论(0) 引用(0) 阅读(2558)