Apache serveris
1. Parsisiuntimas ir diegimas
Šiame gide aiškinama, kaip įdiegti Apache serverį. Apache žiniatinklio serverį pasirinkome todėl, kad ši programa šiuo metu yra viena iš populiariausių, be to, ji nemokama ir jos išeities kodai laisvai prieinami svetainėje:
http://www.apache.org.
Dėmesio!! OVH sistemos iškart sukonfigūruotos. Standartinius kompiliavimo scenarijus rasite mūsų serveryje:
- ftp://ftp.ovh.net/made-in-ovh/patch
1.1 Susiraskite Apache diegimo išeities kodus
Šio gido pavyzdžiuose naudojama 1.3.4 versija. Patariame diegti pačią naujausią Apache versiją, jos diegimas neturėtų skirtis nuo čia aprašyto metodo. Naujausią versiją parsisiųskite iš svetainės
http://www.apache.org
Siųskitės failą apacheXXX.tar.gz
1.2 Išarchyvuokite į laikiną katalogą
Prieš pradėdami išarchyvavimą sukurkite laikiną katalogą:
mkdir katalogo-pavadinimas
Po to išarchyvuokite parsiųstus failus:
tar zxvf failo-pavadinimas.tar.gz
1.3 Perskaitykite Apache diegimo failus
Apache diegimo failai yra:
install ir visi katalogo
htdocs/manual failai.
Iš šių failų sužinome, kad po diegimo Apache užims mažiausiai
12 MB disko vietos ir kad kompiliavimui reikalingas
C ANSI kompiliatorius.
1.4 Žiniatinklio serverio kompiliavimas
Norėdami sukompiliuoti Apache, įveskite komandas:
./configure --prefix=PREFIKSAS, kur PREFIKSAS atitinka diegimo kelią (pvz., /usr/local/apache)
make
make install
Įveskite komandą PREFIKSAS/sbin/apachectl start paleiskite HTTPD demoną bei patikrinkite, ar kompiliavimas buvo teisingai atliktas.
PREFIKSAS taip pat atitinka diegimo katalogą.
1.5 Redaguokite konfigūracinius failus
Čia aptarsime tiesioginį Apache tekstinių konfigūracijos failų redagavimo metodą, nenaudojant jokių kitų pagalbinių programų (išskyrus tekstinius redaktorius).
Konfigūraciniai failai yra kataloge
/etc/httpd/conf.
Jame rasite 3 svarbius konfigūracinius failus:
- access.conf: pagrindinės serverio prieigos teisių konfigūracijos instrukcijos.
- srm.conf: vartotojo naršyklės pasiekiamų failų pavadinimų ir tipų instrukcijos.
- http.conf: serverio funkcionalumo direktyvos.
1.6 Paleiskite žiniatinklio serverį
Komanda serverio paleidimui:
apachectl start
Komanda serverio restartavimui:
apachectl retstart
1.7 Sustabdykite žiniatinklio serverį
Komanda serverio sustabdymui:
apachectl stop
2. Žiniatinklio serverio konfigūravimas
2.1 Pakeiskite prievadą ir vartotojo vardą
Tolimesnėse dalyse būtina turėti iš anksto sukurtą vartotoją. Jeigu tokio vartotojo neturite, sukurkite jį naudodami komandą:
adduser.
pvz., vartotojas toto
adduser -g users toto
Norėdami pakeisti vartotoją, kuris paleis žiniatinklio serverį (čia toto), redaguokite konfigūracinį failą
http.conf. Suraskite eilutę, kurioje yra įrašas
User ir pakeiskite
nobody į
toto.
Norėdami pakeisti virtualų prievadą, kurio „klausys“ serveris, taip pat redaguokite
http.conf failą. Suraskite eilutę, kurioje yra įrašas
Port ir pakeiskite numatytąjį prievadą į savo norimą.
Dėmesio: kai kurie prievadai yra rezervuoti (FTP, Telnet ir pan. paslaugoms)
Taigi, konfigūracija turėtų būti tokia:
#Numatytasis serverio prievadas 80 keičiamas 3000 prievadu:
Port 3000
Dėmesio!! Jeigu pakeisite prievadą, jungdamiesi prie toto svetainės turėsite nurodyti ir prievadą
2.2 Pakeiskite vartotojo pagrindinio katalogo pavadinimą
Šioje dalyje pakeisime konfigūraciją taip, kad kreipiantis adresu
http://mano-serveris/toto, APACHE ieškotų tutu.html failo, esančio vartotojo toto kataloge WWW.
Norint tai padaryti reikia redaguoti failą
srm.conf. Suraskite eilutę, kurioje yra įrašas
DirectoryIndex ir pakeiskite šalie esantį įrašą į savo norimą.
Numatytasis failas, kuris turi būti rodomas, kai URL nepateikiamas konkretus failas:
DirectoryIndex path/toto/WWW/tutu.html
2.3 Pakeiskite klaidų pranešimus
Paredagavę failą
srm.conf galite pakeisti klaidų pranešimus. Keiskite prie
ErrorDocument esančius užrašus.
Pavyzdžiui:
ErrorDocument 500 "the server made a mistake"
pakeiskite į:
ErrorDocument 500 "The server did not make a mistake"
arba
ErrorDocument 404 /missing.html
kai puslapis nebus rastas (klaida 404), tai atidarys puslapį missing.html
3. Serverio testavimas
Serverį testuoti galima dviem būdais:
Pirmasis būdas - tiesiog pabandyti naršyklėje atidaryti puslapį.
Antrasis būdas - patikrinti jungimąsi naudojant telnet įrankį. Naudodami telnet galite įrašyti komandą ir gauti atsakymą tekstiniame režime.
Pavyzdys:
telnet localhost 8080, po to
get /index.html HTTP/1.0 ir du kartus spauskite Enter.
Serveris atsako dvejopai:
Pirmiausiai grąžinama antraštė, kurioje nurodoma, aur užklausa buvo suprasta (nurodoma užklausos vykdymo reikšmę, čia: 200 OK), ar ieškomas resursas rastas, resurso tipas ir t.t.:
HTTP/1.0 200 OK
Server : JavaWebServer/1.0.2
Content-Length : 1721
Content-type : text/html
Last-modified : Fri, 30 Jan 1998 13:55:28 GMT
Connection :Close
Date : Wed, 06 Jan 1999 16:12:28 GMT
Po to siunčiamas pats resursasL HTML puslapis, GIF paveikslėlis ir pan.
Galimi ir kiti atsakymo kodai:
404 Not Found: puslapis neegzistuoja.
400 Bad Request: nesuprasta užklausa.
Laukai
Content-Length ir
Content-Type nurodo dokumento dydį ir tipą.
4. Našumas
Jeigu norite, kad paleistas serveris naudotų tik vieną procesą, redaguokite failą httpd.conf ir suraskite įrašą „startservers“. Šalia šio įrašo esantį skaičių 5 pakeiskite į 1 ir paleiskite programą iš naujo.
5. Kai kurie klausimai
5.1 VirtualHost mechanizmas
VirtualHost leidžia sukurti daug virtualių serverių viename fiziniame serveryje. Serveris turi valdyti kelis IP, todėl reikia konfigūruoti serverio branduolį (Linux sistemose). Virtualaus serverio konfigūravimas atliekamas redaguojant failą
http.conf; pavyzdys:
ServerAdmin webmaster@domenas.tld
DocumentRoot /katalogas
ServerName jusu.domenas.tld
ErrorLog susietas katalogas
TransferLog susietas katalogas
5.2 keepAlive, FollowSymLinks ir FancyIndexing apibūdinimas
KeepAlive:
Jeigu šio parametro nustatymas yra
ON (http.conf faile), naršyklės prisijungimas išlieka aktyvus (nenutraukiamas iškart po failo perdavimo). Jeigu reikšmė
OFF, nustatymas išjungtas.
Po nustatymo
KeepAlive seka kiti su juo susiję nustatymai, pavyzdžiui,
MaxKeepAliveRequests, kuris nustato, kiek daugiausiai gali būti tokių jungčių arba
KeepAliveTimeout, kuris nurodo, po kiek laiko (sekundėmis) neaktyvi jungtis bus nutraukta.
FollowSymLinks:
FollowSymLinks kintamasis yra faile
access.conf. Jeigu šis kintamasis nurodytas skyriuje
OptionsIndexes, simbolinės nuorodos ir trumpiniai bus leidžiami.
FancyIndexing:
Jeigu faile
srm.conf šio kintamojo reikšmė yra
ON, naršanta katalogus bus matomos failų piktogramos. Jeigu reikšmė
OFF, katalogai ir jų turinys bus matomi HTML formatu.
Prie
AddIcon nurodytas piktogramų rinkinys, kuris bus naudojamas, kai įjungtas
FancyIndexing režimas. Čia galite pakeisti standartines piktogramas savomis.
6. Prieigos teisės
Norėdami apriboti prieigą prie svetainės katalogo, galite tai padaryti dviem būdais:
- Nurodykite prieigos prie katalogo teises faile access.conf.
Puslapio apsauga slaptažodžiu atliekama į
access.conf įrašius:
AuthName Apsaugotame lange matomas pavadinimas
AuthType Basic
AuthUserFile /etc/users.http
require valid-user
/katalogas/puslapis.html yra apsaugotas puslapis
AuthName: pavadinimas, matomas apsaugotame lange.
AuthType: dažniausiai tai
Basic.
AuthUserFile: failas, kuriame nurodyti vartotojai, kuriems galima prisijungti prie puslapio, bei jų slaptažodžiai.
require direktyva, kuri reikalauja egzistuojančio vartotojo.
- Sukurti vartotoją ir slaptažodį
Užtenka sukurti .htaccess failą, jame įrašykite:
htaccess [-c] slaptažodžio_failas vartotojas
Naudojant parinktį -c sukuriamas naujas failas, be -c failas papildomas nauju įrašu.
Slaptažodžio_failas yra failas, kuriame saugomi slaptažodžiai.
Vartotojas - vartotojo vardas.