You are on page 1of 15

Uputstvo za kuni Web server

1. Uvod

Prvo je potrebno definirati ta je to web server.


Web server je raunarski program odgovoran za prihvatanje HTTP (Hypertext Transfer
Protocol) zahtjeva od web klijenata, znanih kao web browser-i, i opsluivanje HTTP odgovora sa
opcionalnim sadrajem kao to su HTML dokumenti, vezani objekti, slike, itd... Web serverom se
naziva i raunar na kojem se vrti program opisan gore, ali emo u daljnjim razmatranjima pod web
serverom podrazumijevati raunarski program ili skup programa i usluga [1].
I ako se web serveri razlikuju u detaljima, od programa do programa, svi oni dijele skup
zajednikih osobina:

HTTP: svaki web server program prihvata HTTP zahtjeve od klijenta i daje HTTP odgovore.
HTTP odgovori se sastoje obino od HTML dokumenata, ali to moe biti i bilo koji dokument,
slika, itd... Ako se desi greka prilikom opsluivanja zahtjeva web server mora poslati broj i opis
greke krajnjem korisniku;

LOGIRANJE (eng. Logging): obino web serveri imaju mogunost prikupljanja detaljnih
informacija o zahtjevima klijenata i odgovorima servera u tzv. log dokumente koji koriste web
urednicima za statistike analize.
U praksi mnogi web serveri implementiraju i sljedee funkcije:

Autorizacija: zahtjev za korisnikim imenom i lozinkom prije nego se dozvoli pristup dijelu ili
cijelom resursu;

Rukovanje sa statikim ili dinamikim sadrajima podravajui jedno ili vie suelja: SSI, CGI,
SCGI, FastCGI, JSP, PHP, ASP, ASP.NET, ServerAPI kao to je NSAPI ili ISAPI, itd...

HTTPS podrka (SSL ili TLS) za sigurnu ifriranu konekciju na port 443 umjesto uobiajenog
porta 80;

Komprimiranje sadraja (npr. gzip kodiranje) da se smanji veliina odgovora;

Virtualni hosting za opsluivanje mnogo web stranica koritenjem jedne IP adrese;

Podrka velikim fajlovima ija je veliina vea od 2GB na 32-bitnim operativnim sistemima;

BANDWIDTH THROTTLING limitiranje brzine odgovora u cilju da se ne zagui mrea i da se


opslui vie klijenata.

U ovom radu koristie se Apache Web Server, u daljnjem tekstu server, open source projekt ali i
snano komercijalno podran, koji predstavlja set internet baziranih usluga za web servere koji
koriste sve vodee operativne sisteme.

Autor: Ilija Mrenica, ing.el.

Uputstvo za kuni Web server


Apache server zauzima trenutno pola svjetskog trita i najee je smjeten na nekoj Linux
platformi zajedno sa MySQL-om, PHP/Perl/Python popularno nazvano LAMP.[1]

2. Instalacija web servera

Ideja ovog rada je da se kunom PC-u dodjeli dodatna funkcija web servera na kojem bi bilo
smjeteno nekoliko web stranica. Za direktnu vezu sa internetom koristie se ADSL linija bez
statike adrese.
U ovom poglavlju bie opisani postupci instalacije osnovnog programskog paketa Apache-ja na
Windows NT platformu, podeavanje ADSL router-a, firewall-a, otvaranje porta 80, koritenje usluge
dinamikog DNS-a, te osnovna konfiguracija servera za virtual hosting i testiranje konekcije.

2.1. Instalacija Apache-ja na Windows NT platformu


Pod Windows NT platformom podrazumijevamo grupu operativnih sistema Microsoft Windows
zasnovanih na NT jezgri. U ovom sluaju koristi se Windows XP operativni sistem koji je ve
instaliran na raunaru.
Prvo je potrebno skinuti sa Apache-jeve web stranice http://httpd.apache.org/download.cgi
zadnju stabilnu instalaciju za Windows NT OS sa ekstenzijom msi, npr: apache_2.2.10-win32-x86no_ssl.msi i instalaciju zapoinjemo duplim klikom na fajl.
Postupak instalacije ide dalje odabirom naina rada kao Windows service i default-nih
vrijednosti koje emo poslije mijenjati pri konfiguraciji servera.
Ako je instaliran Windowsov web server IIS - Internet Information Services (nije instaliran po
default-u) potrebno ga je onemoguiti jer ne moe raditi zajedno sa Apache-jem. IIS moe raditi sa
Apache-jem samo ako ne koriste isti port [3].

