§
Apache in Windows
Korak 6 - Nastavitev spletnega strežnika

Predgovor Kazalo Korak 1 - Izbira povezave in domene Korak 2 - Izbira strojne opreme Korak 3 - Namestitev operacijskega sistema Korak 4 - Priprava omrežja Korak 5 - Namestitev spletnega strežnika Korak 6 - Nastavitev spletnega strežnika Korak 7 - Dodatne spletne aplikacije za spletni strežnik (SSI, CGI Perl, PHP, ASP) Korak 8 - Namestitev in nastavitev podatkovne baze MySQL Preizkušanje Predstavitev spletnih strani in dostop do njih Analiza

+ Lastnosti dokumenta

Naslov
Apache in Windows
Del
Korak 6 - Nastavitev spletnega strežnika
Datum vsebine
27. 10. 2003
Original
Apache in Windows
Vrsta
maturitetna seminarska naloga
Jezik
slovenščina
Različica
1.0
Ustanova
Šolski center Celje, Lava
Študij
Tehniška gimnazija, 4. letnik
Predmet
Laboratorijske vaje
Mentor
Borut Slemenšek
Avtor
Tine Lesjak
Ocena
5 od 1-5

Da bi prilagodili strežnik svojim potrebam, ga moramo primerno nastaviti. Uporabili bomo v koraku 1 omenjeni domenski imeni podjetje.si in podjetje.com ter IP naslov računalnika: 10.0.0.1.

Nastavitev spletnega strežnika je precej zahtevna.

Ker nastavitve strežnika Apache ne moremo urejati grafično, je potrebno seči po besedilni datoteki (httpd.conf). Odprite jo:
Start -> (All) Programs -> Apache HTTP Server -> Configure Apache Server -> Edit the Apache httpd.conf Configuration File

Datoteko httpd.conf lahko tudi najdete v mapi C:\Program Files\Apache Group\Apache\conf.
Najbolje, da jo odprete v Notepadu (Beležnici).

Če boste naleteli na napake in nedelovanje strežnika in dodatkov, si lahko pomagate z error.log datoteko, ki jo strežnik dopolni ob vsaki napaki:
Start -> Programs -> Apache HTTP Server -> Review Server Log Files -> Review Error Log

Osnovne nastavitve

Prva nastavitev, sicer ne kaj dosti pomembna, se nahaja v sekciji 2 nastavitvene datoteke. V vrstici 275 zapišite svoj e-poštni naslov, ki se bo izpisal na straneh, generiranih od strežnika (napake, neznano, nenajdeno ...):

ServerAdmin admin@podjetje.si

Druga nastavitev je ime strežnika, ki bo, tako kot pri prejšnji nastavitvi zapisano na straneh, generiranih od strežnika. Pomembno je, da tukaj napišete pravilno domeno ali IP naslov. Če mislite uporabljati navidezne gostitelje (virtualhosts), potem lahko pred to vrstico vpišete znak za komentar "#".

Vrstico 293 spremenite v:

ServerName www.podjetje.si

ali

ServerName www.podjetje.com

Ker nimam domene, sem pri preizkušanju uporabil lokalni IP naslov računalnika 192.168.0.2:

ServerName 192.168.0.2

Naslednja nastavitev je ključna.
Še prej na disku naredite mapo (C:\web_server), kamor boste shranili vse spletne strani. Naredite tudi dve podmapi, imenovani www in cgi-bin. Prva podmapa je namenjena spletnim stranem, druga pa spletnim skriptom (C:\web_server\www in C:\web_server\cgi-bin).
Sedaj pa v vrstico 300 v nastavitveni datoteki zapišite pot www mape, ki ste jo ustvarili:

DocumentRoot "C:/web_server/www"

S to vrstico smo nastavili mapo prve strani, ki se bo prikazala gostu.

V vrstici 325 tudi nastavimo isto pot mape:

<Directory "C:/web_server/www">

Vse, kar je napisano med <Directory "C:/web_server/www"> in </Directory> so varnostne in druge nastavitve, ki veljajo za mapo C:\web_server\www, kadar se promet steka prek strežnika.

Spremenili bomo samo Options ukaz v vrstici 334, tako da bomo izbrisali argument Indexes.
Argument Indexes pomeni, da nam strežnik izpiše seznam datotek in map v osnovni mapi, če spletne strani ni našel. Tega pa na našem strežniku nočemo, ker je privatni.

