Apache konfiguracija. Instalacija i konfiguracija Apache web poslužitelja s podrškom za PHP, JSP i MySQL na Windows XP. Profesionalno razvojno okruženje

DIY Linux poslužitelj Kolisnichenko Denis Nikolaevich

12.2.2. Konfiguriranje Apachea pomoću netconf

Gotovo svi parametri web poslužitelja Apache mogu se postaviti pomoću netconf (ili linuxconf) konfiguratora. Da biste to učinili, pokrenite netconf i idite na karticu Poslužiteljski zadaci a zatim kliknite na gumb “Apache Webserver” (vidi sliku 12.2).

Riža. 12.2. Konfiguriranje Apachea pomoću netconf

S netconfom možete jednostavno postaviti osnovne Apache parametre (vidi sliku 12.3), definirati virtualne hostove, postaviti parametre poddirektorija, definirati specifikacije direktorija i modula i postaviti parametre za modul mod_ssl (vidi sliku 12.4), čija se konfiguracija raspravlja u nastavku u ovom poglavlju.

Riža. 12.3. Osnovne opcije Apachea

Riža. 12.4. Konfiguriranje mod_ssl modula

Iz knjige Poboljšajte svoju web stranicu autor Matsijevski Nikolaj

Iz knjige Linux za korisnika autor Kostromin Viktor Aleksejevič

Konfiguriranje Apache 2 Za Apache 2, opisani koraci izgledaju puno jednostavnije.# dodajte Content-Type za sve datoteke s ekstenzijom .gzAddEncoding gzip .gz# omogućite kompresiju za HTML i XML datotekeAddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE text/xml# i za ikone (više o tome u nastavku)AddOutputFilterByType DEFLATE image/x-icon#

Iz knjige DIY Linux server autor

Konfiguriranje Apachea Testovi pod Konquerorom su pokazali da ovaj preglednik ne razumije arhivirane datoteke (CSS i JavaScript), pa da biste spasili desetinu postotka posjetitelja od srčanog udara (kada vide stranicu bez odgovarajućih stilova), vrijedi dodajući ga ovom skupu

Iz knjige Linux: Potpuni vodič autor Kolisničenko Denis Nikolajevič

Iz knjige Ubuntu 10. Kratki vodič autor Kolisničenko D. N.

Konfiguracija Apache 2 # postavite zaglavlje Content-Encoding: gzipAddEncoding gzip .gz# od samog početka omogućite gzip za tekstualne datotekeAddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE text/xml# i za favicon.icoAddOutputFilterByType DEFLATE image/x-icon# također za CSS i JavaScript -filesAddOutputFilterByType DEFLATE text/cssAddOutputFilterByType DEFLATE

Iz knjige Linux očima hakera autor Flenov Mihail Evgenijevič

13.2.6. Uslužni program netconf U prethodnim odjeljcima pokušao sam detaljno i dosljedno opisati kako možete konfigurirati pristup mreži izravnim uređivanjem konfiguracijskih datoteka. Međutim, postavke lokalne mreže mogu se napraviti pomoću posebnih uslužnih programa

Iz autorove knjige

12 Apache poslužitelj Ovo poglavlje je posvećeno popularnom WWW poslužitelju Apache. Apache Server razvija i održava Apache Project. Apache je izvorno bio varijanta NCSA web poslužitelja razvijena u Nacionalnom centru za superračunalstvo na Sveučilištu Illinois.

Iz autorove knjige

12.1. Instaliranje Apachea Da biste instalirali Apache poslužitelj, morate instalirati pakete apache i apache-docs. Prvi od njih sadrži sam poslužitelj, a drugi sadrži dokumentaciju. Preporučljivo je instalirati najnoviju verziju. U najnovijim verzijama također morate instalirati paket apache-common koji sadrži

Iz autorove knjige

12.5. SSL i Apache 12.5.1. Instaliranje SSL-a SSL (Secure Sockets Layer) je metoda šifriranja koju je razvio Netscape za pružanje internetske sigurnosti. Ova metoda podržava višestruke metode šifriranja i pruža provjeru autentičnosti na razini klijenta i na razini klijenta.

Iz autorove knjige

12.5.2. Spajanje SSL-a na Apache Sada sve što preostaje je spojiti mod_ssl na Apache. Imajte na umu da vam je potrebna verzija mod_ssl koja je kompatibilna s vašom verzijom Apachea. U suprotnom, mod_ssl modul neće raditi ispravno ili će odbiti učiniti bilo što. Zadnji brojevi u naslovu

Iz autorove knjige

16.1. Instaliranje Apachea Ovisno o distribuciji, paket iz kojeg je instaliran Apache web poslužitelj može se zvati apache ili httpd, a paket dokumentacije može se zvati apache-docs ili httpd-manual. U prvom slučaju morat ćete instalirati paket apache-common koji sadrži

Iz autorove knjige

16.10. SSL i Apache 16.10.1. Instaliranje SSL-a SSL (Secure Sockets Layer) je metoda šifriranja koju je razvio Netscape kako bi se osigurao siguran prijenos podataka. Ova metoda podržava višestruke metode šifriranja i pruža autentifikaciju na razini klijenta i klijenta.

Iz autorove knjige

16.10.2. Povezivanje SSL-a s Apacheom Verzija mod_ssl koju trebate instalirati mora biti kompatibilna s vašom verzijom Apachea, inače mod_ssl modul neće raditi ispravno ili će odbiti učiniti bilo što. Zadnje znamenke u nazivu modula označavaju kompatibilnost s određenim

Iz autorove knjige

16.13. Zaštita Apache poslužitelja Nakon postavljanja poslužitelja, zabranit ćemo mijenjanje i brisanje konfiguracijske datoteke: # chattr +i /etc/httpd/conf/httpd.conf Nakon ovoga, vi (i nitko drugi) nećete moći ovo promijeniti datoteku čak i pomoću konfiguratora. Također je preporučljivo postaviti dopuštenja na 511 Za

Iz autorove knjige

26.2.1. Instaliranje Apachea i PHP-a Pokrenite Synaptic manager. U polje za brzo pretraživanje unesite apache. Desnom tipkom miša kliknite paket apache2 i odaberite Označi za instalaciju. Upravitelj paketa će vam reći da trebate instalirati dodatne pakete (Slika 26.1). Pritisnite gumb

Iz autorove knjige

5.1.1. netconf Ova naredba pokreće mrežni konfigurator (Slika 5.1). Program netconf ima grafičko sučelje prilagođeno korisniku i omogućuje vam konfiguriranje mrežnih parametara bez brige o konfiguracijskim datotekama. Riža. 5.1. Prozor programa

Web poslužitelj je vrlo složen softverski proizvod koji radi na različitim platformama i operativnim sustavima. Da bi ispravno radio na instaliranom sustavu, on mora biti konfiguriran.

Prema zadanim postavkama Apache postavke nalaze se u datoteci " httpd.conf"u katalogu" konf".

Posebnu pozornost trebate obratiti na putanju do datoteka u Apache i PHP konfiguracijskim datotekama. Često ćete morati navesti staze do raznih direktorija i datoteka. Operativni sustavi UNIX i Windows koriste različite razdjelnike direktorija. UNIX koristi kosu crtu (/), a Windows koristi kosu crtu (\). Neke Apache i PHP direktive rade s obje vrste separatora direktorija. Ali budući da su Apache i PHP izvorno razvijeni za UNIX, možete izbjeći brojne probleme korištenjem njihovog "izvornog" formata. Stoga, staze u konfiguracijskim datotekama " httpd.conf"I" php.ini" Preporuča se pisati kroz kosu crtu u UNIX formatu - "/".

Na primjer:
ScriptAlias ​​​​"/php_dir/" "c:/php/" Upute za datoteke httpd.conf:

Luka- specificira TCP port koji Apache koristi za uspostavljanje veze. Prema zadanim postavkama, port 80 također se može navesti u direktivi ServerName.
Priključak 80 Jedini razlog za postavljanje nestandardnog priključka je ako nemate dozvolu za korištenje standardnog priključka. Kada koristite nestandardni port, kao što je 8080, broj porta treba biti naveden u adresi " http://localhost:8080/".

ServerAdmin- sadrži navedenu adresu e-pošte administratora web poslužitelja. Ovo je adresa koja će biti prikazana u slučaju pogreške poslužitelja.
ServerAdmin [e-mail zaštićen] ServerName- sadrži navedeno ime računala za poslužitelj.
Naziv poslužitelja lokalni host:80 ServerRoot- pokazuje na direktorij koji sadrži datoteke web poslužitelja Apache.
ServerRoot "C:/web_server/apache" DocumentRoot- definira direktorij u kojem se nalaze datoteke web stranice.
DocumentRoot "C:/web_server/apache/htdocs" Kontejner

Opseg direktiva unutar ovog spremnika proteže se na sve datoteke i poddirektorije unutar direktorija navedenog u direktivi DocumentRoot.

Opcije FollowSymLinks Uključuje indekse
DopustiNadjačaj sve
Direktiva AllowOverride postaviti na vrijednost SVE, omogućuje vam nadjačavanje vrijednosti glavne konfiguracijske datoteke " httpd.conf"u datotekama" .htaccess".

Direktiva Opcije FollowSymLinks Omogućuje Apacheu praćenje simboličkih veza.

Direktiva Opcije Uključuje omogućuje izvršavanje SSI (Server Side Includes) direktiva u kodu stranica web stranice.

Direktiva Indeksi opcija navodi da se sadržaj direktorija treba vratiti ako nedostaje datoteka indeksa.

DirectoryIndex- sadrži određeni popis indeksnih datoteka koje bi se trebale prikazati prilikom pristupa direktoriju bez navođenja naziva datoteke.
DirectoryIndex index.html index.htm index.php Direktiva ScriptAlias​​koristi se za stvaranje pseudonima za imenik " /cgi-bin/", koji sadrži CGI programe i skripte.
ScriptAlias ​​​​/cgi-bin/ "C:/web_server/apache/cgi-bin/" Zatim trebate konfigurirati prava i ograničenja na direktoriju cgi-bin.

AllowOverride Ništa
Opcije ExecCGI
Red dopustiti, odbiti
Dopusti od svih
Ova radnja je neophodna kako bi se osiguralo da se opcije imenika ne mijenjaju, jer bi to moglo stvoriti sigurnosne probleme.

Direktiva AllowOverride Ništa kaže da se opcije u ovom direktoriju ne mogu nadjačati datotekama " .htaccess".

Direktiva Opcije ExecCGI Omogućuje izvršavanje CGI skripti.

direktive nalog dopustiti, poricati I Dopusti od svih dopustiti pristup imeniku.

AddHandler- prisiljava Apache da razmatra datoteke s ekstenzijama " egz"I" šišmiš", poput CGI skripti.
AddHandler cgi-script .bat .exe Zadana vrsta postavlja zaglavlje datoteka čiji se tip ne može odrediti ekstenzijom. U ovom slučaju, sve nepoznate datoteke tretiraju se kao obične tekstualne datoteke. Za obradu svih nepoznatih ekstenzija datoteka kao HTML, promijenite direktivu na sljedeći način:
Zadana vrsta text/html AddDefaultCharset- postavlja zadano kodiranje ako kodiranje nije navedeno u glavi HTML dokumenta.
AddDefaultCharset windows-1251

Apache je cijela obitelj različitih projekata, od kojih je prvi bio web poslužitelj. Web poslužitelj predstavlja httpd daemon, pa se projekt web poslužitelja Apache naziva httpd.

