Edificio httpd con incluso il progetto di Visual Studio file
Requisiti
Compilazione di Apache richiede i seguenti ambiente per essere correttamente installato:
-
Spazio su Disco
assicurarsi di avere almeno 200 MB di spazio libero su disco disponibile. Dopo l’installazione Apache richiede circa 80 MB di spazio su disco, più spazio per i file di log e cache, che possono crescere rapidamente. I requisiti effettivi di spazio su disco variano notevolmente in base alla configurazione scelta e a qualsiasi modulo o libreria di terze parti, specialmente quando OpenSSL è anche costruito. Poiché molti file sono di testo e molto facilmente compressi, la compressione del filesystem NTFS riduce questi requisiti a metà.
-
Patch appropriate
Il binario httpd è costruito con l’aiuto di diverse patch per pacchetti di terze parti, che assicurano che il codice rilasciato sia costruibile e debuggabile. Queste patch sono disponibili e distribuite da http://www.apache.org/dist/httpd/binaries/win32/patches_applied/ e sono raccomandate per essere applicate per ottenere risultati identici ai binari distribuiti ASF “ufficiali”.
-
Microsoft Visual C++ 6.0 (Visual Studio 97) o versioni successive.
Apache può essere creato utilizzando gli strumenti della riga di comando o dall’interno di Visual Studio IDE Workbench. La compilazione della riga di comando richiede che l’ambiente rifletta
PATH
,INCLUDE
,LIB
e altre variabili che possono essere configurate con lo scriptvcvars32.bat
.È possibile utilizzare Visual Studio Processor Pack per la versione precedente di Visual Studio o una versione completa (non Express) delle versioni più recenti di Visual Studio, per il ml.assemblatore exe. Ciò ti consentirà di creare OpenSSL, se lo desideri, utilizzando l’implementazione del codice assembly più efficiente.Solo la catena di strumenti del compilatore Microsoft è supportata attivamente dai contributori httpd attivi. Sebbene il progetto accetti regolarmente le patch per garantire che MinGW e altre build alternative funzionino e migliorino, non vengono mantenute attivamente e spesso vengono interrotte nel corso del normale sviluppo. -
Aggiornamento di Microsoft Windows Platform SDK, febbraio 2003 o versioni successive.
Un SDK di Windows Platform appropriato è incluso per impostazione predefinita nelle versioni complete (non express/lite) di Visual C++ 7.1 (Visual Studio 2002) e successive, questi utenti possono ignorare questi passaggi a meno che non scelgano esplicitamente una versione più recente o diversa di Platform SDK.
Per utilizzare Visual C++ 6.0 o 7.0 (Studio 2000.NET), l’ambiente SDK della piattaforma deve essere preparato utilizzando lo script
setenv.bat
(installato dall’SDK della piattaforma) prima di avviare la compilazione della riga di comando o avviare l’ambiente GUI msdev/devenv. L’installazione di Platform SDK per le versioni di Visual Studio Express (2003 e successive) dovrebbe regolare l’ambiente predefinito in modo appropriato."c:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32"
"c:\Program Files\Platform SDK\setenv.bat" -
Perl e awk
Diversi passaggi consigliati qui richiedono un interprete perl durante il processo di preparazione della build, ma non è altrimenti richiesto.
Per installare Apache all’interno del sistema di compilazione, diversi file vengono modificati utilizzando l’utilità
awk.exe
. awk è stato scelto in quanto è un download molto piccolo (rispetto a Perl o WSH/VB) e svolge il compito di modificare i file di configurazione al momento dell’installazione. Il sito http://www.cs.princeton.edu/~bwk/btl.mirror/ di Brian Kernighan ha un binario Win32 nativo compilato, http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe che devi salvare con il nomeawk.exe
(anzichéawk95.exe
).Se awk.exe non è stato trovato, Makefile.il target di installazione di win non eseguirà sostituzioni nell’installato .file conf. È necessario modificare manualmente l’installato .file conf per consentire l’avvio del server. Cerca e sostituisci tutti i tag “@ token@ ” come appropriato.L’IDE di Visual Studio troverà soloawk.exe
dal PERCORSO o percorso eseguibile specificato nell’opzione di menu Strumenti- > Opzioni- > (Progetti- >) Directory. Garantire awk.exe è nel percorso del sistema.Si noti inoltre che se si utilizzano gli strumenti Cygwin (http://www.cygwin.com/) l’utilità awk si chiamagawk.exe
e che il fileawk.exe
è in realtà un collegamento simbolico al filegawk.exe
. La shell dei comandi di Windows non riconosce i collegamenti simbolici e, a causa di questo edificio, InstallBin fallirà. Una soluzione alternativa consiste nell’eliminareawk.exe
dall’installazione di cygwin e copiaregawk.exe
inawk.exe
. Si noti inoltre le porte cygwin / mingw di gawk 3.0.x erano buggy, si prega di aggiornare a 3.1.x prima di tentare di utilizzare qualsiasi porta gawk. -
libreria zlib (per
mod_deflate
)Zlib deve essere installato in una sottodirectory
srclib
denominatazlib
. Questo deve essere costruito sul posto. Zlib può essere ottenuto da http://www.zlib.net/ — ilmod_deflate
è confermato per funzionare correttamente con la versione 1.2.3.nmake -f win32\Makefile.msc
nmake -f win32\Makefile.msc test -
Librerie OpenSSL (per
mod_ssl
eab.exe
con supporto ssl)La libreria OpenSSL è un software crittografico. Il paese in cui risiedi attualmente potrebbe avere restrizioni sull’importazione, il possesso, l’uso e/o la riesportazione in un altro paese del software di crittografia. PRIMA di utilizzare qualsiasi software di crittografia, si prega di verificare le leggi, i regolamenti e le politiche del proprio paese riguardanti l’importazione, il possesso o l’uso e la riesportazione del software di crittografia, per verificare se ciò è consentito. Vedere http://www.wassenaar.org/ per ulteriori informazioni.La configurazione e la creazione di OpenSSL richiede l’installazione di perl.
OpenSSL deve essere installato in una sottodirectory
srclib
denominataopenssl
, ottenuta da http://www.openssl.org/source/, per compilaremod_ssl
o il progettoabs.exe
, che è ab.c con supporto SSL abilitato. Per preparare OpenSSL da collegare ad Apache mod_ssl o abs.exe, e disabilitare le funzionalità gravate da brevetti in OpenSSL, è possibile utilizzare i seguenti comandi di compilazione: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.makNon è consigliabile utilizzare zlib-dynamic, in quanto trasferisce il costo di sgonfiare i flussi SSL alla prima richiesta che deve caricare la dll zlib. Nota la patch suggerita consente al flag-L di funzionare con le build di Windows, corregge il nome di zdll.lib e assicura .i file pdb vengono generati per la risoluzione dei problemi. Se l’assemblatore non è installato, dovresti aggiungere no-asm sopra e usare ms\do_ms.bat invece di ms\do_masm.bat script. -
Librerie di database (per
mod_dbd
emod_authn_dbm
)La libreria apr-util espone le funzionalità client dbm (keyed database) e dbd (query oriented database) al server httpd e ai relativi moduli, come l’autenticazione e l’autorizzazione. I provider sdbm dbm e odbc dbd sono compilati incondizionatamente.
Il supporto dbd include il pacchetto Oracle instantclient, MySQL, PostgreSQL e sqlite. Per costruire questi tutti, per esempio, impostare la LIB per includere la libreria percorso, include per INCLUDERE le intestazioni percorso, e il PERCORSO per includere la dll bin percorso di tutte e quattro le SDK, e impostare il DBD_LIST variabile di ambiente per informare la build che il driver client Sdk sono installati correttamente, ad es.;
set DBD_LIST=sqlite3 pgsql oracle mysql
allo stesso modo, il dbm supporto può essere esteso con DBM_LIST per costruire un Berkeley DB (db) e/o gdbm fornitore, allo stesso modo la configurazione LIB, INCLUDERE e in strada, in primo luogo per garantire la libreria client libs e le intestazioni sono disponibili.
set DBM_LIST=db gdbm
A seconda della scelta delle distribuzioni di database, potrebbe essere necessario modificare il nome di destinazione del collegamento effettivo (ad esempio gdbm.lib contro libgdb.lib) che sono elencati nel corrispondente .dsp/.file mak all’interno delle directory srclib \ apr-util \ dbd or …\ dbm.Vedere il README-win32.file txt per ulteriori suggerimenti su come ottenere i vari SDK del driver di database.
Costruire da sorgenti Unix
La politica del progetto Apache HTTP Server è di rilasciare solo sorgenti Unix. I pacchetti sorgente di Windows resi disponibili per il download sono stati forniti da volontari e potrebbero non essere disponibili per ogni versione. È ancora possibile costruire il server su Windows dal tarball sorgente Unix con pochi passaggi aggiuntivi.
- Scaricare e decomprimere il tarball sorgente Unix per l’ultima versione.
- Scaricare e decomprimere il tarball sorgente Unix per l’ultima versione di APR, AR-Util e APR-Iconv, inserire questi sorgenti nelle directory httpd-2.x. x \ srclib \ apr, httpd-2.x. x \ srclib \ apr-util e httpd-2.x.x \ srclib \ apr-iconv
- Aprire un prompt dei comandi e CD su httpd-2.x. x folder
- Esegui l’utilità di conversione delle terminazioni di linea al prompt;
perl srclib\apr\build\lineends.pl
Ora è possibile creare il server con l’ambiente di sviluppo di Visual Studio utilizzando l’IDE. Le build da riga di comando del server non sono possibili da fonti Unix a meno che non si esporti .file mak come spiegato di seguito.
Build da riga di comando
Makefile.win
è il makefile Apache di livello superiore. Per compilare Apache su Windows, è sufficiente utilizzare uno dei seguenti comandi per creare il sapore release
o debug
:
nmake /f Makefile.win _apacher
nmake /f Makefile.win _apached
Entrambi i comandi compileranno Apache. Quest’ultimo disabiliterà l’ottimizzazione dei file risultanti, rendendo più facile il singolo passaggio del codice per trovare bug e rintracciare i problemi.
Puoi aggiungere le tue scelte di provider dbd e dbm apr-util con le variabili aggiuntive di make (environment) DBD_LIST e DBM_LIST, vedi i commenti sulle librerie di database, sopra. Rivedere i commenti iniziali in Makefile.vinci per le opzioni aggiuntive che possono essere fornite quando si invoca la build.
Developer Studio Workspace IDE Build
Apache può anche essere compilato utilizzando l’ambiente di sviluppo Visual Studio di VC++. Per semplificare questo processo, viene fornita un’area di lavoro di Visual Studio, Apache.dsw
. Questa area di lavoro espone l’intero elenco di progetti funzionanti .dsp
necessari per la versione completa di Apache binary. Include le dipendenze tra i progetti per assicurare che siano costruiti nell’ordine appropriato.
Aprire l’area di lavoro Apache.dsw
e selezionareInstallBin
(Release
o Debug
crea, come desiderato) come Progetto attivo. InstallBin
fa sì che tutto il progetto correlato venga creato e quindi invoca Makefile.win
per spostare gli eseguibili e le dll compilati. È possibile personalizzare la scelta INSTDIR=
modificando le Impostazioni di InstallBin
, la scheda Generale, la voce della riga di comando Build. INSTDIR
il valore predefinito è /Apache2
. Se si desidera solo una compilazione di test (senza installazione), è possibile creare il progetto BuildBin
.
I file di progetto .dsp
sono distribuiti nel formato Visual Studio 6.0 (98). Visual C++ 5.0 (97) li riconoscerà. Gli utenti di Visual Studio 2002 (. NET) e versioni successive devono convertire Apache.dsw
più i file .dsp
in file Apache.sln
più .msproj
. Assicurati di riconvertire nuovamente il file .msproj
se il file di origine .dsp
cambia! Questo è davvero banale, basta aprire Apache.dsw
nell’IDE VC++ 7.0 ancora una volta e riconvertire.
perl srclib\apr\build\cvtdsp.pl -2005
convertirà i flag / D per i flag RC per utilizzare una sintassi alternativa e analizzabile; sfortunatamente questa sintassi non è supportata da Visual Studio 97 o esportata .file mak. Questi flag /D sono usati per passare la lunga descrizione del mod_apachemodule.so file al condiviso .rc resource version-identifier build.
perl srclib\apr\build\cvtdsp.pl -ossl11
Gli utenti di Visual Studio 2002 (. NET) e versioni successive dovrebbero anche utilizzare il menu Build, la finestra di dialogo Configuration Manager per deselezionare entrambi i componenti Debug
e Release
Solution modules abs
, mod_deflate
e mod_ssl
, nonché ogni componente che inizia con apr_db*
. Questi moduli vengono creati invocando nmake
, o l’IDE direttamente con la destinazione BinBuild
, che costruisce quei moduli condizionatamente se esistono le directory srclib
openssl
e/o zlib
e in base all’impostazione delle variabili di ambiente DBD_LIST
e DBM_LIST
.
Esportazione della riga di comando .i file mak
Esportati .mak
rappresentano un problema maggiore, ma sono necessari per gli utenti di Visual C++ 5.0 per creare mod_ssl
, abs (ab
con supporto SSL) e/o mod_deflate
. Il .i file mak supportano anche una gamma più ampia di distribuzioni di catene di strumenti C++, come Visual Studio Express.
È necessario innanzitutto creare tutti i progetti per creare tutti i target generati automaticamente dinamici, in modo che le dipendenze possano essere analizzate correttamente. Costruisci l’intero progetto dall’interno di Visual Studio 6.0 (98) IDE, utilizzando la destinazione BuildAll
, quindi utilizzare il menu progetto Esporta per tutti i makefile (controllando “con dipendenze”.) Eseguire il seguente comando per correggere i percorsi assoluti in percorsi relativi in modo che costruiscano ovunque:
perl srclib\apr\build\fixwin32mak.pl
È necessario digitare questo comando dalla directory di livello superiore dell’albero dei sorgenti httpd. Ogni file di progetto .mak
e .dep
all’interno della directory corrente e al di sotto verrà corretto e i timestamp modificati per riflettere il .dsp
.
Rivedere sempre i file generati .mak
e .dep
per Platform SDK o altri percorsi di file locali specifici della macchina. La directory DevStudio\Common\MSDev98\bin\
(VC6) contiene un file sysincl.dat
, che elenca tutte le eccezioni. Aggiornare questo file (inclusi i percorsi forward e backslashed, ad esempio sys/time.h
e sys\time.h
) per ignorare tali dipendenze più recenti. Includendo i percorsi di installazione locale in un file .mak
distribuito, la build fallirà completamente.
Se si contribuisce indietro una patch che rivede i file di progetto, dobbiamo impegnare i file di progetto in formato Visual Studio 6.0. Le modifiche dovrebbero essere semplici, con flag di compilazione e collegamento minimi che possono essere riconosciuti da tutti gli ambienti di Visual Studio.
Installazione
Una volta compilato Apache, deve essere installato nella directory principale del server. Il valore predefinito è la directory \Apache2
, della stessa unità.
Per costruire e installare tutti i file nella cartella desiderata dir automaticamente, utilizzare uno dei seguenti comandi nmake
:
nmake /f Makefile.win installr INSTDIR=dir
nmake /f Makefile.win installd INSTDIR=dir
L’argomento dir a INSTDIR
fornisce la directory di installazione; può essere omesso se Apache deve essere installato in \Apache22
(dell’unità corrente).
Avviso sulla creazione di Apache dall’albero di sviluppo
.dsp
vengono mantenuti tra le build release
. I file .mak
NON vengono rigenerati, a causa dell’enorme spreco di tempo del recensore. Pertanto, non è possibile fare affidamento sui comandi NMAKE
sopra per creare file di progetto .dsp
revisionati a meno che non si esportino tutti i file .mak
dal progetto. Ciò non è necessario se si crea dall’ambiente Microsoft Developer Studio.