Professional Documents
Culture Documents
Uputstvo Za Kucni Web Server PDF
Uputstvo Za Kucni Web Server PDF
1. Uvod
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;
Podrka velikim fajlovima ija je veliina vea od 2GB na 32-bitnim operativnim sistemima;
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.
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.
(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.
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
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.
11
<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
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.
13
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.
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.
14
15
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:
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
5. Literatura
17