Ce este un server apache? Ce versiune de Apache ar trebui să instalați? Apache și alte servere web

Apache HTTP Server este un așa-numit server web gratuit care este multiplatformă software. Apache acceptă următoarele sisteme de operare: BSD, Microsoft Windows, Linux, Mac OS, BeOS, Novell NetWare.

Cum se configurează corect Apache?

De obicei, serverul Apache este configurat prin fișierul .htaccess (instrucțiuni detaliate). Acest fișier se află pe serverul pe care se află site-ul dvs. Și serverul însuși își citește conținutul și aplică setările care sunt specificate acolo. Mai jos listăm principalii parametri care se modifică în fișierul .htaccess și vor fi folositori pentru webmasteri.

Redirecționări automate de la o pagină la alta

  • Redirecționați de la http://www.site.com la http://site.com
  • Redirecționare inversă de la http://site.com la http://www.site.com
  • Trecerea de la un domeniu vechi la unul nou
  • site.com/page sau site.com/page/ redirecționează către site.com/page.html
  • Inversați de la site.com/page.html la site.com/page
  • Eliminam bara oblică de la sfârșitul adresei URL (era site.com/page/, a devenit site.com/page)
  • Redirecționarea tuturor paginilor unei secțiuni site.com/razdel-1/razdel-2/page către paginile altei secțiuni site.com/razdel-1/page

Gestionarea erorilor

  • Dacă apare o eroare, utilizatorul, în loc de porcăria standard, va fi afișat frumoasa pagina, pe care o veți întreba.

Configurarea securității site-ului

  • Protectie la injectie
  • Protecție împotriva furtului de imagini
  • Blocarea utilizatorilor prin IP
  • Protejați fișierele și folderele
  • Lucrul cu agenții de utilizator

Codificarea paginii site-ului

  • Lucrul cu codificarea paginilor site-ului web la nivel de server.

Optimizarea site-ului

  • Accelerarea site-ului
  • Lucrul cu stocarea în cache
  • Schimba pagina de start site-ul

Setări PHP

Informații despre Apache

Fiabilitatea și flexibilitatea configurației sunt principalele avantaje ale Apache. Datorită acestui software, vă puteți conecta module externe folosit pentru a furniza date, pentru a modifica mesajele de eroare și pentru a utiliza un SGBD pentru autentificarea utilizatorilor. Apache acceptă IPv6.

Din aprilie 1996 până în prezent, Apache a fost cel mai răspândit și popular server HTTP de pe Internet. Conform statisticilor, în august 2007, un server HTTP rula pe 51% din toate serverele web în mai 2009, această cifră a scăzut la 46%, iar în ianuarie 2011, a crescut la 59%. Astăzi, peste 59% din numărul total de site-uri web sunt deservite de serverul web Apache. Apache este dezvoltat și susținut de specialiști din comunitatea de dezvoltatori deschisi sub auspiciile Apache Software Foundation. Apache inclus în majoritatea produse software, inclusiv IBM WebSphere și Oracle DBMS.

Apache are un mecanism de gazdă virtuală încorporat. Datorită acestui lucru, puteți servi pe o singură adresă IP număr mare proiecte web (nume de domenii), afișând în același timp propriul conținut pentru fiecare dintre ele. Pentru fiecare gazdă virtuală, este posibil să specificați propriile setări de modul și kernel, precum și să stabiliți restricții de acces la întregul site sau la unele fișiere. Folosind Apache-ITK, puteți începe un proces httpd cu identificatori gid și uid pentru fiecare gazdă virtuală. Există și module care vă permit să limitați și să luați în considerare resursele serverului (trafic, RAM, CPU) separat pentru fiecare gazdă virtuală.

Dacă Apache ți s-a părut întotdeauna o cutie neagră? Este timpul să aflăm ce se întâmplă în culise!

Apache este cel mai popular server web.

Sarcina unui server web este să accepte cereri de la clienți și să trimită răspunsuri la aceste solicitări. Serverul web primește un link URL, îl traduce într-un nume de fișier (pentru solicitări statice) și trimite acel fișier prin Internet cu disc local sau, de exemplu, îl traduce în numele programului (pentru interogări dinamice), îl execută și apoi trimite rezultatul acelui program înapoi pe Internet către solicitant. Dacă din anumite motive serverul web nu a putut procesa și finaliza solicitarea, va trimite în schimb un mesaj de eroare. Cuvântul, server web, se poate referi la computerul în sine (computer/hardware) sau la software-ul care primește cereri și trimite răspunsuri.