2.2. Podeavanje ADSL router-a


ADSL router koji podeavam proizveden je od strane Paradigm Technologies Inc (distribuiran
uz ADSL paket usluga od strane domaeg ISP-a) i njemu emo pristupiti pomou nekog web
browser-a koristei default-nu adresu: http://192.168.1.1 nakon ega je potrebno unijeti user name:
admin i password: admin. Password je poeljno poslije promijeniti.

Autor: Ilija Mrenica, ing.el.

Uputstvo za kuni Web server


Potrebno je zatim otii na Advance Firewall Port Forwarding i unijeti nove vrijednosti tako
da nakon snimanja vrijednosti i restartovanja routera unos izgleda kao na slici 1:

Slika 1. Otvaranje porta 80 na routeru


U ovom sluaju IP adresa servera je 192.168.1.64 i koristi se defaultni port 80 koji nije blokiran
od strane naeg ISP-a. U sluaju da je port blokiran morao bi se otvoriti neki drugi port i omoguiti
usluga dinamikog DNS-a sa preusmjeravanjem porta ili birati port direktno sintaksom URL:port iz
browser-a.
Ovaj drugi nain rada, biranje nekog nestandardnog porta, je daleko sigurniji i pogodan za sve
web servere koji ne slue za smjeaj web stranica ili usluga koje se javno koriste.

2.3. Podeavanje firewall-a


U svim programima tipa firewall koje koristimo na raunaru, najee je to samo Windows
Firewall, treba provjeriti da li je otvoren defaultni port 80 za HTTP protokol. Preko Control Panela
idemo u Windows Firewall gdje Exceptions moraju biti omogueni, a unutar Exceptions i Advanced,
Web Server (HTTP) mora biti omoguen na portu 80 sa ukucanom IP adresom servera. Ako tih
unosa nema potrebno ih je dodati.
Nakon otvaranja bilo kojeg porta za bilo koju uslugu poeljno je testirati da li je navedeni port
stvarno otvoren na router-u i u firewall-u. To emo najlake uraditi pomou neke web stranice koja
prua tu uslugu besplatno. Npr. http://www.yougetsignal.com/tools/open-ports je samo jedna od
mnogih web stranica koja nam omoguuje testiranje ovorenosti portova to je prikazano na slici 2.
5

Autor: Ilija Mrenica, ing.el.

Uputstvo za kuni Web server

Slika 2. Testiranje otvorenosti porta


Na kraju, potrebno je naglasiti da svaki otvoren port prema internetu predstavlja sigurnosnu
prijetnju, posebno ako je to neki od standardnih portova, 21, 80, 3389 i sl. tako da treba voditi
rauna o sigurnosti raunarskog sistema kojem smo praktino otvorili stranja vrata za sve mogue
zlonamjerne skripte i programe. Stranice potencijalno tetnog sadraja obavezno treba posjeivati
preko proxy-ja da se zadri anonimnost tj. sakrije IP adresa servera.

2.4. Koritenje usluge dinamikog DNS-a


S obzirom da pokreemo mali kuni web server bez statike IP adrese potrebno je omoguiti
povezivanje domene sa IP adresom koja se mjenja svaki put kad se konektujemo na internet, pa
ak i u toku rada. Postoje mnoge web stranice koje pruaju usluge takvog tipa od kojih je osnovni
skup besplatan. Za ovaj rad koristim usluge http://www.no-ip.com gdje u registrirati tri razliite
domene i vezati ih sa svojom dinamikom IP adresom pomou klijenta, programa koji je isto
besplatan. No-IP DUC (Dynamic Update Client) program se pokree pri startovanju raunara i radi
kao servis koji svakih par minuta aurira registrirane domene sa vanjskom IP adresom raunara.
Praktino, surfer ne osjea razliku. Dostupna je i verzija klijenta za Linux.
Dodatne usluge ovakvih dotcom firmi ukljuuju prenos vlastite domene na dinamiki DNS i
menadment raznih serverskih usluga, POP3 mail i slino.

2.5. Konfiguracija Apache servera


