如何在WINDOWS 7 Pro上设置和构建Apache 2.4?

时间:2017-05-30 07:02:57

标签: apache websocket load-balancing

我有一个项目,需要在Windows上设置和构建Apache24服务器,但是几乎没有相关的信息,你能提供一些建议吗?

2 个答案:

答案 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 

以下是步骤:

  1. 将所有包解压缩到首选源树中的单独文件夹中(例如C:\ Development \ Apache24 \ src)

  2. 在首选构建文件夹中为Apache,PCRE,APR和APR-Util创建自定义构建文件夹(例如C:\ Development \ Apache24 \ build

  3. 您的文件夹结构应类似于以下内容:

  4. enter image description here

    1. 进行以下文件更改,以便构建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"
      
    2. 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.
      
      1. 从“开始”菜单中,启动Visual Studio 2013-> Visual Studio Tools下的VS2013 x64 Native Tools命令提示符。或者,但不推荐使用Windows命令提示符。
      2. 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文件夹并运行它。     这是你需要做的,以便能够运行下一步

        1. 导航到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
          
        2. 导航到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
          
        3. 导航到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
          
        4. 导航到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
          
        5. 导航到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
          
        6. 最后,确认一切正常

          cd /D C:\Apache24\bin
          openssl version
          httpd -V
          
        7. 这些是我遇到的步骤和问题,我按照本网站的步骤进行操作:

          https://www.apachelounge.com/viewtopic.php?t=6462
          

          此外,我还添加了一些我需要做的步骤和解决方案,以使其发挥作用。

          我希望将来可以帮助其他人。