Apache este cel mai popular server web (urmat de Microsoft IIS). Există mai multe motive pentru popularitatea sa:

  1. Poate fi descărcat și instalat gratuit.
  2. Este open source: este disponibil pentru toată lumea, ceea ce permite oricui (care o poate face) să personalizeze codul, să-l optimizeze și să remedieze erorile și deficiențele de securitate. Utilizatorii pot adăuga funcții noi și pot scrie module noi.
  3. Este potrivit pentru orice nevoie: Apache poate fi folosit pentru site-uri mici cu una sau două pagini sau pentru site-uri mari cu sute și mii de pagini care deservesc milioane de vizitatori obișnuiți în fiecare lună. Poate servi atât statice cât și continut dinamic.

Ce este Apache?

Funcționalitatea de care nu aveți nevoie sau importantă poate fi eliminată cu ușurință.

Un server Apache HTTP este un software (sau program) care rulează în fundalul sistemului de operare de bază, acceptă multitasking și oferă servicii altor aplicații care se conectează la acesta, cum ar fi browserele web client. Apache a fost conceput pentru a rula sisteme de operare sisteme Linux/ Unix, dar a fost adaptat ulterior pentru a rula pe alte sisteme, inclusiv Windows și Mac. Fișier binar Apache care rulează pe UNIX este numit HTTPd(Prescurtare pentru HTTP-daemon), iar sub win32 este numit Apache.exe.

Instalarea Apache pe Linux nu necesită multe abilități de programare (deși nu este prea ușor). Instalarea sa pe Platforma Windows este simplu, deoarece îl puteți rula printr-o interfață grafică.

Nucleul original Apache este destul de simplu și conține un număr limitat de caracteristici. Puterea sa provine mai mult din funcționalitatea suplimentară încorporată în numeroasele module care sunt scrise de programatori și pot fi instalate pentru a îmbunătăți capacitățile serverului. Pentru a adăuga modul nou, tot ce trebuie să faceți este să îl instalați și să reporniți serverul Apache. Funcționalitatea de care nu aveți nevoie sau nu doriți poate fi eliminată cu ușurință, ceea ce de fapt contează punct bun, deoarece face serverul mic și ușor, rulează mai rapid, consumă mai puține resurse de sistem și memorie și face serverul mai puțin susceptibil la vulnerabilități de securitate. Serverul Apache acceptă, de asemenea module de la terți, dintre care unele au fost adăugate ca caracteristici permanente în Apache 2. Serverul Apache se integrează foarte ușor cu alte aplicații open source, cum ar fi PHP și MySQL, făcându-l și mai puternic decât este deja.

Server web în el cea mai simplă formă este un computer cu software special și o conexiune la Internet care îi permite să interacționeze cu alte dispozitive.

Fiecare dispozitiv conectat la o rețea are o adresă IP prin care alții se conectează la el și comunică cu acesta. Această adresă IP este similară cu adresa obișnuită de care aveți nevoie viata reala a suna sau a vizita pe cineva. Dacă nu au o adresă, nu știi cum să-i suni sau să-i contactezi. Adresele IP servesc exact același scop. Dacă un dispozitiv nu ar avea unul, alte computere din aceeași rețea nu ar ști cum să-l acceseze.

Serverul Apache oferă o serie de servicii pe care clienții le pot folosi. Aceste servicii sunt oferite folosind diferite protocoale pe diferite porturi și includ: Hypertext Transfer Protocol (HTTP), de obicei pe portul 80, Simple Mail Transfer Protocol (SMTP), de obicei pe portul 25, Domain Name System (DNS) pentru maparea numelor de domeniu respective. Adrese IP, de obicei pe portul 53 și File Transfer Protocol (FTP) pentru încărcarea și descărcarea fișierelor, de obicei pe portul 21.

Cum funcționează Apache

Rolul principal al Apache este legat de comunicarea prin rețele și utilizări Protocolul TCP/IP (protocol de control al transmisiei/protocol de internet care permite dispozitivelor cu adrese IP din aceeași rețea să comunice între ele).

Protocolul TCP/IP este un set de reguli care determină modul în care clienții procesează cererile și modul în care serverele răspund și determină modul în care datele sunt transmise, livrate, primite și confirmate.

Serverul Apache este configurat să funcționeze prin fișiere de configurare în care sunt adăugate directive pentru a-și controla comportamentul. În starea inactivă, Apache ascultă adresele IP specificate în fișierul său de configurare (HTTPd.conf). Ori de câte ori primește o solicitare, analizează anteturile, aplică regulile specificate pentru aceasta în Fișierul de configurare, și ia măsuri.