U ovom poglavlju bie opisani postupci konfiguracije servera za smjetaj nekoliko web stranica
koritenjem jedne IP adrese, popularno nazvano virtual hosting baziran na imenu.
Prvo je potrebno konfigurisati server da slua port 80 i adresu naeg servera, koja je izabrana
192.168.1.64 (unutranja IP mora biti statika) i to emo uraditi sa direktivom Listen na sljedei
nain:
Listen 192.168.1.64:80
to je potrebno dodati u httpd fajl u direktoriju servera. Zatim je potrebno dodati administrativnu email adresu koju koristimo i ime servera koje moe biti statika vanjska IP adresa ili registrirana
domena koja upuuje na IP adresu, to je ovdje sluaj:

Autor: Ilija Mrenica, ing.el.

Uputstvo za kuni Web server


ServerAdmin ilija.mrenica@gmail.com

(administrativna adresa)

ServerName www.mrenica.no-ip.biz:80

(default-na domena)

Za dodavanje virtualnih hostova na postojei web server, moramo kreirati <VirtualHost> blok i
za postojeeg default-nog hosta, kao i za ostale domene koje e biti smjetene na serveru.
ServerName i DocumentRoot ukljueni u dodani virtualni host trebaju biti isti kao globalni
ServerName i DocumentRoot. Ovaj virtualni host se dodaje prvi u konfiguracijski fajl tako da bude
default-ni[3].
Za nae tri domene dio koji moramo dodati u httpd konfiguracijski fajl izgleda ovako:
NameVirtualHost 192.168.1.64:80
<VirtualHost 192.168.1.64:80>
ServerName www.mrenica.no-ip.biz:80
ServerAlias mrenica.no-ip.biz *.mrenica.no-ip.biz
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
</VirtualHost>
<VirtualHost 192.168.1.64:80>
ServerName www.dxn.hopto.org:80
ServerAlias dxn.hopto.org *.dxn.hopto.org
DocumentRoot "C:/Program Files/Apache Software
Foundation/Apache2.2/htdocs/Sites/dxn.hopto.org"
</VirtualHost>
<VirtualHost 192.168.1.64:80>
ServerName www.e.3utilities.com:80
ServerAlias e.3utilities.com *.e.3utilities.com
DocumentRoot "C:/Program Files/Apache Software
Foundation/Apache2.2/htdocs/Sites/e.3utilities.com"
</VirtualHost>
gdje su domene koje koristimo sljedee:
http://mrenica.no-ip.biz
http://dxn.hopto.org
http://e.3utilities.com
Da bi sve radilo ispravno web stranice trebaju biti smjetene u gore navedene direktorije i moraju
imati poetnu index.html stranicu.
Provjeru uneene sintakse uradiemo sa httpd S iz Apache-jevog bin direktorija i ako nema
greaka poeemo provjeravati jednu po jednu domenu browser-om.
Provjeravanje domena moemo izvriti sa unutranje strane router-a na sljedei nain npr:
http://192.168.1.64/sites/dxn.hopto.org ili sa vanjske strane router-a koristei samo ime domene npr:
http://dxn.hopto.org ali preko nekog proxy servera npr. http://www.internetproxy.net jer emo samo u
tom sluaju, sa vanjske strane router-a dobiti na web server i domenu koju traimo, dok sa unutranje
strane routera dobijamo uvijek router.

Autor: Ilija Mrenica, ing.el.

Uputstvo za kuni Web server


Index.html fajlovi se trebaju napraviti razliiti i pomou dva gore navedena naina testiranja
moemo lako ispitati rad servera i utvrditi gdje je greka ako je ima.
Moe se uraditi i reverzna provjera za server na gore navedenoj stranici
http://www.yougetsignal.com/tools/web-sites-on-web-server koja e za ime neke od domena dati sve
domene koje su smjetene na istom web serveru. Rezultat ove usluge ne mora biti taan, ali u ovom
sluaju jeste i prikazan je na slici 3.

Slika 3. Reverzna provjera domene

3. Konfigurisanje ostalih WAMP komponenata


Web server na Linux platformi se naziva popularno LAMP server, analogno tome WAMP server
je takav isti ali na Windows platformi. Ostale komponente koje je potrebno instalirati i konfigurisati
pored Apache-ja su PHP/Perl/Python i MySQL. Odabraemo PHP i MySQL za ovu verziju WAMP
servera. PHP i MySQL se smatraju najpopularnijim Apache modulima, oba su besplatni ali i
komercijalno podrani i danas se oekuje od svakog servera da podrava te module.

3.1. Konfiguracija servera za PHP


