Compilarea și instalarea - http serverul apache
Acest document se referă la problemele legate de compilarea și instalarea serverului Apache numai pe UNIX și sisteme UNIX-like. Dacă doriți să instalați serverul de pe Windows, aveți nevoie pentru a citi documentul „Utilizarea Apache pe Microsoft Windows“. Informații referitoare la alte platforme, este conținut în documentul „Platforma“.
configurare și mediul de instalare al serverului este complet diferit de cel care a fost în Apache 1.3. Apache 1.3 a folosit un set personalizat de script-uri care simplifica procesul de instalare. Apache 2.0 foloseste acum sistemul libtool și autoconf. ceea ce face serverul similar cu alte produse software open source (proiecte Open Source).
$ PREFIX / bin / apachectl de start
NN trebuie să fie înlocuit cu numărul curent minor versiune, și în loc de PREFIX necesitatea de a specifica calea pe care trebuie să fie instalat pe server. În cazul în care nu este specificat PREFIX, instalarea implicită este făcută în directorul / usr / local / apache2.
Mai multe detalii toate etapele de compilare și instalare a serverului discutat mai jos, și începe secțiunea următoare, cu o descriere a cerințelor de sistem necesare pentru a instala a avut succes.
Cerințe pentru asamblare server de succes:
Spatiu pe disc Asigurați-vă că discul are la mininimum 50 MB spațiu liber pentru fișierele temporare. După instalare Apache ocupă aproximativ 10 MB. Mărimea exactă va depinde de locul ocupat în principal de configurația selectată și în continuare modulul care urmează să fie instalate în afara distribuției Apache. ANSI-C compilator și mediul construit necesar Asigurați-vă că sistemul dvs. are compilator ANSI-C. Se recomandă să utilizați compilatorul GNU C (CCG), de la Free Software Foundation (FSF) (versiunea 2.7.2 este destul de mult). Dacă aveți un alt compilator, pentru a afla dacă acesta acceptă standardul ANSI. De asemenea, verificați că variabila de mediu PATH a fost specificat directorul care conține instrumentele de bază necesare pentru montaj (marcă și altele). Timpul de sincronizare În unele antete ale protocolului HTTP specificat de timp. Deci, trebuie să dau seama cum puteți seta instrumentul de sincronizare de timp de sistem. De obicei, folosite în acest scop programe xntpd ntpdate sau. bazat pe protocolul de sincronizare de timp de rețea (Network Time Protocol - NTP). Pentru mai multe informații despre serverele și timpul de sincronizare NTP, se referă la un grup de știri Usenet comp.protocols.time.ntp. precum și vizita NTP pagina de pornire Perl 5 [opțional] Pentru unele script-uri de sprijin, cum ar fi apxs sau dbmmanage (care sunt scrise în Perl), necesită interpret la Perl (versiunea 5.003 sau mai mare este suficient). În cazul în care script-ul de configurare `configure„nu-l va găsi pe sistemul dumneavoastră, veți avea în continuare posibilitatea de a construi și a instala Apache 2.0 - în acest caz, va rula nu numai script-uri helper enumerate mai sus. În cazul în care sistemul are mai mult de un interpret cu limbajul Perl (de exemplu, Perl 4 și Perl 5), pentru a alege scriptul ./configure corespunzător, rulați-l cu opțiunea---with perl (a se vedea mai jos pentru descriere).
Apache poate fi descărcat de pe pagina de descărcare Foundation Apache HTTP Software. care prevede, de asemenea, o listă a unora dintre serverele oglindă. Aici vei găsi cea mai recentă versiune stabilă a serverului.
După încărcare, mai ales în cazul în care a avut loc la serverul oglindă, trebuie să vă asigurați că mâinile complet, versiunea nemodificată a serverului HTTP Apache. Acest lucru se face prin testarea arhiva (tarball) pentru respectarea semnăturii PGP, care este, la rândul său, este o procedură în două etape. În primul rând, trebuie să descărcați fișierul CHEI de pe pagina de descărcare Apache Software Foundation. (Pentru a fi siguri că cheile în sine fișierul nu a fost modificat, este mai bine să ia din distribuția anterioară Apache sau de a lua un server de chei publice.) Apoi, cheile pot fi importate în baza de date personale cheie, folosind următoarele comenzi (în funcție de versiune PGP):
$ GPG CHEI --import
Următorul pas este verificarea imediată a arhivei (tarball) utilizând semnătura PGP, care ar trebui să fie întotdeauna luate la serverul principal de web Apache. din fișierul semnătura PGP are același nume ca și arhiva de distribuție, plus .asc se încheie. Verificați distribuția prin tastarea următoarele comenzi (din nou, în funcție de versiunea de PGP, instalat pe sistemul dvs.):
$ Pgp httpd-2_0_NN .tar.gz.asc
$ GPG --verify httpd-2_0_NN .tar.gz.asc
Ar trebui să vedeți ceva de genul:
Semnătură de la utilizator „Martin Kraemer
În funcție de relațiile de încredere conținute în baza de date cheie, puteți obține, de asemenea, un mesaj care spune că relația dintre cheia și cei care au semnat pentru ei, este imposibil să se stabilească. Acest lucru nu ar trebui să te deranjeze că dacă crezi în autenticitatea fișierului KEYS.
Despachetarea codul sursă de server Apache HTTP se află în Despachetați sa imediată și unzip (untarring):
$ Gzip -d httpd-2_0_NN tar.gz.
$ Tar xvf httpd-2_0_NN .tar
După executarea acestor comenzi va crea un nou director cu distribuția de cod sursă. Trebuie să mergi la acest director înainte de a începe să compilați server.
Următorul pas este de a configura arborele sursă, în conformitate cu sistemul pe care instalați serverul, și propriile nevoi. Acest lucru se face de către script-ul de configurare. situat în directorul rădăcină al distribuției. Dezvoltatorii care au descărcat arborele sursă de CVS, ar trebui să fie instalat în autoconf și libtool sistemul său de utilitate și de a rula un program de buildconf. înainte de a putea prodolzhnit de instalare. Oficiale edițiile de server nu au nevoie.
Pentru a configura arborele sursă folosind valorile tuturor opțiunilor implicite, pur și simplu rulați ./configure script-ul fără nici un parametru. Pentru a schimba valoarea de opțiuni, configurați script-ul oferă o gamă largă de variabile și opțiuni de linie de comandă. În acest caz, variabilele de mediu sunt plasate înainte de a comanda ./configure. în timp ce alte opțiuni - după. Cea mai importantă opțiune de aici - este directorul de instalare prefix, adică, modul în care Apache va fi instalat mai târziu. Dar, în afară de aceasta există, de asemenea, o gamă largă de opțiuni necesare pentru reglaj fin server.
Pentru a obține o idee despre flexibilitatea procesului de configurare Apache, luați în considerare următorul exemplu de un scenariu tipic rula ./configure. Această configurație permite compilarea server în directorul / SW / pkg / apache. folosind compilatorul specificat cu mai multe dintre opțiunile de linie de comandă corespunzătoare, și a stabilit două modulul mod_rewrite mai multe suplimentare și mod_speling. care pot fi apoi utilizate prin mecanismul DSO.
$ CC = "pgcc" CFLAGS = "- O2" \
./ Configurare --prefix = / SW / PKG / apache \
--activați-rewrite = partajat \
--activați-speling = partajat
La efectuarea, scriptul de configurare verifică pentru a vedea dacă este instalat pe sistemul dumneavoastră tot ce ai nevoie, și apoi creează o Makefiles (Makefiles), care va fi apoi folosite pentru a compila server.
Cel mai simplu mod de a învăța despre toate opțiunile de configurare disponibile - este de a executa comanda ./configure --help. Se va afișa o scurtă descriere a aproape toate opțiunile disponibile și variabile de mediu.
Programul autoconf folosește un număr de variabile de mediu pentru a configura mediul construit. În general, aceste variabile numai prin metoda de asamblare server poate fi schimbat - pentru a controla pornirea și oprirea opțiuni suplimentare de servere este imposibil. Aceste variabile pot fi incluse în mediu înainte de a apela scriptul de configurare. dar cel mai simplu mod de a face acest lucru, așa cum se arată în exemplul de mai sus.
CC =. Call compilator comanda cu C CPPFLAGS = limba. Opțiuni suplimentare preprocessor și limbă compilator C. CFLAGS =. Opțiuni de depanare și optimizarea limbă compilator C. LDFLAGS =. Opțiuni suplimentare pentru legătură. LIBS =. Informații despre locația bibliotecii (opțiunea „-L“ și „-l“), transmis la linkerul. INCLUDE =. Moduri care sunt căutate pentru fișierele antet. ( "-Idir"). = TARGET. [Implicit: apache] Numele fișierului executabil după NOTEST_CPPFLAGS de asamblare Server =. NOTEST_CFLAGS =. NOTEST_LDFLAGS =. NOTEST_LIBS =. Aceste variabile de mediu îndeplinesc același rol ca și cea a acelorași variabile, dar fără a NOTEST console. Diferența constă în faptul că acestea sunt adăugate la mediu, după testele efectuate Autoconf în mediul de operare al oportunităților. Acest lucru vă permite să utilizați aceste opțiuni, ceea ce ar cauza o eroare atunci când o astfel de testare, dar includerea care este obligatorie pentru asamblarea finală a serverului. SHLIB_PATH =. Opțiuni compilatorului și linkurilor, care determină calea către biblioteca partajată.
--ajutor furnizează instrucțiuni privind utilizarea programului, inclusiv toate opțiunile, și apoi se închide imediat. --quiet Previne afișarea mesajului care începe cu „verificarea“. --verbose Oferă informații complete în timpul procesului de configurare, inclusiv numele de fișiere care urmează să fie scanate.
În prezent, există două moduri de a specifica modul în care Apache se va instala fișierele. Primul mod - este Apache specifică în mod explicit directorul în care este stabilită.
--prefix = PREFIX [Implicit: / usr / local / apache2] Specifică calea unde se va face instalarea Apache.
Mai mult decât atât, este posibil să se stabilească arhitectura - fișierele dependente în alt director specificat speciale.
--Exec-prefix = EPREFIX [Implicit: Prefix] Specifică calea pe care va fi instalat Arhitectura - fișiere dependente.
A doua modalitate este mai flexibilă. Se compune din utilizarea fișierelor config.layout. Folosind această metodă, puteți specifica directorul de instalare pentru orice tip de fișiere Apache. fișier config.layout conține mai multe exemple de configurare. Folosind aceste exemple, puteți crea propria configurație. Diferite modele de plante sunt grupate în secțiuni separate
--activați-layout = ASPECTUL aspect Utilizare numit descris în fișierul config.layout. în care toate căile de instalare sunt înregistrate.
Apache - este un server modular. Numai caracteristicile cele mai de bază sunt incluse în serverul de bază. Funcționalitatea suplimentară este disponibilă prin intermediul modulelor. În timpul procesului de configurare, trebuie să alegeți modulele care vor fi compilate cu serverul. Toate modulele disponibile pot fi găsite în lista corespunzătoare a modulelor. Module, statutul de care este desemnat ca „de bază“, compilate cu serverul implicit; Dacă aveți nevoie de anumite module de bază, trebuie să-l indice în mod specific în configurația (unitatea de bază, de exemplu, este mod_userdir). Module cu un alt statut nu este compilat, împreună cu serverul implicit, și (dacă este cazul) trebuie să fie scrise separat în configurație (un exemplu al unei astfel de modul poate servi mod_expires).
Există două moduri de a specifica Apache pentru a utiliza orice - sau modul. Modulele pot fi compilate static. Astfel, codul lor a inclus direct în codul executabil Apache server. Sau, în cazul în care sistemul de operare suportă obiecte dinamice partajate (obiecte dinamice partajate) și autoconf și poate determina că acesta este cazul, atunci module pot fi compilate ca dinamică. Modulele DSO sunt stocate separat de serverul de bază, iar serverul poate fi utilizat, în funcție de runtime directive de configurare (care este responsabil pentru activitatea de server deja asamblate) furnizate de modulul mod_so. mod_so modul este inclus automat în Server Core, în cazul în care cel puțin un modul este compilat ca dinamic. Dacă nu compila orice module dinamice, dar doriți ca serverul a fost încă în măsură să lucreze cu modulele DSO, apoi specificați atunci când configurați următoarea opțiune: --enable-asa.
--activați-MODULE [= partajată] Compilarea și includ MODULUL modulul în Server Core. MODULUL - acest ID modul. care poate fi obținut prin cădere numele modulului specificat în șirul de documentare „_string“. Pentru a compila modulul ca DSO, adăugați opțiunea = partajat. --disable-Modulului Modulul Se elimină lista de compilat modulele (în cazul în care este pe lista). --enable-module = MODULUL-LIST compilați și includ modulele în serverul identificatorii de bază sunt date în lista de module-LIST. Elementele listei sunt separate prin spații. --enable-mods-partajată = MODUL-LIST compilează module ID-urile sunt date în lista de module-LIST. ca dinamică.
De exemplu, pentru a include în modulele de server și mod_dav mod_info. puteți folosi fie
/ Configurare --enable-dav --enable-info
sau echivalent cu comanda anterioară
/ Configurare --enable-module = "info DAV"
În plus, există cuvinte cheie speciale toate sau cele mai multe. care pot fi folosite pentru a compila toate sau cele mai multe dintre modulele dintr-o dată. Puteți exclude din această listă de module nedorite folosind opțiunea corespunzătoare --disable-MODULE. De exemplu, pentru a include toate modulele de server ca un DSO cu excepția mod_info. puteți scrie următoarele
/ Configurare --enable-mods-partajată = toate --disable-info
În plus față de setul standard de module Apache 2.0 compilat împreună cu unele mai multe - Module de prelucrare (MPMS). Unul și numai un singur MP - modulul poate fi compilat cu serverul. Lista MP - module sunt compilate implicit pentru fiecare platformă pot fi găsite în secțiunea corespunzătoare a documentației; MP - modulul implicit, puteți modifica următoarea opțiune în linia de comandă configure
--cu-MPM = NUME compila împreună cu MP serverul - modul numit NAME.
Unele module Apache, cum ar fi mod_auth_dbm și mod_rewrite (Directiva RewriteMap), utilizarea în munca lor o bază de date simplă, organizată pe principiul cheie / valoare, care mărește viteza de acces la informație. Suport pentru serverul de baze de date SDBM este inclus în kernel, astfel încât utilizarea bazelor de acest tip de date este întotdeauna posibil. Dacă aveți nevoie de un alt tip de bază de date, puteți utiliza următoarele opțiuni:
--cu-GDBM [= cale] --with-ndbm [= cale] -with-berkeley db Dacă nu se specifică calea valoare [= cale]. Apache va căuta fișiere antet și biblioteci din directoarele standard. O cale de indicație clară va determina Apache pentru a căuta fișierul corespunzător în calea / lib și calea / include directoare. Puteți specifica, de asemenea, o cale specifică pentru fișiere antet și biblioteci, scriindu-le cu punct și virgulă.
Împreună cu Apache, puteți găsi un suexec program de ajutor. care permite să se stabilească un control mai strict asupra punerii în aplicare a programelor CGI personalizate. Cu toate acestea, în cazul în care suexec nu este configurat corect, acesta poate apărea lacune semnificative în securitatea sistemului de server. Prin urmare, ar trebui să citiți cu atenție suexec de documentare. dacă vă decideți să utilizați acest program.
Acum puteți compila și serverul Apache executând următoarea comandă:
Aveți răbdare - compilarea serverului cu o configurație de bază (configurația implicită) durează aproximativ trei minute la un sistem, cum ar fi Pentium III / Linux 2.2. Timpul efectiv construi va depinde de hardware-ul și numărul de module pe care o alegeți să compilați cu serverul.
Acum este timpul pentru a instala serverul în directorul PREFIX. care a fost specificat la configurarea Apache (a se vedea opțiunea --prefix de mai sus), rulând:
Dacă instalați Apache pe partea de sus a unei versiuni anterioare a serverului, fișierele de configurare vechi și documentele vor fi lăsate neschimbate.
În continuare, puteți configura serverul HTTP Apache prin editarea fișierelor de configurare în PREFIX / conf /.
$ Vi /conf/httpd.conf PREFIX
Acum puteți rula serverul HTTP Apache executând următoarea comandă:
$ PREFIX / bin / apachectl de start
$ PREFIX / bin / oprire apachectl