Dar un server poate găzdui multe site-uri web, nu doar unul, dar pentru lumea exterioară ele par separate unul de celălalt. Pentru a realiza acest lucru, fiecare dintre aceste site-uri trebuie să primească un nume diferit, chiar dacă toate ajung să fie afișate pe același computer. Acest lucru se realizează prin utilizarea așa-numitelor gazde virtuale.

Deoarece adresele IP sunt greu de reținut, noi, în calitate de vizitatori ai anumitor site-uri web, introducem de obicei numele de domeniu corespunzătoare în câmpul URL din browserele noastre. Browserul se conectează apoi la un server DNS, care traduce numele de domenii în adresele lor IP. Browserul preia apoi adresa IP returnată și se conectează la ea. Browserul trimite și el Gazdă antet cu o solicitare, astfel încât, dacă serverul găzduiește mai multe site-uri, va ști pe care ar trebui să îl servească.

De exemplu, tastând www.google.com în câmpul de adresă al browserului dvs. ar putea trimite următoarea solicitare către server la adresa IP respectivă:

Gazdă GET / HTTP/1.1: www.google.com

Prima linie conține mai multe informații. În primul rând, există o metodă (în în acest caz, este GET), un URI care specifică ce pagină să preia sau ce program să ruleze (în acest caz este directorul rădăcină, notat /), și în final există versiunea HTTP (care în acest caz este HTTP 1.1).

HTTP este un protocol fără răspuns.

HTTP este un protocol fără răspuns. Este un set de reguli care guvernează comunicarea dintre client și server. Clientul (de obicei, dar nu neapărat un browser web) face o solicitare, serverul trimite un răspuns și comunicarea este întreruptă. Serverul nu așteaptă comunicare suplimentară, așa cum este cazul altor protocoale care rămân într-o stare în așteptare după finalizarea solicitării.

Dacă cererea are succes, serverul returnează un cod de stare 200 (însemnând că pagina a fost găsită) și anteturi de răspuns împreună cu datele solicitate. . Antetul de răspuns al serverului Apache ar putea arăta cam așa:

HTTP/1.1 200 OK Data: Duminica, 10 iunie 2012 19:19:21 GMT Server: Apache Expiră: Miercuri, 11 ianuarie 1984 05:00:00 GMT Cache-Control: fără cache, trebuie revalidat, vârsta maximă= 0 Pragma: no-cache Ultima modificare: Duminica, 10 iunie 2012 19:19:21 GMT Variază: Accept-Codificare, User-Agent Content-Type: text/html; charset=UTF-8 Lungimea conținutului: 7560

Prima linie din antetul răspunsului este linia de stare. Conține versiunea HTTP și codul de stare. Urmează data și apoi câteva informații despre serverul gazdă și datele preluate. Antetul Content-Type îi permite clientului să cunoască tipul de date preluate, astfel încât să știe cum să le proceseze. Clientul Content-Lengthlets cunoaște dimensiunea corpului răspunsului. Dacă cererea eșuează, clientul va primi un cod de eroare și un mesaj, cum ar fi următorul antet de răspuns în cazul unei erori de pagină negăsită:

HTTP/1.1 404 Nu a fost găsit

Protocolul TCP/IP

TCP/IP este de fapt două protocoale construite unul peste altul.

TCP/IP este de fapt două protocoale construite unul peste altul. Protocolul IP este responsabil pentru transferul datelor transmise de la un punct la altul. Transportă date între două puncte, le împarte în pachete mai mici, atașează o adresă sursă și destinație fiecărui pachet și transmite datele.

TCP se ocupă de partea care implică stabilirea unei conexiuni între două părți, asigurându-se că datele ajung la destinație, având grijă de orice pierdere de date și gestionând recuperarea datelor.

După primirea mesajului, partea care primește mesajul trimite mesajul cu confirmare (ACK) expeditorului dacă totul merge bine, informându-l despre sosirea datelor. Dacă ceva nu merge bine, cum ar fi o situație de pierdere a datelor, destinația trimite un mesaj Not Acknowledged (NAK), notificând nodul expeditor despre problemă și informându-l să retransmite pachetul de date.

După cum sa discutat mai devreme, Apache oferă multe servicii la care clienții ar putea dori să se conecteze pentru a le utiliza sau a beneficia. TCP controlează fiecare serviciu astfel încât să fie accesat pe un anumit port pentru a se diferenția diverse servicii. Astfel, garantează că orice această interfață(sau gazda) poate oferi mai multe servicii. . Prin urmare, atunci când un client se conectează la o gazdă, acesta transmite numărul portului împreună cu adresa IP. Browserele folosesc Protocolul HTTP, care utilizează implicit portul 80, deci nu este nevoie de specificații suplimentare.

