文章关键字 ‘IPv6’

Windows下编译支持IPv6的Apache

2010年05月19日,星期三

以前在本机测试BT程序的时候需要支持IPv6的Apache,但是官方网站下载的Windows平台的Apache并不支持IPv6,Google了一下,发现http://win6.jp/上有Apache的IPv6补丁,但是从域名看是小日本的,抵制;后来发现这个论坛上有别人编译好的支持IPv6的Apache,只可惜我不信任别人编译的;在后来看到XAMMP套件的Apache是支持IPv6的,但是XAMMP太大了,我也不喜欢。于是研究了一下怎么在Windows平台下编译支持IPv6的Apache,主要参考了官方的编译教程(英文的),然后自己修改了一下源码,使之能支持IPv6。

废话说完了,正式开始:

  1. 安装Visual Studio 2008,这个,不用介绍了吧
  2. 安装Perl和awk:下载ActivePerl并安装;下载awk95.exe,重命名为awk.exe并复制到C:\Windows目录下
  3. 编译zlib库:到官网下载zlib源码,解压至C:\build\zlib,运行Visual Studio 2008命令行,在zlib目录下运行命令

    nmake -f win32\Makefile.msc

  4. 编译OpenSSL库:到官网下载OpenSSL源码,解压至C:\build\openssl,运行Visual Studio 2008命令行,在openssl目录下运行命令

    perl Configure VC-WIN32
    ms\do_ms
    nmake -f ms\ntdll.mak

  5. 编译Apache:到官网下载Apache源码,解压至C:\build\httpd,复制之前编译好的zlib和OpenSSL的文件夹至httpd\srclib目录下,打开httpd\srclib\apr\include\apr.hw,将

    #define APR_HAVE_IPV6 0

    修改为

    #define APR_HAVE_IPV6 1

    运行Visual Studio 2008命令行,在httpd目录下运行命令

    nmake /F Makefile.win INSTDIR="C:\Apache" installr

    其中INSTDIR为希望安装Apache的目录

喝杯咖啡回来以后,支持IPv6的Apache就编译好了,进入C:\Apache\bin目录,运行

httpd.exe -k install

就可以把Apache注册为系统服务(windows 7下要管理员权限)