Bygging av httpd med De inkluderte Visual Studio-prosjektfilene
Krav
Kompilering Av Apache krever at følgende miljø er riktig installert:
-
Diskplass
Kontroller at du har minst 200 MB ledig diskplass tilgjengelig. Etter installasjon Apache krever ca 80 MB diskplass, pluss plass for logg og cache-filer, som kan vokse raskt. De faktiske diskplasskravene vil variere betydelig basert på den valgte konfigurasjonen og eventuelle tredjepartsmoduler eller biblioteker, spesielt Når OpenSSL også er bygget. FORDI MANGE filer er tekst og veldig lett komprimert, kutter NTFS filsystem komprimering disse kravene i to.
-
Passende Patcher
httpd-binæren er bygget ved hjelp av flere patcher til tredjepartspakker, som sikrer at den utgitte koden er byggbar og feilsøkbar. Disse oppdateringene er tilgjengelige og distribuert fra http://www.apache.org/dist/httpd/binaries/win32/patches_applied/ og anbefales å brukes for å oppnå identiske resultater som DE «offisielle» asf distribuerte binærfilene.
-
Microsoft Visual C++ 6.0 (Visual Studio 97) eller nyere.
Apache kan bygges ved hjelp av kommandolinjeverktøyene, eller fra Visual Studio IDE Workbench. Kommandolinjen bygger krever at miljøet reflekterer
PATH
,INCLUDE
,LIB
og andre variabler som kan konfigureres medvcvars32.bat
– skriptet.Du vil Kanskje Ha Visual Studio Processor Pack for den eldre Versjonen Av Visual Studio, eller en full (ikke Express) versjon av nyere Visual Studio-utgaver, for ml.exe assembler. Dette vil tillate Deg å bygge OpenSSL, hvis ønskelig, ved hjelp av mer effektiv assembly code implementering.Bare Microsoft compiler tool-kjeden støttes aktivt av de aktive httpd-bidragsyterne. Selv om prosjektet regelmessig aksepterer patcher for å sikre At MinGW og andre alternative bygger arbeid og forbedrer dem, blir de ikke aktivt vedlikeholdt og blir ofte ødelagt i løpet av normal utvikling. -
Oppdatert Microsoft Windows Platform SDK, februar 2003 eller senere.
en passende WINDOWS-PLATTFORM SDK er inkludert som standard i full (ikke express/lite) versjoner Av Visual C++ 7.1 (Visual Studio 2002) og nyere, kan disse brukerne ignorere disse trinnene med mindre du eksplisitt velger en nyere eller annen versjon av Plattform SDK.
Hvis Du vil bruke Visual C++ 6.0 eller 7.0 (Studio 2000. NET), Må Platform SDK-miljøet være forberedt ved hjelp av skriptet
setenv.bat
(installert AV Platform SDK) før du starter kommandolinjen eller starter MSDEV / devenv GUI-miljøet. Installere Plattform SDK For Visual Studio Express-versjoner (2003 og nyere) bør justere standardmiljøet på riktig måte."c:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32"
"c:\Program Files\Platform SDK\setenv.bat" -
Perl og awk
Flere trinn som anbefales her, krever en perl-tolk under byggeforberedelsesprosessen, men det er ellers ikke nødvendig.
for å installere Apache i byggesystemet, endres flere filer ved hjelp av verktøyet
awk.exe
. awk ble valgt siden det er en svært liten nedlasting (sammenlignet Med Perl eller WSH / VB) og oppnår oppgaven med å endre konfigurasjonsfiler ved installasjon. Brian Kernighans http://www.cs.princeton.edu/~bwk/btl.mirror/ nettsted har en kompilert innfødt Win32 binær, http://www.cs.princeton.edu/~bwk/btl.mirror/ awk95.exe som du må lagre med navnetawk.exe
(i stedet forawk95.exe
).hvis awk.exe er ikke funnet, Makefile.win ‘ s install target vil ikke utføre erstatninger i den installerte .conf-filer. Du må manuelt endre den installerte .conf filer for å tillate serveren å starte. Søk og erstatt alle»@ token @ » – tagger etter behov.Visual Studio IDE finner bareawk.exe
FRA BANEN eller kjørbar bane som er angitt I Menyalternativverktøyene -> Alternativer -> (Prosjekter ->) Kataloger. Sikre awk.exe er i systemet banen.vær også oppmerksom på at hvis Du bruker Cygwin tools (http://www.cygwin.com/) awk-verktøyet hetergawk.exe
og at filenawk.exe
egentlig er en symlink tilgawk.exe
– filen. Windows command shell gjenkjenner ikke symlinks, og På grunn av denne bygningen Vil InstallBin mislykkes. En løsning er å sletteawk.exe
fra cygwin-installasjonen og kopieregawk.exe
tilawk.exe
. Legg også merke til cygwin / mingw porter av gawk 3.0.x var buggy, vennligst oppgrader til 3.1.x før du prøver å bruke noen gawk port. -
zlib bibliotek (for
mod_deflate
)Zlib må være installert i en underkatalog
srclib
kaltzlib
. Dette må bygges på plass. Zlib kan fås fra http://www.zlib.net/ –mod_deflate
er bekreftet å fungere riktig med versjon 1.2.3.nmake -f win32\Makefile.msc
nmake -f win32\Makefile.msc test -
OpenSSL-biblioteker (for
mod_ssl
ogab.exe
med ssl-støtte)OpenSSL-biblioteket er kryptografisk programvare. Landet du bor i, kan ha restriksjoner på import, besittelse, bruk og/eller reeksport til et annet land av krypteringsprogramvare. Før du bruker krypteringsprogramvare, vennligst sjekk landets lover, forskrifter og retningslinjer for import, besittelse eller bruk, og reeksport av krypteringsprogramvare, for å se om dette er tillatt. Se http://www.wassenaar.org/ for mer informasjon.Konfigurering Og bygging Av OpenSSL krever at perl installeres.
OpenSSL må installeres i en
srclib
underkatalog kaltopenssl
, hentet fra http://www.openssl.org/source/ , for å kompileremod_ssl
ellerabs.exe
– prosjektet, som er ab.c MED SSL-støtte aktivert. Å forberede OpenSSL å være knyttet Til Apache mod_ssl eller abs.exe, og deaktivere patent beheftet funksjoner I OpenSSL, kan du bruke følgende bygge kommandoer: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 er ikke tilrådelig å bruke zlib-dynamic, da det overfører kostnaden for deflating SSL-strømmer til den første forespørselen som må laste zlib dll. Den foreslåtte oppdateringen gjør at-l-flagget fungerer med windows-bygg, korrigerer navnet på zdll.lib og sikrer .pdb-filer genereres for feilsøking. Hvis assembler ikke er installert, vil du legge til no-asm over og bruke ms \ do_ms. bat i stedet for ms \ do_masm.bat script. -
Databasebiblioteker (for
mod_dbd
ogmod_authn_dbm
)apr-util-biblioteket eksponerer dbm (keyed database) og dbd (query oriented database) klientfunksjonalitet til httpd-serveren og dens moduler, for eksempel godkjenning og autorisasjon. Sdbm dbm og odbc dbd leverandører er kompilert ubetinget.
dbd-støtten inkluderer oracle instantclient-pakken, MySQL, PostgreSQL og sqlite. For å bygge disse alle, for eksempel, sett OPP LIB til å inkludere bibliotekbanen, INKLUDER for å inkludere overskriftsbanen og BANE for å inkludere dll bin-banen for alle fire SDK-ene, og sett dbd_list-miljøvariabelen for å informere bygningen hvilken klientdriver Sdk er installert riktig, f. eks.;
set DBD_LIST=sqlite3 pgsql oracle mysql
På Samme måte kan dbm-støtten utvides MED DBM_LIST for å bygge En Berkeley DB provider (db) og/eller gdbm provider, ved å konfigurere LIB på samme måte, INKLUDERE OG BANE først for å sikre at klientbiblioteket libs og overskrifter er tilgjengelige.
set DBM_LIST=db gdbm
avhengig av valg av databasefordelinger, kan det være nødvendig å endre det faktiske koblingsmålnavnet (f.eks. gdbm.lib vs. libgdb.lib) som er oppfort i tilsvarende .dsp/.mak-filer i katalogene srclib\apr-util\dbd eller …\dbm.Se README-win32.txt-fil for flere tips om å skaffe de ulike database driver Sdk.
Bygge Fra Unix-kilder
politikken Til Apache HTTP Server-prosjektet er å bare slippe unix-kilder. Windows-kildepakker som er tilgjengelig for nedlasting, har blitt levert av frivillige og er kanskje ikke tilgjengelige for hver utgivelse. Du kan fortsatt bygge serveren På Windows Fra Unix-kilden tarball med bare noen få ekstra trinn.
- Last Ned Og pakk Ut Unix-kilden tarball for den nyeste versjonen.
- Last Ned Og pakk Unix kilde tarball for nyeste versjon AV APR, AR-Util OG APR-Iconv, plassere disse kildene i kataloger httpd-2.x. x\srclib\apr, httpd-2.x. x \ srclib \ apr-util og httpd-2.x.x \ srclib \ apr-iconv
- Åpne En Ledetekst og CD til httpd-2.x. x folder
- Kjør konverteringsverktøyet for linjeavslutninger ved ledeteksten;
perl srclib\apr\build\lineends.pl
Du kan nå bygge serveren Med Visual Studio utviklingsmiljø ved HJELP AV IDE. Kommandolinjebygninger av serveren er ikke mulig Fra Unix-kilder med mindre du eksporterer .mak-filer som forklart nedenfor.
Kommandolinje Build
Makefile.win
Er Det Øverste nivået Apache makefile. For å kompilere Apache På Windows, bruk bare en av følgende kommandoer for å bygge release
eller debug
smaken:
nmake /f Makefile.win _apacher
nmake /f Makefile.win _apached
enten kommandoen vil kompilere Apache. Sistnevnte vil deaktivere optimalisering av de resulterende filene, noe som gjør det lettere å enkelt trinn koden for å finne feil og spore problemer.
du kan legge til apr-util dbd-og dbm-leverandørvalgene dine med de ekstra make (miljø) variablene DBD_LIST og DBM_LIST, se kommentarene om Databasebiblioteker ovenfor. Se gjennom de første kommentarene I Makefile.vinn for flere alternativer som kan gis når påkalle bygge.
Developer Studio Workspace IDE Build
Apache kan også kompileres ved HJELP AV Vc++’S Visual Studio utviklingsmiljø. For å forenkle denne prosessen tilbys Et Visual Studio-arbeidsområde, Apache.dsw
. Dette arbeidsområdet viser hele listen over arbeid .dsp
prosjekter som kreves for den komplette Apache binary-utgivelsen. Det inkluderer avhengigheter mellom prosjektene for å sikre at de er bygget i riktig rekkefølge.
Åpne arbeidsområdet Apache.dsw
, og velg InstallBin
(Release
eller Debug
bygg etter ønske) som Det Aktive Prosjektet. InstallBin
fører til at alle relaterte prosjekter bygges, og deretter starter Makefile.win
for å flytte kompilerte kjørbare filer og dll-filer. Du kan tilpasse INSTDIR=
valg ved å endre InstallBin
‘S Innstillinger, Generelt kategorien, Bygge kommandolinje oppføring. INSTDIR
er standard til katalogen /Apache2
. Hvis du bare vil ha en testkompilering (uten å installere), kan du bygge BuildBin
– prosjektet i stedet.
.dsp
prosjektfiler distribueres I Visual Studio 6.0 (98) format. Visual C++ 5.0 (97) vil gjenkjenne dem. Visual Studio 2002 (. NET) og senere brukere må konvertere Apache.dsw
pluss .dsp
– filer til en Apache.sln
pluss .msproj
– filer. Pass på at du reconvert filen .msproj
igjen hvis kilden .dsp
filen endres! Dette er veldig trivielt, bare åpne Apache.dsw
I VC++ 7.0 IDE igjen og reconvert.
perl srclib\apr\build\cvtdsp.pl -2005
konverterer / D-flaggene FOR RC-flagg til å bruke en alternativ, analyserbar syntaks. dessverre støttes ikke denne syntaksen Av Visual Studio 97 eller den eksporterte .mak-filer. Disse / d-flaggene brukes til å passere den lange beskrivelsen av mod_apachemodule.so filer til den delte .rc ressurs versjon-identifier bygge.
perl srclib\apr\build\cvtdsp.pl -ossl11
Visual Studio 2002 (. NET) og senere brukere bør også bruke Bygg-menyen, Configuration Manager dialog for å fjerne merket for Både Debug
Og Release
Løsningsmoduler abs
, mod_deflate
og mod_ssl
komponenter, samt hver komponent som starter med apr_db*
. Disse modulene er bygget ved å påkalle nmake
, ELLER IDE direkte med BinBuild
– målet, som bygger disse modulene betinget hvis srclib
katalogene openssl
og/eller zlib
eksisterer, og basert på innstillingen av DBD_LIST
og DBM_LIST
miljøvariabler.
Eksporterer kommandolinjen .mak-filer
Eksporterte .mak
filer utgjør et større problem, men De kreves For Visual C++ 5.0-brukere å byggemod_ssl
, abs (ab
MED SSL-støtte) og/eller mod_deflate
. Den .mak-filer støtter også et bredere utvalg Av c++ verktøykjededistribusjoner, for Eksempel Visual Studio Express.
du må først bygge alle prosjekter for å opprette alle dynamiske automatisk genererte mål, slik at avhengigheter kan analyseres riktig. Bygg hele prosjektet fra Visual Studio 6.0 (98) IDE, ved hjelp av målet BuildAll
, bruk Deretter Prosjektmenyen Eksport for alle makefiles (sjekker på «med avhengigheter».) Kjør følgende kommando for å korrigere absolutte stier i relative baner slik at de vil bygge hvor som helst:
perl srclib\apr\build\fixwin32mak.pl
du må skrive inn denne kommandoen fra katalogen på øverste nivå i httpd-kildetreet. Hver .mak
og .dep
prosjektfil i gjeldende katalog og under vil bli korrigert, og tidsstemplene justeres for å gjenspeile .dsp
.
se alltid gjennom de genererte .mak
og .dep
filene for Plattform SDK eller andre lokale, maskinspesifikke filbaner. Katalogen DevStudio\Common\MSDev98\bin\
(VC6) inneholder en sysincl.dat
– fil, som viser alle unntak. Oppdater denne filen (inkludert både forover og backslashed baner, for eksempel både sys/time.h
og sys\time.h
) for å ignorere slike nyere avhengigheter. Inkludert lokale installasjonsbaner i en distribuert .mak
– fil vil føre til at bygningen mislykkes helt.
hvis du bidrar tilbake en oppdatering som reviderer prosjektfiler, må vi forplikte prosjektfiler I Visual Studio 6.0-format. Endringer bør være enkle, med minimal kompilering og koblingsflagg som kan gjenkjennes av Alle Visual Studio-miljøer.
Installasjon
Når Apache er kompilert, må Den installeres i serverrotkatalogen. Standard er katalogen \Apache2
, på samme stasjon.
for å bygge og installere alle filene i ønsket mappe dir automatisk, bruk en av følgende kommandoer nmake
:
nmake /f Makefile.win installr INSTDIR=dir
nmake /f Makefile.win installd INSTDIR=dir
dir-argumentet til INSTDIR
gir installasjonsmappen; Det kan utelates hvis Apache skal installeres i \Apache22
(av gjeldende stasjon).
Advarsel om å bygge Apache fra utviklingstreet
.dsp
filer opprettholdes mellom release
bygger. De .mak
filene er ikke regenerert, på grunn av den enorme sløsing med anmelder tid. Derfor kan du ikke stole på kommandoene NMAKE
ovenfor for å bygge reviderte .dsp
prosjektfiler med mindre du deretter eksportere alle .mak
filer selv fra prosjektet. Dette er unødvendig hvis Du bygger fra Microsoft Developer Studio-miljøet.