Următoarea imagine este un instantaneu rapid al software-ului meu FTP (WinScp). După cum puteți vedea, pentru serverul FTP, nu numai că trebuie să specific adresa IP (sau să introduc numele domeniului), dar trebuie să specific și numărul portului prin care serverul meu oferă serviciul. În cazul FTP, numărul portului este 21. În cazul SFTP (Secure FTP), numărul portului este 22.

Pe UNIX, o listă de servicii oferite împreună cu numerele de porturi ale acestora poate fi găsită în fișier /etc/services. Următoarea comandă va afișa conținutul fișierului:

Mai multe /etc/services

Mai jos este o captură de ecran a unei părți a fișierului. După cum puteți vedea, serviciile sunt listate în prima coloană, urmate de numărul portului de accesat și numele protocolului utilizat de serviciu.

Sub Windows fișierul se numește Servicii și poate fi găsit în folderul C:\WINNT\system32\drivers\etc\

Inetd

Pentru a salva resursele sistemului UNIX gestionează multe dintre serviciile sale prin intermediul demonului internet (inetd), spre deosebire de un daemon care rulează mereu. Inetd- superserver care ascultă diverse porturiși procesează cererile de conectare, primindu-le prin inițierea unei noi copii a demonului (programului) corespunzător. Exemplar nou programul apoi îl ia de acolo și lucrează cu clientul și inted revine la ascultare pe porturile de server așteaptă să proceseze noi cereri de client. Odată ce cererea este procesată și comunicarea este completă, demonul iese.

Structura generală

După cum am menționat mai devreme, Apache poate fi instalat pe diferite sisteme de operare. Indiferent de platforma utilizată, un site web găzduit are de obicei patru directoare principale: htdocs, conf, busteni, cgi-bin.

htdocs este directorul de documente implicit al serverului web Apache, adică este un director public al cărui conținut este de obicei accesibil clienților care se conectează prin Internet. Conține totul pagini staticeși conținut dinamic care va fi difuzat după primirea unei solicitări HTTP pentru acestea. Deoarece fișierele și subdirectoarele din htdocs sunt accesibile publicului, gestionarea corectă a permisiunilor de fișiere este de mare importanță pentru a nu compromite securitatea și siguranța serverului.

