Vincent.Chan‘s Blog

常用链接

统计

积分与排名

网站

最新评论

在Win32平台上编译 Apache (2.0.x - 2.2.x) + SSL

1 介绍

Apache HTTP Server 是一款优秀的开放源码软件,从1996年以来已经被广泛地应用于多种操作系统。据Netcraft.com 2006年3月的统计,目前Internet上68.70%网站用的是Apache。

OpenSSL 是一个稳定的而且功能齐全的开放源码工具包,它实现了安全套接字层 (SSL v2/v3)和传输层层安全 (TLS v1)协议,也是一个强大的通用加密工具库。

不幸的是 Apache HTTP Server 官方提供的安装包目前不包含SSL功能,因为美国政府对“strong crypto redistribution”有意见。但是爱好者们可以自己DIY。

本人从03年起,编译了Apache (2.0.x - 2.2.x)和OpenSSL (0.9.6i - 0.9.8a)几乎每个版本。

2 编译材料清单

2.1 编译OpenSSL所需材料

2.2 编译Apache所需材料

2.3 环境变量

  • 把以下文件的路径放到PATH上: perl.exe, awk.exe, nasmw.exe, bison.exe, flex.exe, sed.exe, nmake.exe, mspdb60.dll。
  • 在INCLUDE和LIB里把MS Platform SDK放到VC 6.0前面。

3 编译OpenSSL

  • 把OpenSSL源码解开到一个目录,比如 c:\openssl
  • 设置Perl
        c:\openssl>perl Configure VC-WIN32
  • 生成Makefiles
        c:\openssl>ms\do_nasm
  • 用VC++编译
        nmake -f ms\ntdll.mak
  • 测试
        c:\openssl>cd out32dll
    c:\openssl\out32dll>..\ms\test

4 编译Apache

  • 把Apache源码解开到一个目录,比如 c:\httpd-2.2.0
  • 复制OpenSSL库
        c:\httpd-2.2.0>mkdir srclib\openssl
    c:\httpd-2.2.0>xcopy/e openssl srclib\openssl
  • 编译
        nmake -f makefile.win SERVERNAME=myDomainName PORT=myPort 
    INSTDIR=myInstallDir installr
  • 删除多余文件 (可选)。以下语言文件一般可以删除:*.de *.es *.euc-jp *.euc-kr *.fr *.ja *.jis *.ko *.koi8-r *.pt-br。如果不想调试*.pdb文件也可删除。

posted on 2006-05-06 19:07 Vincent.Chen 阅读(2094) 评论(0)  编辑  收藏 所属分类: 杂文


只有注册用户登录后才能发表评论。


网站导航: