Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Alkalmazott Informatikai Tanszék

Hasonló előadás


Az előadások a következő témára: "Alkalmazott Informatikai Tanszék"— Előadás másolata:

1 Alkalmazott Informatikai Tanszék
Apache web kiszolgáló Dr. Nehéz Károly egyetemi adjunktus Miskolci Egyetem Alkalmazott Informatikai Tanszék 2004

2 Apache Web kiszolgáló National Center for Super Computing Applications (NCSA) web kiszolgálót készített 1995 elején. A projekt megállt, egy független csoport folytatta a fejlesztést. (Apache Group) Átkeresztelték Apache-ra -> Apache 1.0 megjelenése dec. 1. Szinte minden platformon működik

3 Apache tulajdonságai http 1.1 protokoll (Hyper-Text Transport Protocol) támogatása. Web böngészők párhuzamos kéréseit is képes kiszolgálni. (jelentős sebesség növekedés) fájl alapú, egyszerű szerver konfiguráció CGI támogatás (Common Gateway Interface) FastCGI támogatás Virtuális host-ok HTTP (azonosítás) authentication beépített PERL szkript lehetőség PHP támogatás Java Servlet (JSP) támogatás beépített proxy szerver szerver oldali include-ok (web fejlesztőknek) Secure Socket Layer (SSL) támogatás rugalmas loggolás és monitorozás

4 FAST CGI támogatás kliens web szerver CGI program kérés (1) indítás
(2) (3) kimenet válasz (4) (5) leállás hagyományos CGI kérés belső (elvi) megvalósítása

5 FAST CGI támogatás web szerver Fast CGI (0)
elindítás a szerver elindulásakor kliens CGI program kérés (1) kapcsolat és transzfer (2) kliens web szerver válasz (4) (3) kapcsolat megszakítás FastCGI

6 Virtual hosts Egy kiszolgálón több különböző címen elérhető tartalmat lehet beállítani. pl. # példa httpd.conf file ServerName main.server.com Port 80 ServerAdmin DocumentRoot “/www/main/htdocs” ScriptAlias /cgi-bin/ “/www/main/cgi-bin/” Alias /images/ “/www/main/htdocs/images/” <VirtualHost > ServerName vhost1.server.com ServerAdmin DocumentRoot “/www/vhost1/htdocs” ScriptAlias /cgi-bin/ “/www/vhost1/cgi-bin/” </VirtualHost> <VirtualHost > ServerName vhost2.server.com ServerAdmin DocumentRoot “/www/vhost2/htdocs” ScriptAlias /cgi-bin/ “/www/vhost2/cgi-bin/” Alias /images/ “/www/vhost2/htdocs/images/” A címr megadásakor a /www/vhost1/htdocs/index.html töltődik le. A címr megadásakor a /www/vhost2/htdocs/index.html töltődik le.

7 HTTP azonosítás (authentication) (7)
authentication - azonosítás authentication - azonosítás web böngésző web szerver védett fájl lekérése (1) (2) Status: 401 „Authorization required” felhasználó jelszó (3) (4) név és jelszó küldés védett fájl lekérése azonosítás (5) védett fájl elküldése sikeres azonosítás esetén (5) sikertelen azonosítás esetén újra jelszókérés védett fájl lekérése (1) web böngésző web szerver (2) Status: 401 „Authorization required” felhasználó jelszó (3) (4) név és jelszó küldés védett fájl lekérése azonosítás (5) védett fájl elküldése sikeres azonosítás esetén (5) sikertelen azonosítás esetén újra jelszókérés

8 JSP támogatás előnyei JSP (Java Server Page) szervletek
platform független, egyszerű telepítés osztott rendszerben a szervlet egy új szálban fut, nem indul új folyamat (process) JDBS adatbázis kapcsolat. Gyors kapcsolatok kis erőforrásigény CGI-al összehasonítva. A JVM virtuális gépben futó szervletek jobb biztonsági követelményeket is kielégítenek. (tomcat installálás kell!)

9 Proxy szerver Forward proxy server Internet Router Forward Proxy
a felhasználó hostokon be kell állítani a proxy szervert a távoli gépek a proxy szervert látják, a hostokat nem a proxy csak akkor kér új adatot, ha szükséges Internet Router Forward Proxy Server HUB host

10 Proxy szerver Reverse proxy server
az internetes felhasználók csak a proxyt ‘látják’ a reverse proxy irányítja a kéréseket az intranet felé Internet Router Reverse Proxy Server HUB host web server

11 Proxy szerver Példa proxy beállítás: <Directory proxy:*>
ide menti a letöltött oldalakat Példa proxy beállítás: <Directory proxy:*> CacheRoot /www/cache CacheSize 1024 CacheMaxExpire 24 </Directory> a mérete 1MB elévülési idő 24 óra

12 Az Apache szerver konfigurációja
A konfiguráció direktívákon (iránymutatókon) keresztül történik. A direktíva szabályok a következő információkat tartalmazzák: syntax: a direktíva neve és minden lehetséges argumentuma default setting: alapbeállítás context: az a kontextus (szövegkörnyezet) ahol a direktíva érvényes AllowOverride: alkönyvtáranként megadott (.htaccess) direktívák érvényesülnek.

13 Apache direktíva kontextus (context)
A direktívák hatóterületei: server config context: a direktíva az elsődleges konfigurációs fájlban jelenik meg. container context: a direktívát egy tároló tartalmazza. pl: <Container_name> Directive </Container_name>. per-directory context: a direktívák alkönyvtáronként adottak (.htaccess)