conf - Acesta este directorul în care se află toate fișierele de configurare a serverului. Fișierele de configurare sunt în principiu fișiere text care adaugă directive pentru a controla comportamentul și funcționalitatea serverului web. Fiecare directivă este de obicei plasată pe o linie separată, iar simbolul (#) indică un comentariu, astfel încât linia trecută este ignorată.

busteni este directorul în care sunt stocate jurnalele de server, jurnalele de acces Apache și jurnalele de erori. Serverul Apache HTTP oferă multe mecanisme diferite pentru înregistrarea în jurnal a tot ceea ce se întâmplă pe el, de la solicitarea inițială prin procesul de mapare a URL-ului până la rezolvarea eventuală a conexiunii, inclusiv orice erori care ar fi putut apărea în timpul procesului. În plus, modulele terțe pot oferi capacități de înregistrare sau pot introduce intrări în fișierele existente jurnalele, iar aplicațiile precum scripturile PHP sau alți handlere pot trimite mesaje la jurnalul de erori de server.

cgi-bin - acesta este directorul în care sunt stocate Scripturi CGI. CGI (Common Gateway Interface) definește modul în care un server web interacționează cu programe externe de creare de conținut, adesea numite programe CGI sau scripturi CGI. Acestea sunt programe sau scripturi shell care sunt scrise pentru a fi executate de Apache în numele clienților săi.

Este important de reținut că numele de fișiere și directoare de mai sus (precum și locațiile) pot diferi de la un server la altul, în funcție de versiunea Apache instalată și de sistemul de operare pe care rulează. Rolurile rămân însă aceleași.

Concluzie

Cu mai mult de jumătate din site-urile de pe Internet rulând pe el.

Apache a fost cel mai popular server web de pe Internet din 1996, alimentând mai mult de jumătate din site-urile de pe Internet care rulează pe acesta. A jucat rol cheieîn formarea și crearea World Wide Web, ceea ce este înainte astăzi. Motivele succesului său sunt evidente și, după cum se vede, probabil că va rămâne în frunte, cel puțin o perioadă destul de lungă. Tutorialul nostru de astăzi este menit să fie o sesiune introductivă a acestui software puternic și sper că am ajutat să înțelegem cât de mult Apache un instrument grozavși cum funcționează.

Când doriți să deschideți un site web în browser, introduceți adresa acestuia în bara de adrese. Browserul contactează serverul și, la figurat vorbind, îi spune: „Dă-mi acest site!” Un server Web este programul care primește această solicitare și o execută, trimițându-ți site-ul solicitat.

Din punct de vedere istoric, serverul web Apache a devenit cel mai popular server web de pe Internet. Există multe versiuni diferite acest server, modificat pentru diferite sarcini.

Cum poți gestiona Apache?

Apache este controlat prin adăugarea de directive speciale la fișierul .htaccess. În esență, instrucțiuni care îi spun serverului web ce trebuie să facă într-o anumită situație. Un fișier este un fișier text obișnuit care poate fi fie creat direct pe server folosind, de exemplu, editorul de text vi, fie creat pe computer și încărcat pe server prin protocol FTP.

Cum pot pune o parolă într-un director?

Pentru ca serverul web Apache să ceară o parolă atunci când accesați un director protejat, trebuie să plasați un fișier în acest director cu următoarele directive:

  • AuthName ProtectedZone În loc de ProtectedZone, puteți scrie orice doriți. Acesta este numele zonei protejate; acesta va fi afișat în browser atunci când i se solicită o parolă, oferind în esență un indiciu utilizatorului. Dacă doriți să utilizați litere rusești sau mai multe cuvinte, trebuie să utilizați ghilimele.
  • criptare.
  • Exemplu: AuthType Basic

AuthUserFile /full_path_to_file/.htpasswd Aceasta este calea către fișierul în care vor fi stocate login-urile și parolele. Poate avea aproape orice nume și poate fi localizat în orice director, principalul lucru este că serverul web îl poate citi, ceea ce necesită setarea drepturilor de acces corespunzătoare la acest fișier (pe serverul nostru - 644). Cu toate acestea, în mod tradițional, astfel de fișiere se numesc .htpasswd.

Exemplu: AuthUserFile /home/test/www/site1/public_html/.htpasswd require valid-user Această linie indică faptul că accesul la directorul protejat va fi permis tuturor utilizatorilor ale căror date de conectare și parole se află în fișierul .htpasswd. Dacă trebuie să acordați acces anumitor utilizatori, atunci solicitați user_user_logins_separated by_space. Exemplu: necesită utilizator vasya kolya petya Exemplu: necesită utilizator valid Cum se editează fișierul .htpasswd? Parola file.htpasswd este una obișnuită

fișier text
. Fiecare utilizator este descris în acesta cu o linie de forma login:encrypted_password. Folosit pentru a cripta parolele
program special

htpasswd. Vă rugăm să rețineți că nu puteți pur și simplu să scrieți manual parola în fișier, parola trebuie criptată cu programul htpasswd. Dacă fișierul .htpasswd nu există deja, programul htpasswd trebuie lansat cu comutatorul -c: htpasswd -c /cale_completă_la_fișier/.htpasswd utilizator_login Exemplu: htpasswd -c /home/test/www/site1/public_html/.htpasswd vasyaÎn acest caz, programul htpasswd va crea fișierul .htpasswd, va solicita o parolă pentru utilizator și va crea o înregistrare de utilizator cu autentificarea și parola specificate în acest fișier. Când adăugați următorii utilizatoriși schimbând deja parolele

programul existent

apelat în același mod, dar fără a specifica comutatorul -c. Pentru a șterge un utilizator, trebuie doar să deschideți fișierul .htpasswd în mod normal editor de textși ștergeți linia cu numele de utilizator și parola. Cum se creează un fișier .htpasswd dacă planul tarifar nu oferă acces prin SSH? server), apoi pentru a crea fișierul .htpasswd pe care îl puteți utiliza program special pentru Windows. Pentru a face acest lucru, trebuie să descărcați distribuția, să o despachetați și să rulați programul passwd.exe. După aceea, în fereastra din fila „Parolă unică”, utilizați butonul „Răsfoiți” pentru a seta numele fișierului (de obicei .htpasswd), iar în partea de sus a ferestrei introduceți numele de utilizator, parola și faceți clic pe „Codificare și butonul Salvare”. După aceasta, fișierul rezultat trebuie să fie încărcat prin FTP în directorul dorit de pe serverul nostru.

Acest material a fost scris special pentru persoanele care sunt pe cale să se alăture în rândurile dezvoltatorilor web sau pur și simplu doresc să înțeleagă unele dintre complexitățile procesului. Aici veți afla despre ce este un server Apache, pentru ce ar putea fi necesar, de unde să îl obțineți și cum să îl utilizați corect. Pe viitor vom încerca să descriem cât mai subtil posibil setări Apacheși caracteristicile sale funcționale, astfel încât chiar și profesioniștii pot găsi ceva nou pentru ei înșiși în aceste materiale.

