Správa webserveru Přednáška 3

Slides:



Advertisements
Podobné prezentace
© 2000 VEMA počítače a projektování spol. s r. o..
Advertisements

Systém Drupal a nejen školní weby
Webové rozhraní pro datové úložiště
Obecně o operačních systémech
Ing. Jan Mittner MySQL Workbench 2. Základy práce s databází 3. Subversion 2.
Rozšíření systému pro zátěžové testy o SOAP a agenty Zbyněk Pyšný.
HTTP server HTTP server 1 Jak to funguje?
HYPERTEXT PREPROCESSOR. JAZYK PHP. Jazyk PHP (Hypertext PreProcessor) je intepretovaný jazyk určený pro web. Je celkem jednoduchý, snadno přenositelný.
Pavel Dvořák Gymnázium Velké Meziříčí Počítačové sítě – služba WWW Registrační číslo projektu: CZ.1.07/1.5.00/ Datum: Jazyk: čeština.
Internetové publikování Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111)
Návrh a tvorba WWW Cvičení 6
PHP – vkládání souborů a html 5
Základy informatiky Internet Ing. Roman Danel, Ph.D. Institut ekonomiky a systémů řízení Hornicko – geologická fakulta.
Tvorba webových aplikací
Apache Tomcat Vlastimil Flegl. Apache Tomcat  Kontejner servletu  Bezproblémový běh Java aplikací na serveru  Tomcat – nadstavba serveru Apache  Verze.
Apache, PHP, MySQL Lukáš Masopust Web server Apache Aplikace schopná zpracovat HTTP požadavek Nejpoužívanější Web server Vytváří ho The Apache.
Internetové technologie Informatika pro ekonomy II přednáška 8.
ESTUP – Elektronické STUdentské Práce, Martin Pešava 2006, Brno Systémy pro zpřístupňování VŠKP: zkušenosti, možnosti, nabídky, potřeby... Systém pro eVŠKP.
Vytvoření řadiče Windows Serveru Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec.
Internet, WWW, HTML a spol.. Hlavní zásady inženýrství reprodukovatelnost měřitelnost a parametrizovatelnost přenositelnost typizace a standardizace dokumentace.
Návrh a tvorba WWW Přednáška 1
PHP – Základy programování
Aplikace VT v hospodářské praxi internetové technologie Ing. Roman Danel, Ph.D. VŠB – TU Ostrava.
Load Balancer RNDr. Václav Petříček Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný
Ing. Jan Mittner Základy MVC 2. Rozšíření layoutu 3. helpery 4. Bootstrap a přepis URL adres 2.
Maturitní okruh 22: Úvod do HTML. Značkovací a klasické jazyky Klasické: převládá strukturovaný text (programovací kód), skripty jsou prováděny na straně.
Jazyk PHP Programovací jazyk PHP (Hypertext preprocessor) je skriptovací jazyk, který běží na straně serveru. KLIENT - SERVER Server posílá do vašeho počítače.
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
Internet.  Celosvětový systém propojených počítačů  Funkce  Sdílení dat  Elektronická pošta.
Dynamické dokumenty na straně serveru Informatika pro ekonomy II přednáška 8.
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
CZ.1.07/1.4.00/ VY_32_INOVACE_168_IT 9 Výukový materiál zpracovaný v rámci projektu Vzdělávací oblast: Informační a komunikační technologie Předmět:Informatika.
INTERNET – struktura, fungování a přehled využití
1 I NTERNETOVÁ INFRASTRUKTURA. H ISTORIE SÍTĚ I NTERNET RAND Corporation – rok 1964 Síť nebude mít žádnou centrální složku Síť bude od začátku navrhována.
URL v HTML URL - Unique Resource Locator Příklad:
Název školy: Autor: Název: Číslo projektu: Název projektu: SŠ spojů a informatiky Tábor Petr Vlach VY_32_INOVACE_OS_19 CZ.1.07/1.5.00/ Moderní škola.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
SAMBA umožňuje linuxovému systému sdílení prostředků a služeb prostřednictvím sítě používá SMB (server message block) protocol - identický protokolu.
PHP PHP - úvod - 02 Mgr. Josef Nožička IKT PHP
Úvod do PHP IZI 228.
Shrnutí Chceme–li připojit PC k Internetu musíme: 1.Zadat adresu DNS serveru (začne pracovat převod IP adresa  symbolické jméno), prakticky začne fungovat.
1 Protokol HTTP (Hypertext Transfer Protocol) HTTP je základem systému „World Wide Web“ (WWW) - Web … HTTP – jednoduchý protokol aplikační vrstvy, transport.
Správní a dopravně správní evidence - IISSDE RNDr. Jiří Malátek Zástupce ředitele OIVS MV
Internet.
Seminář 12 Obsah cvičení Transportní služby Utilita nestat
Přístup k databázím z WWW PHP+MySQL. Síť WWW je v současné době místem pro dynamické, často databázemi řízené webové aplikace. Tvorba webového serveru.
Vzdálená správa Tomáš Kalný.
OPERAČNÍ SYSTÉMY.
INTERNET.
doc. RNDr. Zdeněk Botek, CSc.
Internetové technologie Informatika pro ekonomy přednáška 7.
PHP Programy pro tvorbu WWW stránek - 01
Balíky Hlavní balík - main - zatím jsme s jiným nepracovali Rozdělují tzv. namespaces = množiny jmen pro proměnné $lemma = "cukr"; znamená $main::lemma.
Ivana Topolová VŠE v Praze
HYPERTEXT PREPROCESSOR. JAZYK PHP. VYUŽITÍ JAZYKA Programování dynamických internetových stránek a webových aplikací vytvoření šablony webu kniha návštěv.
PV175 SPRÁVA MS WINDOWS I Podzim 2008 Síťové služby Administrátor systému: Pracovní doba administrátora se sestává z výměny magnetických pásek v zálohovacích.
Internetové technologie Informatika pro ekonomy přednáška 7.
Unix a Internet 6. Webový server © Milan Keršlágerhttp:// Obsah: ● WWW, webový.
Internet. je celosvětový systém navzájem propojených počítačových sítí („síť sítí“), ve kterých mezi sebou počítače komunikují pomocí rodiny protokolů.
 = jedná se o vzájemné propojení lokálních počítačových sítí pomocí vysokorychlostních datových spojů  vznikl spojením mnoha menších sítí  v každé.