14 Container kontextus <VirtualHost ...> ... </VirtualHost> a direktíva egy virtuális kiszolgálón érvényes <Directory ...> ... </Directory> a direktíva egy adott könyvtáron és alkönyvtárain belül érvényes. <DirectoryMatch regex> ...<DirectoryMatch > a diraktíva azokra a könyvtárakra érvényes amelyben a (reguláris) kifejezés igaz. pl: <DirectoryMatch “^/web/dir[1-3]/”> ... </DirectoryMatch> ami azt jelenti, hogy a következő könyvárakban érvényes a direktíva: /web/dir1, /web/dir2 és /web/dir3. <Location ...> ... </Location> az adott URI-n érvényes. (Unified Resource Identifier) URI gyűjtőfogalom: (URL (Unified Resource Location), URN (Unified Resource Name), URC (Uniform Resource Characteristics) , LIFN (Location-Independent File Names)

15 Container kontextus <Files ...> ... </Files> fájlokon érvényes <FilesMatch regex> ... </FilesMatch> azokon a fájlokon érvényes, amelyekre igaz a reguláris kifejezés. pl: <FilesMatch “\.(doc|txt)$”> ... </FilesMatch> a .doc és .txt kiterjesztésű fájlokra érvényes

16 Példa <VirtualHost 193.5.4.234> ServerName www.uni-miskolc.com
DocumentRoot “/www/public/htdocs” DirectoryIndex begin.html <Location /members/> DirectoryIndex login.html </Location> </VirtualHost> <VirtualHost> tárló (container) segítségével létrehozunk egy virtuális kiszolgálót a es címen. Index fájl begin.html. (ez lesz az alapértelmezés szerinti) a esetén a login.html lesz a szerver válasza.

17 Általános konfigurációs direktívák
AccesFileName Syntax: AccessFileName filename [filename ...] Default setting: AccessFileName .htaccess Context: Server config, virtual host Meghatározza az alkönyvtáronkénti elérés control fájl nevét. AddDefaultCharset Syntax: AddDefaultCharset On | Off | charset Default setting: AddDefaultCharset Off Context: All Alapértelmezett karakterkészlet. DefaultType Syntax: DefaultType mime-type Default setting: DefaultType text/html Override: FileInfo A dokumentum alapértelmezett típusa. Ha egy könyvtár kiterjesztés nélküli txt állományokat tartalmaz, akkor a következő direktíva mutatja, hogy azokat text fáljnak kell értelmezni. <Directory /www/public/htdocs/data> DefaultType plain/text </Directory>

18 Általános konfigurációs direktívák
DocumentRoot Syntax: DocumentRoot “directory_path” Default setting: DocumentRoot “c:/apache/htdocs” Context: Server config, virtual host A szerver dokumentum gyökér könyvtára ErrorDocument Syntax: ErrorDocument error_code [filename | error_message | URL] Default setting: None Context: All Override: FileInfo Hiba esetén a megadott fájlt (szöveget) adja vissza a szerver. pl: ErrorDocument 404 “Elnézést, de a keresett oldal nem található. %s “

19 Általános konfigurációs direktívák
Options Syntax: Options [+|-]option [+|-]option ... Default setting: None Context: All Érték Jelentés None nincs beállítva opció All minden bekapcsolva kivétel: MultiViews ExecCGI CGI szkriptek elindítása engedélyezett FollowSymLinks A szerver követi a szimbolikus linkeket az egyes alkönyvtárakban Includes SSI (server side includes) engedélyezve IncludesNOEXEC SSI (server side includes) engedélyezve, kivétel az #exec Indexes ha nincs index.html, akkor a szerver az alkönyvtár lekérése esetén készít egy indexet a fájlokról SymLinksIfOwnerMatch A szerver csak azokat a szimbolikus linkeket követi ahol a célfájl (vagy könyvtár) és a link tulajdonosa azonos. MultiViews A dokumentum nyelve alapján lehetővé teszi a tartalomegyeztetést.

20 Általános konfigurációs direktívák
Port Syntax: Port number Default setting: Port 80 Context: Server config Beállítja szerver portszámát. Csak a rendszergazda allokálhat 1024-alatti portokat. Serveradmin Syntax: ServerAdmin _address Default setting: None Context: Server config, virtual host adminisztrátor címe ServerName Syntax: ServerName name A szerver neve. Az apache indításkor az alapértelmezett DNS (domain name server) szervertől megkisérli lekrérdezni a domain nevet.

21 Általános konfigurációs direktívák
AddModule Syntax: AddModule module module ... Default setting: None Context: Server config Betölt egy előre lefordított modult, ezzel lehetőség nyílik a szerver funkcióinak bővítésére.

22 Apache web szerver gyakorlat
Töltsük le a web szervert a címről és telepítsük a 8080-as portra. Telepítsük az uniserver csomagot, ami Php, MySQL, Apache csomagokat egyben tartalmazza. Hozzunk létre egy saját html lapot és tegyük közzé a szerveren Konfiguráljuk a szervert cgi futtatáshoz: pl: a legegyszerűbb cgi c-ben: void main(void) { printf(”Content-type: text/html\n\n”); printf(”<html> <body><h1> Hello CGI! </h1> </body> </html>”); }


Letölteni ppt "Alkalmazott Informatikai Tanszék"

Hasonló előadás


Google Hirdetések