Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Správa webserveru Přednáška 3 Apache. Obsah Historie Architektura Instalace –Windows –Unix Httpd.conf –Globální prostředí –Konfigurace serveru –Virtuální.

Podobné prezentace


Prezentace na téma: "Správa webserveru Přednáška 3 Apache. Obsah Historie Architektura Instalace –Windows –Unix Httpd.conf –Globální prostředí –Konfigurace serveru –Virtuální."— Transkript prezentace:

1 Správa webserveru Přednáška 3 Apache

2 Obsah Historie Architektura Instalace –Windows –Unix Httpd.conf –Globální prostředí –Konfigurace serveru –Virtuální hostitelé Moduly serveru Apache SSI, CGI, PHP, ISAPI Literatura

3 Historie –Vývoj začal v roce 1993 v NCSA (National Center for Supercomputing Aplications). –Původní jméno projektu bylo NCSA HTTPd. –V roce 1998 zastaven vývoj webserveru NCSA HTTPd. –Založena ová konference pro shromažďování záplat původního webserveru. –V roce 1995 vydána první veřejná verze –Založení Apache Group (základní vývojářský tým). –Od 1996 je Apache nejpopulárnější webserver na internetu. –V současné době je používán na 58% webových serverů.

4 Zastoupení web serveru na trhu

5 Vlastnosti –Podpora protokolu HTTP 1.1 –Konfigurace prostřednictvím textových souborů –Podpora rozhraní CGI (Common Gateway Interface) –Podpora rozhraní FastCGI –Podpora virtuálních hostitelských počítačů –Podpora autentizace v protokolu HTTP –Integrovaný jazyk Pearl –Podpora skriptování v jazyce PHP –Podpora javovských servletů –Podpora mechanizmu SSL (Secured Socket Layer)

6 Architektura Apache 1.x –Unix: nevláknový model Hlavní proces spustí sadu dětských procesů, které obsluhují požadavky. –Windows: více vláknový model Hlavní proces spustí jeden dětský proces, který obsluhuje požadavky pomocí vlákna.

7 Architektura Apache 2.x Moduly souběžného zpracování (multiprocessing module, MPM) –prefork (odpovídá modelu apache 1.3) Hlavní proces spustí sadu dětských procesů, které obsluhují požadavky. –threaded Hlavní proces spustí sadu dětských procesů, které obsluhují požadavky pomocí určitého počtu vláken (procesy jsou spuštěny pod stejným ID). –perchild Hlavní proces spustí sadu dětských procesů, které obsluhují požadavky pomocí určitého počtu vláken (procesy mohou mít různé ID). –mpm_winnt Hlavní proces spustí jeden dětský proces, který obsluhuje požadavky pomocí vláken.

8 Architektura

9 Instalace – UNIX –Stáhnout zdrojové kódy: –Rozbalit archív Např.: tar zxvf httpd tar.gz –Konfigurace překladu Pomoci skriptu configure (vytvoří pomocné soubory Makefile) Např.:./configure --prefix=/usr/local/apache2 --enable–all Vypsání všech parametrů konfiguračního skriptu (./configure -- help) –Překlad zdrojového kódu (kompilace) Pomoci utility make (vytvoření programu) –Instalace přeložených souborů Pomocí utility make s parametrem install (bude nainstalován do cílového adresáře, který byl specifikován prefixem) –Start a zastavení Apache Start – apachectl start Ukončení – apachectl stop

10 Instalace – Windows –Stažení binární verze: (lze stáhnout i zdrojové kódy) –Spustit instalátor a následovat instrukce Během instalace si program vyžádá zadání: Jméno domény (např.:localhost) Jména počítače (např.:mujcomp) administrátora Apache (uvedené informace se dají později změnit) –Spuštění a zastavení Apache Prostřednictvím nabídky start / programy/apache/control apache server/ start start / programy/apache/control apache server/ stop

11 Instalace – Windows

12 Konfigurace –Prostřednictvím textových souborů uložených adresáři conf/ http.conf (hlavní konfigurační soubor) Mime.type (svázání typu přípon s mime typem) Magic (odhadnutí MIME typu pomocí pár úvodních bytů souboru) –Ve starší verzi Apache ještě Srm.conf (správa adresářů a dokumentů, které jsou vystavovány na serveru) Access.conf (konfigurace přístupových práv) –Lokální konfigurační soubor.htaccess

13 Předkonfigurované distribuce Výhody –Vzhledem k obtížnosti administrace apache, mysql,.. Jsou tyto balíky vhodné pro developery webových aplikací Nevýhody –Ve většině případů jsou určeny pouze k testovacím účelům a nelze je použít pro nasazení v produkčním prostředí Například: –XAMPP - –PHP Triad - –PHP Home -

14 XAMPP –Apache –MySQL –PHP + PEAR –Perl –OpenSSL –phpMyAdmin –Webalizer –JpGraph –FileZilla FTP Server –Mcrypt –eAccelerator –SQLite –WEB-DAV –Mercury Mail Transport System

15 Nástroje Grafické nástroje pro administraci –Comanche –Mohawk Nástroje pro správu logovacích souborů –AWStarts –Weblizer

16 Comanche, Mohawk

17 AWStats, Weblizer

18 Formátovací specifikace –Ukončení řádky – CLRF(carriage return plus a line feed) -\r\n –Formátování hlavičky – Header-Name: value –Formát data – Tue, 21 May :34:56 GMT –Kódování URL – viz dále

19 httpd.conf Globální prostředí –Určení kořenového adresáře, nastavení spojení s klientem nastavení správy procesů, Nastavení prostředí TCP/IP, aktivace rozšiřujících modulů. Konfigurace serveru –Nastavení jména serveru, vlastností adresářů, externího konfiguračního souboru, virtuálních adresářů, přesměrování, znakových sad, SSI, proxy, …. Virtuální servery –Konfigurace virtuálních serverů

20 Globální prostředí –ServerRoot - hlavní adresář webového serveru –Moduly souběžného zpracování - modul MPM –prefork – předběžné vytváření, threaded – vláknový modul (procesy mají stejné ID), perchild – vláknový modul (procesy mohou mít různé ID), mpm_winnt_module – vláknový modul ServerRoot “C:/apache” # počet vláken, které může vytvořit jeden proces ThreadsPerChild 250 # počet požadavků, které smí dceřiný proces obsloužit MaxRequestsPerChild 0

21 Globální prostředí –Listen - specifikuje IP adresu a port na kterém web server komunikuje (lze zadat i více adres a portů) –LoadModule - dynamické objekty, které jsou zaváděny až při spuštění webového serveru (nejsou součástí zkompilovaného webserveru Listen 80 LoadModule actions_module modules/mod_actions.so

22 Konfigurace serveru –ServerAdmin - na admina, který se zobrazuje na serverem generovaných stránek –ServerName - slouží k nastavení hostitelského jména serveru –DocumentRoot - cesta k adresáři nejvyšší úrovně –Directory – slouží k nastavení chování adresáře ServerAdmin ServerName localhost:80 DocumentRoot "C:/apache/htdocs" …

23 Konfigurace serveru –IfModule – slouží k ošetření aktivnosti modulu –IfDefine – umožňuje vytvářet podmínečné konfigurace … …

24 Konfigurace serveru –Include – umožňuje zahrnout do konfigurace externí soubor –AccessFileName – specifikuje jméno souboru řídícího přístup do adresáře –DefaultType – nastavení implicitního typu obsahu –AddDefaultCharset – definuje standardní znakovou sadu pro hlavičku Content-Type Include conf/extra/httpd-default.conf AccessFileName.htaccess DefaultType plain/text AddDefaultCharset utf-8

25 Konfigurace serveru –ContentDigest – generuje hlavičku s kontrolním součtem celého obsahu těla dokumentu pomocí MD5 –Options – definuje, které rysy serveru jsou v daném adresáři k dispozici –Port – přiřazuje hostitelské číslo portu od 0 do –ServerSignature – zápatí pro stránky generované serverem ContentDigest On Options Indexes Includes MultiViews ExecCGI … Port 80 ServerSignature On

26 Konfigurace serveru –AddModule - zavedení předkompilovaného modulu –ClearModuleList – slouží k vymazání dynamického načítání modulů AddModule ClearModuleList

27 Konfigurace serveru –ErrorLog - ukazuje na protokolový soubor vyhrazený pro zaznamenávání chyb –CustomLog - nastavení cesty k logovacímu souboru –LogLevel - nastavení úrovně protokolování –ErrorDocument – vygenerování standardní hlášení s chybovým kódem ErrorLog logs/error.log CustomLog logs/access.log common LogLevel warn ErrorDocument 500 “Serveru se nechce pracovat.”

28 Virtuální hostitelé –NameVirtualHost – slouží k používání virtuálních hostitelů podle jména –ServerAlias – umožňuje definovat alias pro primární hostitelské jméno –ServerPath – nastavuje cestu URL hostitele, používí se pro podporu prohlížečů, které nevyhovují protokolu HTTP 1.1 – -kontejnerová direktiva specifikující konfiguraci virtuálního hostitele NameVirtualHost *:80 ServerName mojedomena.cz ServerAlias ServerPath /websites

29 Moduly Modulů pro webový server Apache je velké množství, ale pouze některé jsou součástí standardní distribuce serveru Apache. –Moduly pro konfigurování typu obsahu mod_mime, mod_mime_magic, mod_negotiation –Moduly pro tvorbu adresářových výpisů mod_dir, mod_autoindex –Moduly pro mapování URL mod_userdir, mod_rewrite, mod_alias, mod_spelind,… –Informační a protokolové moduly serveru mod_log_config, mod_status, mod_info, mod_usertrack –…

30 Moduly pro konfigurování typu obsahu –mod_mime – umožňuje serveru určovat typ MIME na základě rozšíření souboru AddCharset, AddEncoding, AddHandler, AddLanguage, AddType, DefaultLanguage, ForceType, SetHandler, RemoveHandler, TypesConfig –mod_mime_magic – dovoluje serveru určovat typ MIME pomocí magických čísel (bajtového vzoru) MimeMagicFile –mod_negotiation – umožňuje dojednávat typ odesílaného obsahu CacheNegotiatedDocs, LanguagePriority

31 Moduly pro tvorbu adresářových výpisů –mod_dir – základní obsah adresáře DirectoryIndex –mod_autoindex – automatický výpis adresáře Addalt, AddAltByEncoding, AddAltByType, AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, IndexOrderDefault, ReadmeName

32 Moduly pro mapování URL –mod_userdir – zpřístupňuje osobní webové stránky Userdir –mod_rewrite – vytváří přepisovací pravidla pro lokátory URL RewriteEngine,RewriteOptions, RewriteRule, RewriteCond, RewriteMap, RewriteBase,RewriteLog, RewriteLogLevel, RewriteLock –mod_alias – mapuje části hostitelského souborového systému do dokumentového stromu Alias, AliasMatch, Redirect, RedirectMatch, RedirectTemp, RedirectPermanent, ScriptAlias, ScriptAliasMatch

33 Moduly pro mapování URL –mod_spelind – automatická korekce menších typografických chyb v lokátorech URL CheckSpelling –mod_vhost_alias – podpora dynamické konfigurace viruálních hostitelů VirtualDocumentRoot, VirtualDocumentRootIP, VirtualScriptAlias, VirtualScriptAliasIP

34 Informační a protokolové moduly –mod_log_config –vytváří konfigurovatelný záznam o přístupech klientů na server TransferLog, Logformat, CustomLog, CookieLog –mod_status – zobrazuje stavové informace SetHandler sever-status –mod_info – zobrazuje informace o konfiguraci serveru SetHandler server-info, AddModuleInfo –mod_usertrack – umožňuje sledovat uživatele pomocí cookies protokolu HTTP CookeiExpires, CookieTracking

35 SSI (Server Side Includes) Direktivy SSI provádějí např.: –Vložit do dokumentu obsah jiného dokumentu –Vložit do dokumentu konkrétní údaj –Spustit zadaný program a jeho výstup vložit do dokumentu –… Direktivy SSI –#set, #printenv, #include, # fsize, #flastmod, #echo, #exec, #config, … Provoz SSI na Apache –mod_include – umožňuje používat serverem vkládané vsuvky Options Includes AddType text/plain.shtml AddHandler server-parsed.shtml

36 CGI (Common Gateway Interface) CGI skript je externí program, který je spuštěn na základě požadavku. –mod_cgi, mod_cgid (pro MPM- Vytváří proces typu démon, který vytváří procesy pro CGI) Provozovat CGI na Apache: –Nastavením adresáře s CGI-skripty Vlastní práva k adresáři se nastavují v direktivě –Specifikace typu MIME –Ve vlastnosti adresáře musíme povolit Options ExexcCGI AddType application/x-httpd-cgi.cgi AddHandler cgi-script.cgi ScriptAlias /cgi-bin/ “C:/apache/cgi-bin/”

37 PHP: Hypertext Preprocessor Provozovat PHP na Apache lze prostřednictvím: –CGI –Modul Hlavním konfiguračním souborem PHP je soubor php.ini LoadModule php_module “C:/apache/php/php5apache2.dll” AddType applocation/x-httpd-php.php PHPIniDir “C:/apache/php” ScriptAlias /php/ “C:/apache/php” AddType applocation/x-httpd-php.php.php Action application/x-httpd-php “/php/php-cgi.exe”

38 ISAPI ISAPI (Internet Server Application Program Interface) je množina funkcí ve Windows, která umožňuje vytvářet Web serverové aplikace, které budou rychlejší než Common Gateway Interface (CGI) aplikace. Nevýhoda CGI aplikace je, že při každém jejím volání se spustí v samostatném procesu v jeho vlastním adresovacím prostoru, což je nevýhodné zvláště při spuštění mnoha uživateli. Provozovat ISAPI na Apache: –mod_isap – dovoluje zavádět a spouštět aplikace vycházející z rozhraní ISPI (internetové serverové aplikační programové rozhraní) AddHandler isapi-isa.dll

39 Zdroje Literatura –Apache Server 2, Kompletní příručka administrátora, Mohammed J. Kabir, Computer press –Apache, Příručka správce WWW serveru, Vlastimil Pošmura, Computer Press –Open Source – vývoj webových aplikací (Linux, Apache, MySQL, PHP a Perl), James Lee, Brent Ware, Computer press –Linux – administarce serveru Apache, Charles Aulds, Grada –Linux, Apache, MySQL a PHP,Eric Rosebrock, Eric Filson, Grada Odkazy –Apache – –PHP –


Stáhnout ppt "Správa webserveru Přednáška 3 Apache. Obsah Historie Architektura Instalace –Windows –Unix Httpd.conf –Globální prostředí –Konfigurace serveru –Virtuální."

Podobné prezentace


Reklamy Google