Professional Documents
Culture Documents
Web Posluzitelj
Web Posluzitelj
1.Uvod
# ./install-bindist.sh /ime_direktorija
3.Konfiguracija
BindAddress *
BindAddress 192.168.1.1
Ako želimo da poslužitelj sluša samo klijente sa vlastitog računala napisati ćemo
BindAddress 127.0.0.1
Listen 192.168.1.1:80
Listen 192.168.1.1:443
Listen 192.168.1.2:80
ServerType bira mod rada poslužitelja. Apache može raditi u dva moda,
samostalno
ServerType standalone
ServerType inetd
U samostalnom modu rada poslužitelj sam upravlja svojim mrežnim
konekcijama i sluša portove koji su mu definirani.
Ovo je uobičajen način rada Apache poslužitelja i preporučuje se takav način
rada. Ako poslužitelj radi unutar inetd deamon-a, on zanemaruje
konfiguracijske parametre i čeka da ga inetd pozove. Budući da inetd za
svaku vezu ponovo poziva Apache, ovaj način rada je vrlo neučinkovit i rijetko
se koristi, pa ga zato ovdje nećemo pobliže opisivati.
ErrorLog /usr/local/apache/logs/error.log
CustomLog /usr/local/apache/logs/access.log
ili jednostavnije
ErrorLog /logs/error.log
CustomLog /logs/access.log
/etc/httpd/logs/error.log
# ./comanche3.0b4 &
Nakon pokretanja datoteke otvara se mali prozor u grafičkom sučelju koji ima
samo jedan gumb (Comanche), kojega je potrebno pritisnuti i program će se
pokrenuti. Ako Comanche pokrećete prvi puta morate mu pokazati put do vašeg
Apache poslužitelja, budući da program ne može znati gdje ste ga instalirali.
Naknadno Comanche-u možete dodavati dodatne staze, ukoliko postoji
instalirano više Apache poslužitelja na istom računalu.
4.Pokretanje i zaustavljanje
Od distribucije do distribucije mogu se razlikovati direktoriji u kojima se nalazi
datoteka pomoću koje se pokreće Apache. Primjerice, kod Debian distribucije
taj put je /usr/sbin direktorij, u kojem se nalazi apache datoteka kojom će se
pokrenuti ovaj poslužitelj, dok se kod Mandrake distribucije u istom direktoriju
nalazi httpd datoteka, koja će obaviti isti posao.
Ukoliko se ne koristi inicijalna konfiguracijska datoteku ili je ista naknadno
premještena u drugi direktorij, Apache je potrebno pokrenuti sa opcijom -f npr.:
# /usr/local/apache/bin/httpd -f /home/web/httpd-test.conf
# /usr/local/apache/bin/apachectl start
# /usr/local/apache/bin/apachectl restart
# /usr/local/apache/bin/apachectl graceful
ili
# /usr/local/apache/bin/apachectl stop
UserDir public_html
http://ime_stroja.domena/~korisničko_ime/ime_stranice
/home/ime_korisnika/public_html
6.Autorizacija i kontrola pristupa
AllowOverride None
# mkdir /usr/local/apache/passwd
nakon čega ćemo biti upitani za zaporku i potvrdu zaporke. Nakon pravilnog
unosa zaporke stvorena je datoteka passwords u kojoj su upisani ime korisnika
i zaporka u enkriptiranom obliku. Potrebno je napomenuti da opcija -c znači
stvaranje datoteke ukoliko datoteka ne postoji. Ukoliko datoteka već postoji,
postojeća datoteka biti će prebrisana. Za dodavanje novog korisnika ponoviti
opisani postupak, ali bez opcije -c. Datoteku sa pohranjenim korisnicima
potrebno je zaštititi od neovlaštenog pristupa. Ukoliko je Apache web poslužitelj
konfiguriran da se pokreće kao korisnik nobody i grupa nogroup poželjno je
utipkati:
čime je dozvoljen pristup samo korisniku nobody i grupi nogroup, tj. Apache
web poslužitelju.
Primjer:
<Directory "/usr/local/apache/htdocs/privatno">
AuthType Basic
AuthName "Samo za pozvane"
AuthUserFile /usr/local/apache/passwd/passwords
Require user pperic
</Directory>
Primjer:
AuthType Basic
AuthName "Samo za pozvane"
AuthUserFile /usr/local/apache/passwd/passwords
Require user pperic
Ovime je završen opis postavljanja osnovne autorizacije. Postoje još dvije vrste
autorizacije koje Apache podržava: tzv. digest autorizacija i autorizacija pomoću
baze podataka. Takve autorizacije se koriste u iznimno sigurnim sustavima, te
ne rade na svim web preglednicima i stoga ovdje neće biti opisani.
7.1 CGI
CGI (engl. Common Gateway Interface) je prilično star, ali danas još uvijek
dosta često korišten alat, koji omogućuje razmjenu informacija između
korisnika i web poslužitelja.
CGI skripte mogu biti pisane u raznim programskim jezicima (najčešće Perl ili
C), i kao takve predstavljaju aplikacije koje se na zahtjev pretraživača, odnosno
klijenta izvršavaju na strani web poslužitelja.
Tipični primjer komunikacije između klijenta i web poslužitelja, je slanje
korisničkih podataka poslužitelju putem web formi ugrađenih u HTML stranicu,
na temelju kojih će CGI skripta pokrenuta na poslužitelju obaviti za nju
predviđene zadatke, te rezultat vratiti klijentu.
Pogledajmo jednostavan primjer web forme, kojom će se pokrenuti CGI skripta
na poslužitelju sa zadatkom da obradi podatke koje je korisnik unio putem web
formi.
<FORM ACTION="http://www.ime_posluzitelja/moja_skripta.cgi"
METHOD=POST>
<b>Ime i Prezime :</b><INPUT TYPE="text" NAME="ime" SIZE=30
MAXLENGTH=50>
<b> Password: </b> <INPUT TYPE="password" NAME="passw" SIZE=30
MAXLENGTH=50>
<INPUT TYPE="submit" VALUE="Šalji!">
<INPUT TYPE="reset" VALUE="Brisanje!">
</FORM>
Primjer:
<Directory /var/www/cgi-bin>
AllowOverride None
Options ExecCGI
SetHandler cgi-script
</Directory>
U ovom slučaju će Apache web poslužitelj svaki zahtjev za URL adresom oblika
http://www.ime_domene/cgi-bin/ime_skripte interpretirati kao zahtjev za
pokretanjem CGI skripte, koju će locirati unutar /usr/local/apache/www/cgi-
bin alias direktorija.
Napomena: Svakoj CGI skripti kojoj se želi omogućiti pokretanje potrebno je
chmod naredbom postaviti ovlasti izvođenja (execute bit). Naime, budući da je
web poslužitelj iz sigurnosnih razloga najčešće pokrenut pod nobody korisničkim
imenom, potrebno je execute zastavice postaviti na način kojim će se web
poslužitelju omogućiti pokretanje željene CGI skripte (npr. chmod 755
ime_skripte, će sigurno zadovoljiti).
7.2 PHP
# make
# make install
8.Apache 2.0
U daljnjem tekstu navedene su samo razlike u odnosu na inačicu 1.3, te sve što
nije posebno navedeno, a navedeno je u opisu inačice 1.3, također vrijedi i za
inačicu 2.0.
# ./configure
# make
Ova faza instalacije može potrajati neko vrijeme, ovisno o brzini računala.
Nakon toga:
# make install
# cp -R /usr/local/apache2/man/* /usr/local/man
ServerName www.ime_domene.hr:port
Prije pokretanja nove inačice Apache web poslužitelja potrebno je prvo isključiti
staru inačicu ukoliko je aktivna. Ukoliko je starija inačica Apache poslužitelja
bila instalirana zajedno sa distribucijom za isključivanje je dovoljno utipkati:
# apachectl stop
# /usr/local/apache/bin/apachectl stop
a zaustavljanje:
# /usr/local/apache2/bin/apachectl stop
# cp /usr/local/apache2/bin/apachectl /usr/local/bin
# ln -s /usr/local/bin/apachectl /etc/rcN.d/SXXapachectl
Slijedeći put pri podizanju sustava Apache 2.0 web poslužitelj biti će automatski
pokrenut.
# ln -s /usr/local/bin/apachectl /etc/rc0.d/KXXapachectl
# ln -s /usr/local/bin/apachectl /etc/rc6.d/KXXapachectl
9.Zaključak