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.exedin 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.exeeste î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.exedin 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
srclibnumitzlib. Acest lucru trebuie să fie construit în loc. Zlib poate fi obținut de la http://www.zlib.net/ —mod_deflateeste 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.execu 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
srclibnumitopenssl, obținut din http://www.openssl.org/source/, pentru a compilamod_sslsau 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 (abcu 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 .depdin 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.