Paieška


print PDF

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.