我有一个项目,需要在Windows上设置和构建Apache24服务器,但是几乎没有相关的信息,你能提供一些建议吗?
答案 0 :(得分:1)
我必须构建并安装Expat,以便在上面的说明中使用Windows 10 x64运行Apache。我使用x64 Native命令提示符构建Windows Visual Studio 2017 Community Edition。 (我安装了所有VC和C ++模块 - 不确定哪些是特别需要的。)此外,我使用了上面列出的所有软件的最新版本,因此必须相应地调整安装命令。火试炼!祝你好运。
答案 1 :(得分:0)
我找到了答案,经过大量的搜索,我找到了一种可以接受的方法。
软件要求:
Visual Studio 2013 (I use the Community Edition)
在C上创建一个文件夹,将其命名为BuildTools并在其中安装以下所有程序:
ActivePerl for Windows (64-bit, currently using 5.20.1.2000)
CMake for Windows (currently using 3.1.3)
GNU Awk for Windows (currently using 3.1.6-1)
GnuWin32 (any version from 2014+)
Netwide Assembler (NASM) (currently using 2.11.06)
源代码包(我不会将ZLIB用于Apache或OpenSSL,或LUA / LIBXML2 / EXPAT,因此这些不包括在此过程中):
httpd-2.4.12.tar.gz
apr-1.5.1.tar.gz
apr-util.1.5.4.tar.gz
openssl-1.0.2a.tar.gz (yes it works with 1.0.2a!)
pcre-8.36.tar.gz
以下是步骤:
将所有包解压缩到首选源树中的单独文件夹中(例如C:\ Development \ Apache24 \ src)
在首选构建文件夹中为Apache,PCRE,APR和APR-Util创建自定义构建文件夹(例如C:\ Development \ Apache24 \ build
您的文件夹结构应类似于以下内容:
进行以下文件更改,以便构建ApacheMonitor(没有Manifest错误):
C:\发展\ Apache24 \ SRC \的httpd-2.4.12 \的CMakeLists.txt 取消注释该部分以构建ApacheMonitor实用程序(第769-775行) 请在下面找到以下行,它们将在评论中
# getting duplicate manifest error with ApacheMonitor
ADD_EXECUTABLE(ApacheMonitor support/win32/ApacheMonitor.c support/win32/ApacheMonitor.rc)
SET(install_targets ${install_targets} ApacheMonitor)
SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/ApacheMonitor.pdb)
SET_TARGET_PROPERTIES(ApacheMonitor PROPERTIES WIN32_EXECUTABLE TRUE)
SET_TARGET_PROPERTIES(ApacheMonitor PROPERTIES COMPILE_FLAGS "-DAPP_FILE -DLONG_NAME=ApacheMonitor -DBIN_NAME=ApacheMonitor.exe / ${EXTRA_COMPILE_FLAGS}")
TARGET_LINK_LIBRARIES(ApacheMonitor ${EXTRA_LIBS} ${HTTPD_SYSTEM_LIBS} comctl32 wtsapi32)
另外
C:\发展\ Apache24 \ SRC \的httpd-2.4.12 \支持\ WIN32 \ ApacheMonitor.rc 注释掉包含ApacheMonitor.manifest的行(第29行)
//CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "ApacheMonitor.manifest"
4.1使用以下代码创建set_path.bat文件:
SET VC_HOME=c:\Program Files (x86)\Microsoft Visual Studio 13.0\VC
call VC_HOME\vcvarsall amd64
SET BUILD_ROOT=C:\BuildTools
SET PATH=%PATH%;%BUILD_ROOT%\cmake\bin
SET PATH=%PATH%;%BUILD_ROOT%\gawk\bin
SET PATH=%PATH%;%BUILD_ROOT%\nasm
SET PATH=%PATH%;%BUILD_ROOT%\perl\bin
You will need to run that file later in the process.
5.1转到GnuWin32,找到他的lib和include文件夹,并将其内容复制到BuildTools / perl / lib文件夹,这样可以解决我在执行此过程中出现的一些错误
5.2此步骤,您现在可以跳过,但是,如果有错误包含expat.h和expath_external.h文件,请查找旧版本的Apache,并将其expat_external.h复制到apache24 / include夹
Find expat.h file on this site
https://github.com/apache/apr-util/blob/0.9.x/xml/expat/lib/expat.h
copy its content over the file, you find in apache24/include folder Find an older version of Apache (don't know exactly witch version), and copy its expat_external.h to the apache24/include folder
Find expat.h file on this site
https://github.com/apache/apr-util/blob/0.9.x/xml/expat/lib/expat.h
copy its content over the file, you find in apache24/include folder
5.3。从控制台中找到set_path.bat文件夹并运行它。 这是你需要做的,以便能够运行下一步
导航到PCRE的build子文件夹,运行CMAKE生成合适的Makefile,然后编译安装
cd /D C:\Development\Apache24\build\pcre
cmake -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX=C:\Apache24 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=ON -DPCRE_BUILD_TESTS=OFF -DPCRE_BUILD_PCRECPP=OFF -DPCRE_BUILD_PCREGREP=OFF -DPCRE_SUPPORT_PCREGREP_JIT=OFF -DPCRE_SUPPORT_UTF=ON -DPCRE_SUPPORT_UNICODE_PROPERTIES=ON -DPCRE_NEWLINE=CRLF -DINSTALL_MSVC_PDB=OFF ..\..\src\pcre-8.36
nmake
nmake install
导航到OpenSSL的源子文件夹,配置用于使用NASM进行编译的构建环境,然后编译并安装
cd /D C:\Development\Apache24\src\openssl-1.0.2a
perl Configure VC-WIN64A --prefix=C:\Apache24 --openssldir=C:\Apache24\conf enable-camellia no-idea no-mdc2 no-ssl2 no-ssl3 no-zlib
ms\do_win64a.bat
nmake /f ms\ntdll.mak
nmake /f ms\ntdll.mak install
导航到APR的build子文件夹,运行CMAKE生成合适的Makefile,然后编译安装
cd /D C:\Development\Apache24\build\apr
cmake -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX=C:\Apache24 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DMIN_WINDOWS_VER=0x0600 -DAPR_HAVE_IPV6=ON -DAPR_INSTALL_PRIVATE_H=ON -DAPR_BUILD_TESTAPR=OFF -DINSTALL_PDB=OFF ..\..\src\apr-1.5.1
nmake
nmake install
导航到APR-Util的build子文件夹,运行CMAKE生成合适的Makefile,然后编译安装
cd /D C:\Development\Apache24\build\apr-util
cmake -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX=C:\Apache24 -DOPENSSL_ROOT_DIR=C:\Apache24 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DAPU_HAVE_CRYPTO=ON -DAPR_BUILD_TESTAPR=OFF -DINSTALL_PDB=OFF ..\..\src\apr-util-1.5.4
nmake
nmake install
导航到Apache的build子文件夹,运行CMAKE生成合适的Makefile,然后编译安装
cd /D C:\Development\Apache24\build\httpd
cmake -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX=C:\Apache24 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_MODULES=i -DINSTALL_PDB=OFF ..\..\src\httpd-2.4.12
nmake
nmake install
最后,确认一切正常
cd /D C:\Apache24\bin
openssl version
httpd -V
这些是我遇到的步骤和问题,我按照本网站的步骤进行操作:
https://www.apachelounge.com/viewtopic.php?t=6462
此外,我还添加了一些我需要做的步骤和解决方案,以使其发挥作用。
我希望将来可以帮助其他人。