FAKULTA INFORMAČNÍCH TECHNOLOGIÍ
|
|
- Andrea Bláhová
- před 6 lety
- Počet zobrazení:
Transkript
1 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÝCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS SYSTÉM PRO ŘÍZENÍ VIRTUÁLNÍCH SERVERŮ BAKALÁŘSKÁ PRÁCE BACHELOR S THESIS AUTOR PRÁCE AUTHOR DAVID KARBAN BRNO 2008
2 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÝCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS SYSTÉM PRO ŘÍZENÍ VIRTUÁLNÍCH SERVERŮ SYSTEM FOR VIRTUAL SERVER ADMINISTRATION BAKALÁŘSKÁ PRÁCE BACHELOR S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR DAVID KARBAN Ing. KAŠPÁREK TOMÁŠ BRNO 2008
3 Abstrakt S nárůstem výkonu počítačových sestav se rozvíjí trend virtualizace počítačů. Na jednom fyzickém počítači může být virtualizováno i několik samostatných počítačů virtuálních. Toho se využívá v mnoha oblastech, ve vývoji jader operačních systémů, testování nového software, výzkumu chování virů, pro úspory na HW. Na druhé straně se zvyšují nároky na správu takového počítače. Tato práce se zabývá vytvořením systému, který by umožnil zmenšit negativní dopady virtualizace na správu virtuálních počítačů. Cílem práce je vytvořit obecné rozhraní pro ovládání virtualizovaných počítačů s možností přizpůsobení na konkrétní konfigurace. Práce popisuje vývoj takového systému od specifikace požadavků, přes analýzu a návrh aplikace až k její implementaci. Klíčová slova virtualizace, linux-vserver, xml-rpc, ssh, C, mysql, bash Abstract There is coming trend of virtualization on modern computers. One computer may act like host for several guest virtualized computers. This has many advantages, like for kernel development, software testing, virus behaviour testing, saving HW resources. On the other hand, complexity of computer maintenance is growing too. This bachelor thesis describes a system, that can be used for management of many virtual servers and lower the manageability overhead. This work will create a generic control interface for virtualized computers. Interface will be adaptable and extendible. The development of this system is described from specification through analysis to concept and implementation of application. Keywords virtualization, linux-vserver, xml-rpc, ssh, C, mysql, bash Citace David Karban: Systém pro řízení virtuálních serverů, bakalářská práce, Brno, FIT VUT v Brně, 2008
4 Systém pro řízení virtuálních serverů Prohlášení Prohlašuji, že jsem tuto bakalářskou práci vypracoval samostatně pod vedením pana Ing. Kašpárka Tomáše. Uvedl jsem všechny literární prameny a publikace, ze kterých jsem čerpal David Karban 26. ledna 2009 Poděkování Tímto bych chtěl poděkovat panu Ing. Tomášovi Kašpárkovi. Za rady a odbornou pomoc při vedení bakalářské práce. Děkuji také všem těm, co mi poskytli podporu a sílu se do toho pustit. Bez nich by tato práce nikdy nevznikla. c David Karban, Tato práce vznikla jako školní dílo na Vysokém učení technickém v Brně, Fakultě informačních technologií. Práce je chráněna autorským zákonem a její užití bez udělení oprávnění autorem je nezákonné, s výjimkou zákonem definovaných případů.
5 Obsah 1 Úvod 3 2 Specifikace požadavků Problémy vzniklé virtualizací Popis služeb Funkční požadavky Nefunkční požadavky Analýza Diagram činností Datová analýza Server Služby web a ftp Služba mail Analýza sít ové části aplikace a komunikačního rozhraní Metody RPC Podrobný rozbor metod XML-RPC a SSH Návrh a implementace Použité technologie Linux-vserver Jazyk C Mysql Bash shell Návrh aplikace Autentifikace a šifrování Cesta požadavku Komunikační interface Závěr 29 1
6 Seznam použitých termínů démon aplikace obsluhující službu, např. webserver guest host virtualizovaný počítač běžící na hostu fyzický počítač, hostitel pro virtuální počítače ovládací konzole aplikace posílající požadavky pomocí RPC RPC vzdálené volání procedur server fyzický nebo virtuální počítač poskytující jednu nebo více služeb VSM Virtual server management 2
7 Kapitola 1 Úvod S nárůstem výkonu počítačových sestav se začal rozvíjet trend jejich virtualizace, kdy je na jednom fyzickém počítači virtualizováno několik samostatných počítačů. Toho se využívá v mnoha oblastech, například při výzkumu virů, pro úsporu množství fyzických počítačů. Virtualizace se také používá pro zlepšení bezpečnosti umístěním služeb do samostatných virtualizovaných počítačů. Existuje několik metod virtualizace, od izolace procesů, kdy dochází pouze k větší izolaci procesů, až po emulování celé architektury. Každá z metod má odlišnou náročnost a spotřebu systémových zdrojů. Metoda emulace celé architektury je nejnáročnější na systémové zdroje ale dokáže emulovat libovolnou architekturu. Je z virtualizačních metod nejpomalejší, běžné je i 100násobné zpomalení běhu aplikace. Na této metodě pracuje emulátor Bochs 1. Ostatní virtualizační řešení nepodporují libovolné architektury, dokáží virtualizovat pouze hostitelovu architekturu. Metoda plné virtualizace používá předřazenou jednotku (hypervizor). Tato jednotka zachytává instrukce, které je třeba emulovat. Ostatní instrukce jsou prováděny přímo. Operační systém běžící pod hypervizorem nemusí být modifikován. Další používanou metodou je metoda paravirtualizace, která se podobá metodě plné virtualizace. Narozdíl od ní ale spolupracuje s virtualizovaným operačním systémem. Díky této spolupráci je virtualizace rychlejší než u plné virtualizace. Tuto metodu používají například XeN 2, VMware 3. Metoda virtualizace na úrovni operačního systému je ze všech metod nejrychlejší, ale také toho umí nejméně. Pracuje na úrovni operačního systému, v principu jde o rozšířenou izolaci procesů. Tento druh virtualizace podporuje pouze stejný operační systém a stejnou architekturu jako hostitelský systém. Systémy používající tento druh virtualizace jsou například linux-vserver 4 a openvz 5. Při používání virtualizace je třeba odlišit virtualizovaný systém od systému, na kterém běží virtualizace. Pro tyto účely zavádíme pojem host, to je hostitelský počítač a guest, to je virtualizovaný počítač běžící na hostu. Virtualizace s sebou přináší také nevýhody, dochází k ztížení správy počítače, na místo jednoho operačního systému je jich několik, s různou konfigurací a požadavky na ni. Tato
8 situace je podobná řešení s větším množstvím počítačů, tzv. clusterem, dochází ke stejnému nárustu složitosti správy a v tomto případě i k nárustu finanční náročnosti. Cílem této práce je zjednodušit správu virtuálních počítačů, vyvinout aplikaci, pomocí které lze spravovat služby a software z jednoho bodu. Použité řešení bude primárně orientováno na platformu GNU/Linux a virtualizační technologii linux-vserver. Řešení bude rozšiřitelné i na jiné virtualizační metody a operační systémy. Použité řešení bude nasazeno na mém webhostingovém serveru. Používám na něm technologii linux-vserver pro izolaci jednotlivých služeb. Na jednom počítači mám 7 virtuálních počítačů. Pro jejich správu je nutné se vždy přihlásit na virtuální počítač a provést požadované operace a toto opakovat pro každý zvlášt. Nasazením řešení dojde k zmenšení nároků na administraci systému. Kapitola 2 popisuje problémy vzniklé nasazením virtualizace a z nich vyvozuje specifikaci požadavků kladených na vyvíjený systém. Požadavky jsou rozepsány na úroveň popisu jednotlivých služeb a procesů nutných k jejich správě. Kapitova 3 popisuje analýzu datové, aplikační a transportní části systému. Kapitola 4 popisuje návrh, použité technologie a způsob implementace aplikace. 4
9 Kapitola 2 Specifikace požadavků Tato kapitola se zabývá specifikací požadavků kladených na vývoj systému. V první části nastíní problémy vzniklé nasazením virtualizačního řešení. Dále se bude věnovat popisu poskytovaných služeb a atributů které tyto služby potřebují k běhu. Také se zabývá funkčními a nefunkčními požadavky, které určují požadované funkce aplikace. 2.1 Problémy vzniklé virtualizací Správa serveru bez použité virtualizace spočívá v práci přímo na serveru lokálně, stačí jeden účet pro běžnou administraci. Skriptování automatizovaných dávek, jako například registrace nového uživatele, jsou snadné. Tento stav schématicky ukazuje obr Registrace uživatele s webovým prostorem, em a jednou databází je proveditelná z jednoho místa. Server (web, ftp, mysql, mail) Administrátor Obrázek 2.1: Schéma administrace před virtualizací Zavedení virtualizace situaci komplikuje, místo jednoho serveru máme serverů několik. Tyto servery sice sdílejí stejný fyzický hardware, ale jsou od sebe navzájem izolovány. To pomáhá zvyšovat zabezpečení, ale na úkor náročnosti správy. Schématické znázornění viz obr Registrace uživatele je narozdíl od předchozího případu náročná, je třeba spustit 3 skripty, jeden na webovém, jeden na mailovém a jeden na mysql virtuálním serveru. Pro zjednodušení administrace je potřeba navrhnout aplikaci, která dokáže provádět úlohy na několika virtuálních serverech zároveň. Například u registrace nového uživatele by byl zadán požadavek na jeho vytvoření jako v případě před zavedením virtualizace, z jednoho místa. Skripty by se ale spustily na jednotlivých virutálních serverech. Schématicky viz obr Problémy vzniklé virtualizací se do značné míry shodují s problémy, které je třeba řešit u clusteru počítačů. U takového systému je také nutné přistupovat k jednotlivým službám zvlášt, Od virtualizovaného řešení se liší hlavně tím, že se jedná o větší množství fyzických počítačů, narozdíl od více virtuálních počítačů na jednom fyzickém. 5
10 VS1 (web, ftp) VS2 (mysql) Administrátor VS3 (mail) VS4 (web, ftp) Obrázek 2.2: Schéma administrace po nasazení virtualizace Z pohledu správy je u virtualizovaného řešení možné přistupovat na virtuální počítače z hosta, u clusteru je nutné přihlašovat se zvlášt ke každému počítači. Díky přístupu k virtualizovaným počítačům z hostitelského je možné na něm mít pouze jednu aplikaci, která bude spravovat jeho virtuální servery. V případě clusteru by pro každý server musela běžet jedna aplikace. 2.2 Popis služeb Na virtuálních serverech poskytuji služby hostování webových stránek, ftp účtů, mysql účtů a ů. Webové služby, ftp a mysql jsou rozděleny do tří virtuálních serverů, mail server je jeden. Dále se na serveru vyskytuje virtuální server se službou jabber, testovací virtuální server a jeden uživatelský virtuální server. Systém umožní vytvářet, modifikovat a mazat jednotlivé služby na virtuálních serverech, například uživatelské web účty na webových serverech, mail účty na mail serveru, apod. Webové služby poskytují prostor pro data, která budou zobrazena na internetu. Pro svůj provoz potřebují mít definován prostor pro umístění dat a webovou adresu, na které jsou data přístupná. Webových adres pro přístup na jeden prostor může být více, další adresy krom první se navývají aliasy. Webové služby mohou podporovat skriptování jazykem PHP. Různé webové stránky mohou mít různé požadavky na nastavení PHP, proto je pro ně nutné mít možnost individuálního nastavení. Další možností nastavení webové služby je nastavení zaheslovaného přístupu ke stránkám. Pro toto nastavení je potřeba předat uživatelské jméno, heslo a místo na webu, které má být zašifrováno. Další informace pro nastavení webserveru jsou ová adresa správce stránek, tato hodnota je nepovinná ale je vhodné ji mít nastavenou, aby bylo možné v případě výpadku stránky zobrazit , na který je možné o něm informovat. U webových služeb může být také individuální nastavení logování, povolení HTTP autentifikace a nastavení doménového koše, kdy se jakákoliv neexistující poddoména webu automaticky přesměruje na hlavní stránku domény. 6
11 VS1 (web, ftp) VS2 (mysql) Aplikace Administrátor VS3 (mail) VS4 (web, ftp) Obrázek 2.3: Schéma administrace po nasazení aplikace Ftp služby jsou doplňkem k webovým službám, umožňují nahrávat na server soubory, nebo je mazat. Ke svému provozu potřebují příhlašovací jméno a heslo aby bylo možné autentifikovat uživatele, dále prostor kam lze nahrát soubory. Mysql služby jsou také doplňkem k webovým službám, umožňují udržovat data v relační databázi mysql. Ke svému provozu potřebují přihlašovací jméno a heslo kvůli autorizaci uživatele. ové služby poskytují uživateli schránku na y, umožňují jejich posílání a příjem. Dále je možné poskytovat tzv. doménový koš, kdy všechny maily poslané na doménu jsou směrovány do jedné určené stránky. K provozu mailové schránky je potřeba přihlašovací jméno a heslo kvůli autorizaci a prostor na uložení mailu. je možné přesměrovat na libovolný jiný . Uživatelské virtuální servery jsou spravovány uživateli. Ti se starají o správu virtuálního serveru sami. Je ovšem potřeba mít i možnost vypnutí, restartu a zapnutí virtuálního serveru, nejen pro uživatelské ale i pro ostatní virtuální servery. 2.3 Funkční požadavky Bez virtualizace by mohla být administrace prováděna pomocí web aplikace přímo na serveru, šlo by o spouštění skriptů lokálně. S virtualizací je situace odlišná, jednotlivé virtuální servery se navzájem nevidí a není možné, aby jeden zasahoval do běhu dalšího. Jednou z možností správy stejným způsobem by bylo mít web aplikaci přístupnou na hostu serveru a z ní provádět spouštění skriptů. Pokud by došlo k rozšíření na více fyzických serverů, musela by být aplikace instalována na každý z nich a pro správu by bylo nutné vždy přistupovat na hosta. Tímto by zmizela výhoda centrálního ovládání. Lepší variantou je mít jedno ovládací rozhraní a na jednotlivých hostech aplikaci schopnou přijímat požadavky na správu. V takovém případě budou veškeré požadavky na správu posílány z jednoho místa a dojde k jejímu usnadnění i v případě velkého růstu obsluhovaných počítačů. Pro efektivní správu je vhodné mít zaznamenány všechny důležité informace, proto bude součásti řešení návrh a implementace databáze. Databáze bude rozdělena na dvě části, 7
12 jedna část bude umístěna na počítači s ovládacím rozhraním, v ní budou souhrnné informace o serverech, virtuálních serverech a službách na nich provozovaných. Druhá část bude umístěna na virtuálních serverech a bude obsahovat informace nutné pro běh konkrétních služeb. Druhá část databáze by mohla být umístěna také na hostu a být sdílena pro všechny virtuální servery. Toto řešení by zjednodušilo instalaci, ale zhoršilo by bezpečnost provozu, při prolomení služeb na jednom virtuálním serveru by mohlo dojít k útoku na všechny ostatní na hostu skrz databázi. Také je díky virtualizaci možné snadno přenášet jednotlivé virtuální servery mezi fyzickými počítači, v případě databáze umístěné na virtuálním serveru je přenos všech nastavení automatický. V opačném případě by musela být při přesunu virtuálního serveru přenesena také část databáze hosta. Při požadavcích na webové služby je nutné vždy předat její identifikátor, tím je adresa webové služby, která byla použita při jejím vytvoření. Následuje popis dalších parametrů, které je potřeba pro jednotlivé změny služeb. K vytvoření je potřeba jako parametry předat umístění dat služby, identifikátor vlastníka stránek. Při smazání webové služby není třeba zadat dodatečné parametry. Pro nastavení aliasů k webové službě je potřeba poslat v požadavku alias pro nastavení, nebo více aliasů oddělených mezi sebou mezerou. Pokud je požadován vlastní log, doménový koš a nebo podpora pro HTTP autorizaci, je nutné poslat požadavek na jejich aktivaci/deaktivaci který bude obsahovat požadovaný příznak a jeho nový stav. Pro nastavení/změnu konfigurace PHP je nutné poslat typ, jméno a hodnotu konfigurace. Při vymazání nastavení PHP je nutné poslat požadavek na smazání s pravidlem, o které se jedná. Pro zaheslování webového adresáře je potřeba poslat požadavek s uživatelským jménem, heslem a adresářem, který je třeba zaheslovat. Při rušení zaheslování je třeba poslat informace o uživatelském jménu a adresáři. Při požadavku na nastavení/zrušení ové adresy administrátora stránek je potřeba poslat jen ovou adresu. Při požadavcích na službu ftp je vždy potřeba identifikace služby, kterou je přihlašovací jméno uživatele na ftp. Pro vytvoření ftp účtu je dále potřeba poslat heslo, identifikátor majitele ftp a domovský adresář pro ftp. Pro smazání ftp účtu není třeba dalších parametrů. Požadavky na mysql jsou bud požadavky na databázi, pak musí obsahovat jméno databáze, nebo jsou to požadavky na uživatele databáze, pak musí obsahovat jméno uživatele. Při požadavku na vytvoření nebo smazání databáze není potřeba dalších parametrů. Při vytvoření nebo smazání uživatele také ne. Při nastavování práv uživatele k databázím je nutné uvést jak jméno databáze, tak jméno uživatele. Při nastavování práv jsou vždy uživateli nastavená plná práva k určené databázi. U mail serveru je stejně jako u ftp serveru nutné zadat přihlašovací jméno uživatele, při vytvoření účtu ale není potřeba zadávat adresář do kterého se budou ukládat maily, ten je vybrán automaticky, je nutné zadat heslo. Požadavek na aktivaci doménového koše potřebuje jako parametr , na který mají být všechny doručené maily přeposlány. Požadavek na smazání ové schránky nepotřebuje další parametry. Pro aktivaci přesměrování u je nutné zadat , na který má být schránka přesměrována, pro jeho zrušení není žádný další parametr potřeba. K požadavkům na ovládání virtuálních serverů je potřeba vždy zadat pouze jméno virtuálního serveru. Požadavky jsou na vypnutí, zapnutí a restart virtuálního serveru. 2.4 Nefunkční požadavky Serverová část systému by měla být co nejmenší a nejrychlejší, aby nezabírala zbytečně zdroje serveru. Zároveň by měla být napsána v přenosném jazyce, aby bylo snadné aplikaci 8
13 portovat na jiné operační systémy. Proto byl jako implementační jazyk zvolen jazyk C, který obě podmínky splňuje. Ovládací konzole bude zpracována jako řádková příkazová aplikace nebo více aplikací, které budou posílat požadavky. To umožní snadné použití aplikace při skriptování a automatizaci úkonů. Jako implementační databáze byla zvolena mysql, která už je na většině virtuálních serverů nainstalována a používána. Pro komunikaci mezi ovládací konzolí a host aplikací jsou zvažovány varianty vzdáleného přístupu přes SSH a nebo použití vzdáleného volání procedur (RPC). Použití SSH by usnadnilo velké množství operací jako autentifikace nebo šifrování. Použití RPC umožňuje naproti tomu vytvořit přístupové rozhraní k posílání požadavků a za něj skrýt konkrétní implementaci jejich provádění na dané platformě. Podrobná analýza vhodného způsobu přenosu požadavků bude provedena v následující kapitole. 9
14 Kapitola 3 Analýza Následující kapitola se zabývá návrhem systému a jeho jednotlivých částí. Nejprve bude popsána analýza chování a datová část aplikace. Poté bude popsána analýza sít ové části aplikace a komunikačního rozhraní. 3.1 Diagram činností Diagram zobrazený na obrázku 3.1 popisuje možné akce proveditelné v systému. Je to práce s prostorem pro webové stránky, nastavením PHP, mysql databázi, y, nastavením virtuálních serverů a ftp. 3.2 Datová analýza Datová analýza popisuje strukturu databázové části aplikace, strukturu tabulek a jejich vzájemné vazby. Analýza je rozdělena do dvou logických celků. V prvním jsou tabulky použité pro uložení vazeb serverů, virtuálních serverů a služeb na nich běžících pro potřeby ovládací konzole. V druhé části jsou popsané tabulky použité pro ukládání stavu jednotlivých služeb, které jsou umístěny přímo na virtuálních serverech. To umožňuje samostatný běh serverů bez závislosti na ovládacím rozhraní. Schéma ovládacích tabulek je vytvořeno dostatečně obecně, aby šlo použít i v situaci kdy by místo virtualizace bylo použito řešení s více počítači. Z toho důvodu nebude, až na nutné výjimky, v následujícím textu rozlišováno mezi serverem a virtuálním serverem a bude použito souhrnné označení server. Hodnota velikosti v tabulkách datových typů označuje počet použitých bajtů. Velikosti atributů pro doménová jména byly převzaty z RFC1035 [6], které definuje maximální velikost domény 255 bajtů Server ER diagram pro ovládací rozhraní je schématicky znázorněn na obrázku 3.2. Následující tabulky jsou použity pro ukládání obecných informací o jednotlivých serverech, jako jejich IP adresa, jméno, typy služeb, které na nich jsou dostupné, atd. Server obsahuje záznamy o serverech. Atribut host id umožňuje rozlišení serveru. Ukazujeli na svého otce, je virtuálním serverem. Ukazuje-li sám na sebe je serverem. 10
15 Zrušit zaheslování Vytvořit Alias Smazat Alias Změnit heslo Vytvořit zaheslování Správa zaheslování Správa aliasů Přidat nastavení Správa php Odebrat nastavení Vytvořit «extend» «extend» «extend» Smazat Webový prostor Smazat příznak (auth, log, koš) Nastavit příznak (auth, log, koš) Zapnout Restartovat Virtuální servery Změnit heslo Vytvořit «extend» Přesměrování «extend» Nastavit Zrušit Vypnout Administrátor Smazat Koš Nastavit Zrušit Vytvořit Mysql Ftp «extend» «extend» Změnit heslo Smazat Databáze Uživatel Vytvořit Změnit heslo Vytvořit databázi Smazat databázi Smazat Přiřadit databázi Odřadit od databáze Obrázek 3.1: Use case diagram Název atributu Typ(velikost) Klíč NULL index Význam atributu id int(2) PK NE ANO host id int(2) FK NE ANO Host server. V tabulce server info jsou informace o serveru. Jedná se o jeho hostname a IP adresu. Tyto údaje byly oddělěny do samostatné tabulky aby bylo možné mít na jednom serveru IP adres více. Název atributu Typ(velikost) Klíč NULL index Význam atributu server id int(2) FK NE ANO Cizí klíč do server. hostname varchar(255) NE NE NE Název serveru. IP varchar(64) NE NE NE IP adresa serveru. Záznamy v tabulce service type určují typy služeb na serveru přístupné. Atribut type vyjadřuje druh služby (web, ftp, mail), atribut daemon vyjadřuje aplikaci obsluhující službu 11
16 Primární klíč id server_info + hostname: string + ip: string * 1 + id: int + host_id * + id 1 server 1 server_service 1 * * service je na serveru * service + name: string je vserver požadavky * service je typu request 1 + value: string + start_time: timestamp + end_time: timestamp service_type + status: int + id: int + type: enum request je typu+ daemon: string * 1 1 Primární klíč id Obrázek 3.2: ER diagram ovládacího rozhraní (apache, lighttpd pro web, postfix, courier pro mail, apod). Tímto je do systému možno přidat další druhy služeb i další aplikace na už existující služby. Název atributu Typ(velikost) Klíč NULL index Význam atributu id int(2) PK NE ANO type enum( web, mail, NE NE NE Název služby. mysql, ftp ) daemon varchar(64) NE NE NE Obsluhující aplikace. Server service určuje jakou službu je možné provádět na jakém serveru. Jde o slabou vazební entitu, která nahrazuje M:N vazbu mezi tabulkami server a service type. Název atributu Typ(velikost) Klíč NULL index Význam atributu server id int(2) FK NE ANO Cizí klíč do server. service type id int(2) FK NE ANO Cizí klíč do service type. Service obsahuje seznam uživatelských účtů na serverech. Atribut name obsahuje informace o jménu uživatelského účtu (např. ová adresa, adresa web stránek, apod.). Název atributu Typ(velikost) Klíč NULL index Význam atributu server id int(2) FK NE ANO Cizí klíč do server. service type id int(2) FK NE ANO Cizí klíč do service type. name varchar(255) NE NE NE Jméno služby. Request zaznamenává požadavky posílané serverům. Ukládá jeho parametry, dobu zpra- 12
17 cování a jeho aktuální stav. Atributy start time a end time slouží k záznamu o době provádění požadavku. Status určuje stav provedení požadavku, může nabývat hodnot 0 při provádění došlo k chybě, 1 proveden v pořádku. Název atributu Typ(velikost) Klíč NULL index Význam atributu server id int(2) FK NE ANO Cizí klíč do server. service type id int(2) FK NE ANO Cizí klíč do service type. value text NE NE NE Obsah požadavku. start time timestamp NE NE NE Čas začátku požadavku. end time timestamp NE NE NE Čas konce požadavku. status int(1) NE NE NE Služby web a ftp ER diagram pro služby ftp a web je schématicky znázorněn na obrázku 3.3. Tyto tabulky jsou používány pro uložení konkrétních informací jako přístupové údaje ke službám, umístění domácího adresáře na serveru, apod. Tabulky jsou umístěny přímo na serverech, které poskytují služby. Primární klíč id ftp + username: string + password: string + uid: int + gid: int + homedir: string + status: int web + id: int + name: string + document_root: string + owner: string + group: string + admin_ string + has_basket: int + has_log: int + has_auth: int + status: int 1 autentifikace * alias 1 * nastaveni php 1 * web_alias + name: string + status: int web_php + type: enum + name: string + value: string + status: int web_auth + username: string + password: string + auth_realm: string + auth_type: string + service: string + directory: string + status: int Obrázek 3.3: ER diagram databází služeb web a ftp Tabulka ftp obsahuje informace nutné k fungování ftp účtů na serveru. Obsahuje např. jméno uživatele, jeho oprávnění a umístění jeho domovského adresáře. Atributy uid, gid 13
18 obsahují nastavení vlastníka a skupiny uživatele. Atribut status může nabývat hodnot 0 neaktivní, 1 aktivní. Název atributu Typ(velikost) Klíč NULL index Význam atributu username varchar(64) PK NE ANO Přihlašovací jméno. password char(13) NE NE NE Heslo. uid int(2) NE NE NE UID uživatele. gid int(2) NE NE NE GID uživatele. homedir varchar(384) NE NE NE Domácí adresář. status int(1) NE NE NE Stav ftp. Web obsahuje informace o webech na serveru. Obsahuje např. název webu, administrátora, umístění domovského adresáře webu. Atribut name je hlavním názvem webu, od něj se odvozují subdomény, např. vutbr.cz je hlavním názvem a subdoména je www, cílová stránka je pak Atribut name má nastaveno omezení na unikátnost, v tabulce nemůže být více záznamů se stejnou hodnotou atributu name. Atribut admin je nepovinný, obsahuje ovou adresu administrátora stránek. Atributy has umožňují nastavit doplňkové funkce. Je-li atribut has basket nastaven na 1, budou veškeré přístupy na neexistující web na doméně přesměrovány na hlavní webovou stránku. Atribut has log umožňuje aktivovat log speciálně pro web, je-li nastaven na 1 má vlastní log soubory. Has auth umožňuje použití HTTP autentifikace. Atribut status může nabývat hodnot 0 neaktivní, 1 aktivní. Název atributu Typ(velikost) Klíč NULL index Význam atributu id int(2) PK NE ANO name varchar(255) NE NE ANO Název domény, unikátni. document root varchar(384) NE NE NE Umístění na disku. owner varchar(64) NE NE NE Vlastník souborů. group varchar(64) NE NE NE Skupina vlastníka. admin varchar(384) NE ANO NE správce. has basket int(1) NE NE NE Doménový koš. has log int(1) NE NE NE Nastavení logování. has auth int(1) NE NE NE Podpora HTTP autorizace. status int(1) NE NE NE Stav služby. V tabulce web alias jsou uloženy další názvy pro web. Tímto způsobem je možné nadefinovat libovolně množství názvů u jednoho webu. Atributy name má omezení na unikátnost, nemůže xistovat více aliasů se stejným jménem. Je možné mít stejný alias u více webů zároveň. Který web je zobrazen rozhoduje nastavení DNS jména. Atribut status může nabývat hodnot 0 neaktivní, 1 aktivní. Název atributu Typ(velikost) Klíč NULL index Význam atributu web id int(2) FK NE ANO Cizí klič do web. name char(255) NE NE ANO Jméno aliasu, unikátní. status int(1) NE NE NE Stav aliasu. Tabulka web php slouží k uložení informací o nastavení PHP webu. Do tabulky se vkládají pouze záznamy odlišné od standardní konfigurace PHP. To umožní nastavit u jednotlivých 14
19 webů speciální parametry php pokud je to potřeba. PHP umožňuje nastavit parametry typu boolean a ostatní parametry. Pro tato nastavení používají klíčová slova php admin flag a php admin value. Tato dvě slova mohou být v atributu type. Atribut name určuje konkrétní nastavení PHP, které se má upravit. Atribut value určuje na jakou hodnotu má být nastavení změněno. Atribut status může nabývat hodnot 0 neaktivní, 1 aktivní. Nad atributy web id a name je vytvořen unikátní index, nelze mít pro jeden web více nastavení stejného typu. Název atributu Typ(velikost) Klíč NULL index Význam atributu web id int(2) FK NE ANO Cizí klíč do web type enum(, NE NE NE Typ parametru php admin flag ) php admin value ) name vachar(48) NE NE ANO Konfigurační volba. value varchar(256) NE NE NE Nastavená hodnota. status int(1) NE NE NE Stav služby. Web auth ukládá autorizační informace pro přístup k webu. Je používána k uložení hesel a autorizaci uživatelských přístupů do adresářů, nebo k službám typu WebDav, Svn, zobrazení serverových statistik. Je navržena tak at umožní přidat autorizaci na libovolnou službu kterou je nutné na webu zaheslovat. Atribut auth realm určuje oblast působnosti autorizace (je možné mít např. společné heslo pro několik adresářů). Atribut auth type určuje způsob zašifrování jména a hesla, jeho možné hodnoty jsou Basic - jméno a heslo se posílají nešifrovaně, Digest - heslo se před posláním přepočítá algoritmem md5. Atribut service uchovává název služby pro kterou se provádí autorizace, v době psaní práce se jedná pouze o službu heslování přístupu do adresáře. V tomto případě je atribut nastaven na hodnotu dir. Atribut directory obsahuje cestu k zaheslovanému adresáři relativně k atributu document root z tabulky web. V ostatních případech je atribut roven NULL. Nad atributy web id, username, directory je vytvořen unikátní index, nelze mít duplicitní nastavení pro jednoho uživatele na jednom webu. Název atributu Typ(velikost) Klíč NULL index Význam atributu web id int(2) FK NE ANO Cizí klíč do web. username varchar(64) NE NE ANO Přihlašovací jméno. password char(13) NE NE NE Heslo. auth realm varchar(64) NE NE NE Oblast působnosti. auth type varchar(64) NE NE NE Typ šifrování. service varchar(16) NE NE NE Služba k autorizaci. directory varchar(128) NE NE ANO Adresář k zaheslování. status int(1) NE NE NE Stav autorizace Služba mail ER diagram pro službu mail je schématicky znázorněn na obrázku 3.4. Tyto tabulky jsou používány pro uložení konkrétních informací jako přístupové údaje ke službám, umístění domácího adresáře na serveru, apod. Tabulky jsou umístěny přímo na serverech, které poskytují služby a jsou vytvořeny pro mail server postfix. Tabulky byly převzaty z manuálnu k instalaci mailového serveru na Gentoo Linux[4]. Ten ukazuje kompletní instalaci mail ser- 15
20 veru postfix včetně podpory pro virtuální domény. Postupy v něm popsané jsou dostatečně flexibilní pro naše potřeby, byly proto z velké části bez úprav převzaty. Jediné provedené úpravy jsou v nastavení indexů v tabulkách. Mail server postfix rozlišuje lokální a virtuální doručování mailů. Lokální doručování ukládá maily do lokálních systémových účtů serveru, virtuální ukládá maily na místo určené v tabulce users. Primární klíč id virtual alias users + id: int + string + clear: string + name: string + uid: int + gid: int + homedir: string + maildir: string + quota: string + postfix: enum Primární klíč id Primární klíč id + id: int + string + destination: string transport + id: int + domain: string + destination: enum + id: int + alias: string + destination: string Primární klíč id Obrázek 3.4: ER diagram databází služby mail Tabulka users obsahuje informace o mailech uživatelů. Obsahuje např. jméno uživatele, heslo, umístění adresáře na uložení mailů. Atributy uid, gid obsahují nastavení vlastníka a skupiny uživatele. Atribut homedir ukazuje na domovský adresář uživatele na mailovém serveru, atribut maildir pak na konkrétní schránku s maily. V atributu name je volitelně možné uložit jméno uživatele. Atribut quota není v současné době použit. Atribut postfix může nabývat hodnot y schránka je aktivní, n schránka je neaktivní. Atribut mail má vytvořen unikátní index, nelze mít více záznamů pro stejnou mailovou adresu. Název atributu Typ(velikost) Klíč NULL index Význam atributu id int(2) PK NE ANO varchar(255) NE NE ANO Mailová adresa, unikátní. clear varchar(128) NE NE NE Heslo. name tinytext NE ANO NE Jméno. uid int(3) NE NE NE UID uživatele. gid int(3) NE NE NE GID uživatele. homedir tinytext NE NE NE Domácí adresář. maildir tinytext NE NE NE Mail adresář. quota tinytext NE ANO NE Nepoužito. postfix enum( y, n ) NE NE NE Stav mailové schránky. Tabulky virtual a alias jsou používány k uložení informací o mail aliasech. Jejich struktura je stejná, liší se použitím. Tabulka alias je použita pro lokální mail aliasy, tabulka virtual pro mail aliasy na virtuálních domény. Obě tabulky mají stejnou strukturu, proto jsou podrobněji rozepsány pouze jednou. Mail aliasy se používají na přesměrování mailu na jednu, nebo více mailových adres. Do atribut ukládáme informace o mailu který je přesmérován. Atribut destination ukazuje kam má být mail přesměrován, může být přesměrován i na více mail adres. Jednotlivé adresy jsou odděleny mezerou. Mail aliasy se 16
21 používají také pro nastavení doménového koše. Je-li v atributu mail uvedena celá doména ve dojde k přesměrování všech mailů dané domény. Atribut mail má vytvořen unikátní index, nelze mít více záznamů pro stejnou mailovou adresu. Název atributu Typ(velikost) Klíč NULL index Význam atributu id int PK NE ANO varchar(128) NE NE ANO Mailová adresa, unikátní. destination varchar(1024) NE NE NE Cíl přesměrování. Transport ukládá informace potřebné k rozlišení jedná-li se o lokální, nebo virtuální doručování. Je potřebná při doručování příchozích mailů, záznamy v ní určují má-li mail být doručen lokálně, nebo virtuálně. Rozdělení se děje podle domény příchozího mailu. Atribut domain obsahuje domény, které mail server obsluhuje a má vytvořen unikátní index. Atribut destination může nabývat hodnot local: jedná se o lokální doručování, nebo virtual: jedná se o doručování virtuální. Název atributu Typ(velikost) Klíč NULL index Význam atributu id(2) int PK NE ANO domain varchar(128) NE NE ANO Doména, unikátní. destination enum( virtual:, NE NE NE Způsob doručení. local: ) 3.3 Analýza sít ové části aplikace a komunikačního rozhraní Tato kapitola popisuje možné metody vzdáleného volání požadavků. Práce se zabývá spouštěním vzdálených procedur, proto byly vyhledány existující protokoly RPC. Nejprve jsou rozebírány nejznámější metody, jejich obecné vlastnosti a z toho vyplývající použitelnost. Použitelné metody jsou následně rozepsány podrobněji Metody RPC XML-RPC XML-RPC [11] je způsob vzdáleného volání procedur, při kterém jsou požadavky kódovány do XML. Protokol používá HTTP jako transportní vrstvu pro přenos dat. Díky použití XML pro přenos dat je snadné posílat různě strukturované požadavky. Protokol je velice jednoduchý a poskytuje dostatečnou flexibilitu pro naše použití. Mezi jeho výhody patří oddělení způsobu volání požadavků od jejich zpracování. Jeho nevýhodou je neexistující autentifikace ani šifrování v návrhu protokolu. SOAP SOAP [7] je následníkem protokolu XML-RPC, přejímá od něj použití XML jako prostředek kódování dat. Narozdíl od XML-RPC dokáže komunikovat také na SMTP protokolu, nejen na HTTP. Server SOAP umožňuje vylistovat služby a jejich parametry. To umožňuje širší použití v případech veřejně přístupných služeb. V takovém případě je zvýšená složitost implementace vyvážena možností definovat co služba poskytuje a jakým způsobem. V našem případě jsou služby pevně specifikované a dané, této možnosti protokolu bychom nevyužili. 17
22 SSH SSH [2] protokol není narozdíl od ostatních zde zmíněných protokolem pro vzdálené volání procedur, ale nástrojem pro připojování k vzdáleným počítačům a jejich ovládání. Tuto činnost lze do jisté míry zautomatizovat, protokol je sám o sobě šifrovaný a bezpečný a podporuje vzdálené spouštění skriptů. Shrnutí Ze zkoumaných protokolů nejlépe vyhovují protokoly XML-RPC, nebo SSH. Bylo by možné použít i protokol SOAP, kde ovšem nevyužijeme jeho schopnosti poskytování deficice rozhraní. Tím bychom z něj v podstatě udělali protokol XML-RPC. Proto ho v této práci nepoužijeme. Výhodou XML-RPC je krom jednoduchosti a oddělení požadavků od zpracování i mnoho referenčních knihoven které ji implementují[10]. Jeho nevýhodou je neexistující autentifikace a šifrování. SSH protokol má narozdíl od XML-RPC naopak implementovanou jak autentifikaci, tak šifrování, ale neposkytuje oddělení spouštění požadavků od jejich zpracování. Pro posouzení který z těchto dvou protokolů lépe vyhovuje našim požadavkům je potřeba udělat hlubší analýzu Podrobný rozbor metod XML-RPC a SSH XML-RPC XML-RPC je velmi rozšířený protokol pro který existuje mnoho dostupných implementací. Funguje na principu posílání XML zpráv pomocí HTTP protokolu. Protokol samotný nemá sám v sobě obsažené žádné autentifikační schéma, ani nedefinuje šifrování. Šifrování lze ovšem docílit o úroveň níže obalením protokolu HTTP do SSL tunel (HTTPS protokol). XML požadavky se posílají pomocí metody POST HTTP protokolu. Příklad poslání XML- RPC požadavku na vytvoření webu www u domény domain.tld na virtuálním serveru web s vlastníkem david : POST /WEBServer HTTP/1.1 Content-Length: 345 Connection: keep-alive X-SESSION-ID: fd422988f6c4f8f3f604e75cac3158c3 Content-Type: text/xml Host: server:1234 <?xml version="1.0" encoding="utf-8"?> <methodcall> <methodname>webserver.add_vhost</methodname> <params> <param> <value>web</value> </param> <param> <value>domain.tld</value> 18
23 </param> <param> <value>www</value> </param> <param> <value>david</value> </param> </params> </methodcall> Příklad odpovědi po úspěšném provedení požadavku: HTTP/ OK Content-Length: 140 Connection: keep-alive Content-Type: text/xml <?xml version="1.0" encoding="utf-8"?> <methodresponse> <params> <param> <value><boolean>1</boolean></value> </param> </params> </methodresponse> V případě neúspěšného požadavku může protokol vrátit chybu včetně jejího popisu, u tohoto příkladu je vidět, že předávané hodnoty mohou být zapouzdřeny do struktur, viz klíčové slovo struct: HTTP/ OK Content-Length: 426 Connection: keep-alive Content-Type: text/xml <?xml version="1.0"?> <methodresponse> <fault> <value> <struct> <member> <name>faultcode</name> <value><int>4</int></value> </member> <member> <name>faultstring</name> <value><string>too many parameters.</string></value> </member> </struct> 19
24 </value> </fault> </methodresponse> Hlavní aplikace bude naprogramována v jazyce C, je výhodné najít a použít už existující xml-rpc knihovnu, místo programování vlastní implementace. Pomocí internetového vyhledávače google byly nalezeni 2 kandidáti, xmlrpc-c [9] a libxr [8]. Knihovna xmlrpc-c je vznikla v roce 2000, prošla bouřlivým vývojem. který se postupně zpomaloval. Z požadovaných funkcí nepodporuje zabezpečený přenos dat pomocí SSL. Podle vyjádření v dokumentaci knihovny, v souboru SECURITY je to možné, ale postup nastavení není zdokumentován a je komplikovaný, cituji: You can solve this problem by using SSL under HTTP. This is possible with Xmlrpc-c, but it s nontrivial to set up and the Xmlrpc-c documentation doesn t tell you how. [1]. Knihovna zprostředkovává programátorovi rozhraní ve tvaru funkcí pro posílání xml-rpc požadavků. Pro její použití je nutné znát její datové typy. Příklad použití knihovny xmlrpc-c, klient posílající xml-rpc požadavek na vytvoření webové služby. /* Define variables for connection */ char * const serverurl = " char * const methodname = "add_vhost"; /* Initialize our error-handling environment. */ xmlrpc_env_init(&env); /* Start up our XML-RPC client library. */ xmlrpc_client_init2(&env, XMLRPC_CLIENT_NO_FLAGS, NAME, VERSION, NULL, 0); /* Make the remote procedure call */ result = xmlrpc_client_call(&env, serverurl, methodname, "(ssss)", (xmlrpc_value) "web", (xmlrpc_value) "domain.tld", (xmlrpc_value) "www", (xmlrpc_value) "david"); /* Get our result. */ xmlrpc_read_int(&env, result, &sum); printf("result is %d\n", sum); /* Free result. */ xmlrpc_decref(result); /* Clean up our error-handling environment. */ xmlrpc_env_clean(&env); /* Shutdown our XML-RPC client library. */ xmlrpc_client_cleanup(); Knihovna libxr byla zveřejněna v roce 2006, podporuje SSL šifrování a pro tvorbu rozhraní používá šablony. Při definici rozhraní se vytvoří soubor typu.xdl, ve kterém jsou 20
25 symbolicky nadefinovány požadavky s jejich parametry. Součástí knihovny je program, xdlcompiler, který vygeneruje z.xdl souboru zdrojové a hlavičkové soubory přímo do jazyka C. Jednotlivé požadavky potom mají tvar volání funkce s názvem požadavku, s parametry normálních C datových typů. Tento způsob definování interface umožňuje programátorovi soustředit se na tvorbu aplikace místo na propojování xml-rpc knihovny s jazykem C. Příklad definice interface pro metodu WEBServer.add vhost v souboru xdl: /* Used namespace*/ namespace WEB; /* Header of interface function */ boolean add_vhost(string vserver, string domain, string name, string owner) <% FILE *fpipe; char *command = malloc(256); if(command == NULL) exit(2); snprintf(command, 255, "/usr/local/bin/mail_add_domain.sh %s %s ", vserver, domain); printf("command = %s\n", command); char line[256]; /* Make call of external script, that do the work */ if(!(fpipe = (FILE*)popen(command,"r"))) { // If fpipe is NULL perror("problems with pipe"); return FALSE; } while(fgets(line, sizeof(line), fpipe)) { printf("%s", line); } pclose(fpipe); return TRUE; %> Po kompilaci programem xdl-compiler jsou vygenerovány soubory s definicí a deklarací funkce: WEBServer add vhost s parametry: gboolean WEBServer_add_vhost(xr_client_conn* _conn, const char* vserver, const char* domain, const char* name, const char* owner GError** _error) V klientském programu následně použijeme následující volání: GError* err = NULL; char* uri = " 21
26 /* Create object for performing client connections */ xr_client_conn* conn = xr_client_new(&err); /* connect to the servlet on the server specified by uri */ xr_client_open(conn, uri, &err); /* add a new web vhost */ WEBServer_add_vhost(conn, "www", "domain.tld", "www", "david", &err); Z obou knihoven byla jako vhodnější shledána knihovna libxr, která umí šifrování a díky xdl souborům je možné soustředit se na funkčnost interface, ne na tvorbu XML-RPC C rozhraní. Chybějící podpora autentifikace by musela být doprogramována. SSH SSH je software pro vzdálený přístup nahrazující dříve používaný telnet, nebo ftp. Narozdíl od nich je ssh protokol šifrovaný, ochrana přenášených dat je zajištěna symetrickým šifrováním. SSH se používá pro přístup na počítače, po přihlášení je možno pracovat na vzdáleném počítači jako na lokálním. Je možné také spouštět dávkové příkazy. SSH má zabudované různé autentifikační mechanismy, například je možné použít dvojici jméno/heslo, nebo autorizaci pomocí veřejného klíče. Pro naše účely je použití jména a hesla nevhodné, protože komplikuje automatizované provádění skriptů. Při každé úloze by bylo nutné zadávat heslo, aby se mohla provést. SSH podporuje i další způsob autentifikace. Autentifikaci pomocí veřejného klíče. Ta spočívá v použití speciálně vygenerovaného klíče, jehož privátní část zůstává na lokálním počítači a jeho veřejná se nahrává na všechny počítače, na které se chceme přihlašovat. V takovémto případě je po zadání uživatelského jména ze serveru poslaná náhodná hodnota zašifrována veřejným klíčem, tuto hodnotu dokáže rozšifrovat pouze příjemce s odpovídajícím privátním klíčem. Tu pak pošle zpět zašifrovanou veřejným klíčem počítače na který se připojuje. Tím dojde k potvrzení komunikace a navázání spojení. Pro zvýšení bezpečnosti může být privátní klíč chráněn takzvanou passphrase, jedná se o heslo kterým je zašifrován sám privátní klíč. Bez něj pak není možné jej použít. Protože bychom se opět dostali do situace, kdy bychom pro automatizované provádění skriptů museli zadávat heslo, byl tvůrci SSH vymyslen a implementován ssh-agent. Jedná se o utilitu, která převezme práci s privátním klíčem a poskytuje jeho výstupy dál démonu SSH. Při inicializaci agenta je potřeba mu zadat passphrase, on načte a dešifruje privátní klíč. Od této chvíle se SSH, vždy když potřebuje ověřit uživatele, ptá agenta. Tímto způsobem lze na serveru nastavit SSH tak, aby bylo nutné zadat passphrase jen jednou, případně jen jednou za určitý interval. Následně je pak možné se vzdáleně připojovat na počítače, kde je potřeba vykonávat požadavky. Při použití SSH by na straně serveru byl potřebný software (sada skriptů, nebo jeden program dělající vše podle parametrů), které by vykonávaly jednotlivé požadavky. K volání software by docházelo pomocí SSH přímo z příkazové řádky ovládacího stroje. Příklad volání požadavku: # Požadavek vytvoří na virtuálním serveru web adresářovou strukturu # a konfiguraci pro web www domény domain.tld # s vlastníkem david 22
27 :/$ ssh server.tld /usr/local/bin/web_add_vhost web david Návratová hodnota požadavku je předána jako by bylo provedeno lokální spuštění skriptu z příkazové řádky, všechny výstupy a chyby jsou zpracovány běžným způsobem, výstup je poslán na standardní výstup a chyby na standardní chybový výstup. Shrnutí Vybrat mezi SSH a XML-RPC nebylo snadné, SSH poskytuje výbornou podporu pro autentifikaci, s pomocí XML-RPC lze dobře oddělit zadávání požadavků od jejich zpracování. Rozhodujícím faktorem se stala vlastnost XML-RPC oddělit jednotlivé fáze zpracování požadavku. Díky tomu je možné ze strany ovládací konzole vždy posílat stejné požadavky pro stejnou akci, například při vytvoření webu. Může nastat situace, kdy budeme mít stejnou službu realizovanou na jednom virtuálním serveru pomocí aplikace apache, na druhém pomocí aplikace lighttpd. V případě použití SSH by požadavek na vytvoření vypadal takto: # webserver apache :/$ ssh server.tld /usr/local/bin/web_add_vhost_apache web david # webserver lighttpd :/$ ssh server.tld /usr/local/bin/web_add_vhost_lighttpd web david V případě XML-RPC bude z klientské konzole vždy volán požadavek na vytvoření na vytvoření webu a až aplikace na hostu se rozhodne jakou metodu pro vytvoření zvolí. Tato situace je pro nás výhodnější, na různých platformách může být provádění požadavků řešeno různými způsoby. 23
28 Kapitola 4 Návrh a implementace Řešení bude implementováno jako klient/server aplikace. Serverová část (hostitelská aplikace) bude umístěna na jednotlivých fyzických serverech (hostech) a bude příjimat požadavky od klientské aplikace (ovládací konzole). Přijaté požadavky zpracují lokální skripty. Serverová část aplikace poběží jako démon na pozadí a bude z větší části zajištěna knihovnou libxr. Lokální skripty budou napsány pro interpret shellu Bash, skripty budou vracet výsledek požadavku serverové aplikaci a dále na klienta, kde bude zobrazen. Ovládací konzole bude naprogramována formou utility pro příkazový řádek. Aplikace zpřístupní rozhraní pro posílání požadavků na virtuální servery. Pro uchování informací o serverech a virtuálních serverech a službách na nich běžících bude použita databáze, která poběží na stejném počítači jako klientská aplikace. 4.1 Použité technologie V této kapitole se nachází stručný popis použitých technologií pro implementaci aplikace Linux-vserver Virtuální servery jsou postaveny na technologii linux-vserver[5]. Jedná se o virtualizaci na úrovni jádra. Každý aktivní virtuální server a všechn procesy v něm mají přiřazen kontext. Jádro operačního sytému se stará o to aby procesy z jednoho kontextu nemohly jakkoliv ovlivňovat procesy z ostatních kontextů, včetně sít ových rozhraní a namapování disků. Výjimkou je kontext 0, ve kterém jsou umístěny procesy hostitelského serveru a kontext 1, tzv. monitorovací. Ten vidí všechny procesy ze všech kontextů. Každý virtuální server je umístěn v samostatné adresářové struktuře. Při startu virtuálního serveru dochází k vytvoření kontextu a nastavení sít ové izolace. Pokračuje se provedením operace chroot do adresáře se soubory serveru a spuštění falešného procesu init, který se postará o boot virtuálního počítače. Na hostitelském systému lze provést změnu kontextu u běžícího procesu. Tímto způsobem je možné spustit program z hostitelského serveru na virtuálním. Této vlastnosti můžeme výhodně použít. Na hostitelském serveru vytvoříme sadu skriptů, které budou provádět požadavky. Při příchozím požadavku provedeme přepnutí do kontextu virtuálního serveru a v něm požadavek provedeme. Sada skriptů bude pouze jediná a to na hostitelském serveru. Změny se budou dít uvnitř virtuálních serverů. 24
29 4.1.2 Jazyk C Historie jazyka C sahá až do 70. let 20. století[3]. Jazyk C je nízkoúrovňový jazyk, v dnešní době využívaný převážně k programování nízkoúrovňových aplikací, ovladačů a jader operačního systému. Jazyk je neustále vyvíjen, jeho nejnovější aktuální verze je norma C99 z roku Díky své nízkoúrovnosti jsou jeho nároky při stejném výsledném produktu menší při vyšší rychlosti výsledného kódu. V serverové i klientské aplikaci použijeme knihovnu libxr, která bude obsluhovat XML-RPC část kódu. Serverová aplikace musí přistupovat do jednotlivých vserverů, z toho důvodu poběží pod uživatelem root Mysql Mysql je databázový server používaný hlavně pro svou rychlost a rozšířenost. V našem případě je také už používán na virtuálních serverech pro ukládání dat uživatelů. Množina jeho funkcí není tak rozsáhlá jako například u jiných databázových systémů, ale pro naše účely je dostatečná Bash shell Na serverové straně aplikace bude umístěna sada skriptů, které budou vykonávat požadavky serverové aplikace. Tyto skripty jsou psány pro linuxový interpret Bash, ale měly by být použitelné i na dalších shell interpretech. Skripty budou psány odděleně od aplikace. Tento postup byl zvolen, protože nám umožňuje dělat jednoduše změny výkonné části aplikace v případě nutnosti jejího přízpusobení. Modifikované shell skripty se dají okamžitě použít, opravy chyb a přidávání funkčnosti je snadné a rychlé. 4.2 Návrh aplikace V této kapitole jsou rozebrány postupy řešení problémů vzniklých použitím zvolených technologií. Dále je ukázán způsob komunikace při zaslání požadavku a získání odpovědi Autentifikace a šifrování Protože protokol XML-RPC nemá vestavěnou autentifikační vrstvu, bude třeba ji doprogramovat. Autentifikace bude implementována ověřením uživatelského jména a hesla při navázání spojení ovládací konzole s host aplikací. Jméno a heslo bude na obou stranách uloženo v konfiguračních souborech s nastavenými právy pro čtení pouze pro uživatele root. V rámci této práce nebudou implementovány mechanismy pro oddělení uživatelských práv, každý autentifikovaný uživatel má práva na zasílání všech požadavků. Autentifikace je platná pouze v rámci aktivního spojení, při vytvoření nového spojení je nutné se opětovně autentifikovat Veškerý datový tok mezi klientem a serverem je šifrován protokolem SSL Cesta požadavku Ovládací konzole je zavolána s konkrétním požadavkem. Provede se kontrola vstupních dat. Pokud nevyhovují, vypíše se nápověda k požadavku. V opačném případě se pokračuje, část požadavku musí být jméno virtuálního serveru, na kterém se má zpracovat. S pomocí dat z mysql databáze je nalezen příslušný host a jeho IP adresa. Proběhne navázání spojení a autentifikace. Poté dojde k zaslání požadavku a čekání na odpověd. Host aplikace přepošle 25
Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost
Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován
Distribuované systémy a výpočty
Distribuované systémy a výpočty X36DSV Jan Janeček XML-RPC jednoduchá definice www.xmlrpc.com implementace obvykle opřené o XML parser X36DSV - Distribuované systémy a výpočty (3) 2 XML-RPC jednoduché
SSL Secure Sockets Layer
SSL Secure Sockets Layer internetové aplikační protokoly jsou nezabezpečené SSL vkládá do architektury šifrující vrstvu aplikační (HTTP, IMAP,...) SSL transportní (TCP, UDP) síťová (IP) SSL poskytuje zabezpečenou
Platební systém XPAY [www.xpay.cz]
Platební systém XPAY [www.xpay.cz] implementace přenosu informace o doručení SMS verze 166 / 1.3.2012 1 Obsah 1 Implementace platebního systému 3 1.1 Nároky platebního systému na klienta 3 1.2 Komunikace
1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS
1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS Pro přístup do administrace služby GTS Bezpečný Internet používejte zákaznický WebCare GTS Czech, který je přístupny přes webové
Informační systém webhostingu
VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA INFORMAČNÍ SYSTÉMY A DATOVÉ SKLADY Informační systém webhostingu semestrální projekt Analýza Číslo skupiny: 4 Členové: Filip Bartman Jakub Vaněk Jan Šrámek
Na vod k nastavenı e-mailovy ch schra nek Administrace
Na vod k nastavenı e-mailovy ch schra nek Administrace Návod k administraci e-mailových schránek na serveru stribrny.net. V administraci schránek lze vytvářet nové schránky, upravovat stávající schránky,
Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.
Aplikační vrstva http-protokol, díky kterému je možné zobrazovat webové stránky. -Protokol dokáže přenášet jakékoliv soubory (stránky, obrázky, ) a používá se také k různým dalším službám na internetu
Internet Information Services (IIS) 6.0
Internet Information Services (IIS) 6.0 V operačním systému Windows Server 2003 je obsažena i služba IIS v 6.0. Služba IIS poskytuje jak www server tak i některé další služby (FTP, NNTP,...). Jedná se
Technologické postupy práce s aktovkou IS MPP
Technologické postupy práce s aktovkou IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Technologické postupy práce
17. července 2005 15:51 z moravec@yahoo.com http://www.z-moravec.net/
17. července 2005 15:51 z moravec@yahoo.com http://www.z-moravec.net/ Úvod 1 Úvod Nedávno jsem zveřejnil návod na vytvoření návštěvní knihy bez nutnosti použít databázi. To je výhodné tehdy, kdy na serveru
Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek
Specifikace požadavků POHODA Web Interface Verze 1.0 Datum: 29.12. 2008 Autor: Ondřej Šrámek Copyright 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document. Strana
FIREMNÍ CERTIFIKÁT V APLIKACI PŘÍMÝ KANÁL NÁVOD PRO KLIENTY
FIREMNÍ CERTIFIKÁT V APLIKACI PŘÍMÝ KANÁL NÁVOD PRO KLIENTY 1. POUŽITÍ FIREMNÍHO CERTIFIKÁTU 1.1 Stručný popis Firemní certifikát je nový typ certifikátu, který Vám umožní zrychlit a zjednodušit Vaši práci.
1 Webový server, instalace PHP a MySQL 13
Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského
Vazba ESO9 na MS Outlook a MS Exchange
Vazba ESO9 na MS Outlook a MS Exchange Zpracoval: Kočíbová Jana U Mlýna 2305/22, 141 Praha 4 Záběhlice Dne: 24.6.2011 tel.: +420 585 203 370-2 e-mail: info@eso9.cz Revize: Urych Tomáš www.eso9.cz Dne:
MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ
MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika
1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4
CRM SYSTÉM KORMORÁN PŘÍRUČKA ADMINISTRÁTORA Obsah 1 Administrace systému 3 1.1 Uživatelské účty.................................. 3 1.2 Přístupová práva................................. 3 1.3 Moduly.......................................
Technická specifikace
Informační systém pro vysoké a vyšší odborné školy Technická specifikace Obecný popis systému Technická specifikace Obecný popis systému Computer Aided Technologies, s.r.o. Tato příručka je součástí dokumentace
Semestrální projekt do předmětu SPS
Semestrální projekt do předmětu SPS Název projektu: Instalace a provoz protokolu IPv6 v nových verzích MS Windows (XP). Ověření proti routerům Cisco a Linux. Cíl projektu: Autoři: Cílem tohoto projektu
Instalace a konfigurace web serveru. WA1 Martin Klíma
Instalace a konfigurace web serveru WA1 Martin Klíma Instalace a konfigurace Apache 1. Instalace stáhnout z http://httpd.apache.org/ nebo nějaký balíček předkonfigurovaného apache, např. WinLamp http://sourceforge.net/projects/winlamp/
RESTful API TAMZ 1. Cvičení 11
RESTful API TAMZ 1 Cvičení 11 REST Architektura rozhraní navržená pro distribuované prostředí Pojem REST byl představen v roce 2000 v disertační práci Roye Fieldinga, zkratka z Representional State Transfer
VComNet uživatelská příručka. VComNet. Uživatelská příručka Úvod. Vlastnosti aplikace. Blokové schéma. «library» MetelCom LAN
VComNet Uživatelská příručka Úvod Aplikace VComNet je určena pro realizaci komunikace aplikací běžících na operačním systému Windows se zařízeními, které jsou připojeny pomocí datové sběrnice RS485 (RS422/RS232)
Jan Forman Manuál 30.5.2013. CLASSIFICATIO N: public / veřejný dokument IDE NTIFICATIO N N U MBER: 0000000000001 AUTH OR:
CLASSIFICATIO N: public / veřejný dokument TITLE: Manuál k webovému rozhraní hostingu P ub l i c URL: http://janforman.org/files/webhosting.pdf OFFICE NAME AND ADDRESS: --- IDE NTIFICATIO N N U MBER: 0000000000001
Administrace služby - GTS Network Storage
1. Návod k ovládání programu Cisco VPN Client (IP SECový tunel pro přístup GTS Network Storage) Program Cisco VPN client lze bezplatně stáhnout z webových stránek GTS pod odkazem: Software ke stažení http://www.gts.cz/cs/zakaznicka-podpora/technicka-podpora/gtspremium-net-vpn-client/software-ke-stazeni.shtml
Administrace služby IP komplet premium
1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare T-Mobile Czech Republic Pro přístup do administrace služby Bezpečný Internet používejte zákaznický WebCare T-Mobile Czech Republic,
Dokumentace k API SSLmarketu. verze 1.3
Dokumentace k API SSLmarketu verze 1.3 ZONER Software a.s. 2015 Obsah Úvod... 3 Legenda... 3 Funkce API... 4 Návratové hodnoty... 8 SWAPI - přihlašovací údaje... 8 SWAPI - nastavení výchozích údajů...
Tato zpráva informuje o implementaci LMS (Learning Management Systém) Moodle konkrétně Moodle 2.3.1.
Implementační zpráva Informace o implementaci LMS Moodle Realizováno v rámci projektu OP VK: Rozvoj studijních programů, didaktických metod a inovování modelu řízení v oblasti kombinovaného studia, reg.
Administrace služby IP komplet premium
1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare T-Mobile Czech Republic Pro přístup do administrace služby Bezpečný Internet používejte zákaznický WebCare T-Mobile Czech Republic,
Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost
Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence
plussystem Příručka k instalaci systému
plussystem Příručka k instalaci systému Tato příručka je určena zejména prodejcům systému a případně koncovým uživatelům. Poskytuje návod, jak provést potřebná nastavení komponent. ITFutuRe s.r.o. 26.2.2015
BRICSCAD V15. Licencování
BRICSCAD V15 Licencování Protea spol. s r.o. Makovského 1339/16 236 00 Praha 6 - Řepy tel.: 235 316 232, 235 316 237 fax: 235 316 038 e-mail: obchod@protea.cz web: www.protea.cz Copyright Protea spol.
Příručka nastavení funkcí snímání
Příručka nastavení funkcí snímání WorkCentre M123/M128 WorkCentre Pro 123/128 701P42171_CS 2004. Všechna práva vyhrazena. Uplatňovaná ochrana autorských práv se vztahuje na všechny formy a záležitosti
2. 3. 2009 Programátorské večery. Tomáš Herceg Microsoft Student Partner http://www.vbnet.cz
2. 3. 2009 Programátorské večery Tomáš Herceg Microsoft Student Partner http://www.vbnet.cz Představení služeb Praktické ukázky Messenger (Presence API) Search Writer (MetaWeblog API) Writer (Pluginy)
Uživatelský modul Stunnel
Uživatelský modul Stunnel APLIKAC NÍ PR ÍRUC KA POUŽITÉ SYMBOLY Použité symboly Nebezpec í du ležité upozorne ní, které mu že mít vliv na bezpec í osoby nebo funkc nost pr ístroje. Pozor upozorne ní na
2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.
2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových
Instalace a první spuštění Programu Job Abacus Pro
Instalace a první spuštění Programu Job Abacus Pro Pro chod programu je nutné mít nainstalované databázové úložiště, které je připraveno v instalačním balíčku GAMP, který si stáhnete z našich webových
Windows Server 2003 Active Directory GPO Zásady zabezpečení
Windows Server 2003 Active Directory GPO Zásady zabezpečení Zásady zabezpečení (Group Policy Objects) slouží k centrální správě uživatelů a počítačů. Lze pomocí nich aplikovat jednotné nastavení platné
Sázková kancelář Z pekla štěstí
Sázková kancelář Z pekla štěstí Řešitelský tým Michal Pfeifer, Martin Halamíček, Jan Blaško, Zdeněk Křepela, Jan Popelka, Jan Mach Úvod Sázková kancelář Z pekla štěstí je malá společnost s několika malými
IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská
8.2 Používání a tvorba databází
8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam
Jednotlivé hovory lze ukládat nekomprimované ve formátu wav. Dále pak lze ukládat hovory ve formátu mp3 s libovolným bitrate a také jako text.
1.0 Nahrávání hovorů Aplikace Nahrávání hovorů ke svému chodu využívá technologii od společnosti Cisco, tzv. Built-in bridge, která snižuje nároky na síťovou infrastrukturu, snižuje náklady a zvyšuje efektivitu
Přechod na Firebird 3. Popis migrační utility
Přechod na Firebird 3 Popis migrační utility Verze dokumentu: 1.00 Platnost od: 02.05.2018 Obsah 1. Úvod 3 2. Popis funkcí 4 2.1 Výběr typu instalace a provozu platformy Firebird 4 2.1.1 Odinstalovat starší
Nová áplikáce etesty Př í přává PC ž ádátele
Nová áplikáce etesty Př í přává PC ž ádátele Verze 0.6 Datum aktualizace 20. 12. 2014 Obsah 1 Příprava PC žadatele... 2 1.1 Splnění technických požadavků... 2 1.2 Prostředí PC pro žadatele... 2 1.3 Příprava
Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.
Trochu teorie Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Každá spuštěná aplikace má alespoň jeden proces
Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML
Obsah přednášky Webové služby a XML Miroslav Beneš Co jsou to webové služby Architektura webových služeb SOAP SOAP a Java SOAP a PHP SOAP a C# Webové služby a XML 2 Co jsou to webové služby rozhraní k
Analýza aplikačních protokolů
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická PROJEKT Č. 4 Analýza aplikačních protokolů Vypracoval: V rámci předmětu: Jan HLÍDEK Komunikace v datových sítích (X32KDS) Měřeno: 28. 4. 2008
Virtualizace na Linuxu
Virtualizace na Linuxu Silicon Hill 13.4.2010 zdroj:xkcd.com Outline 1 2 3 Co to je virtualizace obecně = abstrakce počítačových zdrojů konkrétně pro nás = technika, který na jednom fyzickém počítači umožní
1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services
13. Webové služby. K čemu slouží? Popis a vyhledávání služeb. Co je a k čemu slouží orchestrace a choreografie služeb. Technologie pro implementaci služeb 1. Webové služby. K čemu slouží? Definice WS -
SIMATIC S IT. Micro Automation. Promoters Meeting October Představení CP IT SPIDER CONTROL TELESERVIS. TESTOVACÍ server.
SIMATIC S7-200 243-1 2005, Page 1 Program workshopu Začátek: 9.00 GPRS - aplikace pro GPRS, základy - jak nastavit vzdálenou stanici, knihovna instrukcí pro GPRS - jak nastavit server (SINAUT MICRO SC,
POČÍTAČOVÉ SÍTĚ A KOMUNIKACE OBOR: INFORMAČNÍ TECHNOLOGIE
POČÍTAČOVÉ SÍTĚ A KOMUNIKACE OBOR: INFORMAČNÍ TECHNOLOGIE 1. Počítačové sítě, základní rozdělení počítačových sítí a. vznik a vývoj počítačových sítí b. výhody počítačových sítí c. rozdělení sítí z hlediska
WNC::WebNucleatCreator
Tomáš Dlouhý WNC::WebNucleatCreator Verze: 5.1 1 Obsah Obsah...2 Úvod...3 Novinky...3 Požadavky...4 Instalace...4 Přihlášení se do WNC...6 Moduly...7 Modul Blog...7 Modul Categories...8 Modul News...8
FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX
FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ MANAGEMENT PROJEKTŮ SPOLEČNOST DECADIC PROJEKT FRAMETRIX SPECIFIKACE POŽADAVKŮ AUTOR DOKUMENTU JIŘÍ JANDA BRNO 15. března 2012 Obsah 1 Úvod........................................
Příručka pro nasazení a správu výukového systému edu-learning
Příručka pro nasazení a správu výukového systému edu-learning Obsah: Edu-learning pro firmy a organizace... 2 Varianty nasazení... 2 A. Systém umístěný v lokální síti zákazníka... 3 B. Systém umístěný
Případová studie: Adresářové řešení pro webhosting pomocí ApacheDS. Lukáš Jelínek
Případová studie: Adresářové řešení pro webhosting pomocí ApacheDS Lukáš Jelínek AIKEN Webhosting primárně pro provoz zakázkových projektů klasická platforma Linux+Apache+PHP+MySQL (LAMP) + databáze SQLite
Návod k obsluze IP kamery Zoneway. IP kamery jsou určené pro odbornou montáž.
Návod k obsluze IP kamery Zoneway. IP kamery jsou určené pro odbornou montáž. Obsah 1 Úvod... 1 2 Návod pro připojení do webového rozhraní... 1 2.1 Připojení kamery k WiFi síti... 4 2.2 Postup nastavení
Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP.
Protokol TELNET Schéma funkčních modulů komunikace protokolem TELNET Telnet klient Telnet server login shell terminal driver Jádro TCP/IP TCP/IP Jádro Pseudo terminal driver Uživatel u terminálu TCP spojení
TRANSPORTY výbušnin (TranV)
TRANSPORTY výbušnin (TranV) Ze zákona vyplývá povinnost sledování přeprav výbušnin. Předpokladem zajištění provázanosti polohy vozidel v čase a PČR je poskytování polohy vozidla předepsaným způsobem. Komunikace
v. 2425a Jak si na PC vypěstovat HTTP (WWW, Web) server a jak ho používat (snadno a rychle) by: Ing. Jan Steringa
v. 2425a Jak si na PC vypěstovat HTTP (WWW, Web) server a jak ho používat (snadno a rychle) 2017 by: Ing. Jan Steringa Webový server Apache je předurčen k provozu na operačním systému Linux. Je to dáno
Počítačové sítě Systém pro přenos souborů protokol FTP
Počítačové sítě Systém pro přenos souborů protokol FTP Autorizovaný přístup do souborového systému hostitelského uzlu Informace o obsahu souborového systému hostitelského uzlu Obousměrný přenos kopií souborů
konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian
02 konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian Kernighan v r. 1973 přepsán do jazyka C Psát programy,
ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE
2011 Technická univerzita v Liberci Ing. Přemysl Svoboda ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE V Liberci dne 16. 12. 2011 Obsah Obsah... 1 Úvod... 2 Funkce zařízení... 3 Režim sběru dat s jejich
Roční periodická zpráva projektu
WAK-1F44C-2005-2 WAK System Název projektu: Automatizovaná výměna dat mezi informačními systémy krizového řízení v dopravě s jednotným univerzálním a implementovaným rozhraním založeným na standardu webových
ANALÝZA TCP/IP 2 ANALÝZA PROTOKOLŮ DHCP, ARP, ICMP A DNS
ANALÝZA TCP/IP 2 ANALÝZA PROTOKOLŮ DHCP, ARP, ICMP A DNS V této části se seznámíte s funkcemi a principy protokolů DHCP, ARP, ICMP a DNS. Síť je uspořádána dle následujícího schématu zapojení. Zahajte
APS Web Panel. Rozšiřující webový modul pro APS Administrator. Webové rozhraní pro vybrané funkce programového balíku APS Administrator
APS Web Panel Rozšiřující webový modul pro APS Administrator Webové rozhraní pro vybrané funkce programového balíku APS Administrator Instalační a uživatelská příručka 2004 2016,TECH FASS s.r.o., Věštínská
Maturitní projekt do IVT Pavel Doleček
Maturitní projekt do IVT Pavel Doleček CO FILMBOOK JE Filmbook je uzavřená webová aplikace pro celkovou správu informací a dat souvisejících se sledováním filmů. Primárně je zaměřen na uchovávání a spravování
TC-502L TC-60xL. Tenký klient
TC-502L TC-60xL Tenký klient Popis přístroje Tenký klient TC-502L s kompletní podporou pro připojení do systémů Windows 7, Vista, Windows 2008, Windows 2003, Windows XP Pro, Linux servery. TC-604 navíc
APS Administrator.OP
APS Administrator.OP Rozšiřující webový modul pro APS Administrator Přehled přítomnosti osob v oblastech a místnostech Instalační a uživatelská příručka 2004 2013,TECH FASS s.r.o., Věštínská 1611/19, Praha,
STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST. Obor SOČ: 18. Informatika. Školní sdílení PC obrazovek. School sharing PC screens
STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST Obor SOČ: 18. Informatika Školní sdílení PC obrazovek School sharing PC screens Autoři: Vojtěch Průša Škola: Střední průmyslová škola elektrotechnická Havířov Konzultant:
Docházka 3000 evidence pro zaměstnance z více firem
Docházka 3000 evidence pro zaměstnance z více firem Docházkový systém Docházka 3000 v klasické instalaci počítá s evidencí docházky zaměstnanců z jedné jediné firmy. Pokud potřebujete evidovat docházku
Connection Manager - Uživatelská příručka
Connection Manager - Uživatelská příručka 1.0. vydání 2 Obsah Aplikace Správce připojení 3 Začínáme 3 Spuštění Správce připojení 3 Zobrazení stavu aktuálního připojení 3 Připojení k internetu 3 Připojení
Tvorba informačních systémů
9. Tvorba informačních systémů Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2007/2008 c 2006-2008 Michal Krátký, Miroslav Beneš Tvorba
Synchronizace CRM ESO9 a MS Exchange
Synchronizace CRM ESO9 a MS Exchange Zpracoval: U Mlýna 2305/22, 141 Praha 4 Záběhlice Dne: 1.4.2015 tel.: +420 585 203 370-2 e-mail: info@eso9.cz Revize: Urych Tomáš www.eso9.cz Dne: 23.2.2016 Obsah 1.
EXTRAKT z technické normy ISO
EXTRAKT z technické normy ISO Extrakt nenahrazuje samotnou technickou normu, je pouze informativním materiálem o normě. Inteligentní dopravní systémy Kooperativní ITS Zkušební architektura ISO/TS 20026
Úvod do informatiky 5)
PŘEHLED PŘEDNÁŠKY Internet Protokol a služba Jmenná služba (DNS) URL adresa Elektronická pošta Přenos souborů (FTP) World Wide Web (WWW) Téměř zapomenuté služby 1 INTERNET 2 PROTOKOL A SLUŽBA Protokol
NÁSTROJE PRO VIRTUALIZACI POČÍTAČE
NÁSTROJE PRO VIRTUALIZACI POČÍTAČE Název školy Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště Název DUMu Nástroje pro virtualizaci Autor Martin
Integrace datových služeb vědecko- výukové
České vysoké učení technické v Praze Fakulta elektrotechnická Software Engineering & Networking Projekt Fondu rozvoje sdružení CESNET- 513/2014/1 HS: 13144 / 830 / 8301442C Integrace datových služeb vědecko-
Vzdálená správa v cloudu až pro 250 počítačů
Vzdálená správa v cloudu až pro 250 počítačů S pomocí ESET Cloud Administratoru můžete řídit zabezpečení vaší podnikové sítě bez nutnosti nákupu, instalace nebo údržby dalšího hardwaru. Řešení je poskytováno
File Transfer Protocol (FTP)
File Transfer Protocol (FTP) protokol pro přenos souborů, jeden z klasických RFC 959 přehled specifikací na http://www.wu-ftpd.org/rfc/ opět architektura klient-server navržen s ohledem na efektivní využívání
Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP TCP/IP.
Protokol TELNET Schéma funkčních modulů komunikace protokolem TELNET Telnet klient Telnet server login shell terminal driver Operační systém TCP/IP TCP spojení TCP/IP Pseudo terminal driver Operační systém
POČÍTAČOVÉ SÍTĚ A KOMUNIKACE
POČÍTAČOVÉ SÍTĚ A KOMUNIKACE OBOR: EKONOMIKA A PODNIKÁNÍ ZAMĚŘENÍ: VÝPOČETNÍ TECHNIKA FORMA: DENNÍ STUDIUM 1. Počítačové sítě, základní rozdělení počítačových sítí a. vznik a vývoj počítačových sítí b.
Bakalářská práce, FEL ČVUT Praha. Michal Turek. červenec 2007
Bakalářská práce, FEL ČVUT Praha Vedoucí práce: Doc. Ing. Zdeněk Kouba, CSc. červenec 2007 1. Seznamte se s problematikou bezpečného zpřístupnění legacy datatabáze z Internetu za následujících omezujících
STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Business Edition, ESET Remote Administrator
STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Business Edition, ESET Remote Administrator Vzdálená správa... 2 ESET Remote Administrator Server (ERAS)... 2 Licenční klíč soubor *.LIC... 2 ESET Remote
LINUX uživatelské účty (1)
LINUX uživatelské účty (1) Trocha teorie: Jak bylo již mnohokrát řečeno, LINUX je systémem víceuživatelským. Tzn. Že k dané instanci OS se může v reálném čase připojit současně více uživatelů, a to jak
Hodinový rozpis kurzu Správce počítačové sítě (100 hod.)
Hodinový rozpis kurzu Správce počítačové sítě (100 hod.) Předmět: Bezpečnost a ochrana zdraví při práci (1 v.h.) 1. VYUČOVACÍ HODINA BOZP Předmět: Základní pojmy a principy sítí (6 v.h.) 2. VYUČOVACÍ HODINA
TC-502L. Tenký klient
TC-502L Tenký klient Popis přístroje Tenký klient s kompletní podporou pro připojení do systémů Windows 7, Vista, Windows 2008, Windows 2003, Windows XP Pro, Linux servery. Disponuje 1x rozhraním LAN 10/100,
Individuální projekt z předmětu webových stránek 2012/2013 - Anketa
Individuální projekt z předmětu webových stránek 2012/2013 - Anketa Daniel Beznoskov, 2 IT A Skupina 1 Úvod Prohlášení o autorství Prohlašuji, že jsem individuální projekt z předmětu webových stránek na
FIO API PLUS. Verze 1.1.1
FIO API PLUS Verze 1.1.1 www.fio.cz Verze 29. 5. 2015 OBSAH: 1 FUNKČNÍ POPIS... 2 2 INSTALACE APLIKACE... 2 3 ZÍSKÁNÍ TOKENU... 2 4 PŘIDÁNÍ ÚČTU / TOKENU DO APLIKACE... 3 5 STAŽENÍ DAT... 3 Periodické
Vývoj rozhraní pro vzdálené ovládání systému mainframe. Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze
Vývoj rozhraní pro vzdálené ovládání systému mainframe Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze David Fabian 3.9.2008 1 Obsah Cíle projektu a práce Úvod do mainframe
TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY
Příloha č. 3 k č.j. MV-159754-3/VZ-2013 Počet listů: 7 TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY Nové funkcionality Czech POINT 2012 Popis rozhraní egon Service Bus Centrální Místo Služeb 2.0 (dále jen CMS
Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.
Od CGI k FastCGI Ondřej Caletka 5. října 2013 Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko. Ondřej Caletka (CESNET, z.s.p.o.) Od CGI k FastCGI 5. října 2013 1 / 18 Obsah 1 Common
Michal Krátký, Miroslav Beneš
Tvorba informačních systémů 1/20 Tvorba informačních systémů Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2008/2009 Tvorba informačních
Informační systém pro e-learning manuál
Informační systém pro e-learning manuál Verze 1.00 Úvod Tento dokument popisuje způsob práce s informačním systémem pro elektronické vzdělávání. Systém je určený pro vytvoření elektronického kurzu a jeho
TACHOTel manuál 2015 AURIS CZ
TACHOTel manuál 2 TACHOTel Obsah Foreword I Úvod 0 3 1 Popis systému... 3 2 Systémové... požadavky 4 3 Přihlášení... do aplikace 5 II Nastavení aplikace 6 1 Instalace... a konfigurace služby ATR 6 2 Vytvoření...
Uživatelský modul. File Uploader
Uživatelský modul File Uploader APLIKAC NÍ PR ÍRUC KA POUŽITÉ SYMBOLY Použité symboly Nebezpečí důležité upozornění, které může mít vliv na bezpečí osoby nebo funkčnost přístroje. Pozor upozornění na možné
ZÁLOHA A OBNOVA ABRA GEN
ABRA Software a.s. Jeremiášova 1422/7b 155 00 Praha 13 IČ 25097563 DIČ: CZ2597563 Zapsal Městský soud v Praze OR odd. B, vložka 4475 ZÁLOHA A OBNOVA ABRA GEN DB Firebird Vypracoval: Martin Bohuslav Datum:
Informace o zaměstnancích v insolvenčním řízení v aplikaci KS mzdy
KS mzdy PROFi se jako jediný personální informační systém stala finalistou soutěže IT produkt 2007 a IT produkt 2010 pořádané prestižním časopisem Computerworld. Informace o zaměstnancích v insolvenčním
PŘÍRUČKA SÍŤOVÝCH APLIKACÍ
PŘÍRUČKA SÍŤOVÝCH APLIKACÍ Uložení protokolu tisku na síť Verze 0 CZE Definice poznámek V celé Příručce uživatele používáme následující ikony: Poznámky uvádějí, jak reagovat na situaci, která může nastat,
Athena Uživatelská dokumentace v
Athena Uživatelská dokumentace v. 2.0.0 OBSAH Obsah... 2 Historie dokumentu... 3 Popis systému... 4 Založení uživatele... 5 Přihlášení uživatele... 7 První přihlášení... 8 Založení profilu zadavatele/dodavatele...
SEMESTRÁLNÍ PROJEKT Y38PRO
SEMESTRÁLNÍ PROJEKT Y38PRO Závěrečná zpráva Jiří Pomije Cíl projektu Propojení regulátoru s PC a vytvoření knihovny funkcí pro práci s regulátorem TLK43. Regulátor TLK43 je mikroprocesorový regulátor s