PHP je skriptni programski jezik dizajniran za stvaranje dinamikih web stranica na serveru,
meutim evoluirao je do suelja u komandnoj liniji i moe biti koriten u samostalnim grafikim
aplikacijama[1]. PHP je naroito pogodan za izradu web stranica jer njegov kod moe biti ugraen u
HTML.
Sam postupak instalacije na postojei Apache server i Windows platformu moe biti brzo
odraen ako se koristi msi (Microsoft Installer) verzija. Meutim, PHP grupa ne preporuuje
koritenje te verzije za rad na javnim serverima zbog sigurnosti servera kao ni gotove WAMP
instalacije[5]. Preporuuje se skidanje zip fajla te manualna instalacija i konfiguracija. Ovdje koristim
zadnju radnu verziju PHP-5.2.6 skinutu sa stranica PHP Grupe http://www.php.net/downloads.php.
Zip fajl potrebno je raspakovati u novo kreirani direktorij c:/php. Zatim idemo u Control Panel
System Advanced dodati dvije nove Environment varijable:

User varijabla: PHPRC sa vrijednou c:\php


System varijabla dodana u PATH: ;c:\php

Nakon ovoga se mora restartovati raunar da bi promjene bile vaee.

Autor: Ilija Mrenica, ing.el.

Uputstvo za kuni Web server


U c:\php se nalaze dva php.ini fajla, dist i recommended, recommended kao to mu samo ime
govori je onaj koji autori preporuuju za standardne instalacije, pa emo njega otvoriti i snimiti pod
imenom php.ini i to e biti glavni konfiguracijski fajl za PHP.
Unutar php.ini datoteke, u sekciji Paths and Directories, treba je nai dio gdje pie doc_root =
i dodati tu DocumentRoot web servera pa e taj redak u naem sluaju izgledati ovako:
doc_root = C:/Program Files/Apache Software Foundation/Apache2.2/htdocs
Sad je PHP instaliran na maini i potrebno ga je povezati sa Apache serverom, to emo uraditi
na sljedei nain.
U httpd konfiguracijskom fajlu Apache servera potrebno je dodati sljedea tri retka koji slue za
uitavanje PHP modula, ekstenzije i upuuju na direktorijj gdje je php.ini:
LoadModule php5_module "C:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/php"
Nakon ovog potrebno je restartovati raunar.
Potrebno je napraviti jednu hello world php stranicu za potrebe testiranja pa emo slijedei
kod snimiti kao hello.php u DocumentRoot servera:
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php echo '<p>Hello World</p>'; ?>
</body>
</html>
Provjeru ispravnosti konfiguracije moemo izvriti browser-om lokalno sa:
http://192.168.1.64/hello.php i preko proxy-ja sa: http://mrenica.no-ip.biz/hello.php. Za dobro
konfigurisan server browser e ispisati Hello World na praznoj stranici, a sve ostalo znai greku u
konfiguraciji. Detaljnije parametre konfiguracije moemo dobiti ako testiramo php stranicu koja e
sadravati sljedei kod, tj. poziv ugraene funkcije phpinfo():
<?php phpinfo( ); ?>
Ako se koristi PHP verzija 5 ili vie poeljno je u php.ini nai dio koji odreuje vremensku zonu
servera i ukucati tekst koji odgovara naoj vremenskoj zoni:
date.timezone = Europe/Paris
9

Autor: Ilija Mrenica, ing.el.

Uputstvo za kuni Web server

3.2. Konfiguracija servera za MySQL


