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