budování httpd s přiloženými soubory projektu Visual Studio
požadavky
kompilace Apache vyžaduje, aby bylo správně nainstalováno následující prostředí:
-
místo na disku
ujistěte se, že máte k dispozici alespoň 200 MB volného místa na disku. Po instalaci Apache vyžaduje přibližně 80 MB místa na disku, plus prostor pro soubory protokolu a mezipaměti, které mohou rychle růst. Skutečné požadavky na místo na disku se budou značně lišit v závislosti na zvolené konfiguraci a jakýchkoli modulech nebo knihovnách třetích stran, zejména pokud je také postaven OpenSSL. Protože mnoho souborů je textových a velmi snadno komprimovaných, komprese souborů NTFS snižuje tyto požadavky na polovinu.
-
příslušné záplaty
binární soubor httpd je vytvořen pomocí několika záplat na balíčky třetích stran, které zajišťují, že uvolněný kód je sestavitelný a debugovatelný. Tyto záplaty jsou dostupné a distribuovány od http://www.apache.org/dist/httpd/binaries/win32/patches_applied/ a doporučuje se je použít k získání identických výsledků jako „oficiální“ distribuované binární soubory ASF.
-
Microsoft Visual C++ 6.0 (Visual Studio 97) nebo novější.
Apache lze vytvořit pomocí nástrojů příkazového řádku nebo z pracovní plochy Visual Studio IDE. Sestavení příkazového řádku vyžaduje, aby prostředí odráželo
PATH
,INCLUDE
,LIB
a další proměnné, které lze konfigurovat pomocí skriptuvcvars32.bat
.můžete chtít sadu procesorů Visual Studio pro vaši starší verzi Visual Studia nebo plnou (ne expresní) verzi novějších edic Visual Studio pro ml.exe assembler. To vám umožní vytvořit OpenSSL, pokud je to žádoucí, pomocí efektivnější implementace kódu sestavy.aktivní přispěvatelé httpd aktivně podporují pouze řetězec nástrojů kompilátoru společnosti Microsoft. Přestože projekt pravidelně přijímá záplaty, aby zajistil práci MinGW a dalších alternativních staveb a zlepšil je, nejsou aktivně udržovány a v průběhu normálního vývoje jsou často porušovány. -
Aktualizováno Microsoft Windows Platform SDK, únor 2003 nebo novější.
vhodná sada SDK platformy Windows je standardně zahrnuta v plných (nikoli expresních/lite) verzích Visual C++ 7.1 (Visual Studio 2002) a později mohou tito uživatelé tyto kroky ignorovat, pokud výslovně nezvolí novější nebo jinou verzi sady Platform SDK.
Chcete – li použít Visual C++ 6.0 nebo 7.0 (Studio 2000. Net), musí být prostředí Platform SDK připraveno pomocí skriptu
setenv.bat
(nainstalovaného platformou SDK) před spuštěním sestavení příkazového řádku nebo spuštěním prostředí MSDEV/devenv GUI. Instalace platformy SDK pro verze Visual Studio Express (2003 a novější) by měla odpovídajícím způsobem upravit výchozí prostředí."c:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32"
"c:\Program Files\Platform SDK\setenv.bat" -
Perl a awk
několik zde doporučených kroků vyžaduje interpret perl během procesu přípravy sestavení, ale jinak to není nutné.
Chcete-li nainstalovat Apache v systému sestavení, několik souborů je upraveno pomocí nástroje
awk.exe
. awk byl vybrán, protože se jedná o velmi malý download (ve srovnání s Perl nebo WSH / VB) a plní úlohu úpravy konfiguračních souborů po instalaci. http://www.cs.princeton.edu/~bwk/btl.mirror/ web Briana Kernighana má kompilovaný nativní binární Win32, http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe, který musíte uložit s názvemawk.exe
(spíše nežawk95.exe
).pokud awk.exe nebyl nalezen, Makefile.win install target nebude provádět substituce v nainstalovaném .soubory conf. Musíte ručně upravit nainstalované .soubory conf umožňují spuštění serveru. Vyhledejte a podle potřeby nahraďte všechny značky „@token@“.Visual Studio IDE najde pouzeawk.exe
z cesty nebo spustitelné cesty zadané v nabídce Nástroje -> Možnosti -> (projekty ->) adresáře. Zajistěte awk.exe je ve vaší systémové cestě.také si všimněte, že pokud používáte Cygwin tools (http://www.cygwin.com/), nástroj awk je pojmenovángawk.exe
a že souborawk.exe
je skutečně symbolickým odkazem na souborgawk.exe
. Příkazový shell systému Windows nerozpozná symbolické odkazy a kvůli této budově se InstallBin nezdaří. Řešením je odstranitawk.exe
z instalace cygwin a zkopírovatgawk.exe
doawk.exe
. Všimněte si také portů cygwin/mingw gawk 3.0.x byly buggy, upgradujte na 3.1.x před pokusem o použití jakéhokoli portu gawk. -
knihovna zlib (pro
mod_deflate
)Zlib musí být nainstalován do
srclib
podadresáře s názvemzlib
. To musí být postaveno na místě. Zlib lze získat z http://www.zlib.net/ –mod_deflate
je potvrzeno, že pracuje správně s verzí 1.2.3.nmake -f win32\Makefile.msc
nmake -f win32\Makefile.msc test -
OpenSSL knihovny (pro
mod_ssl
aab.exe
s podporou ssl)OpenSSL knihovna je kryptografický software. Země, ve které aktuálně pobýváte, může mít omezení týkající se importu, držení, používání a/nebo zpětného vývozu šifrovacího softwaru do jiné země. Před použitím jakéhokoli šifrovacího softwaru zkontrolujte zákony, předpisy a zásady vaší země týkající se dovozu, držení nebo používání a zpětného vývozu šifrovacího softwaru, abyste zjistili, zda je to povoleno. Více informací viz http://www.wassenaar.org/.konfigurace a budování OpenSSL vyžaduje instalaci perl.
OpenSSL musí být nainstalován do
srclib
podadresáře s názvemopenssl
, získaného z http://www.openssl.org/source/, aby bylo možné sestavitmod_ssl
neboabs.exe
projekt, který je ab.c s podporou SSL povoleno. Chcete-li připravit OpenSSL být spojen s Apache mod_ssl nebo abs.exe, a zakázat patent zatížené funkce v OpenSSL, můžete použít následující příkazy sestavení: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.maknení vhodné používat zlib-dynamic, protože to přenáší náklady na deflaci SSL toků na první požadavek, který musí načíst Zlib dll. Poznámka: navrhovaná oprava umožňuje příznak-L pracovat s budováním systému windows, opravuje název zdll.lib a zajišťuje .pdb soubory jsou generovány pro řešení problémů. Pokud assembler není nainstalován, měli byste přidat no-asm výše a použít ms\do_ms.bat místo ms\do_masm.netopýří scénář. -
databázové knihovny (pro
mod_dbd
amod_authn_dbm
)knihovna apr-util vystavuje klientskou funkčnost dBm (keyed database) a dbd (query oriented database) serveru httpd a jeho modulům, jako je ověřování a autorizace. Poskytovatelé sdbm dbm a odbc dbd jsou kompilováni bezpodmínečně.
podpora dbd zahrnuje balíček Oracle instantclient, MySQL, PostgreSQL a sqlite. Chcete-li je například sestavit, nastavte LIB tak, aby zahrnoval cestu knihovny, zahrnujte cestu záhlaví a cestu k zahrnutí cesty dll bin všech čtyř SDK a nastavte proměnnou prostředí DBD_LIST, aby informovala sestavení, které sady SDK ovladače klienta jsou správně nainstalovány, např.;
set DBD_LIST=sqlite3 pgsql oracle mysql
podobně může být podpora dbm rozšířena o DBM_LIST, aby se vytvořil poskytovatel Berkeley DB (db) a / nebo poskytovatel gdbm, a to podobně konfigurací LIB, INCLUDE a PATH first, aby se zajistilo, že knihovna klientů libs a záhlaví jsou k dispozici.
set DBM_LIST=db gdbm
v závislosti na volbě databázových distribucí může být nutné změnit skutečný název cílového odkazu (např.lib vs. libgdb.lib), které jsou uvedeny v odpovídajícím .dsp/.mak soubory v adresářích srclib \ apr-util\dbd nebo …\dbm.viz README-win32.soubor txt pro více rad o získání různých sad SDK ovladačů databáze.
vytváření z unixových zdrojů
zásadou projektu Apache HTTP Server je pouze uvolnění unixových zdrojů. Zdrojové balíčky systému Windows zpřístupněné ke stažení byly dodány dobrovolníky a nemusí být k dispozici pro každé vydání. Stále můžete vytvořit server na Windows ze zdroje Unix tarball s několika dalšími kroky.
- stáhněte a rozbalte unixový zdrojový tarball pro nejnovější verzi.
- stáhněte a rozbalte Unix source tarball pro nejnovější verzi APR, AR-Util a APR-Iconv, umístěte tyto zdroje do adresářů httpd-2.x.x\srclib\apr, httpd-2.x.x \ srclib\apr-util a httpd-2.x.x \ srclib \ apr-iconv
- otevřete příkazový řádek a CD do httpd-2.složka x. x
- spusťte nástroj pro převod koncovek řádků na výzvu;
perl srclib\apr\build\lineends.pl
nyní můžete vytvořit server s vývojovým prostředím Visual Studio pomocí IDE. Sestavení příkazového řádku serveru není možné ze zdrojů Unixu, pokud nevyexportujete .mak soubory, jak je vysvětleno níže.
sestavení příkazového řádku
Makefile.win
je nejvyšší úroveň Apache makefile. Chcete-li kompilovat Apache na Windows, jednoduše použijte jeden z následujících příkazů k vytvoření chuti release
nebo debug
:
nmake /f Makefile.win _apacher
nmake /f Makefile.win _apached
každý příkaz sestaví Apache. Ten zakáže optimalizaci výsledných souborů, což usnadňuje jediný krok kódu najít chyby a vystopovat problémy.
můžete přidat volby poskytovatele apr-util dbd a dbm s dalšími proměnnými DBD_LIST a DBM_LIST, viz komentáře k databázovým knihovnám výše. Zkontrolujte počáteční komentáře v Makefile.vyhrajte další možnosti, které lze poskytnout při vyvolání sestavení.
Developer Studio Workspace IDE Build
Apache lze také zkompilovat pomocí vývojového prostředí Visual Studio VC++. Pro zjednodušení tohoto procesu je k dispozici pracovní prostor Visual Studio Apache.dsw
. Tento pracovní prostor vystavuje celý seznam pracovních .dsp
projektů, které jsou vyžadovány pro úplné binární vydání Apache. Zahrnuje závislosti mezi projekty, aby bylo zajištěno, že jsou postaveny ve vhodném pořadí.
otevřete pracovní prostor Apache.dsw
a jako aktivní Projekt vyberte InstallBin
(Release
nebo Debug
sestavit podle potřeby). InstallBin
způsobí, že všechny související Projekt, které mají být postaveny, a pak vyvolá Makefile.win
přesunout kompilované spustitelné soubory a DLL. Volbu INSTDIR=
můžete přizpůsobit změnou nastavení InstallBin
, karty Obecné, položky příkazového řádku sestavení. INSTDIR
výchozí adresář /Apache2
. Pokud chcete pouze testovací kompilaci (bez instalace), můžete místo toho vytvořit projekt BuildBin
.
soubory projektu .dsp
jsou distribuovány ve formátu Visual Studio 6.0 (98). Visual C++ 5.0 (97) je rozpozná. Visual Studio 2002 (. NET) a novější uživatelé musí převést Apache.dsw
plus soubory .dsp
na soubory Apache.sln
plus .msproj
. Nezapomeňte znovu převést soubor .msproj
, pokud se změní jeho zdroj .dsp
soubor! To je opravdu triviální, stačí otevřít Apache.dsw
v VC++ 7.0 IDE znovu a znovu převést.
perl srclib\apr\build\cvtdsp.pl -2005
převede / d flags pro RC flags použít alternativní, analyzovatelné syntaxi; bohužel tato syntaxe není podporována Visual Studio 97 nebo jeho exportovány .mak soubory. Tyto / d příznaky se používají k předání dlouhého popisu mod_apachemodule.so soubory na sdílené .verze zdroje rc-sestavení identifikátoru.
perl srclib\apr\build\cvtdsp.pl -ossl11
Visual Studio 2002 (. NET) a novější uživatelé by také měli použít dialogové okno Build menu, Configuration Manager pro zrušení zaškrtnutí jak modulů řešení Debug
a Release
abs
, mod_deflate
a mod_ssl
, tak všech komponent začínajících apr_db*
. Tyto moduly jsou vytvářeny vyvoláním nmake
nebo IDE přímo s BinBuild
target, který tyto moduly staví podmíněně, pokud existují adresáře srclib
openssl
a/nebo zlib
a na základě nastavení proměnných prostředí DBD_LIST
a DBM_LIST
.
Export příkazového řádku .mak soubory
exportované .mak
soubory představují větší potíže, ale jsou nutné pro Visual C++ 5.0 uživatelé stavět mod_ssl
, abs (ab
s podporou SSL) a / nebo mod_deflate
. Na .Mak soubory také podporují širší škálu distribucí řetězce nástrojů C++, jako je Visual Studio Express.
nejprve musíte vytvořit všechny projekty, abyste vytvořili všechny dynamické automaticky generované cíle, aby bylo možné správně analyzovat závislosti. Sestavte celý projekt v rámci Visual Studia 6.0 (98) IDE, pomocí cíle BuildAll
, pak použijte nabídku Export projektu pro všechny makefiles (kontrola „se závislostmi“.) Spusťte následující příkaz opravit absolutní cesty do relativních cest, takže budou stavět kdekoliv:
perl srclib\apr\build\fixwin32mak.pl
tento příkaz musíte zadat z adresáře nejvyšší úrovně zdrojového stromu httpd. Každý soubor projektu .mak
a .dep
v aktuálním adresáři a níže bude opraven a časová razítka upravena tak, aby odrážela .dsp
.
vždy zkontrolujte generované soubory .mak
a .dep
pro platformu SDK nebo jiné místní cesty k souborům specifické pro stroj. Adresář DevStudio\Common\MSDev98\bin\
(VC6) obsahuje soubor sysincl.dat
, který obsahuje seznam všech výjimek. Aktualizujte tento soubor (včetně cest vpřed i vzad, například sys/time.h
a sys\time.h
), abyste tyto novější závislosti ignorovali. Zahrnutí cest místní instalace do distribuovaného souboru .mak
způsobí úplné selhání sestavení.
pokud přispějete zpět opravou, která reviduje soubory projektu, musíme odevzdat soubory projektu ve formátu Visual Studio 6.0. Změny by měly být jednoduché, s minimálními příznaky kompilace a propojení, které lze rozpoznat ve všech prostředích Visual Studio.
instalace
po kompilaci Apache je třeba jej nainstalovat do kořenového adresáře serveru. Výchozí je adresář \Apache2
stejné jednotky.
Chcete-li automaticky sestavit a nainstalovat všechny soubory do požadované složky dir, použijte jeden z následujících příkazů nmake
:
nmake /f Makefile.win installr INSTDIR=dir
nmake /f Makefile.win installd INSTDIR=dir
argument dir INSTDIR
poskytuje instalační adresář; může být vynechán, pokud má být Apache nainstalován do \Apache22
(aktuální jednotky).
varování o budování Apache z vývojového stromu
release
buildy jsou udržovány pouze soubory .dsp
. Soubory .mak
nejsou regenerovány kvůli obrovské ztrátě času recenzenta. Proto se nemůžete spolehnout na příkazy NMAKE
výše, abyste vytvořili revidované soubory projektu .dsp
, pokud z projektu nevyexportujete všechny soubory .mak
. To je zbytečné, pokud stavíte z prostředí Microsoft Developer Studio.