Apache fordítása Microsoft Windows rendszerhez

httpd létrehozása A mellékelt Visual Studio projektfájlokkal

követelmények

az Apache lefordításához a következő környezet megfelelő telepítése szükséges:

  • lemezterület

    győződjön meg arról, hogy legalább 200 MB szabad lemezterület áll rendelkezésre. A telepítés után az Apache körülbelül 80 MB lemezterületet igényel, plusz helyet a napló-és gyorsítótár-fájlokhoz, amelyek gyorsan növekedhetnek. A tényleges lemezterület-követelmények jelentősen eltérnek a választott konfigurációtól és a harmadik féltől származó moduloktól vagy könyvtáraktól függően, különösen akkor, ha az OpenSSL is épül. Mivel sok fájl szöveges és nagyon könnyen tömöríthető, az NTFS fájlrendszer tömörítése megfelezi ezeket a követelményeket.

  • megfelelő javítások

    a httpd bináris több javítás segítségével épül fel harmadik féltől származó csomagokra, amelyek biztosítják a kiadott kód felépítését és hibakeresését. Ezek a javítások http://www.apache.org/dist/httpd/binaries/win32/patches_applied/ – től kaphatók és terjeszthetők, és ajánlott alkalmazni, hogy azonos eredményeket érjenek el, mint a “hivatalos” asf elosztott bináris fájlok.

  • Microsoft Visual C++ 6.0 (Visual Studio 97) vagy újabb.

    az Apache felépíthető a parancssori eszközökkel, vagy a Visual Studio IDE Workbench-en belül. A parancssor felépítése megköveteli, hogy a környezet tükrözze a PATH, INCLUDE, LIB és egyéb változók, amelyek a vcvars32.bat parancsfájllal konfigurálhatók.

    érdemes lehet A Visual Studio Processzorcsomagot a Visual Studio régebbi verziójához, vagy az újabb Visual Studio kiadások teljes (Nem expressz) verzióját az ml-hez.exe összeszerelő. Ez lehetővé teszi az OpenSSL felépítését, ha szükséges, a hatékonyabb összeszerelési kód megvalósításával.
    az aktív httpd-közreműködők csak a Microsoft fordítói eszközláncát támogatják aktívan. Bár a projekt rendszeresen elfogadja a javításokat, hogy biztosítsa a MinGW és más alternatív építmények munkáját és javuljon rajtuk, ezeket nem tartják aktívan karban, és gyakran megszakadnak a normális fejlődés során.
  • frissített Microsoft Windows Platform SDK, 2003.február vagy újabb.

    a megfelelő Windows Platform SDK alapértelmezés szerint szerepel a Visual C++ 7.1 (Visual Studio 2002) teljes (nem express/lite) verzióiban, és ezek a felhasználók figyelmen kívül hagyhatják ezeket a lépéseket, kivéve, ha kifejezetten a Platform SDK újabb vagy más verzióját választják.

    a Visual C++ 6.0 vagy 7.0 (Studio 2000.Net) használatához A Platform SDK környezetet a setenv.bat szkript használatával kell elkészíteni (a Platform SDK telepítette) a parancssor felépítése vagy az msdev/devenv GUI környezet elindítása előtt. A Platform SDK telepítése a Visual Studio Express (2003-as és újabb) verziókhoz megfelelően módosítja az alapértelmezett környezetet.

    "c:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32"
    "c:\Program Files\Platform SDK\setenv.bat"

  • Perl és awk

    az itt javasolt több lépéshez perl tolmács szükséges a build előkészítési folyamat során, de egyébként nem szükséges.

    az Apache build rendszeren belüli telepítéséhez több fájlt módosítunk a awk.exe segédprogrammal. az awk-t azért választották, mert ez egy nagyon kicsi letöltés (a Perl-hez vagy a WSH/VB-hez képest), és elvégzi a konfigurációs fájlok módosítását a telepítéskor. Brian Kernighan http://www.cs.princeton.edu/~bwk/btl.mirror/ webhelyén van egy lefordított natív Win32 bináris, http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe, amelyet awk.exe névvel kell menteni (awk95.exehelyett).

    ha awk.exe nem található, Makefile.a win telepítési célja nem hajt végre helyettesítéseket a telepítettben .conf fájlok. Manuálisan kell módosítania a telepített .conf fájlok, amelyek lehetővé teszik a szerver indítását. Keresse meg és cserélje ki az összes “@token@” címkét.
    a Visual Studio IDE csak az eszközök- > opciók- > (projektek- >) menüpontban megadott elérési útról vagy futtatható útvonalról találja meg aawk.exe könyvtárakat. Biztosítsa az awk-t.az exe a rendszer útvonalán van.
    vegye figyelembe azt is, hogy ha Cygwin eszközöket használ (http://www.cygwin.com/), akkor az awk segédprogram neve gawk.exe, és hogy a awk.exe fájl valójában a gawk.exe fájlra mutató hivatkozás. A Windows parancshéj nem ismeri fel a szimbolikus linkeket, ezért az InstallBin nem fog működni. A megoldás a awk.exe törlése a cygwin telepítésből, majd a gawk.exe áthelyezése a awk.exefájlba. Vegye figyelembe a gawk 3.0 cygwin / mingw portjait is.x hibás volt, kérjük, frissítsen 3.1-re.x mielőtt megpróbálna használni bármilyen gawk portot.
  • zlib könyvtár (for mod_deflate)

    a Zlib-et egy srclib alkönyvtárba kell telepíteni, amelynek neve zlib. Ezt be kell építeni a helyére. Zlib lehet beszerezni http://www.zlib.net/ – a mod_deflate megerősítette, hogy megfelelően működik verzió 1.2.3.

    nmake -f win32\Makefile.msc
    nmake -f win32\Makefile.msc test

  • OpenSSL könyvtárak (mod_ssl és ab.exe ssl támogatással)

    az OpenSSL könyvtár kriptográfiai szoftver. Abban az országban, ahol Ön jelenleg tartózkodik, korlátozások vonatkozhatnak a titkosító szoftverek importjára, birtoklására, használatára és/vagy egy másik országba történő újrakivitelére. Mielőtt bármilyen titkosító szoftvert használna, kérjük, ellenőrizze országa törvényeit, rendeleteit és irányelveit a titkosító szoftverek importálásával, birtoklásával, használatával és újrakivitelével kapcsolatban, hogy ez megengedett-e. Lásd http://www.wassenaar.org/ további információkért.

    az OpenSSL konfigurálásához és felépítéséhez a perl telepítése szükséges.

    az OpenSSL-t egy srclib nevű alkönyvtárba kell telepíteni openssl, a http://www.openssl.org/source/ – ből származik, a mod_ssl vagy a abs.exe projekt fordításához, amely ab.C engedélyezett SSL támogatással. Ahhoz, hogy előkészítse OpenSSL kell kapcsolni Apache mod_ssl vagy abs.exe, és tiltsa le a szabadalmi terhelt funkciókat az OpenSSL-ben, a következő build parancsokat használhatja:

    perl Configure no-rc5 no-idea enable-mdc2 enable-zlib VC-WIN32 -Ipath/to/srclib/zlib -Lpath/to/srclib/zlib
    ms\do_masm.bat
    nmake -f ms\ntdll.mak

    nem ajánlott a zlib-dynamic használata, mivel ez az SSL-adatfolyamok leeresztésének költségeit az első kérésre továbbítja, amelynek be kell töltenie a zlib dll-t. Megjegyzés: a javasolt javítás lehetővé teszi, hogy a-L jelző működjön a windows buildekkel, javítja a zdll nevét.lib és biztosítja .pdb fájlok jönnek létre a hibaelhárításhoz. Ha az assembler nincs telepítve, akkor a fenti no-asm-et adja hozzá, és az ms\do_ms.bat-ot használja az ms\do_masm helyett.denevér forgatókönyv.
  • Adatbázis-könyvtárak (mod_dbd és mod_authn_dbm)

    az apr-util könyvtár a DBM (keyed database) és a DBD (query oriented database) kliens funkciókat teszi elérhetővé a httpd szerver és moduljai számára, mint például a hitelesítés és az engedélyezés. Az sdbm dbm és odbc DBD szolgáltatókat feltétel nélkül állítják össze.

    a dbd támogatás tartalmazza az Oracle instantclient csomagot, a MySQL-t, a PostgreSQL-t és az sqlite-t. Ezek felépítéséhez például állítsa be a LIB-t a könyvtár elérési útjának, az INCLUDE-t a fejléc elérési útjának, az elérési utat pedig mind a négy SDK dll bin elérési útjának beillesztésére, és állítsa be a dbd_list környezeti változót, hogy tájékoztassa a buildet arról, hogy melyik kliens illesztőprogram SDK-k helyesen vannak telepítve, pl.;

    set DBD_LIST=sqlite3 pgsql oracle mysql

    Hasonlóképpen, a dbm támogatás kiterjeszthető a Dbm_list segítségével egy Berkeley DB szolgáltató (db) és/vagy gdbm szolgáltató felépítéséhez, hasonlóan a LIB, INCLUDE és PATH konfigurálásával, hogy biztosítsa az ügyfélkönyvtár libs és fejlécek rendelkezésre állását.

    set DBM_LIST=db gdbm

    az adatbázis-disztribúciók megválasztásától függően szükség lehet a tényleges linkcél nevének megváltoztatására (pl.lib vs. libgdb.lib), amelyek szerepelnek a megfelelő .dsp/.mak fájlokat a könyvtárakban srclib \ apr-util \ dbd vagy …\dbm.

    lásd a README-win32.txt fájl további tippeket megszerzése a különböző adatbázis-illesztőprogram SDK.

Building from Unix sources

az Apache HTTP Server projekt politikája az, hogy csak Unix forrásokat szabadít fel. A letölthető Windows forráscsomagokat önkéntesek biztosították, és előfordulhat, hogy nem állnak rendelkezésre minden kiadáshoz. A kiszolgálót továbbra is felépítheti a Windows rendszeren a Unix forrás tarballból, csak néhány további lépéssel.

  1. töltse le és csomagolja ki a UNIX source tarballt a legújabb verzióhoz.
  2. töltse le és csomagolja ki az APR, AR-Util és APR-Iconv legújabb verziójának Unix source tarballját, helyezze ezeket a forrásokat a httpd-2 könyvtárakba.x.x \ srclib \ április, httpd-2.x.x \ srclib \ apr-util és httpd-2.x.X\srclib \ apr-iconv
  3. nyisson meg egy parancssort és CD-t a httpd-2-hez.x. x mappa
  4. futtassa a sorvégződések konverziós segédprogramot a parancssoron;

perl srclib\apr\build\lineends.pl

most már építeni a szerver a Visual Studio fejlesztői környezet segítségével az IDE. A kiszolgáló parancssori felépítése Unix forrásokból nem lehetséges, hacsak nem exportál .Mak fájlok az alábbiak szerint.

parancssori Build

Makefile.win a legfelső szintű Apache makefile. Az Apache Windows rendszeren történő fordításához egyszerűen használja az alábbi parancsok egyikét a release vagy debug íz létrehozásához:

nmake /f Makefile.win _apacher
nmake /f Makefile.win _apached

bármelyik parancs lefordítja az Apache-t. Ez utóbbi letiltja a kapott fájlok optimalizálását, megkönnyítve ezzel a kód egyetlen lépését a hibák megtalálásához és a problémák felkutatásához.

hozzáadhatja az apr-util dbd és dbm szolgáltató választásait a dbd_list és dbm_list kiegészítő make (környezeti) változókkal, lásd az Adatbáziskönyvtárakkal kapcsolatos megjegyzéseket, fent. Tekintse át a Makefile kezdeti megjegyzéseit.nyerjen további opciókért, amelyeket a build meghívásakor lehet biztosítani.

Developer Studio Workspace IDE Build

az Apache a VC++Visual Studio fejlesztői környezetével is lefordítható. A folyamat egyszerűsítése érdekében a Visual Studio munkaterület, Apache.dsw biztosított. Ez a munkaterület a teljes Apache bináris kiadáshoz szükséges .dsp projektek teljes listáját tartalmazza. Ez magában foglalja a projektek közötti függőségeket annak biztosítása érdekében, hogy a megfelelő sorrendben épüljenek.

nyissa meg a Apache.dsw munkaterületet, és válassza a InstallBin (Release vagy Debug build, ha szükséges) lehetőséget aktív projektként. InstallBin az összes kapcsolódó projekt felépítését okozza, majd meghívja az Makefile.win parancsot a lefordított futtatható fájlok és DLL-ek áthelyezésére. Lehet személyre a INSTDIR= választás megváltoztatásával InstallBin ‘ s Settings, General tab, build parancssori bejegyzést. INSTDIR alapértelmezés szerint a /Apache2 könyvtár. Ha csak tesztfordítást szeretne (telepítés nélkül), akkor a BuildBin projektet építheti helyette.

a .dsp projektfájlok Visual Studio 6.0 (98) formátumban kerülnek terjesztésre. Visual C++ 5.0 (97) felismeri őket. A Visual Studio 2002 (. net) és újabb felhasználóknak Apache.dsw plusz a .dsp fájlokat Apache.sln plusz .msproj fájlokká kell konvertálniuk. Győződjön meg róla, hogy újra konvertálja a .msproj fájlt, ha a forrás .dsp fájl megváltozik! Ez nagyon triviális, csak nyissa meg újra a Apache.dsw – t a VC++ 7.0 IDE-ben, és konvertálja újra.

van egy hiba a .vcproj átalakítása .dsp fájlok. devenv.az exe félreértelmezi a /D jelzőt olyan RC zászlók esetében, amelyek hosszú idézeteket tartalmaznak / D ‘ defines amelyek szóközöket tartalmaznak. A parancs:

perl srclib\apr\build\cvtdsp.pl -2005

átalakítja a / D zászlók RC zászlók használni egy alternatív, értelmezhető szintaxis; sajnos ez a szintaxis nem támogatja a Visual Studio 97 vagy exportált .Mak akták. Ezek / D zászlók használják, hogy adja át a hosszú leírása a mod_apachemodule.so fájlokat a megosztott .rc erőforrás verzió-azonosító build.

épület OpenSSL 1.1.0 és up miatt különbség a build szerkezete OpenSSL kezdődő Verzió 1.1.0 meg kell konvertálni a dsp fájlok érintett cvtdsp.pl április 1.6-tól vagy annál nagyobb. A parancs:

perl srclib\apr\build\cvtdsp.pl -ossl11

a Visual Studio 2002 (. net) és a későbbi felhasználóknak a Build menü, a Configuration Manager párbeszédpanelen is törölniük kell a Debug és Release Megoldásmodulok abs, mod_deflate és mod_ssl összetevők jelölését, valamint minden apr_db* – val kezdődő összetevőt. Ezeket a modulokat a nmake vagy az IDE közvetlen meghívásával építjük fel a BinBuild target segítségével, amely feltételesen építi ezeket a modulokat, ha a srclib openssl és/vagy zlib könyvtárak léteznek, és a DBD_LIST és DBM_LIST környezeti változók beállításán alapul.

Parancssor exportálása .a

exportált .mak Mak fájlok nagyobb gondot okoznak, de a Visual C++ 5.0 felhasználóknak szükségük van a mod_ssl, az abs (ab SSL támogatással) és/vagy a mod_deflatefelépítésére. A .a mak fájlok a C++ eszközlánc-disztribúciók szélesebb körét is támogatják, mint például a Visual Studio Express.

először meg kell építeni az összes projektet annak érdekében, hogy hozzon létre minden dinamikus automatikusan generált célokat, hogy a függőségek lehet értelmezni helyesen. Készítse el a teljes projektet a Visual Studio 6-ból.0 (98) IDE, a BuildAll cél, majd használja a projekt menü Export minden Makefile (ellenőrzése “a függőségek”.) Futtassa a következő parancsot az abszolút útvonalak relatív útvonalakká történő kijavításához, hogy azok bárhol felépüljenek:

perl srclib\apr\build\fixwin32mak.pl

ezt a parancsot a httpd forrásfa legfelső szintű könyvtárából kell beírnia. Minden .mak és .dep Projektfájl az aktuális könyvtárban és az alatt javításra kerül, és az időbélyegeket úgy módosítják, hogy tükrözzék a .dspértéket.

mindig tekintse át a létrehozott .mak és .dep fájlokat Platform SDK vagy más helyi, gépspecifikus fájl elérési utak esetén. A DevStudio\Common\MSDev98\bin\(VC6) könyvtár tartalmaz egy sysincl.dat fájlt, amely felsorolja az összes kivételt. Frissítse ezt a fájlt (beleértve mind az előre -, mind a fordított útvonalakat, például a sys/time.h és a sys\time.h) az ilyen újabb függőségek figyelmen kívül hagyásához. Ha a helyi telepítési útvonalakat egy elosztott .mak fájlba helyezi, akkor a build teljesen meghiúsul.

ha olyan javítással járul hozzá, amely felülvizsgálja a projektfájlokat, a projektfájlokat Visual Studio 6.0 formátumban kell lekötni. A változtatásoknak egyszerűnek kell lenniük, minimális fordítási és összekapcsolási jelzőkkel, amelyeket minden Visual Studio környezet felismer.

telepítés

az Apache lefordítása után telepíteni kell a szerver gyökérkönyvtárába. Az alapértelmezett érték ugyanannak a meghajtónak a \Apache2 Könyvtára.

az összes fájl automatikus létrehozásához és telepítéséhez használja az alábbi nmake parancsok egyikét:

nmake /f Makefile.win installr INSTDIR=dir
nmake /f Makefile.win installd INSTDIR=dir

a INSTDIR dir argumentum a telepítési könyvtárat tartalmazza; ez elhagyható, ha az Apache kell telepíteni \Apache22 (az aktuális meghajtó).

figyelmeztetés Az Apache fejlesztési fáról történő felépítéséről

Megjegyzés Csak a .dsp fájlok maradnak fenn a release buildek között. A .mak fájlok nem regenerálódnak, a recenzens idejének óriási pazarlása miatt. Ezért nem támaszkodhat a fenti NMAKE parancsokra a felülvizsgált .dsp projektfájlok létrehozásához, hacsak nem exportálja az összes .mak fájlt a projektből. Ez szükségtelen, ha a Microsoft Developer Studio környezetéből épít.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.