|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. A web szerver
|
A balun jelenleg a Sun Java Enterprise System 2003Q4 csomag részét képező
Sun ONE (Open Net Environment) Web Server SP1 alkalmazás feladata a webes kérések kiszolgálása.
A szoftver által támogatott szabványok:
- HTTP 1.1
- CGI 1.1
- PHP 4.3.4
- Java Servlet 2.3
- Java Server Pages (továbbiakban JSP) 1.2
- JDK 1.4.1_03
- RFC 2518 kompatibilis WebDAV
- NSAPI filter támogatás (ez a felhasználók szempontjából nem érdekes)
- HTTP tartalom tömörítés támogatása
- JNDI (Java Naming and Directory Interface) támogatás
- JDBC támogatás
- NSS 3.3.5, NSPR 4.1.5 támogatás
|
|
1.1 A web szerver uid-ja
|
A web szerver a jesws user jogaival fut. Ennek a usernek nincsenek
különleges jogai, ezt vegyétek figyelembe a weboldalak megtervezésekor.
|
|
2. Felhasználói weboldalak
|
A felhasználói weboldalak mindig a /home/felhasználóneved/public_html
konyvtárban találhatók. Lehetőség van html, php, jsp, cgi, asp oldalak készítésére.
|
|
2.1 Felhasználói weboldal létrehozása
|
Hozz létre a home-odban egy public_html nevu konyvtárat a megfelelő jogosultságokkal (lásd alább),
majd eztán helyezz el benne egy index.html nevű file-t (ez utóbbi lehet még: home.html, index.jsp,
index.php, index.cgi). Ez lesz a kezdőoldal.
A megfelelő parancsok tehát:
balu:~$ cd
balu:~$ mkdir -m 0755 public_html
Ha már létezik akkor ellenőrizd:
balu:~$ ls -ld public_html
drwxr-xr-x 2 user user 512 Apr 10 21:15 public_html
^^^^^^^^^^
Ha nem ilyen:
balu:~$ chmod 0755 ~/public_html
Az index.html file jogosultságai hasonlóképpen:
balu:~$ ls -l public_html/index.html
-rwxr--r-- 1 user user 9 Feb 15 23:37 public_html/index.html
Az eltérés itt is orvosolható:
balu:~$ chmod 0744 ~/public_html/index.html
Persze ezen kívül minden megjeleníteni kívánt file-nak is world readable-nek kell lennie.
|
|
2.2 Honlapok elérése
|
A honlapodat a www.sch.bme.hu/~userneved vagy a
home.sch.bme.hu/~userneved illetve a
balu.sch.bme.hu/~userneved címen éred el.
|
|
2.3.1 .htaccess file használata
|
Ha az általad kreált weboldalakat csak egyes embereknek, csoportnak
szeretnéd elérhetővé tenni, nem pedig mindenkinek, vagy egyeseknek a file-jaid manipulálását
pl. törlését, újak feltöltését is engedélyezni akarod, akkor ezt a ~/public_html/.htaccess
fileban definiálhatod. Természetesen erre a file-ra is olvasási joggal kell rendelkezzen
a jesws user (lásd itt).
A támogatott .htaccess direktívák a következők:
- allow
- deny
- AtuhGroupFile
- AuthUserFile
- AuthName
- AuthType
- Limit
- LimitExcept
- order
- require
allow
- Szintakszis:
allow from hoszt
Ahol hoszt lehet:
- all: minden kliens hoszt
- teljes ip cím, vagy annak csak egy része pl. 152.66.212. vagy 152.66.208.0/255.255.255.0
- Hatása:
A megadott hosztokról jövő kéréseket engedélyezi.
deny
- Szintakszis:
deny from hoszt
Ahol hoszt lehet:
- all: minden kliens hoszt
- teljes ip cím, vagy annak csak egy része pl. 152.66.212. vagy 152.66.208.0/255.255.255.0
- Hatása:
A megadott hosztokról jövő kéréseket blokkolja.
AuthGroupFile
- Szintakszis:
AuthGroupFile filename
Ahol a filename névvel jelzett állomány tartalmazza a csoport definíciókat a következő formában:
csoportnév:felhasználó felhasználó
Nem szükséges <Limit> vagy <LimitExcept> tagek közé tenni.
- Hatása:
Azt a file-t adja meg ami megadja a csoport definíciókat. Ha az adott file és az AuthUserFile
által hivatkozott állomány egybeesik, akkor annak formátuma a következő kell legyen:
felhasználónév:DES-kódolt-jelszó:csoportok-vesszővel-elválasztott-listája
AuthUserFile
- Szintakszis:
AuthUserFile filename
Ahol a filename névvel jelzett állomány tartalmazza a felhasználó definíciókat a következő formában:
felhasználónév:DES-kódolt-jelszó
Nem szükséges <Limit> vagy <LimitExcept> tagek közé tenni.
- Hatása:
Azt a file-t adja meg ami megadja a felhasználó definíciókat. Ha az adott file és az AuthGroupFile
által hivatkozott állomány egybeesik, akkor annak formátuma a következő kell legyen:
felhasználónév:DES-kódolt-jelszó:csoportok-vesszővel-elválasztott-listája
AuthName
- Szintakszis:
AuthName authentication_realm
Az authentication_realm egy string ami a felhasználói azonosításhoz tartozó "tartományt" írja le.
Nem szükséges <Limit> vagy <LimitExcept> tagek közé tenni.
- Hatása:
A megadott string tipikusan azonosításkor jelenik meg a kliens oldalon. Hatással lehet a felhasználónév,
jelszó kliens oldali eltárolására is.
AuthType
- Szintakszis:
AuthType basic
Nem szükséges <Limit> vagy <LimitExcept> tagek közé tenni.
- Hatása:
Az autentikációs módot írja le. Jelenleg a basic az egyetlen támogatott mód.
<Limit>
- Szintakszis:
<Limit parancs parancs ...>
allow, deny, order, vagy require direktívák
</Limit>
Ahol a parancsok a HTTP parancsok közül kerülnek ki, mint pl. GET, POST, PUT. Minden a webserver
által értelmezett parancs használható.
- Hatása:
A közrefogott direktívákat a megfelelő parancsokra értelmezi.
<LimitExcept>
- Szintakszis:
<LimitExcept parancs parancs ...>
allow, deny, order, vagy require direktívák
</LimitExcept>
Ahol a parancsok a HTTP parancsok közül kerülnek ki, mint pl. GET, POST, PUT. Minden a webserver
által értelmezett parancs használható.
- Hatása:
A közrefogott direktívákat a felsorolásban nem szereplő parancsokra értelmezi.
order
- Szintakszis:
- order allow,deny
- order deny,allow
- order mutual-failure
Nem szükséges <Limit> vagy <LimitExcept> tagek közé tenni.
- Hatása:
A megadott sorrendben értékeli ki az allow, illetve
deny direktívákat. A mutual-failure
blokkolja azon hostok számára a parancs vágrehajtását, amelyek mindkét
(allow vagy deny) felsorolásban szerepelnek. Figyelem: az egyes
hosztokra értelmezett döntés a kiértékelés sorrendjében maszkolódik!
require
- Szintakszis:
- require group csoportnév
- require user felhasználónév
- require valid-user
Nem szükséges <Limit> vagy <LimitExcept> tagek közé tenni.
- Hatása:
Az első esetben azt írhatjuk elő, hogy a felhasználó egy adott csoport tagja legyen.
A második esetben konkrét felhasználót írhatunk elő. A harmadik esetben csak azt
követeljük meg, hogy a felhasználó szerepeljen az általunk definiált AuthUserFile
állományban.
|
|
Jelszófile létrehozása
|
A fentiekben tárgyalt AuthUserFile direktívával definiált file belső
szerkezetéről már tettem említést. A helyes fileformátum fenntartása érdekében
ajánlom a htpasswd parancs használatát, aminek segítségével
játszi könnyedséggel hozhatsz létre ilyen filet, illetve bővítheted a már meglevőt.
|
|
CGI
|
A web szerver eléggé kényes a cgi futtatásakor. Mindenképpen figyelj arra, hogy
a cgi file első sorában definiáld a Content-Type: taget (pl. Content-Type: text/html)
és utána mindenképpen irass ki legalább egy üres sort!
Perl esetén például, ha a
fejlesztés során bekapcsoltad a warning opciót, azaz a cgi forrás első sora:
#!/usr/bin/cgi -w akkor azt a biztonság kedvéért írd át: #!/usr/bin/perl-re.
A web szerver ugyanis nem fogja lefuttatni az olyan scriptet ami fordítás közben
warningokat generál!
|
|
Servletek, jsp file-ok telepítése
|
|
|
ASP
|
Asp weblapokat úgy jeleníthetsz meg, ha egyszerűen asp kiterjesztéssel látod el
őket.
Néhány hasznos adat arról, hogy a web szerver milyen oldalakat támogat:
- ASP 3.0
- VBScript and JScript 5.5
A web szerver természetesen a saját Asp, VBScript, JavaScript implementációit alkalmazza,
ezért vannak eltérések a MS-ASP-hez, MS-VBScripthez és MS-JScripthez viszonytva. Ezekről itt
tájékozódhatsz.
|
|
Ha adatbázist szeretnél elérni
|
A balun sajnos nincs lehetőséged adatbázis közvetlen elérésére. Azonban a KSZK
adatbázis szerver üzembehelyezését tervezi a közejövőben.
|
|
Könyvtár indexelés
|
A web szerver általi könyvtár indexelésre is van lehetőség amennyiben egy könyvtárban
nem helyezel el index.html file-t. Ekkor a web szerver az adott könyvtár tartalmát fogja
kilistázni.
|
|
Ha problémád van
|
Ha úgy érzed, hogy segítségre van szükséged, akkor írj nekem levelet a
sisi_pont_sch_pont_bme_pont_hu címre. Nagyon nagy probléma esetén
a 414-es szobában vagyok telefonon megtalálható.
|
|