Konfiguracijske datoteke httpd web poslužitelja u GNU/Linuxu u različitim distribucijama nalaze se u različitim direktorijima: /etc/httpd/conf/, ili /etc/apache2, ili drugima. Glavna konfiguracijska datoteka zove se httpd.conf, a često su pojedinačne konfiguracijske datoteke dodijeljene određenim skupinama postavki povezane s httpd.conf pomoću direktive include.

Općenito, httpd postavke mogu se podijeliti u tri glavne kategorije:

r odjeljak globalnih postavki;

r postavke za glavni poslužitelj;

r postavke za virtualne čvorove.

Osim ovih odjeljaka, možete odabrati postavke za obradu određenih vrsta datoteka, MIME proširenja i specifikacije za obradu nacionalnih jezika.

Globalne postavke poslužitelja uključuju one koje utječu na rad Apache poslužitelja kao cjeline. Sljedeće su glavne globalne postavke:

r ServerRoot - osnovni instalacijski direktorij, u odnosu na koji se nalaze Apache konfiguracijske datoteke, kao i neke datoteke potrebne za njegov rad, u GNU/Linux datotečnom sustavu;


r PidFile - datoteka u koju se upisuje PID prilikom pokretanja Apache poslužitelja

glavni poslužiteljski proces;

r LoadModule - naredba za učitavanje Apache modula proširenja kompajliranog kao dijeljena biblioteka;

r Timeout - broj sekundi prije slanja signala o gubitku veze;

r KeepAlive - omogućite ili onemogućite podršku za dugotrajne veze dostupne unutar HTTP/1.1 protokola, dopuštajući da veza ostane u neprekinutom stanju nakon što poslužitelj pošalje potrebne informacije;

r KeepAliveTimeOut - broj sekundi čekanja na sljedeći zahtjev, nakon čega će se dugotrajna veza zatvoriti;

r MaxKeepAliveRequests - najveći mogući broj dopuštenih zahtjeva za dugotrajne veze;

r StartServers - broj httpd podređenih procesa koji se pokreću kada se Apache poslužitelj pokrene;

r MinSpareServers - minimalni broj httpd podređenih procesa koji čekaju veze (kada se veze pojave, pokreće se toliko kopija httpd-a da broj podređenih procesa koji čekaju veze nije manji od ove vrijednosti);

r MaxSpareServers - najveći broj httpd podređenih procesa koji čekaju na povezivanje (dodatni procesi se zaustavljaju);

r MaxClients - ograničenje maksimalnog broja httpd podređenih procesa, koje određuje mogući broj veza;

r MaxRequestsPerChild - maksimalni broj zahtjeva koje jedan httpd podređeni proces smije poslužiti, nakon čijeg dostizanja se zajamčeno zaustavlja kako bi se izbjeglo moguće curenje memorije.

ServerRoot "/etc/httpd" PidFile run/httpd.pid Timeout 120

KeepAlive Off MaxKeepAliveRequests 100


KeepAliveTimeout 15

StartServers
MinSpareServers
MaxSpareServers
ServerLimit
MaxClients

Maksimalni zahtjevi po djetetu 4000

Slušaj 80

LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_alias_module modules/mod_authn_alias.so LoadModule authn_an on_module modules/mod_auth n_anon.so

Korisnik apache Grupa apache

Treba napomenuti da se moduli ne mogu samo povezati pomoću direktive LoadModule, već i instalirati izravno u Apache kod u fazi njegove kompilacije i sklapanja. Da biste odredili koji su moduli instalirani u kod u fazi kompilacije, pokrenite naredbu httpd –l (Primjer 28.2).

$ /usr/sbin/httpd -l Sastavljeno u modulima:

core.c prefork.c http_core.c mod_so.c

Imajte na umu da je modul prefork.c jedan od nekoliko različitih MPM (Multi-Processing Modules) modula dostupnih za Apache v2. Ovi moduli ciljaju na različite operativne sustave ili različite modele multitaskinga. Na primjer, modul prefork.c fokusiran je na tradicionalni UNIX model stvaranja dječjih procesa, a worker.c je fokusiran na rad s nitima.


