Server web Apache - ce este http Apache, pentru ce este, de unde să descărcați. Introducere în Apache

Apache este cel mai popular și răspândit software de server web open source dezvoltat de Apache Software Foundation. Peste 67% dintre serverele din lume rulează pe Apache. Este rapid, fiabil și sigur. Cu ajutorul diferitelor extensii și module, acesta poate fi adaptat destul de puternic la propriile nevoi. Majoritatea furnizorilor de găzduire WordPress folosesc Apache ca software de server web. Cu toate acestea, WordPress poate rula și pe alt software de server web.

Ce este serverul web Apache?

Ce este un server web? Poate fi comparat cu un manager de restaurant care te întâlnește la intrare, verifică toate informațiile din rezervare și te duce la o masă. La fel și serverul web: verifică și furnizează paginile pe care le-ați solicitat. Cu toate acestea, el nu numai că îndeplinește funcțiile de „administrator”, ci și îți servește. Vrei o pagină? Ia-o. Serverele web precum Apache pot fi comparate cu chelnerul șef al unui restaurant bun, preluându-ți comanda și asigurându-te că alți angajați (module) te servesc la cel mai înalt nivel. De asemenea, va îndeplini sarcinile de chelner și de curățenie - ștergeți memoria, cache-ul, modulele și pregăti totul pentru noii clienți.

Deci, serverele web sunt software care primesc cereri de acces la pagini web. Efectuează mai multe verificări de securitate asupra solicitării dvs. HTTP și vă duce la pagina web necesară.

În funcție de pagina la care doriți să mergeți, acesta poate cere serverului să ruleze câteva module suplimentare atunci când creează documentul care vă servește și vă oferă ceea ce aveți nevoie. Destul de uimitor, nu?

Apache este cel mai popular server web gratuit. Începând cu 2016, este utilizat de 33% din toate site-urile de internet, ceea ce reprezintă aproximativ 304 miliarde de site-uri. Acest server web a fost dezvoltat în 1995 ca înlocuitor pentru popularul server NCSA și a remediat multe dintre problemele acestuia. Se zvonește că numele său provine dintr-o neuniformitate, deoarece a corectat erorile NCSA. Acum, este un program multiplatformă care acceptă Windows, Linux și MacOS și oferă suficientă flexibilitate, personalizare și funcționalitate. Programul are o structură modulară, care vă permite să-și extindeți funcționalitatea aproape la nesfârșit cu ajutorul modulelor.

Puteți instala Apache pe Linux cu câteva comenzi, dar programul oferă un număr foarte mare de setări pe care le puteți modifica, precum și module, după activare, care vor funcționa mai bine. Acest articol va acoperi instalarea și configurarea Apache, vom folosi Ubuntu ca sistem principal, dar puteți repeta acești pași în orice altă distribuție. Nu numai instalarea programului în sine va fi luată în considerare, ci și modalitățile de configurare, configurarea gazdelor virtuale apache, precum și cele mai utile module.

Momentan, cea mai nouă versiune a programului este 2.4, deci se va lua în considerare setarea apache 2.4. După cum am spus, în Linux, programul este instalat în doar câteva comenzi. Pentru a instala pe Ubuntu, mai întâi actualizați sistemul la cea mai recentă versiune:

actualizare sudo apt
$ sudo apt upgrade

Apoi instalați apache2:

sudo apt install apache2

În alte distribuții, pachetul de program se numește fie așa, fie httpd și nu veți avea nicio dificultate la instalarea acestuia.

După finalizarea instalării, trebuie să adăugați serverul web la pornire pentru a nu-l porni manual după pornirea computerului:

sudo systemctl enable apache2

Configurare Apache

Au trecut vremurile în care configurația Apache era stocată într-un singur fișier. Dar este corect atunci când totul este distribuit în directoarele sale, este mai ușor să navighezi în fișierele de configurare.

