- 论坛徽章:
- 1
|
编译求助:安装带源码的APACHE
我们目前的WAPM之中的Apache就是按照这个方法来编译的。
在http://w.yi.org/ftp/FAPM/apache/Apache2/zh/platform/win_compiling.html有:
编译 Apache for Microsoft Windows
在你开始编译Apache之前有许多重要问题需要注意。开始之前参看 在Microsoft Windows平台上使用Apache 。
系统要求
命令行编译
Developer Studio集成开发环境的工作区编译
项目组件
系统要求
编译Apache需要正确安装以下环境:
磁盘空间
确保至少有50 MB空闲磁盘空间可用。安装以后Apache要求大约 10 MB磁盘空间,再加上会快速增长的日志和缓存文件需要的空间。 实际需要的空间大小会相当大程度上取决于你选择的配置以及使用的第三方模块和库。
Microsoft Visual C++ 5.0 或更高版本。
可以使用命令行工具,也可以在Visual Studio集成开发工作环境内编译Apache。使用命令行工具要求环境变量中包含 路径, 头文件, 库和其他一些变量,这些环境变量可以用vcvars32批处理文件来设置;
"c:\Program Files\DevStudio\VC\Bin\vcvars32.bat"
The Windows Platform SDK.
Visual C++ 5.0 编译需要一套新版的Microsoft Windows Platform SDK来允许Apache的某些特性。 对于命令行编译,用setenv批处理文件来设置环境变量:
"c:\Program Files\Platform SDK\setenv.bat"
随Visual C++ 6.0 及以后版本发布的Platform SDK文件足以满足要求,所以新版本的用户可以略过这条要求。
注意,需要新版的Windows Platform SDK来使得Apache支持的全部mod_isapi特性可用。没有新版SDK的话,在MSVC++ 5.0 下编译Apache会出现某些mod_isapi特性将被禁止的警告。 在http://msdn.microsoft.com/downloads/sdks/platform/platform.asp可以找到新版的Microsoft Winodws Platform SDK。
awk工具(awk, gawk或类似软件).
为了在编译系统内安装Apache,用awk.exe工具修改了几个文件。选择awk是因为它很小易于下载(与Perl或者WSH/VB相比),而且能够完成生成文件的任务。 Brian Kernighan的http://cm.bell-labs.com/cm/cs/who/bwk/ 站点有一个编译好的本地Win32代码版本,这个文件 http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe你必须将它名字保存为awk.exe而不是awk95.exe。
注意Developer Studio集成开发环境只能在Tools - Options菜单中的Directories页上列出的可执行文件搜索路径列表中查找 awk.exe(对于Developer Studio 7.0 是在the Projects - VC++ Directories 面板)。 把awk.exe的路径加入到列表中,并按要求加入到系统PATH环境变量里。
如果你用的是Cygwin (http://www.cygwin.com/)需要注意,awk工具的文件名是gawk.exe而文件awk.exe实际上是gawk.exe的一个符号连接。 而Windows命令行解释程序不认识符号连接,因此编译二进制安装文件会失败。可行的变通办法是从cygwin安装目录删除文件awk.exe并把gawk.exe 改名为 awk.exe。
[可选] OpenSSL库 (因为 mod_ssl 和 ab.exe 用到ssl支持)
警告:在整个世界范围使用和发布强壮的密码体系与专利知识产权都有相当大的限制和严格的禁令。 OpenSSL包括了在美国及其他国家和地区受到出口条例、国内法律以及受专利保护的知识产权所限制的强壮密码体系。对于OpenSSL项目提供的代码,不管是Apache软件基金会还是OpenSSL项目都不能提供关于拥有、使用和发布该代码的法律建议。向你自己的法律顾问咨询,你需要为你自己的行为负责。
为了编译 mod_ssl或abs项目(ab.exe用到SSL支持),OpenSSL必须安装到srclib目录下名为openssl的子目录中,openSSL可以从http://www.openssl.org/source/获得。要是准备既编译release版本又编译debug版本,而且要禁止 0.9.6 版中受专利保护的特性,你应该使用下列编译命令:
perl util\mkfiles.pl >;MINFO
perl util\mk1mf.pl dll no-asm no-mdc2 no-rc5 no-idea VC-WIN32 >;makefile
perl util\mk1mf.pl dll debug no-asm no-mdc2 no-rc5 no-idea VC-WIN32 >;makefile.dbg
perl util\mkdef.pl 32 libeay no-asm no-mdc2 no-rc5 no-idea >;ms\libeay32.def
perl util\mkdef.pl 32 ssleay no-asm no-mdc2 no-rc5 no-idea >;ms\ssleay32.def
nmake
nmake -f makefile.dbg
[可选] zlib 源码 (用于 mod_deflate)
Zlib必须安装到srclib目录下的zlib子目录,但是你不需要去编译那些源码。编译系统会直接把压缩源码编译到mod_deflate模块中去。 Zlib可以从http://www.gzip.org/zlib/获得 -- mod_deflate已经经过验证可以使用版本 1.1.4 正确编译。
命令行编译
首先,将Apache源码解包到合适的目录。打开一个命令提示符窗口并用cd切换到那个目录。
主要的Apache make文件命令都包含在文件Makefile.win中。要在Windows NT上编译Apache,只需要简单地使用下列命令之一就可以编译release版本或者debug版本,分别是:
nmake /f Makefile.win _apacher
nmake /f Makefile.win _apached
两条命令都可以编译Apache。后者会在编译结果文件中包含调试信息,使发现bugs和跟踪问题更容易。 |
|