MySQL je menadment software za relacione baze podataka firme MySQL AB dio Sun
Microsystem korporacije koji podrava viekorisniki pristup bazama podataka smjetenih na
serveru[6].
Koristiemo zadnju verziju MySQL 5.0 skinutu sa stranica firme http://www.mysql.com koja se
jednostavno instalira kao svaki Windows program. Prilikom instalacije biramo default-ne vrijednosti i
opciju da program radi kao Windows servis. Omoguujemo otvaranje jednog od 4 ponuena porta
npr. port 3306 i dozvoljavamo izuzetak za taj port u Windows Firewall-u. Odabiremo i opciju da
stavimo password na root jer e server biti otvoren prema intenetu.
Provjeru konfiguracije vrimo sa sljedeim DOS komandama iz MySQL bin direktorija:
mysql u root p
mysql status
\s
Dalje je potrebno vezati PHP i MySQL i tako php-mysql.dll mora biti omoguen u php.ini
datoteci, pa emo nai unutar php.ini unos za ekstenzije koji nakon dodavanje lokacije direktorija za
ekstenzije treba izgledati ovako:
extension_dir = C:/php/ext
Sad emo nai u php.ini sekciju Dynamic Extensions i skinuti komentar sa svih redova koji
poinju sa extension ime omoguujemo da ekstenzije budu uitane automatski, pa emo nakon
restartovanja servera i poziva test.php iz browser-a dobiti dodatne stavke.
Dalje moemo instalirati pomone ali vrlo korisne alate za MySQL: MySQL GUI tools
(Administrator i Query Browser) i MySQL Workbench ili phpMyAdmin koji e nam znatno olakati
posao oko kreiranja i ureivanja baza podataka smjetenih na naem serveru. Svi navedeni alati su
besplatni.
S obzirom da je od navedenih alata phpMyAdmin najpopularniji, kao server-side alat, i koristi se
na veini web servera opisau postupak njegove instalacije i konfiguracije.

3.3. Konfiguracija servera za phpMyAdmin


Posljednju stabilnu verziju potrebno je skinuti sa web stranica autora ovog programa
http://www.phpmyadmin.net i raspakovati je u novokreirani folder phpMyAdmin unutar direktorija
htdocs Apache servera. Zatim treba napraviti datoteku config.inc.php kopiranjem datoteke
config.sample.inc.php. U novokreiranoj datoteci sadrane su defult postavke i treba unijeti nekoliko
promjena:

u dijelu $cfg['blowfish_secret'] = ' '; unutar navodnika unijeti sluajnu kombinaciju slova i
brojeva (ne mora se pamtiti, slui za cookie identifikaciju)
Autor: Ilija Mrenica, ing.el.

10

Uputstvo za kuni Web server

i u dijelu Authentication type promijeniti gdje treba vrijednosti da odgovaraju parametrima


servera i omoguiti koritenje mysqli ekstenzije:
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = '192.168.1.64';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysqli';

Datoteku config.php.inc je potrebno kopirati u prazni config direktorij koji smo prethodno
napravili i restartovati web server. Uvijek se preporuuje zaustavljanje i ponovno pokretanje servera
radije nego restartovanje.
Testiranje konfiguracije izvriemo pomou browser-a kucajui sljedeu adresu:
http://192.168.1.64/phpMyAdmin/index.php i trebamo nakon logiranja dobiti prikaz kao na slici 4.

Slika 4. phpMyAdmin - ispravna konfiguracija


Isti prikaz trebamo dobiti i sa vanjske strane routera preko proxy-ja kucajui u browser npr.
http://mrenica.no-ip.biz/phpMyAdmin/index.php to znai da imamo na raspolaganju administrativni alat
za kreiranje i ureivanje baza podataka na samom serveru.
U svrhu testiranja koristei phpMyAdmin kreirau gostujueg korisnika i bazu podataka 'kolege' sa
jednom tabelom 'adresar' i sljedeim poljima: id, ime, prezime, telefon i email koje u napuniti sa tri
zapisa.
Koristei sljedei PHP kod snimljen kao adresar.php u Apache htdocs direktorij povezau se sa
bazom podataka i izlistati podatke u njoj koristei browser.
Autor: Ilija Mrenica, ing.el.

11

Uputstvo za kuni Web server

<html><head><title>Adresar uposlenika</title></head><body>
<?php
$db_host = '192.168.1.64:3306';
$db_user = 'guest';
$db_pwd = ' ';
$database = 'kolege';
$table = 'adresar';
if (!mysql_connect($db_host, $db_user, $db_pwd))
die("Ne mogu se povezati na bazu podataka...");
if (!mysql_select_db($database))
die("Ne mogu selektirati bazu podataka...");
// slanje upita
$result = mysql_query("SELECT * FROM {$table}");
if (!$result) {
die("Upit nad tabelom nije mogue prikazati...");
}
$fields_num = mysql_num_fields($result);
echo "<h1>Table: {$table}</h1>";
echo "<table border='1'><tr>";
// ispisivanje header-a tabele
for($i=0; $i<$fields_num; $i++)
{
$field = mysql_fetch_field($result);
echo "<td>{$field->name}</td>";
}
echo "</tr>\n";
// izlistavanje redova tabele
while($row = mysql_fetch_row($result))
{
echo "<tr>";
// $row je niz... foreach( .. ) ispisuje svaki element
// reda $row u $cell variajablu
foreach($row as $cell)
echo "<td>$cell</td>";
echo "</tr>\n";
}
mysql_free_result($result);
?>
</body></html>

