bygga httpd med de medföljande Visual Studio-projektfilerna
krav
kompilera Apache kräver att följande miljö installeras korrekt:
-
diskutrymme
se till att du har minst 200 MB ledigt diskutrymme tillgängligt. Efter installationen kräver Apache cirka 80 MB diskutrymme, plus utrymme för logg-och cachefiler, som kan växa snabbt. De faktiska diskutrymmeskraven varierar avsevärt beroende på din valda konfiguration och eventuella tredjepartsmoduler eller bibliotek, särskilt när OpenSSL också är byggt. Eftersom många filer är text och mycket lätt komprimeras, skär NTFS filsystem komprimering dessa krav i hälften.
-
lämpliga patchar
httpd-binären är byggd med hjälp av flera patchar till tredjepartspaket, vilket säkerställer att den släppta koden är byggbar och debuggbar. Dessa patchar är tillgängliga och distribueras från http://www.apache.org/dist/httpd/binaries/win32/patches_applied/ och rekommenderas att appliceras för att få identiska resultat som de ”officiella” ASF-distribuerade binärerna.
-
Microsoft Visual C++ 6.0 (Visual Studio 97) eller senare.
Apache kan byggas med kommandoradsverktygen eller från Visual Studio IDE-arbetsbänken. Kommandoradsbyggnaden kräver att miljön återspeglar
PATH
,INCLUDE
,LIB
och andra variabler som kan konfigureras med skriptetvcvars32.bat
.du kanske vill Visual Studio Processor Pack för din äldre version av Visual Studio, eller en fullständig (inte Express) version av nyare Visual Studio upplagor, för ml.exe assembler. Detta gör att du kan bygga OpenSSL, om så önskas, med hjälp av den effektivare implementeringen av monteringskoden.endast Microsoft compiler tool-kedjan stöds aktivt av de aktiva httpd-bidragsgivarna. Även om projektet regelbundet accepterar patchar för att säkerställa att MinGW och andra alternativ bygger arbete och förbättrar dem, underhålls de inte aktivt och bryts ofta under normal utveckling. -
uppdaterad Microsoft Windows Platform SDK, februari 2003 eller senare.
en lämplig Windows-plattform SDK ingår som standard i den fullständiga (inte express/lite) versioner av Visual C++ 7.1 (Visual Studio 2002) och senare, dessa användare kan ignorera dessa steg om inte uttryckligen välja en nyare eller annan version av plattformen SDK.
för att använda Visual C++ 6.0 eller 7.0 (Studio 2000.Net) måste Platform SDK-miljön förberedas med
setenv.bat
– skriptet (installerat av Platform SDK) innan du startar kommandoradsbyggnaden eller startar MSDEV/DEVENV GUI-miljön. Installera Platform SDK för Visual Studio Express-versioner (2003 och senare) bör justera standardmiljön på lämpligt sätt."c:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32"
"c:\Program Files\Platform SDK\setenv.bat" -
Perl och awk
flera steg som rekommenderas här kräver en perl-tolk under byggförberedelseprocessen, men det krävs annars inte.
för att installera Apache i byggsystemet ändras flera filer med verktyget
awk.exe
. awk valdes eftersom det är en mycket liten nedladdning (jämfört med Perl eller WSH/VB) och utför uppgiften att ändra konfigurationsfiler vid installationen. Brian Kernighans http://www.cs.princeton.edu/~bwk/btl.mirror/ – webbplats har en sammanställd inbyggd Win32-binär, http://www.cs.princeton.edu/~bwk/btl.mirror/ awk95.exe som du måste spara med namnetawk.exe
(snarare änawk95.exe
).om awk.exe hittades inte, Makefile.win ’ s install target kommer inte att utföra ersättningar i den installerade .conf-filer. Du måste manuellt ändra den installerade .conf-filer för att tillåta servern att starta. Sök och ersätt alla” @token@ ” – taggar efter behov.Visual Studio IDE hittar baraawk.exe
från sökvägen eller körbar sökväg som anges i menyalternativet Verktyg- > alternativ- > (projekt- >) kataloger. Se till awk.exe finns i din systemväg.Observera också att om du använder Cygwin tools (http://www.cygwin.com/) heter awk-verktygetgawk.exe
och att filenawk.exe
verkligen är en symbolisk länk till filengawk.exe
. Windows – kommandoskalet känner inte igen symlinks, och på grund av denna byggnad kommer InstallBin att misslyckas. En lösning är att ta bortawk.exe
från cygwin-installationen och kopieragawk.exe
tillawk.exe
. Observera också cygwin / mingw-portarna i gawk 3.0.x var buggy, uppgradera till 3.1.x innan du försöker använda någon gawk-port. -
zlib library (för
mod_deflate
)Zlib måste installeras i en
srclib
underkatalog med namnetzlib
. Detta måste byggas på plats. Zlib kan erhållas från http://www.zlib.net/ –mod_deflate
bekräftas att fungera korrekt med version 1.2.3.nmake -f win32\Makefile.msc
nmake -f win32\Makefile.msc test -
OpenSSL-bibliotek (för
mod_ssl
ochab.exe
med ssl-stöd)OpenSSL-biblioteket är kryptografisk programvara. Det land där du för närvarande bor kan ha begränsningar för import, innehav, användning och/eller återexport till ett annat land av krypteringsprogram. Innan du använder någon krypteringsprogramvara, kontrollera ditt lands lagar, förordningar och policyer angående import, innehav eller användning och återexport av krypteringsprogramvara för att se om detta är tillåtet. Se http://www.wassenaar.org/ för mer information.konfigurera och bygga OpenSSL kräver att perl installeras.
OpenSSL måste installeras i en
srclib
underkatalog med namnetopenssl
, erhållen från http://www.openssl.org/source/, för att kompileramod_ssl
ellerabs.exe
– projektet, som är AB.C med SSL-stöd aktiverat. För att förbereda OpenSSL som ska kopplas till Apache mod_ssl eller abs.exe, och inaktivera patent belastade funktioner i OpenSSL, kan du använda följande byggkommandon: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.makdet är inte tillrådligt att använda zlib-dynamic, eftersom det överför kostnaden för att tömma SSL-strömmar till den första begäran som måste ladda zlib dll. Obs! den föreslagna korrigeringen gör det möjligt för-L-flaggan att fungera med windows-byggnader, korrigerar namnet på zdll.lib och säkerställer .pdb-filer genereras för felsökning. Om assembler inte är installerad, skulle du lägga till no-asm ovan och använda ms\do_ms.bat istället för ms\do_masm.bat script. -
databasbibliotek (för
mod_dbd
ochmod_authn_dbm
)apr-util-biblioteket exponerar dBm (keyed database) och DBD (query oriented database) klientfunktionalitet till httpd-servern och dess moduler, såsom autentisering och auktorisering. Sdbm dBm och odbc DBD leverantörer sammanställs villkorslöst.
DBD-stödet inkluderar Oracle instantclient-paketet, MySQL, PostgreSQL och sqlite. För att bygga dessa alla, till exempel, ställa in LIB för att inkludera bibliotekets sökväg, inkludera att inkludera rubrikens sökväg och sökväg för att inkludera DLL bin-sökvägen för alla fyra SDK: er och ställa in miljövariabeln DBD_LIST för att informera byggnaden vilka Klientdrivrutinsdk: er som är installerade korrekt, t. ex.;
set DBD_LIST=sqlite3 pgsql oracle mysql
på samma sätt kan dBm-stödet utökas med DBM_LIST för att bygga en Berkeley DB provider (db) och/eller gdbm provider, genom att på samma sätt konfigurera LIB, INCLUDE Och PATH först för att säkerställa att klientbibliotekets lib och rubriker är tillgängliga.
set DBM_LIST=db gdbm
beroende på valet av databasdistributioner kan det vara nödvändigt att ändra det faktiska länkmålnamnet (t.ex. gdbm.lib vs. libgdb.lib) som anges i motsvarande .dsp/.mak-filer i katalogerna srclib \ apr-util \ dbd eller …\ dbm.Se readme-win32.txt-fil för fler tips om att få de olika databasdrivrutinerna SDK.
bygga från Unix-källor
principen för Apache HTTP Server project är att endast släppa Unix-källor. Windows – källkodspaket som gjorts tillgängliga för nedladdning har tillhandahållits av volontärer och kanske inte är tillgängliga för varje utgåva. Du kan fortfarande bygga servern på Windows från Unix source tarball med bara några ytterligare steg.
- ladda ner och packa upp Unix source tarball för den senaste versionen.
- hämta och packa upp Unix källa tarball för senaste versionen av april, AR-Util och april-Iconv, placera dessa källor i kataloger httpd-2.x. x\srclib \ apr, httpd-2.x. x\srclib\apr-util och httpd-2.x.x \ srclib \ apr-iconv
- öppna en kommandotolk och CD till httpd-2.x. x mapp
- kör konverteringsverktyget för radändelser vid prompten;
perl srclib\apr\build\lineends.pl
du kan nu bygga servern med Visual Studio utvecklingsmiljö med hjälp av IDE. Kommandoradsbyggnader av servern är inte möjliga från Unix-källor om du inte exporterar .mak-filer som förklaras nedan.
Kommandoradsbyggnad
Makefile.win
är den översta nivån Apache makefile. För att kompilera Apache på Windows, använd bara en av följande kommandon för att bygga release
eller debug
smak:
nmake /f Makefile.win _apacher
nmake /f Makefile.win _apached
antingen kommando kommer att sammanställa Apache. Den senare kommer att inaktivera optimering av de resulterande filerna, vilket gör det lättare att stegvisa koden för att hitta buggar och spåra problem.
du kan lägga till dina apr-util DBD och dbm leverantör val med ytterligare make (miljö) variabler DBD_LIST och DBM_LIST, se kommentarerna om databasbibliotek, ovan. Granska de första kommentarerna i Makefile.vinn för ytterligare alternativ som kan tillhandahållas när du åberopar byggnaden.
Developer Studio Workspace IDE Build
Apache kan också kompileras med hjälp av VC++: s Visual Studio utvecklingsmiljö. För att förenkla denna process tillhandahålls en Visual Studio-arbetsyta, Apache.dsw
. Denna arbetsyta exponerar hela listan över arbetande .dsp
– projekt som krävs för den fullständiga Apache binary-utgåvan. Det inkluderar beroenden mellan projekten för att säkerställa att de är byggda i lämplig ordning.
öppna arbetsytan Apache.dsw
och välj InstallBin
(Release
eller Debug
bygg, som önskat) som det aktiva projektet. InstallBin
gör att allt relaterat projekt byggs och anropar sedan Makefile.win
för att flytta de kompilerade körbara filerna och DLL-filerna. Du kan anpassa valet INSTDIR=
genom att ändra InstallBin
Inställningar, fliken Allmänt, bygga kommandoradspost. INSTDIR
är standard för katalogen /Apache2
. Om du bara vill ha en testkompilering (utan att installera) kan du bygga BuildBin
– projektet istället.
.dsp
projektfiler distribueras i Visual Studio 6.0 (98) format. Visual C++ 5.0 (97) kommer att känna igen dem. Visual Studio 2002 (. net) och senare användare måste konvertera Apache.dsw
Plus .dsp
filer till en Apache.sln
plus .msproj
filer. Se till att du omkonverterar filen .msproj
igen om dess källa .dsp
– fil ändras! Detta är verkligen trivialt, bara öppna Apache.dsw
i VC++ 7.0 IDE igen och omkonvertera.
perl srclib\apr\build\cvtdsp.pl -2005
konverterar / d-flaggorna för RC-flaggor för att använda en alternativ, tolkningsbar syntax; tyvärr stöds inte denna syntax av Visual Studio 97 eller dess exporterade .mak-filer. Dessa / d-flaggor används för att passera den långa beskrivningen av mod_apachemodule.so filer till den delade .rc resurs version-identifierare bygga.
perl srclib\apr\build\cvtdsp.pl -ossl11
Visual Studio 2002 (. net) och senare användare bör också använda Build-menyn, Konfigurationshanteraren dialogrutan för att avmarkera både Debug
och Release
Lösningsmoduler abs
, mod_deflate
och mod_ssl
komponenter, liksom varje komponent som börjar med apr_db*
. Dessa moduler byggs genom att anropa nmake
, eller IDE direkt med BinBuild
målet, som bygger dessa moduler villkorligt om srclib
kataloger openssl
och/eller zlib
existerar, och baserat på inställningen av DBD_LIST
och DBM_LIST
miljövariabler.
exportera kommandoraden .mak-filer
exporterade .mak
filer utgör ett större krångel, men de krävs för Visual C++ 5.0-användare att bygga mod_ssl
, abs (ab
med SSL-stöd) och/eller mod_deflate
. Den .mak-filer stöder också ett bredare utbud av C++ verktygskedja distributioner, såsom Visual Studio Express.
du måste först bygga alla projekt för att skapa alla dynamiska autogenererade mål, så att beroenden kan tolkas korrekt. Bygg hela projektet från Visual Studio 6.0 (98) IDE, med målet BuildAll
, använd sedan projektmenyn Export för alla makefiler (kontrollera ”med beroenden”.) Kör följande kommando för att korrigera absoluta sökvägar i relativa sökvägar så att de kommer att bygga var som helst:
perl srclib\apr\build\fixwin32mak.pl
du måste skriva det här kommandot från toppnivåkatalogen i httpd-källträdet. Varje .mak
och .dep
projektfil i den aktuella katalogen och nedan kommer att korrigeras och tidsstämplarna justeras för att återspegla .dsp
.
granska alltid de genererade .mak
och .dep
filerna för Platform SDK eller andra lokala, maskinspecifika filvägar. Katalogen DevStudio\Common\MSDev98\bin\
(VC6) innehåller en sysincl.dat
– fil, som listar alla undantag. Uppdatera den här filen (inklusive både framåt-och bakåtklippta sökvägar, till exempel både sys/time.h
och sys\time.h
) för att ignorera sådana nyare beroenden. Inklusive lokala installationsvägar i en distribuerad .mak
– fil kommer att göra att byggnaden misslyckas helt.
om du bidrar med en korrigeringsfil som reviderar projektfiler måste vi göra projektfiler i Visual Studio 6.0-format. Ändringar ska vara enkla, med minimal kompilering och länkflaggor som kan kännas igen av alla Visual Studio-miljöer.
Installation
När Apache har sammanställts måste den installeras i serverns rotkatalog. Standard är katalogen \Apache2
på samma enhet.
för att bygga och installera alla filer i önskad mapp dir automatiskt, använd något av följande nmake
kommandon:
nmake /f Makefile.win installr INSTDIR=dir
nmake /f Makefile.win installd INSTDIR=dir
argumentet dir till INSTDIR
ger installationskatalogen; det kan utelämnas om Apache ska installeras i \Apache22
(av den aktuella enheten).
varning om att bygga Apache från utvecklingsträdet
.dsp
– filerna underhålls mellan release
– byggnader. .mak
– filerna regenereras inte på grund av det enorma slöseri med granskarens tid. Därför kan du inte lita på kommandona NMAKE
ovan för att bygga reviderade .dsp
projektfiler om du inte exporterar alla .mak
filer själv från projektet. Detta är onödigt om du bygger inifrån Microsoft Developer Studio-miljön.