Među glavnim postavkama poslužitelja najvažnije su sljedeće:

r Listen - prisiljava Apache da sluša samo navedeni port;

r Korisnik - korisnik u čije ime će se pokretati httpd procesi;

r Grupa - grupa u ime koje će se pokretati podređeni procesi

r DocumentRoot - direktorij za pohranu datoteka web stranice;

r UserDir - naziv direktorija za smještaj osobnih web stranica korisnika;

r DirectoryIndex - popis imena datoteka koje će se vidjeti kada se pokuša pristupiti korijenskom dokumentu direktorija;

r AccessFileName - naziv datoteke koja sadrži direktive kontrole pristupa direktoriju;

r TypesConfig - određuje mjesto MIME konfiguracijske datoteke;

r DefaultType - postavlja zadanu MIME vrstu dokumenta;

r MimeMagicFile - određuje mjesto datoteke s magičnim brojem za određivanje MIME vrste dokumenta;

r HostnameLookups - specificira vrstu unosa informacija o zahtjevima klijenata bilo putem IP adrese ili naziva hosta;

r ErrorLog - datoteka dnevnika u koju će se bilježiti sve pogreške

(poruke) na koje se naišlo tijekom rada Apachea;

r LogLevel - razina podataka zapisivanja;

r LogFormat - direktiva koja definira format za izlaz informacija u dnevnik;

r CustomLog - određuje mjesto datoteke dnevnika;

r ServerSignature - omogućuje prikaz informacija o verziji, virtualnom čvoru itd. na stranicama koje generira Apache poslužitelj;

r Alias ​​​​- postavlja pseudonime za pristupne staze direktorijima poslužitelja (duljina linije aliasa manja je od duljine linije pristupne staze);

r ScriptAlias ​​​​- radi isto što i Alias, ali za direktorije s CGI-

skripte;

r IndexOptions - određuje vrstu indeksiranja imenika;

r AddIcon - određuje datoteku ikona za prikaz u određenim situacijama, na primjer, kada se prikazuje stranica sa sadržajem direktorija, različite vrste datoteka pridružene su različitim ikonama;

r AddIconByEncoding - postavlja ikone za određena MIME kodiranja;


r AddIconByType - postavlja ikone za određene vrste MIME dokumenata;

r DefaultIcon - zadana ikona;

r AddDescription - dodaje redak komentara određenim vrstama dokumenata (na primjer, .gz - gzipirani dokument);

r ReadmeName - navodi naziv datoteke README dodane na kraj popisa datoteka u indeksu direktorija;

r HeaderName - navodi naziv datoteke HEADER dodane na početak popisa datoteka u indeksu direktorija;

r IndexIgnore - imena datoteka koje će biti zanemarene tijekom indeksiranja;

r AddEncoding - omogućuje preglednicima da u hodu obrađuju informacije na određeni način (na primjer, prikazuju sadržaj gzip-komprimiranih datoteka);

r AddLanguage - prikazuje navedene ekstenzije naziva datoteke na određenom jeziku dokumenta (na primjer, AddLanguage ru .ru);

r AddCharset - postavlja preslikavanje ekstenzije određenog naziva datoteke u određeno kodiranje;

r LanguagePriority - poredak jezika;

r AddType - postavlja preslikavanje ekstenzija naziva datoteka na MIME vrstu;

r AddHandler - postavlja vrstu obrade ekstenzijom naziva datoteke;

r ErrorDocument - omogućuje prilagodbu poruka o pogreškama;

r BrowserMatch - specificira značajke izlaza informacija za preglednike.

U konfiguracijskoj datoteci httpd.conf često možete pronaći uvjetne direktive poput . Koriste se za postavljanje Apache postavki koje su moguće ako je ovaj modul prisutan (primjer 28.3).