12

Autor: Ilija Mrenica, ing.el.

Uputstvo za kuni Web server


Rezultat je prikazan na slici 5.

Slika 5. Povezivanje na bazu podataka PHP-om

3.4. Konfiguracija servera za FTP


FTP ili File Transfer Protokol slui za prenos dokumenata sa jednog raunara na drugi i
neizostavan je dio svakog servera s obzirom na ogromnu potrebu za takvim servisom.
Apache ima beta testnu verziju modula mod.ftp.so za iju sam konfiguraciju procijenio da bi
trebalo mnogo vremena uz neizvjestan rezultat. Isti modul su neke firme (Covalent) razvile i ugradile
u svoja gotova komercijalno dostupna serverska rjeenja.
U potrazi za open-source FTP serverom koji radi na Windows platformi naiao sam na
besplatni, ali vrlo pouzdan FileZilla FTP server koji se instalira kao exe fajl.
U toku instalacije izabire se unutranja ponuena IP adresa servera: 127.0.0.1 i unutranji port
14147.
Nakon toga pokreemo aplikaciju i dalje podeavamo postavke programa, router-a i Windows
Firewalla na sljedei nain:

Port 21 za FTP mora biti selektiran u postavkama programa i isto tako otvoren na router-u i u
Windows Firewall-u.

Za Passive Mode Settings portovi 5000 i 5001 moraju biti ukljueni, a na router-u i u Firewall-u
moraju biti otvoreni. U dokumentaciji se preporuuje i program nudi raspon portova 5000-5100,
meutim, Windows Firewall nema opciju unosa raspona portova, nego se svaki mora unositi
posebno. Zato emo otvoriti samo prva dva porta, 5000 i 5001.

Autor: Ilija Mrenica, ing.el.

13

Uputstvo za kuni Web server

U Passive Mode Settings, s obzirom da koristimo dinamiki DNS, biramo opciju Retrieve
external address from gdje kucamo naziv glavne dinamike domene iz htdocs, u ovom sluaju
to je http://mrenica.no-ip.biz. Ne koristimo eksternu IP za lokalne konekcije i biramo Custom
port range: 5000-5001.

Omoguujemo Mode Z protokol za kompresovani transfer dokumenata, ali ne unutar lokalne


mree da ne optereujemo CPU.

Sve postavke imaju objanjenje sa desne strane tako da je ostale postavke lako namjestiti po
potrebi, glavne su postavke objanjene.
Nakon namjetanja postavki potrebno je napraviti jedan korisniki raun i odrediti neki direktorij
za download, te odrediti privilegije tog korisnika tj. ta mu je dozvoljeno raditi u tom direktoriju.
Npr. ja sam postavio user-a guest bez passworda na direktorij e:/muzika gdje se nalaze mp3
datoteke i tu dozvolio samo download. U svrhu testiranja pozvao sam kolege da skinu malo
besplatne muzike. Pristup ide FTP klijentom preko DDNS-a: ftp://mrenica.no-ip.biz. Brzina
download-a sa servera je ograniena brzinom upload-a ADSL-a to kod nas iznosi 10 puta
asimetrinih 25,6kB/s.
Program FileZilla ima i podrku za SSL-TLS ijim koritenjem moemo uspostaviti enkripciju
nad fajlovima koji se razmjenjuju uz pomo certifikata to moe biti vrlo korisno.
Sigurnosni problem kod FTP servera je download u ASCII formatu pa na to treba obratiti panju
ako FTP postane zauzet, kao i na raspon portova za pasivni transfer.

3.5. Konfiguracija servera za WebDAV


