Windows编译Apache
发布时间:2022.5,注意时效性
系统环境:windows 10,vs 2019 buildtools
一、准备
- strawberry perl 下载地址
- ninja 下载地址
- cmake 下载地址
- nasm (用于编译openssl,下载后把目录加进path) 下载地址
- 源码:zlib,pcre,expat,openssl,brotli,apr,apr-util,httpd

二、编译
都是在每个源码文件夹中新建一个文件夹,在此目录中执行命令,请自行修改Apache的安装目录
set INSTALL=D:\Apache #请自行修改%INSTALL%变量即Apache安装目录
1. 编译zlib
cmake -GNinja -DCMAKE_INSTALL_PREFIX=%INSTALL% -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON ..
ninja #编译
ninja install #安装


2. 编译pcre
cmake -GNinja -DBUILD_SHARED_LIBS=ON -DPCRE_BUILD_PCRECPP=OFF -DCMAKE_INSTALL_PREFIX=%INSTALL% -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release ..
ninja
ninja install


3. 编译expat
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%INSTALL% ..
ninja
ninja install

4. 编译openssl
perl Configure VC-WIN64A --release --prefix=%INSTALL% --openssldir=%INSTALL%\conf enable-camellia no-idea no-mdc2
nmake
nmake install
会编译很长时间,耐心等待



5. 编译brotli
cmake -GNinja -DCMAKE_INSTALL_PREFIX=%INSTALL% -DCMAKE_BUILD_TYPE=Release ..
ninja
ninja install

6. 编译apr
cmake -GNinja -DCMAKE_INSTALL_PREFIX=%INSTALL% -DCMAKE_BUILD_TYPE=Release -DMIN_WINDOWS_VER=0x0600 -DAPR_HAVE_IPV6=ON -DAPR_INSTALL_PRIVATE_H=ON -DAPR_BUILD_TESTAPR=OFF -DINSTALL_PDB=OFF ..
ninja
ninja install

7. 编译apr-util
cmake -GNinja -DCMAKE_INSTALL_PREFIX=%INSTALL% -DOPENSSL_ROOT_DIR=%INSTALL% -DCMAKE_BUILD_TYPE=Release -DAPU_HAVE_CRYPTO=ON -DAPR_BUILD_TESTAPR=OFF -DINSTALL_PDB=OFF ..
ninja
ninja install

8. 编译httpd
cmake -G "NMake Makefiles" -DCMAKE_PREFIX_PATH=%INSTALL% -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%INSTALL% ..
nmake
nmake install

三、运行
双击bin\httpd.exe即可运行
如果不改变安装目录,则不需要修改conf\httpd.conf中server root

四、开启目录索引
打开conf\httpd.conf,将第478行的注释去掉,重新打开运行httpd.exe即可看到效果

如图:

编译好的Apache:
https://pan.baidu.com/s/1kBz3hIIFEhYuH8s3mhCS1g 提取码: 5xs8