Pentru ca un site să apară pe Internet, acesta trebuie să fie găzduit pe serverul hosterului sau pe al tău, conectat la Internet și să aibă o adresă IP dedicată. Serverul este un computer pe care este instalat un software special, numit și „server web”.

Există un număr mare de servere web în lume. Ele diferă unele de altele prin funcționalitate și scop. Astăzi vom vorbi despre cele mai populare dintre ele, instalate pe majoritatea serverelor furnizorilor de găzduire. Serverul Apache satisface aproape toate nevoile dezvoltare web modernă, dar în același timp este suficient de simplu pentru programatori să-l instaleze pentru a-și depana programele.

În 1994, un angajat Centrul Național aplicații pentru supercalculatoare de la Universitatea din Illinois SUA (NCSA) Rob McCool a postat în uz comun primul server web, care a fost numit astfel - demonul HTTP NCSA. Serverul a câștigat popularitate în cercurile înguste, dar la mijlocul anului 1994 McCool a părăsit universitatea și dezvoltarea sa oprit.

A început un mic grup de webmasteri interesați lucrând împreună peste produs. Comunicând pe o listă de discuții prin e-mail, au dezvoltat „patch-uri” și inovații pentru server. Ei au creat Apache Group, care a dezvoltat prima versiune a serverului Apache. Acest lucru sa întâmplat în aprilie 1995, când toate „patch-urile” existente au fost aplicate la bază (NCSA Server 1.3). Așa a apărut prima versiune publică oficială a Apache 0.6.2.

Prima versiune publică a Apache a apărut în aprilie 1995, iar versiunea 1.0 a fost lansată în decembrie

Lucrul pe server nu s-a oprit pentru o zi și foarte curând a devenit unul dintre cele mai populare. După numeroase teste, pe 1 decembrie 1995 a apărut versiunea 1.0, stabilă și fiabilă. În toți acești ani și până astăzi, Apache rămâne complet liber. Poate că acest lucru a determinat și succesul serverului, deoarece, conform NetCraft, Apache este instalat în prezent pe 67% din toate serverele din lume.

Serverul Apache este acum instalat pe 67% dintre serverele din întreaga lume. În prezent, două ramuri sunt dezvoltate simultan

În prezent, două ramuri ale Apache sunt dezvoltate în paralel - versiunile 2.0 și 1.3. A doua versiune a suferit un număr semnificativ de modificări, care au afectat în primul rând nucleul programului și unele module importante. Din moment ce modulele scrise dezvoltatori terți pentru versiunea 1.3, nu va funcționa în versiunea 2.0, Apache „vechi” este de asemenea acceptat. Cu toate acestea, dacă aveți de gând să instalați Apache pentru prima dată, atunci merită să aruncați o privire mai atentă la noua versiune.

Apache este un server web cu funcții complete, open-source și extensibil

Deci, ce este Apache? Este un server web extensibil, cu funcții complete, care acceptă pe deplin protocolul HTTP/1.1 și este open source. Serverul poate rula pe aproape toate platformele comune. Există gata făcute fișiere executabile servere pentru Windows NT, Windows 9x, OS/2, Netware 5.x și mai multe sisteme UNIX. În același timp, este foarte ușor de instalat și configurat. Veți putea verifica acest lucru puțin mai târziu.

Apache este configurat folosind fișiere de configurare text. Setările de bază sunt deja configurate „în mod implicit” și vor funcționa în majoritatea cazurilor. Dacă vă lipsesc funcționalitatea Apache standard, atunci ar trebui să vă uitați mai atent la modulele redistribuibile scrise de Apache Group și dezvoltatorii terți. Un avantaj important este că creatorii comunică activ cu utilizatorii și răspund la toate mesajele de eroare.

Cel mai mult funcție simplă, ceea ce Apache poate face - să stea pe server și să servească un site web HTML obișnuit. Când se primește o solicitare pentru o anumită pagină, serverul trimite un răspuns către browser. Tastați adresa, se deschide o pagină - totul este simplu.

Folosind serverul Apache puteți efectua o autentificare simplă

O funcție mai complexă, care este încorporată în protocolul HTTP/1.1, este autentificarea utilizatorului. Prin utilizarea fonduri regulate Server Apache la care puteți restricționa accesul anumite pagini site pentru diferiți utilizatori. Acest lucru este necesar, de exemplu, pentru a crea o interfață administrativă pentru site. Pentru aceasta se folosesc fișierele .htaccess și .htpasswd, precum și modulele mod_auth și mod_access. Utilizatorii pot fi împărțiți în grupuri, iar fiecăruia dintre ei li se pot atribui propriile drepturi de acces.