Toate setările sunt conținute în folderul /etc/apache/:

  • Fişier /etc/apache2/apache2.conf responsabil pentru setările de bază
  • /etc/apache2/conf-available/*- setări avansate de server web
  • /etc/apache2/mods-available/*- setarile modulelor
  • /etc/apache2/sites-available/*- setări de gazdă virtuală
  • /etc/apache2/ports.conf- porturile pe care rulează apache
  • /etc/apache2/envvars

După cum puteți vedea, există două foldere pentru conf, mods și site. Acestea sunt disponibile și activate. Când un modul sau o gazdă este activată, este creată o legătură simbolică de la folderul disponibil la folderul de activare. Prin urmare, este mai bine să faceți setări în folderele disponibile. În general, ar fi posibil să faceți fără aceste foldere, să luați totul și să-l aruncați într-un fișier în mod vechi, și totul ar funcționa, dar acum nimeni nu o face.

Mai întâi, să ne uităm la fișierul de configurare principal:

vi /eta/apache2/apache2.conf

pauză- indică cât timp serverul va încerca să continue transmisia sau recepția întreruptă a datelor. 160 de secunde vor fi suficiente.

Keep Alive On- un parametru foarte util, vă permite să transferați mai multe fișiere, pentru o singură conexiune, de exemplu, nu numai pagina html în sine, ci și imagini și fișiere css.

MaxKeepAliveRequests 100- numărul maxim de solicitări pe conexiune, cu cât mai multe, cu atât mai bine.

KeepAliveTimeout 5- expirarea conexiunii, de obicei 5-10 secunde sunt suficiente pentru a încărca pagina, deci nu trebuie să setați mai mult, dar nici nu trebuie să vă deconectați înainte ca toate datele să se încarce.

utilizator, grup- utilizator și grup în numele căruia va rula programul.

Căutare nume de gazdă- înregistrați nume de domenii în loc de adrese IP, este mai bine să îl dezactivați pentru a accelera munca.

LogLevel- nivelul de înregistrare a erorilor. În mod implicit, se utilizează avertisment, dar pentru ca jurnalele să se umple mai lent, activați doar eroarea

Include- toate directivele include sunt responsabile pentru includerea fișierelor de configurare discutate mai sus.

Directivele de director sunt responsabile pentru setarea drepturilor de acces la un anume director din sistemul de fișiere. Sintaxa aici este:


Valoarea parametrului

Iată principalele opțiuni disponibile:

permitoverride- specifică dacă să citești fișierele .htaccess din acest director, acestea sunt aceleași fișiere de setări și aceeași sintaxă. Toate - permiteți totul, Niciunul - nu citiți aceste fișiere.

DocumentRoot- setează din ce folder trebuie să luați documente pentru a le afișa utilizatorului

Opțiuni- Specifică ce caracteristici ale serverului web ar trebui să fie permise în acest folder. De exemplu, All - permit totul, FollowSymLinks - urmați legături simbolice, Indexes - afișați conținutul directorului dacă nu există un fișier index.

Solicita- stabilește ce utilizatori au acces la acest director. Solicitați toate refuzate - interziceți tuturor, Solicitați toate acordate - permiteți tuturor. puteți folosi directiva utilizator sau grup în loc de toate pentru a specifica în mod explicit un utilizator.

Ordin- vă permite să controlați accesul la director. Este nevoie de două valori: Allow,Deny - permite pentru toată lumea, cu excepția celor specificate, sau Deny,Allow - deny pentru toată lumea, cu excepția celor specificate..ru.

Aici, toate aceste directive nu sunt folosite, deoarece suntem mulțumiți de valorile implicite, dar în fișierele .htaccess acestea pot fi foarte utile.

Rămânem cu fișierul /etc/apache2/ports.conf:

Are o singură directivă, Listen, care spune programului pe ce port să lucreze.

Ultimul fișier este /etc/apache2/envvars, pe care este puțin probabil să îl utilizați, conține variabile care pot fi folosite în alte fișiere de configurare.

Configurarea serverului Apache prin htaccess

Fișierele .htaccess vă permit să configurați un server web pe Ubuntu să se comporte într-un anumit director. Toate instrucțiunile specificate în acest fișier sunt executate ca și cum ar fi împachetate într-o etichetă dacă ar fi în dosarul principal.

Este important de reținut că, pentru ca serverul să citească instrucțiunile din .htaccess, setările pentru acest folder din fișierul principal sau fișierul gazdă virtuală nu trebuie să conțină AllowOverride Nici unul pentru ca toate setările să funcționeze, aveți nevoie AllowOverride All.

În caz contrar, orice configurare a serverului apache poate fi efectuată aici, de la activarea modulelor până la simpla schimbare a accesului la foldere. Deoarece am luat deja în considerare toți parametrii, vom da doar câteva exemple:

Comanda Respinge, Permite
Negați din partea tuturor

Interzice accesul tuturor la acest folder, este important să aplicați dosarele de configurare. Cel mai adesea, .htaccess este folosit pentru a lucra cu modulul mod_rewrite, care vă permite să modificați cererile din mers:

Motor de rescrie pornit
RewriteRule ^produs/([^/\.]+)/?$ product.php?id=$1 [L]

Dar acesta este un subiect foarte larg și dincolo de scopul acestui articol.

Configurarea modulelor Apache

După cum am spus, Apache este un program modular, funcționalitatea acestuia poate fi extinsă folosind module. Toate încărcătoarele de module disponibile și fișierele de configurare ale modulelor se află în folderul /etc/apache/mods-available. Și cele activate în /etc/apache/mods-enable.

Dar nu trebuie să analizați conținutul acestor foldere. Configurarea Apache 2.4 prin adăugarea de module se face folosind comenzi speciale. Puteți vizualiza toate modulele care rulează cu comanda:

Puteți activa modulul cu comanda:

sudo a2enmod module_name

Și dezactivați:

sudo a2dismod module_name

După activarea sau dezactivarea modulelor, trebuie să reporniți apache:

sudo systemctl reporniți apache2

În timpul executării uneia dintre aceste comenzi, o legătură simbolică este creată sau eliminată către fișierul modulului cu încărcarea extensiei în directorul mods-available. Puteți vedea conținutul acestui fișier, există o singură linie. De exemplu:

vi /etc/apache2/mods-available/deflate.load

Aceasta înseamnă că modulul ar putea fi activat pur și simplu prin adăugarea acestei linii în fișierul apache2.conf. Dar se obișnuiește să faci exact asta pentru a evita confuzia.

Setările modulului sunt în același folder, doar într-un fișier cu extensia .conf în loc de încărcare. De exemplu, să vedem setările aceluiași modul pentru compresia dezumflată:

vi /etc/apache2/mods-available/deflate.conf

Fișierele din folderul conf-available sunt aceleași module, doar că sunt instalate separat de apache, acestea pot fi fișiere de configurare pentru a activa modulul php sau orice alt limbaj de programare. Totul funcționează exact la fel aici, doar comenzile pentru activarea și dezactivarea acestor module sunt ușor diferite:

a2enconf nume_modul

numele modulului a2disconf

După cum ați văzut, activarea modulelor este foarte ușoară. Să activăm câteva module obligatorii, dar neactivate implicit:

sudo a2enmod expiră
$ sudo a2enmod anteturi
$ sudo a2enmod rescrie
$ sudo a2enmod ssl

Modulele expiră și antete reduc încărcarea serverului. Ei returnează un antet Not Modified dacă documentul nu s-a schimbat de la ultima solicitare. Modulul de expirări vă permite să setați timpul pentru care browserul ar trebui să memoreze în cache documentul primit. Rewrite vă permite să schimbați din mers adresele solicitate, foarte util la crearea de legături CNC, etc. Iar ultima este pentru activarea suportului de criptare SSL. Nu uitați să reporniți apache2 după terminarea setărilor.

Configurarea gazdelor virtuale Apache

Nu ar fi foarte convenabil dacă un singur site ar putea fi găzduit pe o singură mașină fizică. Apache poate suporta sute de site-uri pe o singură mașină și poate furniza conținutul corect pentru fiecare. Pentru aceasta se folosesc gazde virtuale. Serverul determină în ce domeniu vine cererea și oferă conținutul necesar din folderul acestui domeniu.

Setările pentru gazde Apache se află în folderul /etc/apache2/hosts-available/. Pentru a crea o nouă gazdă, este suficient să creați un fișier cu orice nume (mai bine terminat cu numele gazdei) și să îl completați cu datele necesare. Includeți toți acești parametri într-o directivă virtualhost. Pe lângă parametrii discutați aici, vor fi utilizați următorii:

  • Numele serverului- nume de domeniu primar
  • ServerAlias- nume suplimentar prin care site-ul va fi disponibil
  • ServerAdmin- e-mailul administratorului
  • DocumentRoot- folder cu documente pentru acest domeniu

De exemplu:

vi /etc/apache2/sites-available/test.site.conf

25.12.13 39.2K

Un server web este un program care rulează pe o mașină locală sau la distanță, iar scopul său principal este de a permite utilizatorului să vizualizeze documente web. Când o adresă de site web este introdusă în bara de adrese, când tasta Enter este apăsată, browserul generează o solicitare trimisă către un computer la distanță - un server web.

Serverul Apache HTTP (prescurtarea de la limba engleză un server patchy) este unul dintre cele mai populare și răspândite programe create pentru dezvoltatorii web și administratorii de resurse Internet. Potrivit cercetătorilor independenți, Apache este instalat pe 50% din computerele tuturor utilizatorilor de servere HTTP.

Principalele avantaje ale Apache sunt stabilitatea, viteza și flexibilitatea și se datorează organizării modulare, precum și faptului că dezvoltarea este realizată de un grup deschis de programatori, deși sub denumirea oficială Apache Software Foundation.

Apache acceptă un număr mare de sisteme de operare și platforme hardware și este adesea folosit sub sistemul de operare Windows. De asemenea, este important ca acest web-server să fie distribuit complet gratuit.

Cum să instalați serverul Apache pentru sistemul de operare Windows 7 va fi discutat în acest articol.

Instalarea Apache

În primul rând, trebuie să descărcați cea mai recentă versiune a distribuției Apache fără suport SSL și să rulați instalarea. În fereastra de bun venit, trebuie să faceți clic pe „Următorul”, citiți acordul de licență al dezvoltatorului și confirmați acordul cu acesta.


Apoi, în fereastra de instalare, trebuie să completați câmpurile așa cum se arată în imaginea de mai jos și în câmpul " Adresa de e-mail a administratorului„Specificați adresa de e-mail, faceți clic pe „Următorul” și setați comutatorul la „Personalizat”.



Apoi, treceți la următorul pas al procesului de instalare Apache. În mod implicit, serverul web se instalează în folder C:Fișiere de programApache Software FoundationApache 2.2.


Apoi, trebuie să creați un director www pe unitatea C și să îl specificați ca folder de instalare pentru Apache, faceți clic pe „Următorul” în aceasta și „Instalare” în fereastra următoare. Când instalarea este finalizată, faceți clic pe „ Terminare”.

Dacă totul a mers bine, pictograma de control al serverului web Apache ar trebui să apară în tavă. Îl puteți opri și reporni făcând clic pe pictogramă cu butonul stâng al mouse-ului.


Făcând clic dreapta pe aceeași pictogramă, puteți naviga la diverse servicii ale sistemului de operare sau puteți deschide monitorul Apache.


Pentru a verifica dacă serverul Apache instalat rulează, introduceți în bara de adrese a browserului dvs. http://localhost


Dacă a apărut o pagină cu inscripția inspirată „Funcționează! ”, apoi Apache a fost instalat cu succes și funcționează corect.

Configurare de bază a serverului web

Deși Apache este foarte convenabil și extrem de fiabil, nu toată lumea este pregătită să-l folosească ca server local din mai multe motive, iar principalul este absența oricărui configurator grafic chiar și în mediul Microsoft Windows, ceea ce este destul de neobișnuit pentru majoritatea. utilizatorii.

Serverul este configurat prin editarea manuală a fișierului de configurare httpd.conf. Cu toate acestea, contrar noțiunilor de neînțeles și complexitate a acestui proces, nu este nimic complicat în această operațiune din două motive: în primul rând, pentru a realiza un server care este configurat pentru o funcționare acceptabilă și confortabilă de la un Apache nou instalat, aveți nevoie de pentru a schimba fișierul de configurare există foarte puține date, iar în al doilea rând, comentariile httpd.conf conțin o mulțime de informații utile necesare pentru a afla configurația.

Ce este necesar?

  • Rulați Apache sub platforma Windows 7;
  • Stocați fișierele viitorului site într-un director ușor de utilizat (de exemplu, C: www);
  • Nu întâmpinați probleme cu codificarea și, în special, cu afișarea literei chirilice;
  • Abilitatea de a lucra cu mai multe site-uri în același timp.

Pentru a rezolva cu succes aceste probleme, accesați folderul de instalare Apache, găsiți și deschideți fișierul httpd.conf din subfolderul conf. Vă rugăm să rețineți că liniile care încep cu un semn hash sunt comentarii de text, iar setările serverului web sunt linii care nu încep cu un semn hash.

Mai întâi trebuie să configurați directorul care va fi folosit de server ca folder de site. Găsiți linia din text care începe cu DocumentRoot . Această directivă determină care folder va fi rădăcină.

Schimbați-l în DocumentRoot „C:/www”. Ar trebui clarificat faptul că barele oblice din acest fișier ar trebui tăiate spre dreapta și nu spre stânga, așa cum probabil că utilizatorii Windows sunt deja obișnuiți. După manipulările de mai sus, problema cu locația site-ului dvs. este rezolvată.

Opțiuni (determină ce funcții de server vor fi disponibile) AllowOverride (determină ce directive din .htaccess le pot suprascrie pe cele din httpd.conf) Ordine (setează anumite reguli pentru accesarea serverului)

Lista parametrilor utilizați:

Opțiuni. Sunt posibile următoarele opțiuni:

  • Include - este permisă utilizarea SSI;
  • IncludesNOEXEC – Utilizarea SSI este permisă cu restricții (#include și #exec nu sunt permise);
  • Indecși – este permisă utilizarea fișierelor index, iar dacă URL-ul indică către un director al site-ului (de exemplu, www.domain.ru/dir/ ) în care nu există fișier index, conținutul acestui director va fi afișat și dacă această opțiune nu este prezentă, se va emite o notificare că accesul este refuzat;
  • ExecCGI - este permisă execuția de scripturi CGI;
  • FollowSymLinks - serverul urmează legăturile simbolice existente ale directorului (utilizate în sistemele Unix);
  • SymLinksIfOwnerMatch - serverul urmărește legăturile simbolice existente ale directorului numai dacă fișierul țintă are același proprietar cu linkul;
  • Toate - toate cele de mai sus împreună sunt permise;
  • Nici unul - toate cele de mai sus împreună sunt interzise;
  • MultiViews - capacitatea de a selecta un anumit conținut și de a-l afișa în funcție de preferințele browserului (chiar dacă totul este activat (Opțiuni Toate. Specificat separat).

AllowOverride. Opțiuni:

  • AuthConfig - vă permite să utilizați directive pentru autorizare;
  • FileInfo - permite utilizarea directivelor pentru lucrul cu diverse tipuri de documente;
  • Indexuri - permite utilizarea directivelor pentru lucrul cu fișierele de indexare;
  • Limită - permite utilizarea directivelor pentru a determina accesul la gazdă;
  • Opțiuni - permite utilizarea directivelor pentru a lucra cu anumite funcții specifice de director;
  • Toate - toate cele de mai sus împreună;
  • Niciunul - niciunul dintre cele de mai sus împreună.

Ordin. Opțiuni:

  • Deny, Allow - Deny este definit înainte de directiva Allow, accesul este permis în mod implicit, cu excepția gazdelor care sunt specificate în rândul care urmează Deny from;
  • Allow,Deny - Allow este definit înaintea directivei Deny, accesul este refuzat implicit, cu excepția gazdelor care sunt specificate în rândul care urmează Allow from;
  • Eșec reciproc - numai gazdele care nu sunt în Deny și sunt în Allow au acces.

Pe baza celor de mai sus, încercați să vă configurați serverul. În fișierul httpd.conf, directiva Director există în mod implicit în două instanțe simultan - și . Prima opțiune nu trebuie atinsă, așa că în a doua, setați parametrii după cum urmează:

Opțiuni Indexuri FollowSymLinks AllowOverride Niciunul Comanda permite, refuza Permite din toate

Cu alte cuvinte, sunt selectate următoarele opțiuni pentru folderul C:/www și toate subfolderele sale:

  • Dintre posibilele funcționalități ale serverului existent sunt permise indecși în directoare și legături simbolice;
  • Posibilitatea suprascrierii parametrice folosind fișiere .htaccess este complet absentă, însă, având în vedere că aveți acces deplin la server, nu este relevantă - totul poate fi configurat prin httpd.conf;
  • Accesul la serverul web este permis de la toate gazdele.

Acum, salvați fișierul httpd.conf și reporniți Apache folosind Apache Monitor sau comanda apache –k restart de pe linia de comandă. Configurarea folderului rădăcină a site-ului este acum finalizată.

Ar trebui să verificați dacă ați făcut totul corect. Creați o pagină web simplă în folderul C:www, deschideți browserul și tastați http://127.0.0.1/your_created_page. Paginile ar trebui să se deschidă. În caz contrar, trebuie să verificați cu atenție toate modificările din fișierul httpd.conf pentru corectitudine.

Dacă pagina s-a deschis cu succes, există șansa ca în loc de caractere chirilice să vedeți caractere care nu pot fi citite. Ele apar din două motive. În primul rând, serverul web oferă browserului dvs. care a solicitat pagina o codificare implicită. În al doilea rând, destul de ciudat, această codificare nu este chirilică.

Dacă notoriul Internet Explorer în astfel de cazuri determină codificarea din pagina însăși, atunci, de exemplu, Mozilla Firefox și Opera nu au absolut nicio înclinație către astfel de acțiuni, iar metoda de setare manuală a codificării în browser poate fi numită cu greu convenabilă. Prin urmare, trebuie să configurați Apache pentru a furniza codificarea necesară în mod implicit.

Căutați în fișierul httpd.conf linia care începe cu AddDefaultCharset . Cel mai probabil, acolo este indicată codificarea ISO-8859-1, în care nu există caractere chirilice. Schimbați ISO-8859-1 în Windows-1251, salvați fișierul și reporniți Apache. Acum afișarea corectă a limbii ruse pe site-ul dvs. va funcționa în orice browser.

În serverul Apache, este destul de simplu să configurați lucrul cu mai multe site-uri. Adresele care pot fi folosite pentru acestea sunt 127.0.0.2, 127.0.0.3 etc. În acest caz, numai cel care este site-ul implicit (127.0.0.1) va fi vizibil în rețea, dar acest lucru nu este critic pentru lucrul local. Secțiunea fișierului httpd.conf care configurează tot ce aveți nevoie pentru a face acest lucru este la sfârșit și se numește VirtualHosts.

Pentru a adăuga un site suplimentar, creați un director care este folosit ca rădăcină, de exemplu C:www2 . Presupunând că site-ul va răspunde la 127.0.0.2, numiți-l site911 și adăugați următoarele rânduri la sfârșitul secțiunii VirtualHosts:

ServerAdmin [email protected] ServerName site911 DocumentRoot „C:/www2” ScriptAlias ​​​​/cgi/ „C:/www2/cgi/” ErrorLog „C:/www2/error.log” CustomLog „C:/www2/custom.log” comun

Reporniți serverul Apache. Introducerea 127.0.0.1 în bara de adrese a browserului vă va duce la primul site local, iar tastarea 127.0.0.2 vă va duce la al doilea site local. Trebuie avut în vedere că absolut orice directive ale serverului web Apache pot fi folosite în interiorul fiecărui container VirtualHosts, datorită căruia fiecare site poate fi configurat în cel mai detaliat mod.

Rezultat

Instalarea și configurarea sunt finalizate, iar acum puteți începe să studiați pe deplin funcționarea serverului Apache în practică.

Dacă decideți să vă ocupați de administrarea site-urilor web, următorul pas ar trebui să fie să studiați pachetul Apache PHP MySQL, deoarece fără un sistem de gestionare a bazelor de date, precum și fără suport pentru unul dintre cele mai comune limbaje de programare web și un instrument web pentru administrarea sistemului MySQL, nu puteți ocoli nici un singur server din vastul world wide web. Cum se spune, " greu de învățat, dar ușor de luptat».

Vă dorim mult succes în studiul acestei afaceri dificile, dar interesante!

Rău Bun

Ei bine, am vorbit destul despre serverul web, este timpul să-l instalăm și să-l încercăm. Există o listă formată a celor mai comune servere web, la alegere se ține cont de sarcinile specifice pentru care este implementat. Să oprim alegerea noastră pe serverul web Apache gratuit. Il consider ideal pentru site-uri de nivel initial si mediu. Desigur, puteți merge pe calea ușoară - instalați o combină Denwer gata făcută, așa cum o fac majoritatea începătorilor, dar în cazul nostru, pe lângă rezultat, sunt importante și cunoștințele teoretice. Și după lecția de azi, priceperea ta va crește cu siguranță :)

Accesați pagina de descărcare a proiectului - http://httpd.apache.org/download.cgi și descărcați cea mai recentă versiune stabilă pentru Windows ca program de instalare MSI (în cazul meu era apache_2.2.14-win32-x86-no_ssl.msi) . Să începem instalarea. Primul dialog care ne poate induce în eroare este dialogul pentru introducerea informațiilor despre server:

Ne vom configura serverul după instalare, dar acum să nu ne facem prea multe griji și să introducem localhost în câmpurile „Network Domain” și „Server Name” și adresa ta de e-mail în câmpul „Administrator’s Email Address” (despre ce localhost, vom vorbiți mai târziu). Să nu atingem comutatoarele de jos. Faceți clic pe „Următorul”, fiți de acord cu instalarea tipică, „Următorul” din nou. Instalatorul vă va solicita să selectați directorul în care va fi instalat serverul web:

Calea este prea lungă după părerea mea, să o reducem C:\Program Files\Apache. Continuăm instalarea, așteptăm finalizarea acesteia. După ce programul de instalare este închis, pictograma monitorului Apache va apărea în tavă:

Acest utilitar vă permite să porniți, să opriți, să reporniți serverul nostru web și să aflați starea acestuia. Apache însuși a fost instalat la noi ca un serviciu care va porni automat când computerul pornește:

Acum să ne amintim despre ce am vorbit în articol. După cum vă amintiți, fiecare computer conectat la rețea are propria sa adresă IP. Dar chiar dacă computerul dvs. nu are nicio conexiune la rețea, acesta are cel puțin o adresă IP internă. Această adresă - 127.0.0.1 . Pe toate computerele, este același și indică computerul însuși. Adică, dacă specificați adresa serverului 127.0.0.1 pentru aplicația client de rețea, clientul va încerca să se conecteze la serverul aflat pe propriul computer. În continuare, am vorbit despre numele de domenii care sunt traduse în adrese IP de către serverele DNS. Adresa internă 127.0.0.1 are propriul nume de domeniu intern - gazdă locală. În același timp, pentru a rezolva acest nume într-o adresă, computerul nu trebuie să contacteze serverul DNS, deoarece această corespondență este inerentă computerului însuși.

Să pornim un browser web și să introducem domeniul localhost în bara de adrese:

Sper că înțelegi ce s-a întâmplat? Domeniul localhost a fost rezolvat la adresa IP 127.0.0.1, browserul web s-a conectat la serverul web la această adresă și portul 80 și a solicitat pagina principală folosind protocolul HTTP. Adică, serverul nostru web rulează, a trimis browserului o pagină cu inscripția „Funcționează” („funcționează”).

Să începem configurarea serverului nostru web, care se reduce la editarea fișierelor de configurare Apache. Mai întâi trebuie să obțineți un editor de text convenabil, practic și în același timp simplu. Dacă aveți deja unul - felicitări, dar dacă sunteți un utilizator nefericit de Notepad, vă pot sugera un editor. Accesați folderul C:\Program Files\Apache\confși redenumiți fișierul httpd.confîn httpd.conf.bak pentru a avea la îndemână configurația inițială în caz de urgență. Creați un fișier nou httpd.conf cu urmatorul continut:

ServerRoot „C:/Program Files/Apache” Ascultați 80 LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule asis_module modules/mod_asis.so LoadModule auth_basic_module modules/mod_auth_auth_module_module_basic_module_auth_module_authmodule_authmodule. /mod_authn_file.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule cgi_module modules/mod_cgi.so LoadModule dir_module modules/ mod_dir.so LoadModule env_module modules/mod_env.so LoadModule include_module modules/mod_include.so LoadModule isapi_module modules/mod_isapi.so LoadModule log_config_module modules/mod_log_config.so LoadModule mime_module modules/mod_module modules/mod_module negoti _negotiation.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule setenvif_module modules/mod_setenvif.so ServerName localhost AccessFileName .htaccess ServerTokens prod LogLevel error ErrorLog "logs/error.log" DefaultType text/plain AddDefault UTF-8Charset DirectoryIndex index.html Comanda permite, refuza Deny from all Satisf All TypesConfig conf/mime.types Aplicație AddType/x-compress .Z Aplicație AddType/x-gzip .gz .tgz LogFormat „\nclient=%h\ntime=%(%d.%m.%Y %H:%M:%S)t\npage=%U%q\nreferer=%(Referer)i\nreqmethod=%m \nhost=%(Host)i\nagent=%(User-agent)i\n\n" mylog

Înțelegem. ServerRoot- calea unde este instalat serverul nostru web. Acordați atenție tăierilor. Lister- specificați numărul portului pe care serverul web îl va „asculta” și, dacă este necesar, adresa IP (dacă computerul dvs. are mai multe conexiuni și trebuie să acceptați conexiuni doar la una dintre ele). Am specificat portul 80, care este implicit pentru serverele web. LoadModuleîncarcă modulul serverului web, modulele vă permit să obțineți funcții suplimentare. Fișierul nostru de configurare conține o listă de module standard. AddDefaultCharset- codificare implicită, setați Unicode (UTF-8). Restul ne preocupă puțin.

Și acum cel mai important lucru. Ați uitat de ce instalăm un server web? Așa e, să lucrăm pe viitoarele noastre site-uri. Există un concept directorul rădăcină- acesta este directorul în care se află conținutul site-ului, adică fișierele din care este format. În mod implicit, în directorul nostru rădăcină Apache este directorul . Mergând acolo vei găsi acolo un singur fișier numit index.html. Acesta este același fișier care conține pagina principală etichetată „Funcționează”. http://localhost. Cert este că dacă cererea (care, de altfel, se numește url) nu conține un nume de fișier, atunci serverul web caută un fișier cu unul dintre numele standard. Aceste nume (mai precis, un nume - index.html) sunt scrise în fișierul nostru de configurare:

DirectoryIndex index.html

Astfel, la întrebarea http://localhost serverul web va căuta fișierul C:\Program Files\Apache\htdocs\index.html, la cerere http://localhost/docs - C:\Program Files\Apache\htdocs\docs\index.html(în cazul în care dacă docs- folder), la cerere http://localhost/news.html - C:\Program Files\Apache\htdocs\news.html si asa mai departe.

Când construiți un web, este convenabil să aveți nu unul, ci, să zicem, trei domenii locale (situate pe mașina locală) pe care să vă puteți testa în mod independent site-urile. Apache vă permite să serviți mai multe site-uri, adică nu trebuie să instalați o copie a serverului web pentru fiecare domeniu (în plus, ne amintim că doar o aplicație de server poate rula pe un anumit port de pe un computer). Mai multe nume de domenii se pot referi la aceeași adresă IP. Apache, la rândul său, poate, în funcție de numele de domeniu transmis în cererea HTTP (rețineți parametrul Host, articolul „Principii ale serverului web”), să caute fișiere într-un anume director rădăcină. Această tehnologie se numește "gazdă virtuală".

Deci, cu localhost mapat la 127.0.0.1, să creăm încă trei domenii interne test-domain1, test-domain2 și test-domain3 care se mapează la aceeași adresă. Deschideți fișierul într-un editor de text C:\WINDOWS\system32\drivers\etc\hosts. În acest fișier, puteți potrivi nume de domenii și adrese IP. Aici vom găsi însăși corespondența localhost cu adresa 127.0.0.1. Adăugați următoarele rânduri la sfârșitul fișierului:

127.0.0.1 test-domain1 127.0.0.1 test-domain2 127.0.0.1 test-domain3

Înainte de a contacta serverul DNS, se caută o potrivire în acest fișier, iar dacă reușește, cererea este anulată și se folosește adresa găsită.

Următorul pas este ca fiecare nume de domeniu să-și creeze propriul director rădăcină și să spună serverului nostru web despre acesta. Ștergeți într-un folder C:\Program Files\Apache\htdocs fişier index.htmlși creați trei foldere acolo: domeniu-test1, domeniu-test2și domeniu-test3, în fiecare dintre aceste foldere câte un folder Buturuga- pentru jurnalele și folderul www- de fapt, directorul rădăcină pentru domeniu. La finalul dosarului C:\Program Files\Apache\conf\httpd.conf adăugați următoarele:

NameVirtualHost *:80 ServerName test-domain1 DocumentRoot „C:/Program Files/Apache/htdocs/test-domain1/www” ErrorLog „C:/Program Files/Apache/htdocs/test-domain1/log/error.log” CustomLog „C:/Program Fișiere/Apache/htdocs/test-domain1/log/access.log” mylog ServerName test-domain2 DocumentRoot „C:/Program Files/Apache/htdocs/test-domain2/www” ErrorLog „C:/Program Files/Apache/htdocs/test-domain2/log/error.log” CustomLog „C:/Program Fișiere/Apache/htdocs/test-domain2/log/access.log” mylog AllowOverride All Options -Indexuri ServerName test-domain3 DocumentRoot „C:/Program Files/Apache/htdocs/test-domain3/www” ErrorLog „C:/Program Files/Apache/htdocs/test-domain3/log/error.log” CustomLog „C:/Program Fișiere/Apache/htdocs/test-domain3/log/access.log” mylog AllowOverride All Options -Indexuri

Trei blocuri gazdă virtuală descrieți cele trei gazde virtuale ale noastre. Fiecare primește propriul director rădăcină - DocumentRoot, calea către jurnalul de erori - ErrorLogși jurnal de acces - Jurnal personalizat.

În directorul rădăcină al fiecărui domeniu, creați un fișier index.html cu conținutul „Hello from test-domain1”, „Hello from test-domain2” și „”Hello from test-domain3”. Pentru ca modificările de configurare să aibă efect, trebuie să reporniți Apache (dați clic stânga pe pictograma monitorului Apache - > Reporniți) Dacă nu s-au făcut erori, totul ar trebui să funcționeze:

Felicitări, acum aveți un server web configurat cu trei gazde locale. Extindere pentru webmaster:) Este timpul să începeți să învățați elementele de bază ale construirii web.

Un server web este un server care este un loc pentru stocarea paginilor site-ului web împreună cu bazele de date și diverse module software ale unui site web; este un element fundamental în funcționarea tuturor resurselor web stocate pe acesta. Dar sistemul de operare al serverului în sine nu va asigura funcționarea site-ului web, este necesar un anumit software, care este serverul web al software-ului Apache.

Acest server web a fost dezvoltat la începutul anilor 90 și a fost proiectat să ruleze pe platformele Linux și Unix OS. De-a lungul timpului, lista sistemelor de operare acceptate s-a extins semnificativ. În prezent, Server web Apache operează pe OS Windows, Mac OS, BSD, Linux, OS/2 și Novell NetWare. Serverul web are o gamă largă de extensii pentru a lucra cu multe limbaje de programare web:

  • mod_php pentru PHP
  • mod_perl pentru Perl
  • mod_wsgi, mod_python pentru Python;
  • apache-ruby pentru Ruby
  • apache-asp pentru ASP.

Mulți dezvoltatori din întreaga lume completează funcționalitatea Apache, dar numai specialiștii Apache Software Foundation sunt implicați în dezvoltarea nucleului serverului web. De exemplu, specialiștii ruși dezvoltă o extensie pentru susceptibilitatea ușoară a Apache la codificarea în limba rusă. Apache poate fi folosit atât pe un server web care rulează pe WAN, cât și pentru uz local pentru a testa site-urile web care sunt dezvoltate.

Avantajele serverului web Apache

Apache este cel mai utilizat server web, instalat pe mai mult de jumătate dintre gazdele de pe Internet. Acest lucru s-a datorat în principal:

  1. licența sa gratuită, care permite atât începătorilor, cât și profesioniștilor din industria web să lucreze cu ea;
  2. cross-platform (care este unul dintre principalele avantaje în comparație cu eternul rival - serverul web IIS);
  3. deschiderea codului, datorită căreia mulți specialiști ar putea completa și îmbunătăți funcționalitatea Apache;
  4. nivel ridicat de securitate;
  5. fiabilitate și ușurință în utilizare.
P.S. Și, în plus, voi da sfaturi care nu au legătură cu lumea web "a. Dacă sunteți angajat în masaj și aveți propriul dvs. salon de masaj, atunci vă recomandăm să acordați atenție magazinului online de masaj-chairs-abakan.ru Acolo poți
  • Serghei Savenkov

    un fel de recenzie „rare”... parcă s-ar grăbi undeva