WebDAV ili DAV (Document Authoring and Versioning) je protokol ili ektenzija HTTP protokola
sa novim metodama koji omoguavaju DAV klijentu da kreira, mjenja i aurira dokumente
smjetene na serveru. Klijent ima pristup meta podacima, kao to su autor, datum kreiranja
dokumenta te moe zakljuati dokument za editovanje[2].
Integracija DAV-a sa HTTP-om omoguava koritenje postojeih svojstava HTTP-a kao to su
SSL za enkripciju i autentikaciju certifikatima, proxy i ostalo, a integracija sa Apache serverom
dozvoljava mnoge druge mogunosti kao to su kontrolni mehanizmi za djeljenje pristupa i
interakcija sa skriptnim jezicima, npr. PHP i Perl.
Neki vide DAV protokol kao fajl sistem pogodan za internet, drugi kao protokol koji prua
esencijalnu podrku virtualnim softverskim poduzeima, a trei kao standardni pristupni sloj za sve
repozitorije pohrane koji e potpuno istisnuti iz upotrebe FTP protokol.
Pored toga to DAV proiruje postojee HTTP metode GET i PUT, DAV protokol definira
sljedee nove HTTP metode:

COPY (kopira dokumente)

Autor: Ilija Mrenica, ing.el.

14

Uputstvo za kuni Web server

MOVE (premjeta dokumente)

MKCOL (kreira novu kolekciju)

PROPFIND (radi upit nad meta podacima)

LOCK-UNLOCK (zakljuava-otkljuava resurs)

Konfiguracija DAV-a za Apache je iznimno jednostavna s obzirom da je Apache-jev modul


mod_dav spreman za uitavanje pa potrebno je samo uiniti par izmjena u httpd.conf fajlu Apache
servera.
Potrebno je skinuti komentar sa sljedeih linija u httpd.conf i time omoguiti uitavanje modula:
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_lock_module modules/mod_dav_lock.so
Zatim je potrebno dodati liniju koda s kojom emo postaviti dav_lock bazu podataka unutar logs
direktorija servera i tu e biti smjetene informacije o akviziciji i otputanjima resursa:
DavLockDB logs/dav_lock_db
Nakon toga manualno kreiramo direktorij davdocs u direktoriju htdocs Apache servera, a unutar
httpd, conf postavimo putanju na njega to bi vailo i za <VirtualHost> kontejnere ako omoguujemo
DAV u vie razliitih domena:
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/davdocs">
Dav On
</Directory>
Postaviemo za izabrani direktorij read-only pravo pristupa na sljedei nain:
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/davdocs">
Dav On
<LimitExcept GET POST OPTIONS PROPFIND>
Order allow,deny
Deny from all
</LimitExcept>
</Directory>
Na kraju emo runo ubaciti par fajlova u direktorij i testirati unutar lokalne i sa vanjske
mree koristei Network Places Add New Network Place kao to je to prikazano na slici 6.

15

Autor: Ilija Mrenica, ing.el.

Uputstvo za kuni Web server

Slika 6. DAV folder unutar lokalne mree


Uz upotrebu gore spomenutih pogodnosti enkripcije i identifikacije, sigurno je da WebDAV
predstavlja vrlo zanimljivo korporativno rjeenje.

4. Zakljuak
Ovaj rad predstavlja uputstvo za brzo postavljanje osnovnih servisa WAMP i FTP servera
koritenjem dinamikog DNS-a.
Iako ovakav servis moe posluiti kao okruenje za testiranje PHP-a i MySQL-a i openito za
razvoj web aplikacija preporuujem puno jednostavniju i bru instalaciju XAMPP servera.
Nadogradnju ovog rada vidim dalje u sljedeim aktivnostima uglavnom vezanim za proirenje
mogunosti i podizanje ukupnog nivoa sigurnosti instaliranog Apache servera:

postavljanje osnovnih ogranienja pristupa korisnika i grupa (mod_auth modul)

menadment korisnikog prostora (Mod_bandwidth modul)

uspostavljenje enkripcijskih protokola (SSH i SSL)

postavljanje proxy servera (mod_proxy modul)

Sve gore navedene aktivnosti bi u stvari trebale posluiti samo kao uvod, tj. sticanje osnovnih
znanja, za administraciju nekog profesionalnog servera baziranog na Linux platformi.

16

Autor: Ilija Mrenica, ing.el.

Uputstvo za kuni Web server

5. Literatura

[1] Wiki online enciklopedia


http://en.wikipedia.org/wiki/Wiki
[2] Learn Apache in 24 hours
Arthur Knowles
[3] Apache Cookbook
Ken Coar i Rich Bowen
[4] Apache HTTP Server Online Documentation
http://httpd.apache.org/docs/2.2
[5] The PHP Group
http://php.net
[6] Sun Microsystems MySQL
http://dev.mysql.com

17

Autor: Ilija Mrenica, ing.el.

You might also like