Kako radi apache poslužitelj. Apache web poslužitelj - što je http Apache, čemu služi, gdje preuzeti

Danas ćemo pokrenuti web poslužitelj Apache 2.2.2 i pogledati njegove osnovne postavke.
Prvo provjerimo kako je prošla naša instalacija: Otvorite svoj preglednik i unesite http://localhost - Vidjet ćete stranicu dobrodošlice: Radi! Dakle, naša instalacija je dobro prošla.

Zatim kliknite na ikonu olovke na programskoj traci desni klik mišem i odaberite "Otvori usluge". U prozoru za upravljanje uslugom koji se otvori odaberite liniju "Apache2.2" i dvaput kliknite na nju, nakon čega u kartici "Općenito" odaberite ručno pokretanje usluge - "Vrsta pokretanja: Ručno" ("Pokretanje" vrsta: ručno") . To se mora učiniti tako da nepotrebne usluge ne opterećuju sustav. S obzirom na to kućno računalo koristi se ne samo za web razvoj, već i za mnoge druge potrebe, ručno pokretanje i zaustavljanje povremeno korištenih usluga je najprihvatljivije.

U korijenu pogona C: trebate stvoriti direktorij "apache" - on će sadržavati vaše virtualne hostove (domene), datoteku globalnog dnevnika grešaka "error.log" (stvara program pri prvom pokretanju, automatski), globalna pristupna datoteka "access.log" (automatski kreirana). U direktoriju "apache" stvaramo još jednu praznu mapu - "localhost", u kojoj zauzvrat stvaramo mapu "www", u potonjoj će nam trebati projekt naše stranice u obliku lokalne skripte. Takvu naizgled čudnu strukturu direktorija diktira slična shema konstrukcije direktorija u Unix sustavima, a osmišljena je kako bi bila lakša za razumijevanje i korištenje u budućnosti.

Uređivanje datoteke httpd.conf
1. Za učitavanje modula mod_rewrite pronađite i uklonite komentare (uklonite simbol "#" na početku retka) ovaj redak:

LoadModule rewrite_module modules/mod_rewrite.so


2. Za PHP preuzimanja tumač, dodajte sljedeći redak na kraj bloka za učitavanje modula:

#LoadModule php5_module "C:/php/php5apache2_2.dll"


3. Definirajte direktorij koji sadrži konfiguraciju PHP datoteka dodavanjem sljedećeg retka u nastavku:

#PHPIniDir "C:/php"


odkomentirajte nakon instalacije php-a

4. Pronađite liniju:

DocumentRoot "C:/server/htdocs"

Imenovati korijenski direktorij upravljanje web mjestom (malo ranije ste ga već kreirali):

DocumentRoot "c:/apache"

5. Pronađite ovaj blok:


Opcije FollowSymLinks
AllowOverride Ništa
Narudžba odbiti, dopustiti
Odbiti od svih


I zamijenite ga sljedećim:


Opcije Uključuje indekse FollowSymLinks
DopustiNadjačaj sve
Dopusti od svih

6. Uklonite ili komentirajte izvorni kontrolni blok imenika (neće nam trebati), koji bez komentara izgleda otprilike ovako:


#
# Moguće vrijednosti za direktivu Opcije su "Ništa", "Sve",
# ili bilo koja kombinacija:
# Indeksa uključuje FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Imajte na umu da "MultiViews" mora biti imenovan *eksplicitno* --- "Options All"
# ne da ti ga.
#
# Direktiva opcija je i komplicirana i važna. Molimo pogledajte
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# za više informacija.
#
Opcije Indeksi FollowSymLinks

#
# AllowOverride kontrolira koje se direktive mogu staviti u .htaccess datoteke.
# Može biti "Sve", "Ništa" ili bilo koja kombinacija ključnih riječi:
# Opcije FileInfo AuthConfig Limit
#
AllowOverride Ništa

#
# Kontrolira tko može dobiti stvari s ovog poslužitelja.
#
nalog dopustiti, odbiti
Dopusti od svih

7. Pronađite blok:


DirectoryIndex index.html

Zamijenite ga sa:


DirectoryIndex index.html index.htm index.shtml index.php

8. Pronađite liniju:

ErrorLog "logs/error.log"


Zamijenite sljedećim (u ovom slučaju pregled datoteke pogreške globalnog poslužitelja bit će praktičniji):

ErrorLog "C:/apache/error.log"

9. Pronađite liniju:

CustomLog "logs/access.log" uobičajeno


Promijeniti:

CustomLog "C:/apache/access.log" uobičajeno

10. Za SSI rad (omogućavanje na strani poslužitelja) sljedeće retke, koji se nalazi u bloku, mora se pronaći i odkomentirati:

AddType text/html .shtml
AddOutputFilter UKLJUČUJE.shtml

11. Dodajte ispod, u isti blok, dva retka:

AddType aplikacija/x-httpd-php .php
AddType aplikacija/x-httpd-php-source .phps

12. I na kraju, pronađite i odkomentirajte retke:

Uključi conf/extra/httpd-mpm.conf
Uključi conf/extra/httpd-autoindex.conf
Uključi conf/extra/httpd-vhosts.conf
Uključi conf/extra/httpd-manual.conf
Uključi conf/extra/httpd-default.conf

Spremite promjene i zatvorite datoteku "httpd.conf".

Sada otvorite datoteku "C:\server\conf\extra\httpd-vhosts.conf" i napravite sljedeće promjene u njoj.

Postojeći blokovi primjera virtualnog hosta moraju se ukloniti i umetnuti samo sljedeće:

ImeVirtualHost *:80


DocumentRoot "C:/apache/localhost/www"
naziv poslužitelja lokalni host
ErrorLog "C:/apache/localhost/error.log"
CustomLog "C:/apache/localhost/access.log" uobičajeno

Spremite promjene i zatvorite datoteku "httpd-vhosts.conf".

Idemo dalje - postavljamo ručno pokretanje usluge Apache2.2, za koju prolazimo putem: "Start" ("Start") → " upravljačka ploča"(Upravljačka ploča) → "Administrativni alati" ("Administracija") → "Usluge" ("Services"), u prozoru za upravljanje uslugama koji se otvori odaberite liniju "Apache2.2" i dvaput kliknite na nju, nakon čega u kartici "Općenito" ("Općenito"), odaberite ručno pokretanje usluge - "Vrsta pokretanja: Ručno" ("Vrsta pokretanja: ručno"). To se mora učiniti tako da nepotrebne usluge ne učitavaju sustav. S obzirom na da se kućno računalo ne koristi samo za web razvoj, već i za mnoge druge potrebe, ručno pokretanje i zaustavljanje servisa koji se povremeno koriste je najprihvatljivije.

Primjer kreiranja virtualnog hosta

Ako trebate postaviti vlastite virtualne hostove, učinite sljedeće:

Otvorite datoteku "httpd-vhosts.conf" i u njoj napravite blok koji izgleda otprilike ovako:

# Mapa u kojoj će biti korijen vašeg hosta.
DocumentRoot "C:/apache/dom.ru/www"
# Domena putem koje možete pristupiti virtualnom hostu.
Naziv poslužitelja dom.ru
# Alias ​​​​(dodatno ime) domene.
Alias ​​servera www.dom.ru
# Datoteka u koju će se upisivati ​​pogreške.
ErrorLog "C:/apache/dom.ru/error.log"
# Dnevnik pristupa hostu.
CustomLog "C:/apache/dom.ru/access.log" uobičajeno

Zatim u imeniku "apache" stvorite mapu "dom.ru", u kojoj zauzvrat stvorite mapu "www".
Sljedeći korak u stvaranju virtualnog hosta je izmjena datoteke C:\WINDOWS\system32\drivers\etc\hosts operativnog sustava. Otvoren dana datoteka i dodajte mu dva retka:
127.0.0.1 dom.ru
127.0.0.1 www.dom.ru
Sada ponovno pokrenite Apache poslužitelj, otvorite preglednik, upišite adresna traka"dom.ru" ili "www.dom.ru" i naći ćete se u svom virtualnom domaćinu. Samo budite oprezni, sada možete doći do izvorne stranice s nazivom virtualnog hosta ("www.dom.ru", ako postoji), samo komentiranjem ili brisanjem retka: "127.0.0.1 www.dom. ru", u gornjoj datoteci "hosts".
Apache dokumentacija pokrenuti poslužitelj, dostupno na http://localhost/manual/
Instalacija i konfiguracija Apache web poslužitelja je završena.

U ovom odjeljku bavit ćemo se kako radi apache http server. Počet ćemo, naravno, instaliranjem Apachea na Windows. Treba napomenuti da većina hostova koristi Apache kao web poslužitelj, tako da svaki webmaster mora znati osnove rada s ovim poslužiteljem.

U ovom postu ćemo shvatiti zašto je web poslužitelj uopće potreban, zatim ćemo govoriti o nekim mogućnostima Apache poslužitelja i instalirati ga na računalo s Windowsima, a na kraju ćemo se osvrnuti na greške koje se mogu pojaviti kada instaliranje Apachea na Windows 7 i novijim.

Što je Apache web poslužitelj i čemu služi?

Znamo da se interakcija na internetu može u potpunosti opisati referentnim modelom. Za web programera od najvećeg interesa su protokoli i tehnologije koji se nalaze na šestoj i sedmoj razini referentnog modela. Od svih protokola sedme razine najviše nas zanima koji se temelji na arhitekturi klijent-poslužitelj.

Učinili smo to na sljedeći način: u korijenu pogona C kreirali smo mapu Server unutar koje smo kreirali još četiri mape: apache, tmp, www, log, php. U ovom priručniku neće se koristiti sve mape. Sve je to prikazano na slici ispod.

U mapi www stvorili smo jednostavnu mapu pod nazivom Index.html sa sljedećim sadržajem:

Stranica za naplatu

Apache u akciji



< ! DOCTYPE html >

< html lang = "ru-RU" >

< head >

< meta charset = "UTF-8" >

< title >Stranica za naplatu< / title >

< link rel = "stylesheet" type = "text/css" href = "style.css" / >

< / head >

< body >

< h1 >Apache u akciji< / h1 >

< / body >

< / html >

U ovom dokumentu postoji samo jedan i ako ga možemo otvoriti nakon završetka instalacije Apache web poslužitelja, onda smo sve napravili kako treba. Za daljnja ugradnja trebamo web poslužitelj.

Apache je najpopularniji besplatni web poslužitelj. Od 2016. koristi ga 33% svih internetskih stranica, što je otprilike 304 milijarde stranica. Ovaj web poslužitelj razvijen je još 1995. godine kao zamjena za popularni NCSA poslužitelj i riješio je mnoge njegove probleme. Priča se da njegovo ime dolazi od nepravilnog jer je ispravio pogreške NCSA-e. Sada je to višeplatformski program koji podržava Windows, Linux i MacOS i pruža dovoljnu fleksibilnost, prilagodbu i funkcionalnost. Program ima modularnu strukturu, što vam omogućuje da proširite njegovu funkcionalnost gotovo neograničeno uz pomoć modula.

Instaliranje Apachea na Linux može se izvršiti s nekoliko naredbi, ali program pruža vrlo veliki broj postavke koje je moguće mijenjati, kao i module nakon čijeg uključivanja će bolje raditi. Ovaj članak će pokriti instalaciju i konfiguraciju Apachea, mi ćemo koristiti Ubuntu kao glavni sustav, ali možete ponoviti ove korake u bilo kojoj drugoj distribuciji. Razmotrit će se ne samo instalacija samog programa, već i načini njegove konfiguracije, konfiguracija apache virtualnih hostova, kao i najkorisnijih modula.

Na ovaj trenutak, najviše nova verzija programa 2.4, stoga će se razmotriti konfiguracija apachea 2.4. Kao što sam rekao, u Linuxu se program instalira u samo nekoliko naredbi. Za instalaciju na Ubuntu, prvo ažurirajte sustav na najnoviju verziju:

ažuriranje sudo apt
$ sudo apt nadogradnja

Zatim instalirajte apache2:

sudo apt instalirajte apache2

U drugim distribucijama programski paket se zove ili tako ili httpd i nećete imati poteškoća s instaliranjem.

Nakon što je instalacija završena, trebate dodati web poslužitelj u startup kako ga ne biste ručno pokretali nakon uključivanja računala:

sudo systemctl omogući apache2

Postavljanje Apachea

Prošlo je vrijeme kada Apache konfiguracija pohranjeni u jednoj datoteci. Ali ispravno je kada je sve distribuirano u svojim direktorijima, lakše je kretati se u konfiguracijskim datotekama.

Sve postavke nalaze se u mapi /etc/apache/:

  • Datoteka /etc/apache2/apache2.conf odgovoran za osnovne postavke
  • /etc/apache2/conf-dostupan/* - dodatne postavke web poslužitelj
  • /etc/apache2/mods-available/*- postavke modula
  • /etc/apache2/sites-available/*- postavke virtualnog hosta
  • /etc/apache2/ports.conf- portovi na kojima je pokrenut apache
  • /etc/apache2/envvars

Kao što vidite postoje dvije mape za conf, mods i site. Oni su dostupni i omogućeni. Kada je modul ili host omogućen, on stvara simbolička veza iz dostupne mape u omogućenu mapu. Stoga je bolje napraviti postavke u dostupnim mapama. Općenito govoreći, bilo bi moguće bez ovih mapa, uzeti sve i baciti u jednu datoteku na starinski način, i sve bi radilo, ali sada to nitko ne radi.

Prvo pogledajmo glavna datoteka konfiguracije:

vi /eta/apache2/apache2.conf

pauza- označava koliko dugo će poslužitelj pokušavati nastaviti prekinuti prijenos ili prijem podataka. Bit će dovoljno 160 sekundi.

Keep Alive On- Vrlo koristan parametar, omogućuje prijenos nekoliko datoteka, za jednu vezu, na primjer, ne samo samu html stranicu, već i slike i css datoteke.

MaxKeepAliveRequests 100 - maksimalan iznos zahtjeva po vezi, što više to bolje.

KeepAliveTimeout 5- istek vremena veze, obično je 5-10 sekundi dovoljno za učitavanje stranice, tako da ne morate postavljati više, ali ne morate ni prekinuti vezu prije nego što se učitaju svi podaci.

korisnik, grupa- korisnik i grupa u čije ime će se program izvoditi.

HostnameLookups- pisati u zapisnike umjesto na ip adrese imena domena, bolje je onemogućiti kako biste ubrzali rad.

LogLevel- razina evidentiranja grešaka. Prema zadanim postavkama koristi se upozorenje, ali da bi se zapisnici sporije punili, samo uključite grešku

Uključiti- all include direktive su odgovorne za uključivanje konfiguracijskih datoteka o kojima se raspravljalo gore.

Direktive imenika odgovorne su za postavljanje prava pristupa određenom direktoriju u sustav datoteka. Sintaksa je ovdje:


Vrijednost parametra

Ovdje su glavne dostupne opcije:

dopustiti nadjačavanje- određuje treba li čitati .htaccess datoteke iz ovog direktorija, to su iste datoteke postavki i ista sintaksa. Sve - dopustite sve, Ništa - ne čitajte ove datoteke.

DocumentRoot- postavlja iz koje mape trebate uzeti dokumente za prikaz korisniku

Mogućnosti- Određuje koje bi značajke web poslužitelja trebale biti dopuštene u ovoj mapi. Na primjer, Sve - dopusti sve, FollowSymLinks - slijedi simboličke veze, Indeksi - prikaži sadržaj direktorija ako nema datoteke indeksa.

Zahtijevati- postavlja koji korisnici imaju pristup ovom direktoriju. Zahtijevaj sve odbijeno - zabrani svima, Zahtijevaj sve odobreno - dopusti svima. možete koristiti direktivu user ili group umjesto all za izričito navođenje korisnika.

narudžba- omogućuje kontrolu pristupa imeniku. Ima dvije vrijednosti: Allow,Deny - dopušta svima osim za one koji su navedeni, ili Deny,Allow - zabranjuje za sve osim za one koji su navedeni..ru.

Ovdje se sve te direktive ne koriste, jer smo zadovoljni zadanim vrijednostima, ali u .htaccess datotekama mogu biti vrlo korisne.

Ostaje nam datoteka /etc/apache2/ports.conf:

Ima samo jednu direktivu, Listen, koja govori programu na kojem portu treba raditi.

Posljednja datoteka je /etc/apache2/envvars, koju vjerojatno nećete koristiti, ona sadrži varijable koje se mogu koristiti u drugim konfiguracijskim datotekama.

Postavljanje Apache poslužitelja putem htaccess-a

Datoteke .htaccess omogućuju vam da konfigurirate web poslužitelj na Ubuntuu da se ponaša u određenom direktoriju. Sve upute navedene u ovoj datoteci izvode se kao da su umotane u oznaku ako su bili u glavnoj datoteci.

Važno je napomenuti da kako bi poslužitelj čitao upute iz .htaccess, postavke za ovu mapu u glavnoj datoteci ili datoteci virtualnog hosta ne smiju sadržavati AllowOverride Ništa kako bi sve postavke mogle funkcionirati, trebate DopustiNadjačaj sve.

Inače, ovdje se može izvršiti bilo koja konfiguracija apache poslužitelja, od omogućavanja modula do jednostavne promjene pristupa mapi. Budući da smo već razmotrili sve parametre, navest ćemo samo nekoliko primjera:

Narudžba Odbij, Dopusti
Odbiti od svih

Svima uskraćuje pristup ovoj mapi, važno je prijaviti se za konfiguracijske mape. Najčešće se .htaccess koristi za rad s modulom mod_rewrite, koji vam omogućuje promjenu zahtjeva u hodu:

Ponovno napišite motor uključen
RewriteRule ^product/([^/\.]+)/?$ product.php?id=$1 [L]

Ali ovo je vrlo široka tema i izvan okvira ovog članka.

Konfiguriranje Apache modula

Kao što sam rekao, Apache je modularan program, njegova funkcionalnost se može proširiti pomoću modula. Svi dostupni učitavači modula i konfiguracijske datoteke modula nalaze se u mapi /etc/apache/mods-available. I one omogućene u /etc/apache/mods-enable.

Ali ne morate analizirati sadržaj tih mapa. Postavljanje Apache 2.4 dodavanjem modula vrši se posebnim naredbama. Pogledaj sve pokrenuti moduli može se izvršiti naredbom:

Modul možete uključiti naredbom:

sudo a2enmod ime_modula

I onemogući:

sudo a2dismod ime_modula

Nakon što omogućite ili onemogućite module, trebate ponovno pokrenuti apache:

sudo systemctl ponovno pokrenite apache2

Tijekom izvođenja jedne od ovih naredbi, stvara se ili uklanja simbolička veza na datoteku modula s učitavanjem ekstenzije u direktoriju dostupnih modova. Možete vidjeti sadržaj ove datoteke, postoji samo jedan red. Na primjer:

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

To znači da se modul može aktivirati jednostavnim dodavanjem ove linije u datoteku apache2.conf. Ali uobičajeno je učiniti upravo to kako bi se izbjegla zabuna.

Postavke modula nalaze se u istoj mapi, samo u datoteci s nastavkom .conf umjesto učitavanja. Na primjer, pogledajmo postavke istog modula za deflate kompresiju:

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

Datoteke u conf-dostupnoj mapi, to su isti moduli, samo su instalirani odvojeno od apachea, to mogu biti konfiguracijske datoteke koje treba uključiti php modul ili bilo koji drugi programski jezik. Ovdje sve radi potpuno isto, samo su naredbe za uključivanje i onemogućavanje ovih modula malo drugačije:

a2enconf ime_modula

naziv modula a2disconf

Kao što ste vidjeli, omogućavanje modula je vrlo jednostavno. Omogućimo nekoliko obaveznih modula koji nisu omogućeni prema zadanim postavkama:

sudo a2enmod ističe
$ sudo a2enmod zaglavlja
$ sudo a2enmod prepisati
$ sudo a2enmod ssl

Moduli isteka i zaglavlja smanjuju opterećenje poslužitelja. Vraćaju zaglavlje Not Modified ako se dokument od tada nije promijenio posljednji zahtjev. Modul isteka vam omogućuje da postavite vrijeme za koje preglednik treba spremiti primljeni dokument u predmemoriju. Rewrite vam omogućuje promjenu traženih adresa u hodu, vrlo korisno pri stvaranju CNC veza itd. I posljednja je za omogućavanje podrške za SSL enkripciju. Ne zaboravite ponovno pokrenuti apache2 nakon završetka postavki.

Postavljanje Apache virtualnih hostova

Ne bi bilo baš zgodno ako na jednom fizički stroj Možete ugostiti samo jednu stranicu. Apache može podržati stotine stranica na jednom računalu i poslužiti točan sadržaj za svaku od njih. Za to se koriste virtualni hostovi. Poslužitelj određuje na koju domenu dolazi zahtjev i daje potreban sadržaj iz mape te domene.

postavke Apache hostovi koji se nalazi u mapi /etc/apache2/hosts-available/. Za kreiranje novog hosta dovoljno je kreirati datoteku s bilo kojim nazivom (bolje završiti s nazivom hosta) i ispuniti je potrebnim podacima. Zamotajte sve te parametre u direktivu virtualni host. Uz parametre o kojima se ovdje govori, koristit će se sljedeći:

  • ServerName- naziv primarne domene
  • Alias ​​poslužitelja- dodatno ime pod kojim će stranica biti dostupna
  • ServerAdmin- email administratora
  • DocumentRoot- folder s dokumentima za ovu domenu

Na primjer:

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

Ovaj je materijal napisan posebno za ljude koji se tek spremaju pridružiti vitkim redovima web programera ili samo žele razumjeti neke od zamršenosti procesa. Ovdje ćete saznati što je Apache poslužitelj, za što se može koristiti, gdje ga nabaviti i kako ga ispravno koristiti. U nastavku ćemo pokušati što finije opisati Apache postavke i njegov funkcionalne značajke tako da i profesionalci u tim materijalima mogu pronaći nešto novo za sebe.

Kako bi se stranica pojavila na Internetu, mora biti smještena na poslužitelju za hosting ili vašem vlastitom, povezana s webom i imati namjensku IP adresu. Poslužitelj je računalo na kojem se poseban softver, koji se još naziva i "web poslužitelj".

U svijetu postoji ogroman broj web poslužitelja. Međusobno se razlikuju po funkcionalnosti i namjeni. Danas ćemo govoriti o najpopularnijim od njih, instaliranim na većini poslužitelja pružatelja usluga hostinga. Apache poslužitelj zadovoljava gotovo sve potrebe moderan web razvoj, ali je u isto vrijeme dovoljno jednostavan da ga programeri instaliraju kako bi ispravili pogreške u svojim programima.

Godine 1994., zaposlenik Nacionalnog centra za superračunalne aplikacije na Sveučilištu Illinois (NCSA) Rob McCool objavio je prvi web poslužitelj koji je nazvan NCSA HTTP daemon. Poslužitelj je stekao popularnost u uskim krugovima, ali sredinom 1994. McCool je napustio sveučilište i razvoj je prestao.

Počela je mala skupina zainteresiranih webmastera zajednički rad preko proizvoda. Čavrljanje na popisu za raspravu e-pošta, razvili su "krpe" i inovacije za server. Upravo su oni stvorili Apache Group, koja je razvila prvu verziju Apache poslužitelja. Dogodilo se to u travnju 1995., kada su sve postojeće "zakrpe" primijenjene na bazu (NCSA Server 1.3). Tako se pojavilo prvo službeno javno izdanje Apache 0.6.2.

Prva javna verzija Apachea pojavila se u travnju 1995., a izdanje 1.0 objavljeno je u prosincu.

Rad na poslužitelju nije prestao niti jedan dan, a vrlo brzo je postao jedan od najpopularnijih. Nakon brojnih testiranja, 1. prosinca 1995. pojavila se verzija 1.0, stabilna i pouzdana. Kroz sve ove godine pa do danas Apache je ostao potpuno slobodan. Možda je i to odredilo uspjeh poslužitelja jer je, prema NetCraftu, Apache trenutno instaliran na 67% svih poslužitelja u svijetu.

Apache poslužitelj sada je instaliran na 67% poslužitelja u svijetu. Trenutno su u razvoju dvije grane.

Trenutno se paralelno razvijaju dvije grane Apachea - verzije 2.0 i 1.3. Druga verzija je doživjela značajan broj promjena, koje su prvenstveno utjecale na jezgru programa i neke važne module. Budući da moduli koje su napisale treće strane za verziju 1.3 neće raditi u verziji 2.0, "stari" Apache je također podržan. Međutim, ako ćete prvi put instalirati Apache, trebali biste bolje pogledati novu verziju.

Apache je sveobuhvatan, proširiv web poslužitelj otvorenog koda.

Dakle, što je Apache? To je sveobuhvatan, proširiv web poslužitelj koji u potpunosti podržava HTTP/1.1 protokol i otvorenog je koda. Poslužitelj može raditi na gotovo svim uobičajenim platformama. Dostupne su izvršne datoteke poslužitelja za Windows NT, Windows 9x, OS/2, Netware 5.x i nekoliko UNIX sustava. Također je vrlo lako instalirati i konfigurirati. To možete provjeriti malo kasnije.

Apache je konfiguriran pomoću tekstualnih konfiguracijskih datoteka. Glavni parametri već su konfigurirani "prema zadanim postavkama" i radit će u većini slučajeva. Ako vam nedostaje funkcionalnost običnog "Apachea", trebali biste bolje pogledati module koji se mogu redistribuirati od strane Apache grupe i programera trećih strana. Važna prednost je što kreatori aktivno komuniciraju s korisnicima i odgovaraju na sve poruke o greškama.

Najviše jednostavna funkcija, što Apache može učiniti - stajati na poslužitelju i posluživati ​​normalnu HTML stranicu. Kada se primi zahtjev za određenu stranicu, poslužitelj šalje odgovor pregledniku na toj stranici. Ukucate adresu, otvori se stranica - sve je jednostavno.

Pomoću Apache poslužitelja možete izvršiti jednostavnu provjeru autentičnosti

Funkcija je kompliciranija, koja je ugrađena u HTTP / 1.1 protokol - provjera autentičnosti korisnika. Pomoću standardnih alata Apache poslužitelja možete ograničiti pristup određene stranice mjesto za različite korisnike. To je potrebno, na primjer, kako bi se izradilo administrativno sučelje za stranicu. Za to se koriste datoteke .htaccess i .htpasswd, kao i moduli mod_auth i mod_access. Korisnici se mogu podijeliti u grupe, a svakom od njih se mogu dodijeliti vlastita prava pristupa.

Apache poslužitelj podržava SSI tehnologiju

Za odvajanje dizajnerskog i funkcionalnog dijela stranice, kao i za pojednostavljenje izmjene statičnih objekata, tu je SSI tehnologija. Omogućuje vam da stavite sve informacije koje se ponavljaju u jednu datoteku (npr. top.inc) i zatim ih povežete na svoje stranice. Zatim, ako trebate promijeniti više redaka ovih informacija, trebate ih promijeniti samo u jednoj datoteci. Poslužitelj Apache podržava ovu tehnologiju i omogućuje vam korištenje uključenja na strani poslužitelja u punoj mjeri.

Na Apache poslužitelju možete kreirati prilagođene direktorije za web stranice

Ako je na istom poslužitelju s instaliranim operacijski sustav Unix obitelji a Apache poslužitelj ima nekoliko korisnika, tada svaki od njih može stvoriti zaseban direktorij. Točnije, automatski će se kreirati zajedno s aliasom. To se radi pomoću modula mod_userdir i direktive UserDir. Tako, na primjer, možete mapirati public_html u početna mapa korisnik da odgovara adresi www.site.ru/~user. Općenito, to se radi na poslužiteljima većine web stranica koje pružaju besplatan hosting. Administrator poslužitelja može omogućiti ili onemogućiti određenim korisnicima kreirajte početne stranice, koristite SSI i druge funkcije poslužitelja. Punopravni hosting obično predviđa stvaranje zasebnog virtualnog poslužitelja za svakog korisnika.

Možete postaviti virtualne hostove. Zahvaljujući njima, jedan fizički poslužitelj može sadržavati nekoliko virtualnih

Poslužitelj Apache bio je jedan od prvih poslužitelja koji je podržavao virtualni poslužitelji(domaćini). Ova značajka omogućuje vam da ugostite nekoliko cjelovitih stranica na jednom fizičkom poslužitelju. Svaki od njih može imati vlastitu domenu, administratora, IP adresu i tako dalje.

Ako na svom poslužitelju trebate ugostiti domene domain.ru i domain.com, prvo se morate uvjeriti da u DNS sustav mapirani su na vašu IP adresu. Nakon toga u konfiguraciji Apache datoteka stvoriti dvije direktive , gdje opisujete svaki virtualni host. Tako će poslužitelj znati u koju mapu "poslati" dolazni zahtjev.

Apache podržava PHP, CGI i druge skripte

U ovom trenutku većina internetskih stranica je dinamična. To znači da njihov izgled a sadržaj se formira pomoću programske skripte napisane na jednom od "jezika" (ne mogu se u potpunosti nazvati jezicima, definicija je prilično proizvoljna). Trenutno su najraširenije tehnologije CGI i PHP. Naravno, Apache ima podršku za oba, plus mogućnost uključivanja drugih jezika.

Modul mod_cgi omogućuje vam smještaj CGI skripti na poslužitelju. Općenito, to su samo izvršne datoteke napisane u jednom od prihvatljivih programskih jezika. Mogu biti sadržani iu kompajliranom obliku (na primjer, to rade ako pišu CGI u C ++), iu obliku izvorni kod(Ako je Perl instaliran na poslužitelju, programer također može postaviti takve datoteke. Ponekad imaju ekstenziju .pl).

Što se tiče PHP-a, mogućnost njegove integracije u Apache daju programeri samog PHP-a. Apache, s druge strane, djeluje samo kao posrednik između skripte i kompajlera. Postoje dva načina za integraciju PHP-a u Apache. Prvi je instalacija posebnog modula koji proširuje mogućnosti poslužitelja, a zatim on sam postaje sposoban "kompilirati" skripte. A drugi je postavljanje veza između php-datoteka i samog prevoditelja u konfiguracijskim datotekama (nalazi se na disku u obliku .cgi ili .exe datoteka).

Najnovija verzija Apachea ima modul za rad s jakom SSL/TSL enkripcijom

Na temelju Apache poslužitelja možete stvoriti ne samo jednostavne amaterske stranice, već i resurse koji zahtijevaju ozbiljne kriptografska zaštita preneseni podaci. SSL/TLS protokol razvijen je posebno za tu svrhu, a njegova podrška ugrađena je u Apache 2.0. Pomoću posebnog modula možete izvršiti autentifikaciju na temelju imenovanih certifikata, čime je moguće gotovo sigurno jamčiti autentičnost korisnika.

Apache vodi detaljni protokoli sve što se događa na poslužitelju

I, naravno, Apache poslužitelj može voditi evidenciju svih radnji koje se s njim izvode. Štoviše, administrator može odabrati razinu detalja protokola. Dnevnici se vode zasebno za pogreške, za uspješne operacije i za svaki virtualni host. U jednoj riječi, cijeli set za temeljitu analizu novonastalih pogrešaka.

U okviru jednog materijala nismo uspjeli ne samo detaljno reći o svim značajkama Apache poslužitelja, već ih jednostavno navesti. Ovaj je članak trebao biti prvo površno upoznavanje korisnika i budućih programera s Apache poslužiteljem. U ostalim materijalima svakako ćemo se dotaknuti svih zamršenosti izgradnje web stranica na temelju ovog prekrasnog softverskog paketa.

Apache HTTP poslužitelj je višeplatformski web poslužitelj otvorenog koda. Od travnja 1996. bio je najpopularniji HTTP poslužitelj na Internetu; u kolovozu 2007. radio je na 51% svih web poslužitelja. Glavne prednosti Apachea su pouzdanost i fleksibilnost konfiguracije. Službena stranica: httpd.apache.org.

Server je napisan početkom 1995. godine i vjeruje se da njegovo ime potječe od komičnog naziva "a patchy" (engleski "patch"), jer je ispravljao greške tada popularnog servera svjetska mreža NCSA HTTPd 1.3. Kasnije, od verzije 2.x, poslužitelj je prepisan i sada ne sadrži NCSA kod, ali ime ostaje. Trenutno se razvoj odvija u grani 2.2, au verzijama 1.3 i 2.0 rade se samo sigurnosni popravci.

Web poslužitelj Apache razvija i održava otvorena zajednica programera pod okriljem Apache Software Foundationa i uključen je u mnoge softverske proizvode.

Zašto biste možda trebali instalirati web poslužitelj na svoje računalo? Ovdje su dvije mogućnosti: a) ako imate pristup Internetu, prije nego što učitate stranice svoje stranice na pravi poslužitelj, možete ih izraditi i otkloniti pogreške na svom lokalnom računalu. b) ako nemate pristup internetu, ali imate lokalnu mrežu u učionici, možete instalirati poslužitelj i koristiti ga u obrazovne svrhe.

1. Odvojiti web projekte od svih ostalih, sav softver, html stranice, skripte itd. u ovom primjeru ćemo instalirati u poseban direktorij C:\Moji poslužitelji. U ovom imeniku stvorite imenik usr Za potrebne programe I Dom za pohranu mjesta. Možete odabrati različito ime i položaj za direktorije.

2. Instalirat ćemo najnoviju verziju Apachea 2.2.8. Prvo morate preuzeti najnoviju verziju distribucije za instaliranje Apachea. Na http://httpd.apache.org/download.cgi odabiremo jedno od ogledala za preuzimanje kompleta za distribuciju poslužitelja Apache. Na primjer, to mogu biti http://www.sai.msu.su/apache/httpd/binaries/win32/ , http://apache.rinet.ru/dist/httpd/binaries/win32/ , http:// apache .rediska.ru/httpd/binaries/win32/ ili drugi. Verzije za sve platforme uklj. i za Win32 distribuiraju se besplatno.

Također na ovoj stranici postoje poveznice na dvije distribucije:
Win32 Binary bez kripto (bez mod_ssl) ( MSI Installer): apache_2.2.8-win32-x86-no_ssl.msi
Win32 Binary uključujući OpenSSL 0.9.8g (MSI Installer): apache_2.2.8-win32-x86-openssl-0.9.8g.msi

Bilješka:
SSL (engl. Secure Sockets Layer - razina sigurnih utičnica) - kriptografski protokol pružanje siguran prijenos podatke preko interneta. Kada se koristi, stvara se sigurna veza između klijenta i poslužitelja. Za pristup zaštićenim stranicama SSL protokol, URL će obično koristiti prefiks https umjesto uobičajenog prefiksa http kako bi označio da će se koristiti SSL veza. SSL zahtijeva da poslužitelj ima SSL certifikat.

3. Pokrenite instalacijsku datoteku i slijedite upute čarobnjaka za instalaciju.

Slažemo se s licencnim ugovorom.

U sljedećem koraku od vas se traži da konfigurirate postavke poslužitelja. Navedite kao domenu i naziv lokalni domaćin, kao adresu na koju će se slati obavijesti poslužitelja, bilo koja adresa, na primjer: [e-mail zaštićen] .

Mnemonički naziv računala "localhost" znači isto mrežni uređaj(računalo) s kojeg se šalje mrežni paket ili se uspostavlja veza. Oni. ovo je isto računalo na koje instalirate web poslužitelj. Obično se "localhost" mapira na adresu 127.0.0.1.

Apache poslužitelj se može pokrenuti na jedan od dva načina: kao usluga ili ručno. U našem primjeru, poslužitelj će se automatski pokrenuti za sve korisnike kao usluga. Pažnja! Ovaj se članak ne bavi administratorskim i sigurnosnim problemima mreže i sustava Windows.

Odaberite tipičnu instalaciju.

Odaberite mjesto za instaliranje poslužitelja. Možete ga ostaviti kao zadano, ali preporučujem da sav mrežni softver stavite u jednu mapu, na primjer: C:\Moji poslužitelji(lakše je). Pritisnite gumb Promijeni... i u prozoru za odabir staze odredite: C:\MyServers\usr\local\ umjesto C:\Program Files\ Apache softver Zaklada\Apache2.2\

Ako je sve napravljeno kako treba i sigurni ste u to :) pritisnite gumb Instaliraj

Proces instalacije će započeti...

Na kraju, za izlaz iz čarobnjaka za instalaciju kliknite gumb Završi.

Nakon dovršetka instalacije, poslužitelj će se automatski pokrenuti (trebao bi se pokrenuti), a ikona će se pojaviti u paleti pored sata.
Ako se na ikoni pojavi zeleni trokut, poslužitelj je normalno instaliran i pokrenut.

Duplim klikom na ovu ikonu otvorit će se sljedeći prozor:

Ovdje možete vidjeti status usluge i, ako je potrebno, zaustaviti, pokrenuti, ponovno pokrenuti itd.

Ubuduće (nakon sljedećeg pokretanja računala) ova se ikona (u ovoj verziji) više neće pojavljivati ​​sama. Stoga možete dodati pokretanje Pratite Apache poslužitelje za ručno automatsko učitavanje.

Provjerimo njegovu izvedbu pokretanjem preglednika i unosom adrese vašeg poslužitelja u adresnu traku, u našem slučaju http://localhost ili jednostavno lokalni domaćin. Ako vidite takvu stranicu, onda vam možemo čestitati - instalirali ste poslužitelj, preostaje ga malo konfigurirati.

4. Za konfiguraciju poslužitelja otvorite konfiguracijsku datoteku putem "Start",

ili ručno u folder gdje je instaliran Apache, u našem slučaju C:\MyMyServers\usr\local\Apache2.2\conf\httpd.conf.

httpd.conf je jedina datoteka koju je potrebno konfigurirati. Morate pronaći i promijeniti neke linije u njemu. Poželjno je da kasnije ne bi bilo nesnosno bolno :), prvo napravite kopiju ove datoteke. Iznenada uklonite nešto suvišno. U ovoj datoteci postoji mnogo komentara koji počinju znakom #. Neke opcije također su u početku komentirane.

a) Postavite vrijednost parametra ServerName kako slijedi naziv poslužitelja lokalni host. (bez točke na kraju)

b) Umjesto toga DocumentRoot "C:/MyServers/usr/local/Apache2.2/htdocs" naznačiti DocumentRoot "C:/MyServers/home/localhost/www". C:/MyServers/home/localhost/www je direktorij u koji će biti smještene vaše html datoteke. C:\MyServers\home kreirali smo na samom početku. Sada stvorite još jedan direktorij C:\MyServers\home\localhost, stvorite 2 direktorija u njemu: \cgi i \www.

c) Pronađite odjeljak koji počinje sa i završetak . Zamijenite ga s


DopustiNadjačaj sve
Dopusti od svih

Ovaj blok će pohraniti postavke za sve vaše zadane direktorije.

d) Pronađite odjeljak koji počinje sa i završetak , izbrišite ga u potpunosti, uključujući komentare.

e) Pronađite blok


DirectoryIndex index.html

Ovdje se postavljaju takozvane indeksne datoteke, koje automatski izdaje poslužitelj prilikom pristupa bilo kojem direktoriju, ako naziv html dokumenta nije naveden. U principu, ovdje možete dodati druga imena, na primjer index.htm i index.php (ako nastavite instalirati PHP i koristite / pišete skripte), ili možete napraviti dodatne postavke u ... htaccess datotekama. Popravimo, na primjer, blok na:


DirectoryIndex index.php index.htm index.html

e) Ako ne koristite cgi skripte, onda ovaj korak možete preskočiti. Popravite parametar ScriptAlias ​​​​:

ScriptAlias ​​/cgi-bin/ "C:/MyServers/usr/local/Apache/cgi-bin/" na ScriptAlias ​​/cgi-bin/ "C:/MyServers/home/localhost/cgi". Dodajte ovaj redak iza njega: ScriptAlias ​​​​/cgi/ "C:/MyServers/home/localhost/cgi". Ovo će biti direktorij u kojem će se nalaziti vaše CGI skripte.

Izbriši blok ... budući da nećemo koristiti nikakve dodatne postavke.

Pronađite i uredite red cgi-skripte AddHandler (ne zaboravite ukloniti komentar): AddHandler cgi-script .cgi .bat .exe .pl Ova opcija govori da se datoteke s nastavcima .cgi .bat .exe .pl tretiraju kao cgi skripte.

g) Ako ćete koristiti SSI, postavite sljedeće parametre:

AddType text/html .shtml
AddHandler raščlanjen poslužiteljem .shtml .html .htm

g) Listen direktive određuju IP adrese i portove na kojima će Apache poslužitelj "osluškivati" vezu. Općenito, broj takvih direktiva nije ograničen. Ako ćete koristiti poslužitelj samo za otklanjanje pogrešaka na svojim stranicama, navedite samo Slušajte 127.0.0.1:80.

5. Sve. Spremite promjene! Ponovno pokrenite ( Restart ) poslužitelj. Ako je sve učinjeno kako treba, poslužitelj će raditi. Pokrenite preglednik i provjerite kao prije. U pregledniku ćete vidjeti stranicu s "Indeksom /" jer nismo stavili glavnu (indeksnu) stranicu (na primjer, index.htm) u direktorij C:/MyServers/home/localhost/www. Da biste vidjeli nešto zanimljivije, stvorite i spremite svoju html stranicu tamo. To možete učiniti bilo kojim web uređivačem, ili napišite tekst ispod u notepad i spremite datoteku s ekstenzijom .html (ili .htm , ne .txt). Prilikom spremanja stranice u Notepad odaberite vrstu datoteke: sve datoteke i unesite index.htm u polje za naziv datoteke.

tekst datoteke index.html (može se kopirati i spremiti):





Prva stranica


Ovo je moja stranica!





Pokretanje preglednika i u adresnu traku unos adrese vašeg poslužitelja, u našem slučaju http://localhost ili jednostavno lokalni domaćin vidjet ćete stranicu poput ove. Možemo vam čestitati - instalirali ste i konfigurirali poslužitelj.

Sada stvaramo naše web stranice, hostiramo ih na našem poslužitelju (u C:/MyServers/home/localhost/www) i...

Za pristup vašem poslužitelju iz lokalna mreža na bilo koje od računala upisujemo adresu poslužitelja, na primjer: http://poslužitelj ili jednostavno poslužitelj(budući da je ime računala u primjeru server, a ako vi npr. imate ime računala pc11, onda hoće http://pc11) . Imajte na umu da je pristup moguć samo ako je dopušten (ne odbijen) u parametrima slušanja .

Za izradu html stranica koje možete koristiti Nvu 1.0 - besplatni urednik Internet stranice. Veličina je otprilike 6,76 MB. Možete preuzeti s http://nvu.mozilla-russia.org/. Službena stranica programa Nvu http://www.nvu.com/. NVU je otvoreni izvor Linspire projekt za stvaranje vizualnog (WYSIWYG) HTML uređivača. Osnova za stvaranje NVU bio je dio koda koji je dodijelila Mozilla.

Ili možete koristiti KompoZer, Nvuov nasljedni projekt. Skladatelj- besplatni html uređivač, koji početnicima bez znanja o HTML-u nudi sve potrebna sredstva za izradu vlastitih web dokumenata. Program je prilično jednostavan i intuitivan za korištenje, ima neke značajke iz FrontPagea i Dreamweavera, ima uređivač stilova itd.

Iz plaćeni urednici možete primijetiti Microsoft Office FrontPage 2003 ili njegov nasljednik Microsoft Office SharePoint Designer 2007.