Redakční systém – Content management system (CMS), publikační systém – Správa obsahu webu – Jednoduché publikování textů – Modulárnost (instalace doplňků)
Odborný výcvik ve 3. tisíciletí Tato prezentace byla vytvořena v rámci projektu.
HYPERTEXT PREPROCESSOR. JAZYK PHP. VYUŽITÍ JAZYKA Programování dynamických internetových stránek a webových aplikací vytvoření šablony webu kniha návštěv.
FTP-SSL FTP-SSL Martin Dušek Martin Fúsek Josef Vlček.
Internet – pojmy, služby
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o, Orlová Lutyně
Seminář 11 DHCP + HTTP + IPTABLES
Internetové technologie
Web Application Scanning
TELNET, FTP.
Transkript prezentace:

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

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

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 e-mailová konference pro shromažďování záplat původního webserveru. V roce 1995 vydána první veřejná verze 0.6.2. 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ů.

Zastoupení web serveru na trhu

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)

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.

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.

Architektura

Instalace – UNIX Stáhnout zdrojové kódy: http://httpd.apache.org/download.cgi Rozbalit archív Např.: tar zxvf httpd-2.0.55.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

Instalace – Windows Stažení binární verze: http://httpd.apache.org/download.cgi (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) e-mail administrátora Apache (např.:admin@domena.cz) (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

Instalace – Windows

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

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 - www.xampp.org PHP Triad - http://sourceforge.net/projects/phptriad/ PHP Home - http://sourceforge.net/projects/phphome/

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

Nástroje Grafické nástroje pro administraci Comanche http://www.comanche.org Mohawk http://everythinglinux.org/Mohawk/index.html Nástroje pro správu logovacích souborů AWStarts http://awstats.sourceforge.net Weblizer http://www.mrunix.net/webalizer

Comanche, Mohawk

AWStats, Weblizer

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 2002 12:34:56 GMT Kódování URL – viz dále

httpd.conf Globální prostředí Konfigurace serveru Virtuální servery 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ů

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” <IfModule mpm_winnt.c> # 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 </IfModule>

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

Konfigurace serveru ServerAdmin - email 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 admin@domena.cz ServerName localhost:80 DocumentRoot "C:/apache/htdocs" <Directory adresář> … </Directory>

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

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

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 65 535 ServerSignature – zápatí pro stránky generované serverem ContentDigest On Options Indexes Includes MultiViews ExecCGI … Port 80 ServerSignature On

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

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.”

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 <VirtualHost> -kontejnerová direktiva specifikující konfiguraci virtuálního hostitele NameVirtualHost *:80 <VirtualHost *:80> ServerName mojedomena.cz ServerAlias www.mojedomena.cz ServerPath /websites </VirtualHost>

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 …

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

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

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

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

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

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

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ě <Directory> Specifikace typu MIME Ve vlastnosti adresáře musíme povolit Options ExexcCGI ScriptAlias /cgi-bin/ “C:/apache/cgi-bin/” AddType application/x-httpd-cgi .cgi AddHandler cgi-script .cgi

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

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

Zdroje Literatura Odkazy 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 – http://httpd.apache.org PHP – http://www.php.net