Vrstica 334 mora sedaj izgledati takole:

Options FollowSymLinks MultiViews

V vrstici 359 se nahaja ukaz UserDir, ki nam omogoča uporabo več spletnih uporabnikov na strežniku, ki imajo svoje spletne strani, vsak v svoji mapi. Tega verjetno ne potrebujemo, zato bomo to funkcijo izklopili.
Da bi to naredili učinkoviteje, je najbolje, da izklopimo modul namenjen temu ukazu. Ukaz za modul se nahaja v sekciji 1, vrstici 223, kjer pred ukazom AddModule mod_userdir.c zapišemo znak za komentar:

#AddModule mod_userdir.c

Vrnimo se v vrstico 384, kjer lahko nastavimo privzeta imena spletnih datotek, ki se naj samodejno prikažejo, ne glede na to, da jih nismo neposredno zahtevali.
Če v brskalniku zahtevamo stran http://www.podjetje.si bo strežnik samodejno pokazal stran, ki ima v mapi C:\web_server\www datoteko index.html. Tako nam ni treba v naslovu brskalnika pisati http://www.podetje.si/index.html.

Če želite in če potrebujete, lahko zraven ukaza DirectoryIndex dodate privzete datoteke kot so index.htm, main.htm, main.html, default.htm idr.:

DirectoryIndex index.html index.htm main.html main.htm default.htm

V našem primeru je dovolj če nastavitev pustimo privzeto:

DirectoryIndex index.html

Sedaj bomo nastavili podstrani, tako da bomo, na primer, z naslovom http://www.podjetje.si/izdelki prišli na spletno datoteko, ki se nahaja v mapi C:\web_server\www\izdelki.
Še prej pa moramo izključiti podstrani, ki jih je strežnik že ob namestitvi nastavil zase. Te strani so namenjene dokumentaciji, ki ste jo namestili s strežnikom, le-to pa ne bomo kazali vsakemu obiskovalcu.
V vrsticah 579, 581-586, 592, 594-599, 609, 615-620 dodajte znake za komentar, ali pa jih zbrišite:

#Alias /icons/ "C:/Program Files/Apache Group/Apache/icons/"

#<Directory "C:/Program Files/Apache Group/Apache/icons">
#    Options Indexes MultiViews
#    AllowOverride None
#    Order allow,deny
#    Allow from all
#</Directory>

# This Alias will project the on-line documentation tree under /manual/
# even if you change the DocumentRoot. Comment it if you don't want to
# provide access to the on-line documentation.
#
#Alias /manual/ "C:/Program Files/Apache Group/Apache/htdocs/manual/"

#<Directory "C:/Program Files/Apache Group/Apache/htdocs/manual">
#    Options Indexes FollowSymlinks MultiViews
#    AllowOverride None
#    Order allow,deny
#    Allow from all
#</Directory>

#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the realname directory are treated as applications and
# run by the server when requested rather than as documents sent to the client.
# The same rules about trailing "/" apply to ScriptAlias directives as to
# Alias.
#
#ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache/cgi-bin/"

#
# "C:/Program Files/Apache Group/Apache/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
#<Directory "C:/Program Files/Apache Group/Apache/cgi-bin">
#    AllowOverride None
#    Options None
#    Order allow,deny
#    Allow from all
#</Directory>

Sedaj pa tukaj nekje vmes zapišite vrstico:

Alias /izdelki "C:/web_server/www/izdelki"

Osnovne nastavitve strežnika so tako nastavljene. Shranite nastavitveno datoteko in ponovno zaženite strežnik:
Start -> (All) Programs -> Apache HTTP Server -> Control Apache Server -> Restart

Če ste vse pravilno naredili, se mora strežnik ponovno zagnati brez kakršnihkoli opozoril.

Da boste lahko karkoli preizkusili, naredite še mapo izdelki v mapi C:\web_server\www. Nato pa prenesite spletne strani, če jih seveda že imate v mapi C:\web_server\www in C:\web_server\www\izdelki.

Sedaj pa preizkusite dosedanje nastavitve tako, da odprete brskalnik in vpišite http://localhost/. Prikazati se vam mora spletna stran iz datoteke index.html, ki je v mapi C:\web_server\www, če seveda obstaja. Če v naslovno vrstico brskalnika vpišete http://localhost/izdelki/ se mora odpreti spletna datoteka index.html, ki se nahaja v mapi C:\web_server\www\izdelki, če seveda obstaja.