Alias ​​​​/doc /usr/share/doc

Ovaj primjer postavlja alias doc na direktorij /usr/share/doc. Međutim, takav će se alias postaviti samo ako je prisutan modul mod_alias.c. S ovim aliasom (ako imate odgovarajuća dopuštenja), možete koristiti web preglednik za pristup sadržaju direktorija /usr/share/doc koristeći URL http://localhost/doc.


Druga vrsta uvjetne direktive je . Ove direktive sadrže blokove Apache postavki koje rade samo ako je definiran neki dodatni parametar. Ova se opcija može navesti pomoću opcije -D izvršne datoteke httpd.

Apache često dolazi s prilično opsežnom dokumentacijom u HTML formatu. Na primjer, u Fedora distribucijama, Apache dokumentacija tradicionalno je dostupna nakon pokretanja Apachea s URL-a http://localhost/priručnik.

Apache je web poslužitelj.

Konfiguracijske datoteke

Prema zadanim postavkama, sve konfiguracijske datoteke pohranjene su u mapi "conf".

httpd.conf je glavna konfiguracijska datoteka apache poslužitelj. Promjene u ovoj datoteci zahtijevaju ponovno pokretanje apache poslužitelja da bi stupile na snagu.

U mapi "extra" (unutar mape "conf") su dodatne konfiguracijske datoteke. Ako je potrebno, mogu se povezati unutar glavne konfiguracijske datoteke.

Sintaksa konfiguracijskih datoteka

Treba postojati samo jedna direktiva u jednom retku. Znak \ (obrnuta kosa crta) može se koristiti kao zadnji znak u retku da označi da se direktiva nastavlja u sljedećem retku. Iza znaka \ ne smije biti drugih razmaka osim znaka za kraj retka.

Direktiva i njeni argumenti odvojeni su razmakom. Sami argumenti također su odvojeni razmacima. Ako argument sadrži razmake, mora biti u navodnicima.

Direktive ne razlikuju velika i mala slova, ali argumenti, naprotiv, razlikuju velika i mala slova.

Redak koji počinje znakom # (hash) smatra se komentarom i zanemaruje se. Komentar se ne može staviti u isti redak kao i direktiva.

Znakovi razmaka umetnuti prije direktive zanemaruju se, tako da se mogu koristiti za umetanje uvlaka kako bi kod bio lakši za čitanje. Prazne linije se također zanemaruju.

Moduli

Modul je jednostavno plug-in datoteka koja vam omogućuje dodavanje dodatnih funkcija. Svi se dodaci prema zadanim postavkama nalaze u mapi "moduli".

Moduli vam omogućuju korištenje direktiva koje nisu uključene u jezgru web poslužitelja Apache.

.htaccess

Htaccess je dodatna konfiguracijska datoteka za Apache web poslužitelj, kao i slične poslužitelje. Omogućuje vam konfiguriranje funkcionalnosti za pojedinačne direktorije, bez mijenjanja glavne konfiguracijske datoteke, jer je pristup njoj najčešće zabranjen.

Datoteka .htaccess utječe samo na direktorij u kojem se nalazi i njegove podređene direktorije. Datoteka .htaccess može se smjestiti u bilo koji direktorij. Direktive ove datoteke utječu na sve datoteke u trenutnom direktoriju i svim njegovim poddirektorijima (osim ako ove direktive nisu nadjačane direktivama dotičnih .htaccess datoteka).

Promjene napravljene u .htaccess datoteci ne zahtijevaju ponovno pokretanje poslužitelja.

Ako je u datoteci .htaccess napravljena bilo kakva pogreška, na primjer, direktiva ili vrijednost direktive je netočno napisana, poslužitelj će vratiti grešku: Error 500.

Datoteka .htaccess koristi istu sintaksu kao Apache konfiguracijske datoteke.

Možete vidjeti koje se direktive mogu nalaziti unutar .htaccess datoteke u direktoriju direktiva u “Kontekstu” određene direktive.