Serverul Apache acceptă tehnologia SSI

Pentru a separa designul și părțile funcționale ale site-ului, precum și pentru a simplifica modificarea obiectelor statice, există tehnologia SSI. Vă permite să puneți toate informațiile care se repetă într-un singur fișier (de exemplu, top.inc), apoi să inserați un link către el în pagini. Apoi, dacă trebuie să modificați mai multe rânduri din aceste informații, va trebui să le modificați doar într-un singur fișier. Serverul Apache acceptă această tehnologie și vă permite să utilizați incluziunile de pe server la potențialul lor maxim.

Puteți crea directoare personalizate pentru site-uri web pe serverul Apache

Dacă pe același server cu instalat sistem de operare Familia Unixși există mai mulți utilizatori pe serverul Apache, puteți crea un director separat pentru fiecare dintre ei. Mai exact, va fi creat automat împreună cu alias-ul. Acest lucru se face folosind modulul mod_userdir și directiva UserDir. Deci, de exemplu, puteți folderul public_html în folderul de acasă utilizator pentru a se potrivi cu adresa www.site.ru/~user. În general, asta se face pe serverele majorității site-urilor care furnizează hosting gratuit. Administratorul serverului poate permite sau refuza anumiți utilizatori creați pagini de pornire, utilizați SSI și alte funcții de server. Gazduirea cu drepturi depline presupune de obicei crearea unui server virtual separat pentru fiecare utilizator.

Puteți configura gazde virtuale. Mulțumesc lor pe unul server fizic poti contine mai multe virtuale

Serverul Apache a fost unul dintre primele servere suportate servere virtuale(gazde). Această caracteristică vă permite să găzduiți mai multe site-uri web cu drepturi depline pe un singur server fizic. Fiecare dintre ele poate avea propriul domeniu, administrator, adresă IP și așa mai departe.

Dacă trebuie să plasați domeniile domain.ru și domain.com pe serverul dvs., atunci mai întâi trebuie să vă asigurați că în sistemul DNS sunt asociate cu adresa dvs. IP. După aceasta în configurație Fișier Apache creați două directive , unde descrii fiecare gazdă virtuală. Astfel, serverul va ști în ce folder să „trimită” solicitarea primită.

Apache acceptă lucrul cu Scripturi PHP, CGI și altele

În zilele noastre, majoritatea paginilor de internet sunt dinamice. Aceasta înseamnă că ei aspect iar conținutul este format folosind un script software scris într-una dintre „limbi” (nu pot fi numite în totalitate limbi, definiția este destul de arbitrară). În prezent, cele mai utilizate tehnologii sunt CGI și PHP. Desigur, Apache are suport pentru ambele, plus capacitatea de a conecta alte limbi.

Modulul mod_cgi vă permite să găzduiți scripturi CGI pe server. În general, acestea sunt doar fișiere executabile scrise într-unul dintre limbajele de programare valide. Ele pot fi conținute fie în formă compilată (de exemplu, asta fac dacă scriu CGI în C++), fie sub formă text sursă(dacă Perl este instalat pe server, atunci programatorul poate plasa astfel de fișiere. Uneori au extensia .pl).

În ceea ce privește PHP, capacitatea de a-l integra în Apache este oferită de dezvoltatorii PHP însuși. Apache acționează doar ca intermediar între script și compilator. Există două moduri de a integra PHP în Apache. Primul este să instalați un modul special care extinde capacitățile serverului, apoi acesta devine capabil să „compileze” scripturi. Și al doilea este instalarea în fișierele de configurare conexiuni între fișierele php și compilatorul în sine (se află pe disc sub formă de fișiere .cgi sau .exe).

Cea mai recentă versiune de Apache are un modul pentru lucrul cu criptare SSL/TSL puternică

Pe baza serverului Apache, puteți crea nu numai site-uri simple de amatori, ci și resurse care necesită serioase protecţie criptografică datele transmise. Protocolul SSL/TLS a fost dezvoltat special pentru acest scop, iar suportul său a fost integrat în Apache 2.0. Folosind un modul special, puteți efectua autentificarea pe baza certificatelor personalizate, ceea ce face posibilă garantarea aproape sigură a autenticității utilizatorului.

Apache păstrează jurnalele detaliate cu tot ce se întâmplă pe server

Și, desigur, serverul Apache poate păstra un jurnal al tuturor acțiunilor efectuate pe el. Mai mult, administratorul poate alege nivelul de detaliu al protocolului. Protocoalele se păstrează separat pentru erori, pt operațiuni de succesși pentru fiecare gazdă virtuală. Într-un cuvânt, set complet pentru o analiză amănunțită a erorilor apărute.