Tako, upam, da ste sedaj spoznali osnovne datotečne zadeve in naslove. Seveda si lahko datoteke in mape nastavljate kakor želite. Lahko dodate več Alias ukazov in argumentov tudi na druge mape (npr. Alias /pomoc "C:/Program Files/Apache Group/Apache/htdocs"), vendar je zaželeno, da tem mapam nastavite varnostne in druge nastavitve (<Directory "C:/Program Files/Apache Group/Apache/htdocs"> [nastavitve] </Directory>).

Kakor ste verjetno že opazili, Windows okolje uporablja znak \ (angl. backslash) za delitev map. Linux operacijski sistem uporablja znak / (angl. slash). V nastavitvah strežnika lahko uporabite oba.

Napredne nastavitve (navidezni gostitelj)

Naslednja stvar, ki se nas tiče, so navidezni gostitelji (angl. virtualhosts). Če želimo, da nas naslova http://www.podjetje.si in http://www.podjetje.com vodita na isti računalnik in celo isti strežnik, moramo uporabiti VirtualHost nastavitev.

Ta nastavitev se nahaja v sekciji 3, na koncu nastavitvene datoteke.
Ukazu #NameVirtualHost * zbrišite znak "#" in namesto znaka "*" zapišite IP naslov vašega računalnika:

NameVirtualHost 10.0.0.1

Nastavitev navideznega gostitelja nisem uporabil, ker nimam več domen ali več IP naslovov.

Čisto na koncu nastavitvene datoteke dodajte:

<VirtualHost 10.0.0.1>
     ServerName www.podjetje.si
     DocumentRoot "C:/web_server/www/"
</VirtualHost>

<VirtualHost 10.0.0.1>
     ServerName www.podjetje.com
     DocumentRoot "C:/web_server/www/"
</VirtualHost>

IP naslov računalnika (10.0.0.1) se mora ujemati v vseh treh ukazih.
Ukaz ServerName je pomemben, saj tako strežnik razbere, katera domena je bila zahtevana.
Ukaz DocumentRoot poskrbi za spletno stran v določeni mapi.

Med <VirtualHost></VirtualHost> je možno zapisati praktično vse ukaze iz sekcije 2 nastavitvene datoteke (npr. ServerAdmin, DocumentIndex ...) in tako natančno določiti nastavitve posameznih domen.

Navidezni gostitelj se lepše odreže, kadar imamo posebne primere, npr. ko imamo več domen, ki kažejo vsaka na drugo spletno stran oz. mapo. Tako lahko ustvarimo posebne strani ali celo več različnih spletnih mest s popolnoma različnimi domenami na enem računalniku, na enem strežniku z enim IP naslovom. Če, na primer, gostujemo spletno stran www.organizacija.si dodamo naslednje vrstice:

<VirtualHost 10.0.0.1>
     ServerName www.organizacija.si
     DocumentRoot "C:/web_server/www/organizacija/"
     ServerAdmin miha@organizacija.si
</VirtualHost>

Pri tem mora biti domena www.organizacija.si registrirana.

Lahko pa npr. gostujemo stran kar z eno domeno. S tem bi prihranili denar, ki bi bil potreben za registracijo domene, dodamo le novo domeno pri ponudniku primarnega in sekundarnega domenskega strežnika.
Recimo, da bomo gostili domačo stran prijatelja z naslovom http://prijatelj.podjetje.si. Dodajmo vrstice:

<VirtualHost 10.0.0.1>
     ServerName prijatelj.podjetje.com
     DocumentRoot "C:/web_server/www/prijatelj/"
     <Directory "C:/web_server/www/prijatelj/">
          Options +Indexes
     </Directory>
</VirtualHost>

V tem primeru smo prijatelju dodelili tudi možnost vpogleda map kar iz brskalnika z ukazom Options +Indexes.

Predgovor Kazalo Korak 1 - Izbira povezave in domene Korak 2 - Izbira strojne opreme Korak 3 - Namestitev operacijskega sistema Korak 4 - Priprava omrežja Korak 5 - Namestitev spletnega strežnika Korak 6 - Nastavitev spletnega strežnika Korak 7 - Dodatne spletne aplikacije za spletni strežnik (SSI, CGI Perl, PHP, ASP) Korak 8 - Namestitev in nastavitev podatkovne baze MySQL Preizkušanje Predstavitev spletnih strani in dostop do njih Analiza