construirea httpd cu fișierele de proiect Visual Studio incluse
cerințe
compilarea Apache necesită instalarea corectă a următorului mediu:
-
spațiu pe disc
asigurați-vă că aveți cel puțin 200 MB de spațiu liber pe disc disponibil. După instalare Apache necesită aproximativ 80 MB de spațiu pe disc, plus spațiu pentru fișierele jurnal și cache, care pot crește rapid. Cerințele reale de spațiu pe disc vor varia considerabil în funcție de configurația aleasă și de orice module sau biblioteci terțe, mai ales atunci când este construit și OpenSSL. Deoarece multe fișiere sunt text și foarte ușor comprimate, compresia sistemului de fișiere NTFS reduce aceste cerințe la jumătate.
-
patch-uri adecvate
binarul httpd este construit cu ajutorul mai multor patch-uri către pachete terțe, care asigură că codul lansat este construibil și debuggable. Aceste patch-uri sunt disponibile și distribuite de la http://www.apache.org/dist/httpd/binaries/win32/patches_applied/ și se recomandă să fie aplicate pentru a obține rezultate identice ca binare distribuite „oficiale” ASF.
-
Microsoft Visual C++ 6.0 (Visual Studio 97) sau o versiune ulterioară.
Apache poate fi construit folosind instrumentele liniei de comandă sau din cadrul bancului de lucru Visual Studio IDE. Construirea liniei de comandă necesită mediul pentru a reflecta
PATH
,INCLUDE
,LIB
și alte variabile care pot fi configurate cu scriptulvcvars32.bat
.este posibil să doriți pachetul de procesoare Visual Studio pentru versiunea mai veche a Visual Studio sau o versiune completă (nu expresă) a edițiilor Visual Studio mai noi, pentru ml.exe assembler. Acest lucru vă va permite să construiți OpenSSL, dacă doriți, utilizând implementarea mai eficientă a codului de asamblare.numai lanțul de instrumente Microsoft compiler este acceptat în mod activ de contribuitorii activi httpd. Deși proiectul acceptă în mod regulat patch-uri pentru a se asigura că MinGW și alte construcții alternative funcționează și le îmbunătățesc, acestea nu sunt întreținute în mod activ și sunt adesea rupte în cursul dezvoltării normale. -
actualizat Microsoft Windows Platform SDK, februarie 2003 sau mai târziu.
un SDK de Platformă Windows adecvat este inclus în mod implicit în versiunile complete (nu express/lite) ale Visual C++ 7.1 (Visual Studio 2002) și ulterioare, acești utilizatori pot ignora acești pași, cu excepția cazului în care aleg în mod explicit o versiune mai nouă sau diferită a SDK-ului platformei.
pentru a utiliza Visual C++ 6.0 sau 7.0 (Studio 2000.net), mediul SDK al platformei trebuie pregătit folosind scriptul
setenv.bat
(instalat de SDK-ul platformei) înainte de a începe construirea liniei de comandă sau lansarea mediului GUI msdev/devenv. Instalarea SDK-ului platformei pentru versiunile Visual Studio Express (2003 și versiuni ulterioare) ar trebui să ajusteze corespunzător mediul implicit."c:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32"
"c:\Program Files\Platform SDK\setenv.bat" -
Perl și awk
câțiva pași recomandați aici necesită un interpretor perl în timpul procesului de pregătire a construcției, dar altfel nu este necesar.
pentru a instala Apache în sistemul de construire, mai multe fișiere sunt modificate folosind utilitarul
awk.exe
. awk a fost ales, deoarece este o descărcare foarte mică (în comparație cu Perl sau WSH/VB) și îndeplinește sarcina de a modifica fișierele de configurare la instalare. Site-ul lui Brian Kernighan http://www.cs.princeton.edu/~bwk/btl.mirror/ are un binar nativ Win32 compilat, http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe pe care trebuie să îl salvați cu numeleawk.exe
(mai degrabă decâtawk95.exe
).dacă awk.exe nu este găsit, Makefile.țintă de instalare win nu va efectua substituții în Instalat .fișiere conf. Trebuie să modificați manual instalat .conf fișiere pentru a permite serverului să pornească. Căutați și înlocuiți toate etichetele ” @ token@”, după caz.Visual Studio IDE va găsi doarawk.exe
din calea sau calea executabilă specificată în opțiunea de meniu Instrumente- > Opțiuni- > (proiecte- >) directoare. Asigurați-vă awk.exe este în calea sistemului.de asemenea, rețineți că, dacă utilizați instrumente Cygwin (http://www.cygwin.com/) utilitarul awk este numitgawk.exe
și că fișierulawk.exe
este într-adevăr o legătură simbolică la fișierulgawk.exe
. Shell-ul de comandă Windows nu recunoaște legăturile simbolice și, din cauza acestei clădiri, InstallBin va eșua. O soluție este să ștergețiawk.exe
din instalarea cygwin și să copiațigawk.exe
înawk.exe
. De asemenea, rețineți porturile Cygwin / mingw ale gawk 3.0.X au fost buggy, vă rugăm să faceți upgrade la 3.1.x înainte de a încerca să utilizați orice port gawk. -
biblioteca zlib (pentru
mod_deflate
)Zlib trebuie instalat într-un subdirector
srclib
numitzlib
. Acest lucru trebuie să fie construit în loc. Zlib poate fi obținut de la http://www.zlib.net/ —mod_deflate
este confirmat că funcționează corect cu versiunea 1.2.3.nmake -f win32\Makefile.msc
nmake -f win32\Makefile.msc test -
biblioteci OpenSSL (pentru
mod_ssl
șiab.exe
cu suport ssl)biblioteca OpenSSL este software criptografic. Țara în care locuiți în prezent poate avea restricții privind importul, deținerea, utilizarea și/sau reexportul în altă țară a software-ului de criptare. Înainte de a utiliza orice software de criptare, vă rugăm să verificați legile, reglementările și politicile țării dvs. privind importul, deținerea sau utilizarea și reexportul software-ului de criptare, pentru a vedea dacă acest lucru este permis. Consultați http://www.wassenaar.org/ pentru mai multe informații.configurarea și construirea OpenSSL necesită instalarea perl.
OpenSSL trebuie instalat într-un subdirector
srclib
numitopenssl
, obținut din http://www.openssl.org/source/, pentru a compilamod_ssl
sau proiectulabs.exe
, care este ab.c cu suport SSL activat. Pentru a pregăti OpenSSL să fie legat de Apache mod_ssl sau abs.EXE și dezactivați caracteristicile grevate de brevete în OpenSSL, puteți utiliza următoarele comenzi de compilare: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.maknu este recomandabil să utilizați zlib-dynamic, deoarece transferă costul dezumflării fluxurilor SSL la prima solicitare care trebuie să încarce dll-ul zlib. Notă patch-ul sugerat permite-l pavilion pentru a lucra cu Windows construiește, corectează numele de zdll.lib și asigură .fișierele pdb sunt generate pentru depanare. Dacă asamblorul nu este instalat, ar adăuga no-asm de mai sus și de a folosi ms\do_ms.bat în loc de ms\do_masm.script bat. -
biblioteci de baze de date (pentru
mod_dbd
șimod_authn_dbm
)biblioteca apr-util expune funcționalitatea clientului dBm (baza de date cu cheie) și DBD (baza de date orientată spre interogare) serverului httpd și modulelor sale, cum ar fi autentificarea și autorizarea. Furnizorii sdbm dBm și odbc DBD sunt compilate necondiționat.
suportul dbd include pachetul Oracle instantclient, MySQL, PostgreSQL și SQLite. Pentru a construi toate acestea, de exemplu, configurați LIB pentru a include calea bibliotecii, includeți pentru a include calea anteturilor și calea pentru a include calea bin dll a tuturor celor patru SDK-uri și setați variabila de mediu DBD_LIST pentru a informa construirea care SDK-uri de driver client sunt instalate corect, de ex.;
set DBD_LIST=sqlite3 pgsql oracle mysql
în mod similar, suportul dbm poate fi extins cu DBM_LIST pentru a construi un Berkeley DB provider (db) și/sau gdbm provider, prin configurarea similară LIB, INCLUDE și PATH first pentru a vă asigura că biblioteca client libs și anteturile sunt disponibile.
set DBM_LIST=db gdbm
în funcție de alegerea distribuțiilor bazei de date, poate fi necesar să schimbați numele țintă real al legăturii (de exemplu, gdbm.lib vs. libgdb.lib), care sunt enumerate în corespunzătoare .dsp/.mak fișiere în directoarele srclib \ apr-util \ DBD sau …\dbm.a se vedea README-win32.fișier txt pentru mai multe indicii cu privire la obținerea diferitelor SDK-uri driver de baze de date.
construirea din surse Unix
Politica proiectului Apache HTTP Server este de a elibera numai surse Unix. Pachetele sursă Windows puse la dispoziție pentru descărcare au fost furnizate de voluntari și este posibil să nu fie disponibile pentru fiecare versiune. Puteți construi în continuare serverul pe Windows din sursa Unix tarball cu doar câțiva pași suplimentari.
- descărcați și despachetați sursa Unix tarball pentru cea mai recentă versiune.
- descărcați și despachetați sursa Unix tarball pentru cea mai recentă versiune de APR, ar-Util și Apr-Iconv, plasați aceste surse în directoarele httpd-2.x. x\srclib \ apr, httpd-2.x.x \ srclib \ apr-util și httpd-2.x.x \ srclib \ apr-iconv
- deschideți un Prompt de comandă și CD la httpd-2.x. x folder
- rulați utilitarul de conversie a terminațiilor de linie la prompt;
perl srclib\apr\build\lineends.pl
acum Puteți construi serverul cu mediul de dezvoltare Visual Studio folosind IDE. Compilările de linie de comandă ale serverului nu sunt posibile din surse Unix decât dacă exportați .fișiere mak după cum se explică mai jos.
construirea liniei de comandă
Makefile.win
este cel mai înalt nivel Apache makefile. Pentru a compila Apache pe Windows, pur și simplu utilizați una dintre următoarele comenzi pentru a construi release
sau debug
aroma:
nmake /f Makefile.win _apacher
nmake /f Makefile.win _apached
oricare comandă va compila Apache. Acesta din urmă va dezactiva optimizarea fișierelor rezultate, facilitând un singur pas al codului pentru a găsi erori și a urmări problemele.
puteți adăuga opțiunile apr-util DBD și dBm provider cu variabilele adiționale make (environment) dbd_list și DBM_LIST, consultați comentariile despre bibliotecile de baze de date de mai sus. Examinați comentariile inițiale în Makefile.câștigă pentru opțiuni suplimentare care pot fi furnizate la invocarea construirii.
Developer Studio Workspace IDE Build
Apache poate fi, de asemenea, compilat folosind mediul de dezvoltare Visual Studio al VC++. Pentru a simplifica acest proces, este furnizat un spațiu de lucru Visual Studio, Apache.dsw
. Acest spațiu de lucru expune întreaga listă de lucru .dsp
proiecte care sunt necesare pentru eliberarea completă binar Apache. Acesta include dependențe între proiecte pentru a se asigura că acestea sunt construite în ordinea corespunzătoare.
deschideți spațiul de lucru Apache.dsw
și selectațiInstallBin
(Release
sau Debug
build, după cum doriți) ca proiect activ. InstallBin
cauze toate legate de proiect pentru a fi construit, și apoi invocă Makefile.win
pentru a muta executabile compilate și DLL-uri. Puteți personaliza opțiunea INSTDIR=
modificând setările InstallBin
, fila General, construiți intrarea în linia de comandă. INSTDIR
implicit la directorul /Apache2
. Dacă doriți doar un test compila (fără a instala) s-ar putea construi BuildBin
proiect în schimb.
fișierele de proiect .dsp
sunt distribuite în format Visual Studio 6.0 (98). Visual C++ 5.0 (97) le va recunoaște. Visual Studio 2002 (. NET) și utilizatorii mai târziu trebuie să converti Apache.dsw
plus .dsp
fișiere într-un Apache.sln
plus .msproj
fișiere. Asigurați-vă că reconvertiți fișierul .msproj
din nou dacă fișierul sursă .dsp
se schimbă! Acest lucru este cu adevărat banal, Doar deschideți Apache.dsw
în VC++ 7.0 IDE încă o dată și reconvertiți.
perl srclib\apr\build\cvtdsp.pl -2005
va converti steagurile / D pentru steagurile RC Pentru a utiliza o sintaxă alternativă, analizabilă; din păcate, această sintaxă nu este acceptată de Visual Studio 97 sau exportată .fișiere mak. Aceste steaguri / D sunt folosite pentru a trece descrierea lungă a mod_apachemodule.so fișierele partajate .RC resource version-identificator build.
perl srclib\apr\build\cvtdsp.pl -ossl11
Visual Studio 2002 (. NET) și utilizatorii ulteriori ar trebui să utilizeze, de asemenea, meniul Build, dialogul Configuration Manager pentru a debifa atât modulele de soluție Debug
și Release
abs
, mod_deflate
și mod_ssl
, cât și fiecare componentă începând cu apr_db*
. Aceste module sunt construite prin invocarea nmake
, sau IDE direct cu BinBuild
țintă, care construiește aceste module condiționat dacă srclib
directoare openssl
și/sau zlib
există, și se bazează pe setarea DBD_LIST
și DBM_LIST
variabile de mediu.
exportarea liniei de comandă .fișierele mak
exportate .mak
fișierele prezintă o problemă mai mare, dar sunt necesare pentru utilizatorii Visual C++ 5.0 pentru a construimod_ssl
, abs (ab
cu suport SSL) și/sau mod_deflate
. La .fișierele mak acceptă, de asemenea, o gamă mai largă de distribuții ale lanțului de instrumente C++, cum ar fi Visual Studio Express.
trebuie mai întâi să construiți toate proiectele pentru a crea toate țintele dinamice generate automat, astfel încât dependențele să poată fi analizate corect. Construiți întregul proiect din cadrul Visual Studio 6.0 (98) IDE, folosind BuildAll
țintă, apoi utilizați meniul de proiect Export pentru toate makefiles (verificarea pe „cu dependențe”.) Rulați următoarea comandă pentru a corecta căile absolute în căi relative, astfel încât acestea vor construi oriunde:
perl srclib\apr\build\fixwin32mak.pl
trebuie să tastați această comandă din Directorul de nivel superior al arborelui sursă httpd. Fiecare fișier de proiect .mak
și .dep
din directorul curent și de mai jos va fi corectat, iar marcajele de timp ajustate pentru a reflecta .dsp
.
examinați întotdeauna fișierele generate .mak
și .dep
pentru SDK-ul platformei sau alte căi de fișiere locale, specifice mașinii. Directorul DevStudio\Common\MSDev98\bin\
(VC6) conține un fișier sysincl.dat
, care listează toate excepțiile. Actualizați acest fișier (inclusiv căile înainte și înapoi, cum ar fi sys/time.h
și sys\time.h
) pentru a ignora astfel de dependențe mai noi. Inclusiv căile de instalare locală într-un fișier distribuit .mak
va determina construirea să eșueze complet.
dacă contribuiți înapoi la un patch care revizuiește fișierele de proiect, trebuie să comitem fișiere de proiect în format Visual Studio 6.0. Modificările ar trebui să fie simple, cu steaguri minime de compilare și legătură care pot fi recunoscute de toate mediile Visual Studio.
instalare
odată ce Apache a fost compilat, acesta trebuie să fie instalat în directorul rădăcină server. Implicit este directorul \Apache2
, al aceleiași unități.
pentru a construi și instala automat toate fișierele în folderul dorit dir, utilizați una dintre următoarele comenzi nmake
:
nmake /f Makefile.win installr INSTDIR=dir
nmake /f Makefile.win installd INSTDIR=dir
argumentul dir la INSTDIR
furnizează directorul de instalare; poate fi omis dacă Apache urmează să fie instalat în \Apache22
(a unității curente).
avertisment despre construirea Apache din arborele de dezvoltare
.dsp
fișierele sunt menținute între release
construiește. Fișierele .mak
nu sunt regenerate, din cauza pierderii enorme a timpului recenzorului. Prin urmare, nu vă puteți baza pe comenzile NMAKE
de mai sus pentru a construi fișiere de proiect revizuite .dsp
decât dacă exportați singur toate fișierele .mak
din proiect. Acest lucru nu este necesar dacă construiți din mediul Microsoft Developer Studio.