În cadrul unui material, nu am putut nu doar să vorbim în detaliu despre toate capabilitățile serverului Apache, ci și să le enumeram pur și simplu. Acest articol a fost destinat primei cunoștințe superficiale a utilizatorilor și viitorilor dezvoltatori cu serverul Apache. În alte materiale, vom atinge cu siguranță toate complexitățile construcției site-ului web pe baza acestui minunat pachet de software.

Apache (Apache HTTP Server), numele celui mai faimos și răspândit server web care acceptă protocolul HTTP/1.1. În esență, un server web este un program puternic conceput pentru a procesa o solicitare http de la bara de adrese browser și reveniți la această solicitare fisierele necesare. Pentru a simplifica, serverele web vă permit să stabiliți o comunicare între browser și server, după următoarea schemă: browserul cere să-i dea fișierele site-ului la adresa, iar serverul web îi dă acestuia. Acest lucru este foarte simplist. „Comunicarea” are loc prin protocolul HTTP.

Serverele web, inclusiv Apache, au fost dezvoltate special pentru aceste scopuri și nici un singur server sau software de găzduire nu va putea funcționa fără un server web care rulează folosind protocolul HTTP.

Mai recent, Apache a avut un monopol virtual pentru rezolvarea problemelor sale. Acum, serverul web Nignix este fără timp. Simbioza Apache și Nignix este din ce în ce mai folosită.

Nu vă puteți lipsi de un server web și de a construi un server local. Astăzi, situația este că Apache este folosit și în plus, domină în toate adunările servere locale, atât pentru Windows, cât și pentru Linux.

Management Apache

Pentru a vă familiariza cu serverul web Apache, merită să vă familiarizați cu modul în care serviciul Apache este gestionat din partea clientului.

Este probabil că simplitatea control extern Serviciul web Apache și l-a făcut atât de popular (sau acesta este unul dintre motive). Pentru a gestiona serviciul web Apache există dosar special, sub numele .htaccess (cu un punct la început). În ceea ce privește funcționalitatea, este similar cu fișierul robots.txt pentru roboți de căutare. Cu directive speciale scrise în acest fișier, tu, în calitate de utilizator, poți controla livrarea paginilor pe site-ul tău, poți crea redirecționări etc., fără să te aprofundezi în software-ul serverului. Pe lângă fișierul .htaccess, există fișierul htpasswd(tot cu un punct la început) și, de asemenea, modulele mod_auth și mod_access.

Dar să revenim la serverele locale. Pentru a instala (a crea) un server local pe computerul tău, nu te poți descurca fără Apache. Permiteți-mi să vă reamintesc încă o dată că în acronime și LAMP, litera [A] este serverul web, Apache.

În toate ansamblurile de servere locale, precum Denver, Open-server, XAMPP etc., serverul web Apache este prezent a priori. Dacă asamblam singuri serverul, ceea ce facem, Apache trebuie să fie instalat independent.

Ce versiune de Apache ar trebui să instalez?

Apache s-a dezvoltat în două ramuri (versiuni): Apache 1.3 și Apache 2.x. Nu este nevoie să instalați vechea versiune 1.3, așa că lucrăm cu versiunea 2.x.

Acum, partea cea mai confuză. Știți că aproape orice program poate fi instalat în două moduri:

  • Folosind autoinstaller (instalare), fișier ;
  • Direct, prin încărcarea directoarelor și fișierelor de program în directorul dorit de pe disc.

Cu Apache situația este următoarea:

  • Cea mai recentă versiune de Apache 2.4.26 (lansată 2017-06-19) este disponibilă numai în opțiune instalare manuală(link de mai jos);
  • În versiunea de instalare ultima versiune Apache 2.2.25.

Asta e tot! Prima cunoștință cu Apache a avut loc. În următoarele articole, vă voi arăta cum să instalați ambele versiuni de Apache pe computerul local.

În sfârșit, linkurile necesare

Navigare pe site Apache web Serverul (http) este oarecum confuz, așa că voi oferi link-urile necesare:

  • Site-ul serverului web Apache (http://httpd.apache.org/).
  • Descărcați serverul web Apache ( http://httpd.apache.org/download.cgi)
  • Descărcați Versiune stabilă- cea mai recentă versiune: 2.4.26 (lansat 2017-06-19) (pentru Windows).
  • Descărcați o problemă învechită - seria 2.2. 2.2.32 (lansat 2017-01-13)
  • Versiuni binare: https://archive.apache.org/dist/httpd/binaries/win32/ (2013-07-10)