eské vysoké u£ení technické v Praze Fakulta elektrotechnická
Bakalá°ská práce
Administrace webhostingového serveru
Filip enk
Vedoucí práce:
Ing. Ivan ime£ek
Studijní program: Elektrotechnika a informatika strukturovaný bakalá°ský
Obor: Informatika a výpo£etní technika
£ervenec 2008
iv
Pod¥kování Rád bych na tomto míst¥ pod¥koval Ing. Ivanovi ime£kovi za vedení bakalá°ské práce, za jeho cenné rady, podklady a p°ipomínky. Dále d¥kuji mé rodin¥ za podporu p°i psaní této práce a za poskytnuté zázemí.
v
vi
Prohlá²ení Prohla²uji, ºe jsem svou bakalá°skou práci vypracoval samostatn¥ a pouºil jsem pouze podklady uvedené v p°iloºeném seznamu. Nemám závaºný d·vod proti uºití tohoto ²kolního díla ve smyslu 60 Zákona £. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o zm¥n¥ n¥kterých zákon· (autorský zákon).
.............................................................
Ve V¥t°kovicích dne 06.07. 2008
vii
viii
Abstract This project will design and get webhosting server oering all the standard services, with the possibility of administration of all services through a Web interface based on the PHP scripting language. Standard services are FTP, mail, database, CRON, statistics and control of occupied space. The server is designed to facilitate the work of serving the maximum and very relieve administration users. From the perspective of the operator is required to build the automation of payments, watch the expiration of services and do detailed statistics. From the perspective of users of the server must allow operation of all services through the web interface and viewing and made outstanding payments.
Abstrakt Obsahem této práce bude navrhnout a zprovoznit webhostingový server nabízející v²echny standardní sluºby s moºností administrace v²ech sluºeb p°es webové rozhraní zaloºené na skriptovacím jazyku PHP. Standardní sluºby jsou FTP, mail, databáze, CRON, statistiky p°ístup· a kontrola obsazeného místa. Server bude navrºen tak, aby maximáln¥ uleh£il práci obsluze a zárove¬ velice zp°íjemnil administraci uºivatel·m. Z hlediska provozovatele je zapot°ebí naprogramovat automatizaci plateb, hlídat expiraci sluºeb a d¥lat podrobné statistiky. Z hlediska uºivatele server musí umoº¬ovat obsluhu ve²kerých sluºeb p°es webové rozhraní a prohlíºení provedených i neprovedených plateb.
ix
x
Obsah Seznam obrázk·
xv
Seznam tabulek
xvii
1 Úvod
1
1.1
Název projektu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Deklarace zám¥ru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2.1
Cíl práce
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2.2
Analýza a implementace . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2.3
Testování
1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Úvodní studie projektu Leonardo 2.1
Re²erºe existujících °e²ení
3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.1.1
Obecné informace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.1.2
Cíl re²erºe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.1.3
Postup p°i re²erºi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.1.4
Dostupné aplikace, nabízející správu webhostingových sluºeb
. . . . . . .
4
2.1.5
Podrobné informace o produktech . . . . . . . . . . . . . . . . . . . . . . .
4
2.1.5.1
cPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.1.5.2
Plesk
2.1.5.3
HostingController
2.1.5.4
DirectAdmin
2.1.5.5 2.1.5.6
LxAdmin
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
. . . . . . . . . . . . . . . . . . . . . . . . . .
5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
ISPcong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.2
Porovnání dostupných produkt· v tabulce . . . . . . . . . . . . . . . . . . . . . .
6
2.3
Shrnutí re²erºe
6
2.4
Prost°edí systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.5
Uºivatelské role systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.1
Administrátor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.5.2
Reseller
7
2.5.3
Vlastník domény
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.6
Sluºby systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.7
Uloºení systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.8
Katalog poºadavk· . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.9
asový harmonogram
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Analýza projektu Leonardo 3.1
9 10
11
Prost°edí systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
3.1.1
Zobrazování faktur ve formátu PDF a HTML . . . . . . . . . . . . . . . .
11
3.1.2
Robot hlídající p°íchozí platby, expiraci domén a webhostingu . . . . . . .
11
3.1.3
Robot hlídající Paypal online platby
12
3.1.4
Klientské centrum
3.1.5
Superuºivatelské rozhraní
3.1.6
Bash skripty
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
. . . . . . . . . . . . . . . . . . . . . . . . . . .
12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
3.2
Komponenty systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
3.3
Charakteristika poºadovaných sluºeb . . . . . . . . . . . . . . . . . . . . . . . . .
13
3.3.1
Klientské centrum 3.3.1.1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
Správa uºivatelských údaj· . . . . . . . . . . . . . . . . . . . . .
13
xi
3.3.2
3.4
3.3.1.2
Správa databází
. . . . . . . . . . . . . . . . . . . . . . . . . . .
14
3.3.1.3
Správa FTP ú£t· . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
3.3.1.4
Nastavení po²ty a po²tovních schránek . . . . . . . . . . . . . . .
14
3.3.1.5
Nastavení DNS záznam·
14
3.3.1.6
Nastavení CRON záznam·
3.3.1.7
Nastavení statistiky
3.3.1.8
Obsazený prostor
3.3.1.9 3.3.1.10
Upozor¬ování . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
3.3.1.11
Práva, uºivatelé
. . . . . . . . . . . . . . . . . . . . . . . . . . .
15
Superuºivatelské rozhraní
. . . . . . . . . . . . . . . . . . . . . . . . . . .
15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
. . . . . . . . . . . . . . . . . . . . . . . . .
14
. . . . . . . . . . . . . . . . . . . . . . . . . .
14
Kontrola poplatk· . . . . . . . . . . . . . . . . . . . . . . . . . .
15
3.3.2.1
P°idat/smazat doménu
. . . . . . . . . . . . . . . . . . . . . . .
15
3.3.2.2
Seznam domén . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
Uºivatelské role systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
3.4.1
16
3.4.2
3.4.3
Vlastník domény
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.1.1
Diagram modelu jednání
3.4.1.2
Diagram aktivit
. . . . . . . . . . . . . . . . . . . . . .
16
. . . . . . . . . . . . . . . . . . . . . . . . . . .
16
Reseller
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
3.4.2.1
Diagram modelu jednání
. . . . . . . . . . . . . . . . . . . . . .
17
3.4.2.2
Diagram aktivit
. . . . . . . . . . . . . . . . . . . . . . . . . . .
17
Administrátor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
3.4.3.1
Diagram modelu jednání
. . . . . . . . . . . . . . . . . . . . . .
18
3.4.3.2
Diagram aktivit
. . . . . . . . . . . . . . . . . . . . . . . . . . .
18
4 Implementace projektu Leonardo 4.1
Pouºité prvky a technologie
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
4.1.1
PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
4.1.2
SMARTY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
4.1.3
XHTML A CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
4.1.4
MySQL
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
4.1.5
JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
4.2
Implementace databáze
4.3
Organizace zdrojových soubor·
4.4
Klientské centrum
4.5
4.6
4.7
19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
4.4.1
Zavád¥ní systému v klientském centru
. . . . . . . . . . . . . . . . . . . .
22
4.4.2
Autorizace v systému
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
4.4.3
Zabezpe£ení a identikace . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
4.4.4
Automatické odhlá²ení . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
4.4.5
Uºivatelská práva v systému . . . . . . . . . . . . . . . . . . . . . . . . . .
23
4.4.5.1
23
Jednotlivé oblasti v administraci: . . . . . . . . . . . . . . . . . .
Zobrazování faktur ve formátu PDF a HTML
. . . . . . . . . . . . . . . . . . . .
24
4.5.1
Zavád¥ní systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
4.5.2
Zabezpe£ení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
4.5.3
Zobrazení
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
Robot hlídající p°íchozí platby, expiraci domén a webhosting . . . . . . . . . . . .
24
4.6.1
Hlídání expirací . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
4.6.2
Hlídání p°íchozích plateb
. . . . . . . . . . . . . . . . . . . . . . . . . . .
25
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
4.7.1
Zavád¥ní systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
4.7.2
Identikace uºivatele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
Superuºivatelské rozhraní
xii
4.8
4.9
4.7.3
Na£ítaní modul·
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
4.7.4
Zobrazování dat
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
Bash skripty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
4.8.1
28
Seznam soubor·
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8.1.1
Název souboru: awstats . . . . . . . . . . . . . . . . . . . . . . .
28
4.8.1.2
Název souboru: awstats.conf
28
4.8.1.3
Název souboru: backup.sh . . . . . . . . . . . . . . . . . . . . . .
28
4.8.1.4
Název souboru: dtb.conf . . . . . . . . . . . . . . . . . . . . . . .
29
4.8.1.5
Název souboru: nastaveniCasu
. . . . . . . . . . . . . . . . . . .
29
4.8.1.6
Název souboru: hlidejHttpd.sh
. . . . . . . . . . . . . . . . . . .
29
4.8.1.7
Název souboru: newdomain.sh
. . . . . . . . . . . . . . . . . . .
30
4.8.1.8
Název souboru: overeniDNS.sh . . . . . . . . . . . . . . . . . . .
30
4.8.1.9
Název souboru: posta.sh . . . . . . . . . . . . . . . . . . . . . . .
30
4.8.1.10
Název souboru: trac.sh
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
30
Implementace grackého prost°edí (GUI) . . . . . . . . . . . . . . . . . . . . . . .
31
4.9.1
Nástroje pro vytvo°ení GUI . . . . . . . . . . . . . . . . . . . . . . . . . .
31
4.9.2
Implementace grackého vzhledu
. . . . . . . . . . . . . . . . . . . . . . .
31
4.9.3
Bezpe£nost a kompatibilita
. . . . . . . . . . . . . . . . . . . . . . . . . .
31
5 Testování
33
5.1
Seznam test·
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2
Test funk£nosti jednotlivých komponent
33
. . . . . . . . . . . . . . . . . . . . . . .
33
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
5.2.1
Bash skripty
5.2.2
Faktura£ní robot
5.2.3
Superuºivatelské centrum
5.2.4
Zobrazení faktur
5.2.5
Klientské centrum
5.2.6
Robot hlídající paypal online platby
. . . . . . . . . . . . . . . . . . . . .
35
5.2.7
Test funk£nosti celku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
. . . . . . . . . . . . . . . . . . . . . . . . . . .
34
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
5.3
Test kompatibility
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
5.4
Test pouºitelnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
5.5
Zát¥ºový test
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
5.6
Uºivatelský test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
5.7
Výsledky test·
36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7.1
Test funk£nosti jednotlivých komponent
5.7.2
Test celého systému
. . . . . . . . . . . . . . . . . . .
36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
5.7.3
Ostatní testy
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
6 Záv¥r
37
6.1
Hlavní cíl projektu
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
6.2
Shrnutí návrhu projektu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
6.2.1
Zadání . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
6.2.2
Analýza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
6.2.3
Implementace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
Budoucí vývoj systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
6.3
7 Literatura
39
A Seznam pouºitých zkratek
41
B Slovní£ek pojm·
43 xiii
C Tabulky
45
D UML diagramy
47
D.1
Zobrazování faktur ve formát¥ PDF a HTML
D.2
Robot hlídající expirace
. . . . . . . . . . . . . . . . . . . .
47
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.3
Robot hlídající p°íchozí platby
47
D.4
Robot hlídající Paypal online platby
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
E Ukázky aplikace
48 48
49
E.1
Klienské centrum po p°ihlá²ení
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
E.2
Klienské centrum - kontrola poplatk· . . . . . . . . . . . . . . . . . . . . . . . . .
50
E.3
Klienské centrum - Nastavení DNS
. . . . . . . . . . . . . . . . . . . . . . . . . .
51
E.4
Administrátorské centrum - P°enos dat . . . . . . . . . . . . . . . . . . . . . . . .
52
F Obsah p°iloºeného CD
49
53
xiv
Seznam obrázk· 3.1
Komunikace klient - server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2
Komunikace komponent
3.3
Diagram modelu jednání role Vlastník domény
3.4
Diagram aktivit role Vlastník domény
. . . . . . . . . . . . . . . . . . . . . . . .
16
3.5
Diagram modelu jednání role Reseller
. . . . . . . . . . . . . . . . . . . . . . . .
17
3.6
Diagram aktivit role Reseller
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
3.7
Diagram modelu jednání role Administrátor . . . . . . . . . . . . . . . . . . . . .
18
3.8
Diagram aktivit role Administrátor . . . . . . . . . . . . . . . . . . . . . . . . . .
18
4.1
MySQL administrátor
21
D.1
Zobrazování faktur ve formát¥ PDF a HTML
D.2
Robot hlídající expirace
D.3
Robot pro p°íchozí plaby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
D.4
Robot hlídající Paypal online platby
. . . . . . . . . . . . . . . . . . . . . . . . .
48
E.1
Klienské centrum po p°ihlá²ení
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
E.2
Klienské centrum - Kontrola poplatk·
E.3
Klienské centrum - Nastavení DNS
E.4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11 13 16
. . . . . . . . . . . . . . . . . . . .
47
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
. . . . . . . . . . . . . . . . . . . . . . . .
50
. . . . . . . . . . . . . . . . . . . . . . . . . .
51
Klienské centrum - kontrola poplatk· . . . . . . . . . . . . . . . . . . . . . . . . .
52
xv
xvi
Seznam tabulek C.1
Re²erºe dostupných projekt·
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xvii
46
xviii
KAPITOLA 1.
ÚVOD
1
1 Úvod 1.1 Název projektu Leonardo - Webhosting Administrative System
1.2 Deklarace zám¥ru 1.2.1 Cíl práce Cílem projektu Leonardo je zprovoznit správu webhostingových sluºeb na uºivatelské i administra£ní úrovni. Hlavním p°edpokladem pro úsp¥²nost projektu je velice snadná a intuitivní obsluha, která b¥ºným uºivatel·m internetu dopom·ºe k maximální spokojenosti. Na druhou stranu musí dát administrátorovi systému silný nástroj pro absolutní p°ehled o doménách, které p·sobí na serveru.
1.2.2 Analýza a implementace V dne²ní dob¥ internetových aplikací, kdy má kaºdá rma webovou prezentaci je webhosting velice d·leºitou sou£ástí internetových sluºeb. Na trhu je veliká spousta rem, které tuto sluºbu nabízí, ale v¥t²inou se jedná o rmy, které nemají propracované klientské centrum, kde si uºivatelé spravují své domény. Na trhu jsou dva komer£ní produkty, které spl¬ují komplexní správu webhostingových sluºeb. Jedná se o systém Plesk a cPanel. Oba systémy umoº¬ují administraci FTP, mail a DNS sluºeb webhostingového serveru vyjma statistických nástroj· a faktura£ního robota.
1.2.3 Testování Testování se bude provád¥t b¥hem programování aplikace a následn¥ i po naprogramování. Testování bude slouºit z d·vodu ov¥°ení funk£nosti a p°edpokládané £innosti systému. P°ípadn¥ odhalené chyby, nedod¥lky £i nedostatky budou opraveny a s pomocí systému bugtracker budou tyto anomálie zaznamenány.
2
KAPITOLA 1.
ÚVOD
KAPITOLA 2.
ÚVODNÍ STUDIE PROJEKTU LEONARDO
3
2 Úvodní studie projektu Leonardo 2.1 Re²erºe existujících °e²ení 2.1.1 Obecné informace Na trhu není mnoho produkt·, nabízejících obsluhu domén a webhostingu, ale v zásad¥ máme 6 komer£ních projekt· a 1 opensource projekt, které spl¬ují tyto základní poºadavky:
•
Správa
•
FTP ú£t· Mail ú£t· Databázové ú£t· DNS záznam· CRON záznam· Uºivatelských práv AWstats statistik
Statistiky
Obsazeného místa
Nekomer£ní, opensource projekty se v tomto odv¥tví tém¥° nevyskytují. Je to z d·vodu vysoké £asové náro£nosti k naprogramování a výsledný software se bude pouºívat £ist¥ ke komer£ním ú£el·m.
2.1.2 Cíl re²erºe Snahou re²erºe bylo uvést v²echny dostupné aplikace, nabízející správu webhostingových sluºeb, následn¥ tyto aplikace porovnat a sestavit vlastní poºadavky na projekt Leopard. Hlavní poºadavek p°i tvorb¥ re²erºe je objektivita a podrobné prozkoumání v²ech nabízených produkt·.
2.1.3 Postup p°i re²erºi Pro výb¥r zde uvedených nástroj· byla pouºita následující kritéria:
•
Musí spl¬ovat základní poºadavky (uvedeny v bod¥ Obecné informace)
•
Nabízí nadstandardní vlastnosti £i to, co ostatní projekty nemají
•
P°ív¥tivé uºivatelské prost°edí
•
Uºivatelská podpora (d·leºitá pro instalaci produktu)
•
Pouºitelnost na webhostingovém serveru
4
KAPITOLA 2.
ÚVODNÍ STUDIE PROJEKTU LEONARDO
2.1.4 Dostupné aplikace, nabízející správu webhostingových sluºeb •
cPanel
•
Plesk
•
HostingController
•
DirectAdmin
•
ISPcong
•
ISPmanager
•
LxAdmin
Pro názornou ilustraci propracovanosti opensource projekt· jsem vybral projekt s názvem ISPcong, který dokazuje nepouºitelnost opensource projekt· p°i nasazení do komer£ního pouºití.
2.1.5 Podrobné informace o produktech 2.1.5.1 cPanel Web: www.cpanel.net Cena: $1250 (neomezená licence, bez moºnosti aktualizací) Aplikace p·sobí velice robustn¥, na první pohled je velice p°ehledná a skýtá nemén¥ nastavení a statistik zobrazených hned na první stran¥. V²echny p°íbuzné volby a nastavení jsou p°ehledn¥ seskupeny, £ímº se celkový dojem ze systému umoc¬uje. Nedá moc velkou námahu zjistit, ºe cPanel splnilo v²echny na²e poºadavky do posledního a k tomu nabízí nep°eberné mnoºství dal²ích nastavení. Máme moºnost aktivovat FrontPage roz²í°ení, vytvo°it si vlastní SSL certikát nebo p°idat nový Apache Handler pro obsluhu nových programovacích jazyk·. Samoz°ejmostí u tohoto produktu je moºnost automatické instalace aplikace ze seznamu (CMS, Fotoalbum atd.). Jako nevýhodu bych uvedl povinnost vytvá°et subdomény skrz administraci.
2.1.5.2 Plesk Web: www.parallels.com Cena: $1390 (neomezená licence, 1 rok support) Velice komplexní nástroj umoº¬ující konguraci celého systému. Od rewallu, IP adres p°es nastavení FTP a emailových démon· aº po moºnost spustit instance herních server·. Z administrátorského hlediska je Plesk dokonalý nástroj pro administraci dedikovaných £i virtuálních server·. Aniº byste museli otevírat konzoli nastavíte kompletn¥ celý systém skrz webové rozhraní, ve kterém máte kompletní kontrolu nad serverem. Toto v²e poskytuje Administrátorský reºim Plesku. Pokud se p°ihlásíme jako b¥ºný klient, m·ºeme mít pod klientským ú£tem neomezený po£et domén a ke v²em si m·ºeme nastavit v²echny na²e poºadované sluºby. Navíc m·ºeme obsluhovat Java server p°esn¥ji Tomcat server. Samoz°ejmostí u takového projektu je vlastní souborový manager a spousta nastavení HTTP serveru. Administrace je velice jednoduchá a intuitivní, umoº¬uje v²e, co pot°ebujeme a pokud pot°ebujeme obsluhovat dedikovaný server, Plesk je jedna z nejlep²ích voleb.
KAPITOLA 2.
ÚVODNÍ STUDIE PROJEKTU LEONARDO
5
2.1.5.3 HostingController Web: www.hostingcontroller.com Cena: $250 na 1 server (neomezená licence, bez supportu) Obsluha i zpracování celého systému je pr·m¥rné. Jsou zde 2 úrovn¥ práv Uºivatel a Reseller. Jako uºivatel m·ºeme obsluhovat v²echny domény, které máme p°id¥leny (máme moºnost mít více domén pod jedním ú£tem) s moºností nep°eberného mnoºství nastavení. Dokonce m·ºeme jediným klikem nainstalovat na danou doménu aplikace jako CMS, Elektronický obchod £i Fotogalerii. Hlavní výhoda tohoto systému je v tom, ºe obsahuje faktura£ní systém v£etn¥ online plateb. V p°ípad¥ p°ihlá²ení se pod právy Reseller, m·ºeme m¥nit cenu v²ech program·, nastavovat kvóty program· v£etn¥ moºnosti nastavení online plateb systém umí p°ijímat platby WorldPay,LinkPoint,PayPal,2CheckOut a mnoho dal²ích. Celý systém p·sobí propracovan¥, ovládání je mírn¥ sloºit¥j²í.
2.1.5.4 DirectAdmin Web: www.directadmin.com Cena: $300 (neomezená licence, support na 90 dní) Gracké zpracování systému je p°íjemné a ovládání je intuitivní. Ihned po zobrazení uvodní stránky vidíme základní statistiky domény, datový p°enos dat £i vyuºití disku. Aplikace poskytuje 3 moºné role. Uºivatel, Reseller a Administrátor. Pokud se p°ihlásíme jako Uºivatel, m·ºeme obsluhovat pouze jednu doménu, která je nám p°i°azena. V p°ípad¥ role Reseller máme pravomoci obsluhovat uºivatele, kte°í jsou nám p°i°azeni v£etn¥ obsluhy jejich domén. Administrátor má naprostý p°ehled nad b¥ºícím serverem a jeho procesy. V p°ípad¥ obsluhy domény a k ní spjatých webhostingových sluºeb jsem nezjistil nedostatky. V²echny na²e poºadované sluºby jsou implementovány v£etn¥ moºnosti vygenerování si vlastního SSL certikátu.
2.1.5.5 ISPcong Web: www.ispcong.org Cena: $0 projekt je zadarmo jako opensource Zpracování celého systému je pr·m¥rné spí²e podpr·m¥rné. Výhoda je hlavn¥ v nep°eberném mnoºství nastavení HTTP serveru s moºností aktivování jednotlivých sluºeb (SSL, CGI, Shell, Frontpage, MySQL atd.). Ovládání je nep°ehledné, p°i£emº zobrazení 100 ikonek ve stromu pod sebou této skute£nosti nikterak nep°idává. Administrace pomocí tohoto nástroje je opravdu náro£ná a pro oby£ejného uºivatele internetu je tento nástroj nepouºitelný.
2.1.5.6 LxAdmin Web: www.lxadmin.com Cena: $18 za m¥síc Ihned po otev°ení administrace se nám rozprost°e velice p°ehledná administrace, která nabízí moºnost základního nastavení webhostingových sluºeb. Jedná se o nastavení FTP, mail, MySQL ú£t· a DNS záznam·. Jako hlavní výhodu bych uvedl souborový manager implementovaný p°ímo do aplikace a moºnost listovat HTTP logovací soubory. Celá aplikace p·sobí velice
6
KAPITOLA 2.
ÚVODNÍ STUDIE PROJEKTU LEONARDO
p°ehledn¥ a d·leºité informace o domén¥ se zobrazují na v²ech stránkách. Mezi hlavní nedostatky pat°í nep°ítomnost nastavení CRON záznam· a statistik. K tomu se p°idává nutnost vytvo°ení subdomény skrz aplikaci.
2.2 Porovnání dostupných produkt· v tabulce Tabulka C.1 je v p°íloze C.
2.3 Shrnutí re²erºe Re²erºe ukázala, ºe jediný opensource projekt, který byl zde uveden, je velice nevhodný a je²t¥ není p°ipraven k nasazení v profesionálním webhostingu. Nejlépe dopadly projekty DirectAdmin, Plesk a cPanel a to hlavn¥ kv·li propracovanosti £i velikému seznamu podporovaných sluºeb. V²echny 3 projekty je moºno pouºít pro profesionální sluºby v oblasti webhostingu a nabízejí maximální komfort. Tém¥° v²echny projekty mají jedno velké mínus. Neobsahují faktura£ního a platebního robota, který by tyto platby resp. poºadavky zpracovával a následn¥ je vyhodnocoval. V tomto sm¥ru se nejlépe osv¥d£il projekt HostingController, který poskytuje faktura£ního i platebního robota dokonce pro online platby mnoha sv¥tových spole£ností. Po prozkoumání licencí jsem zjistil, ºe dal²í velké mínus je nemoºnost upravování aplikace. V p°ípad¥ nálezu n¥jaké chyby je pot°eba vy£kat na záplatu £i není moºnost úpravy designu.
2.4 Prost°edí systému Systém se bude d¥lit do nezávislých komponent, které budou obsluhovat jen úzkou problematiku celého celku:
•
Zobrazování faktur ve formátu PDF a HTML rozhraní, které bude zobrazovat data pro faktury. Faktury se budou d¥lit na faktury odeslané a zálohové faktury.
•
Robot hlídající p°íchozí platby, expiraci domén a webhostingu komponenta pro generování faktur, upozorn¥ní na expiraci plateb, odesílaných skrz emailový komunika£ní kanál a obsluhu bankovního ú£tu.
•
Robot hlídající Paypal online platby komponenta hlídající p°íchozí platby. Po zpracování a ov¥°ení pravosti platby p°edá °ízení robotu pro p°íchozí platby.
•
Klientské centrum rozhraní ur£ené pro cílové klienty, které bude umoº¬ovat obsluhu webhostingových sluºeb s moºností p°id¥lování práv pro uºivatele.
•
Superuºivatelské rozhraní komplexní správa v²ech domén, p°ehled vystavených zálohových a odeslaných faktur, expirací, datových p°enos·, emailových ú£t·, databází a moºnost p°idávání resp. mazání domén.
•
Bash skripty skripty zaru£ující chod celého systému Leopard na úrovni OS. Zji²´ování informací z log soubor·, nastavování p°esného £asu, kontrola platnosti emailových schránek a mnoho dal²ích.
KAPITOLA 2.
ÚVODNÍ STUDIE PROJEKTU LEONARDO
7
2.5 Uºivatelské role systému Systém bude obsahovat 3 role v systému:
•
Administrátor
•
Reseller
•
Vlastník domény
2.5.1 Administrátor Role Administrátor zastupuje administrátora systému. Tato role poskytuje maximální práva a moºnosti spravování serveru p°es webové rozhraní.
2.5.2 Reseller Role Reseller je ur£ena pro rmy, které vlastní více domén a cht¥jí je pohodln¥ spravovat p°es jeden ú£et. Tento ú£et je ur£en pouze pro správu jednotlivých domén, které jsou mu p°i°azeny.
2.5.3 Vlastník domény Role Vlastník domény se vytvá°í ke kaºdé domén¥ a umoº¬uje spravovat pouze jednu doménu, ke které je p°i°azena. Pokud vytvá°íme nového uºivatele, tak má roli Vlastník domény. Podrobn¥j²í popis bude v kapitole 3, podkapitole 3.4.
2.6 Sluºby systému Sluºby rozd¥líme podle uºivatelských rolí: Administrátor:
•
Zobrazování zálohových a odeslaných faktur
•
Zobrazování odeslaných informa£ních email·
•
Informace o obsazeném míst¥ v²ech domén
•
Informace o expirací domén a webhostingových sluºeb
•
Informace o po£tu emailových schránek, databází a CRON záznam·
•
Trac jednotlivých domén
•
Náv²t¥vnost domén
•
Nastavení expirací plateb pro webhosting a domény
•
Generování nových hesel uºivatel·m
•
P°idávání a mazání domén
8
KAPITOLA 2.
ÚVODNÍ STUDIE PROJEKTU LEONARDO
Reseller:
•
Obsluha více domén
•
Obsahuje stejné sluºby jako Vlastník domény
Vlastník domény:
•
Editace uºivatelských údaj·
•
Editace faktura£ních údaj·
•
Správa databází MySQL a PostgreSQL
•
Správa FTP ú£t· s moºností nastavení kvóty pro p°enesená data
•
Správa po²tovních schránek a p°esm¥rování
•
Správa DNS záznam·
•
Správa CRON záznam·
•
Správa statistik domény
•
Informace o obsazeném prostoru
•
Správa poplatk· s p°ehledem a moºností prohlíºení vystavených faktur
•
Moºnost nastavení upozor¬ování na expiraci domény a webhostingu
•
Správa uºivatel· a jejich práv
Podrobn¥j²í informace v kapitole 3.
2.7 Uloºení systému Systém bude uloºen na linuxovém serveru distribuce Open SuSE 10.3. Na serveru pob¥ºí HTTP server Apache 2.2., který bude kongurován s virtuálními hosty proti MySQL databázi. Toto °e²ení nám zaru£í individuální nastavení PHP direktiv pro kaºdou doménu, moºnost zvolení rozli£ných domovských adresá°·, £i velice jednoduché vytvá°ení alias·. Databáze bude uloºena na MySQL databázovém serveru verze 5.0, který zaru£uje moºnost tvo°ení uloºených procedur a poskytuje pot°ebný výkon a rychlost pro velké mnoºství domén. Celý systém je naprogramován ve skriptovacím jazyku PHP, který je ur£en p°edev²ím pro tvorbu dynamických internetových stránek. Ve v¥t²in¥ p°ípad· se za£le¬uje p°ímo do HTML kódu, ale pro v¥t²í p°ehlednost je zde pouºit framework SMARTY, který odd¥lí prezenta£ní a aplika£ní vrstvu od sebe. Framework je výhodný hlavn¥ z hlediska cache pam¥ti, p°ehlednosti a jednoduchosti pouºití. Podrobn¥j²í infomace v kapitole 4, podkapitole 4.1.
KAPITOLA 2.
ÚVODNÍ STUDIE PROJEKTU LEONARDO
9
2.8 Katalog poºadavk· •
Poskytované sluºby
Obsluha sluºeb webhostingu zákazníkem
∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗
Správa MySQL a PostgreSQL databází Správa FTP ú£t· s moºností nastavení kvóty pro p°enesená data Správa po²tovních schránek Správa DNS záznam· Správa CRON záznam· Správa statistik domény Informace o obsazeném prostoru Správa poplatk· Moºnost nastavení upozor¬ování na expiraci domény a webhostingu Správa uºivatel· a jejich práv
Správa zálohových a odeslaných faktur Správa odeslaných informa£ních email· Informace o obsazeném míst¥ v²ech domén Informace o expiraci domén a webhostingových sluºeb Informace o po£tu emailových schránek, databází a CRON záznam· Trac jednotlivých domén Náv²t¥vnost domén Nastavení expiraci plateb pro webhosting a domény Generování nových hesel uºivatel·m P°idávání a mazání domén
Hlídání expiraci plateb za webhosting a domény
∗ ∗ ∗
Editace faktura£ních údaj·
Obsluha webhostingového serveru administrátorem
∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗
Editace uºivatelských údaj·
Pokud se blíºí expirace, je pot°eba odeslat informativní email 14-20dní p°ed vypr²ením ode²leme fakturu pro zaplaceni s informa£ním emailem V p°ípad¥ prodlení platby budeme odesílat email s urgencí platby
Zpracování plateb
∗
V p°ípad¥ p°ijetí platby zkontrolujeme náleºitostí (variabilní symbol) a zpracujeme
∗
Pokud je platba v po°ádku, zaneseme do databáze, ode²leme informativní emaily a prodlouºíme webhosting £i doménu
•
Komponenty systému
Klientské centrum
∗ ∗
Umoº¬uje správu webhostingu pro zákazníka (role Vlastník domény, Reseller) Klienti mohou kontaktovat podporu p°es kontaktní formulá°
Superuºivatelské rozhraní
∗
Spravuje webhostingový server, poskytuje informace o doménách
10
KAPITOLA 2.
Faktura£ní robot
∗ ∗ ∗ ∗
Odesílá informativní emaily Generuje faktury Zpracovává platby z ú£tu
Zpracovává online platby p°es PayPal Dal²í zpracování nechává Faktura£nímu robotu
HTML/PDF faktury
∗
Hlídá expirace domén £i webhostingu
Online faktura£ní robot
∗ ∗
ÚVODNÍ STUDIE PROJEKTU LEONARDO
Zobrazuje zálohové a odeslané faktury ve formátu HTML £i PDF
BASH skripty
∗ ∗ ∗
Propojují klientské centrum a superuºivatelské rozhraní s OS Zpracovávají log soubory a p°e£tené informace zaná²ejí do databáze Kontrolují emailové schránky. Nefunk£ní emailové schránky sbalí a p°esune do zálohového adresá°e
∗ ∗ •
Zji²´ují velikost po²tovních schránek a HTML stránek Vytvá°ejí prvotní adresá°ovou strukturu
Uºivatelské rozhraní
GUI pro administrátory
∗ ∗
V¥t²ina informací by se m¥la dát ltrovat Vyhledávání na úrovni tabulek
GUI pro Vlastníka domény a Resellera
∗ ∗
Hlavní p°edpoklad je p°ehlednost Klientské centrum by m¥lo být jednoduché pro obsluhu
2.9 asový harmonogram Harmonogram byl vytvo°en s ohledem na sloºitost celého projektu, £asovou náro£nost implementace a testování. Testování byl p°ikládán veliký d·raz hlavn¥ z d·vodu získání zákazník· a pozd¥j²í minimalizace náklad· p°i opravování chyb.
KAPITOLA 3.
ANALÝZA PROJEKTU LEONARDO
11
3 Analýza projektu Leonardo Komunikace klient - server
Obrázek 3.1: Komunikace klient - server
3.1 Prost°edí systému 3.1.1 Zobrazování faktur ve formátu PDF a HTML Zobrazování faktur je naprogramováno ve skriptovacím jazyku PHP, vyuºívá framework SMARTY, coº p°iná²í hlavní výhodu v moºnosti zm¥nit velice jednoduchým zp·sobem vzhled faktury. Vzhled jako takový je denován v template ²ablon¥, která je v adresá°i s chrán¥ným p°ístupem. Toto bezpe£nostní opat°ení znemoº¬uje dostat se p°ímo k ²ablon¥ a p°e£íst si choulostivá data ²ablony. Generování PDF souboru, který obsahuje fakturu, je umoºn¥no p°es opensource knihovnu FPDF, která je roz²í°ena o zpracovávání HTML kódu a následnou transformaci do PDF souboru. V²echny vý²e uvedené funk£nosti výrazn¥ uleh£ují práci s faktura£ním systémem s moºností jednoduché zm¥ny faktury. Diagram D.1, popisující zobrazení faktur, se nachází v p°íloze D.
3.1.2 Robot hlídající p°íchozí platby, expiraci domén a webhostingu Robot je zaloºen na skriptovacím jazyku PHP v£etn¥ komunikace s emailovou schránkou skrz protokol IMAP, kam se zasílají v²echny p°íchozí platby z ú£tu. Kaºdých 10 minut se p°ipojuje ke schránce a zpracovává p°íchozí platby, kdy vyparsuje jen nové, p°íchozí emaily. P°i parsování se vybírá £ástka, variabilní symbol, £íslo ú£tu a speciální kód, který zabrání zpracování podvodného emailu. V p°ípad¥ p°ijetí platby se správnou £ástkou a variabilním symbolem se odesílá informativní email o p°ijeti a prodlouºení sluºeb. V opa£ném p°ípad¥ se odesílá email administrátorovi serveru, který celou záleºitost prov¥°í a napraví.
12
KAPITOLA 3.
ANALÝZA PROJEKTU LEONARDO
Diagram D.2, popisující hlídání expirací, se nachází v p°íloze D. Diagram D.3, popisující p°íjem plateb, se nachází v p°íloze D.
3.1.3 Robot hlídající Paypal online platby Robot slouºí pro p°ijímání online plateb, kdy po ov¥°ení korektnosti platby p°edá °ízení Robotu hlídající p°íchozí platby. V p°ípad¥ neplatné p°íchozí platby odesílá email administrátorovi, který záleºitost prov¥°í a napraví. Princip ov¥°ování platnosti platby je popsán na obrázku £. Diagram D.4, popisující funk£nost robota, se nachází v p°íloze D.
3.1.4 Klientské centrum Klientské centrum je napsáno ve skriptovacím jazyku PHP, vyuºívá framework SMARTY a díky n¥muº není velkým problémem zm¥nit vzhled centra. Jedná se o 3-vrstvou komponentu, která komunikuje s bash skripty skrz databázi. Tímto krokem se odd¥lil opera£ní systém od PHP skript·, £ímº se zaru£ila daleko vy²²í bezpe£nost. Klientské centrum umoº¬uje správu webhostingových sluºeb nad doménou bez zásahu administrátora. Uºivatel po zaregistrování dostává p°ihla²ovací jméno a vygenerované heslo a pomocí t¥chto údaj· se p°ihla²uje. Uºivatelské jméno m·ºe mít více domén s ur£itým webhostingovým programem. Spolupráce klientského centra s bash skripty je vid¥t na obrázku £.
3.1.5 Superuºivatelské rozhraní Komponenta pro správce systému, která nabízí komplexní p°ehled nad doménami. V¥t²ina dat pro komponentu se získává ze statistik p°ístup· domén, FTP serveru £i z souborového systému. Pro maximální vyuºití s malým zatíºením serveru p°i tvorb¥ statistik pro tuto komponentu je za pot°ebí vyuºívat p°edp°ipravené statistiky, £i pouºívat funkce zakomponované v jádru linuxu s dopomocí bash skript·. V²echny tyto akce se provád¥jí n¥kolikrát denn¥ a zaná²ejí se do databáze. Toto má za následek u²et°ení zatíºení serveru p°i kontrole administrátorem. Bliº²í informace ohledn¥ komunikace superuºivatelského rozhraní se systémem popisuje obrázek £.
3.1.6 Bash skripty Bash skripty jsou podp·rné skripty systému Leonardo pro komunikaci s opera£ním systémem. Leonardo nekomunikuje p°ímo s opera£ním systémem z bezpe£nostních d·vod· a navíc bash skripty slouºí k parsování log·, statistik, vytvá°ení nových domén £i promazávání nepouºívaných emailových schránek. Následující diagram zobrazuje skripty s jejich p°ístup k disku a databázi.
KAPITOLA 3.
ANALÝZA PROJEKTU LEONARDO
13
3.2 Komponenty systému Rozd¥lení do komponent, kdy se kaºdá komponenta stará o ur£itou £ást komunikace se zákazníkem £i serverem, má za následek zvý²ení p°ehlednosti £i úpravy kódu, výhodn¥j²í hledání chyb (v n¥které z komponent systému Leonardo chyba vznikne). Pro názornost komunikace mezi komponentami je p°ipojen diagram £. .
Obrázek 3.2: Komunikace komponent
3.3 Charakteristika poºadovaných sluºeb Charakteristika se v analýze zam¥°uje na funk£nost a £innost jednotlivých sluºeb.
3.3.1 Klientské centrum 3.3.1.1 Správa uºivatelských údaj· V databázi se vedou dva druhy uºivatelských údaj·. Jeden druh údaj· slouºí pro kontaktní údaje a druhý údaj slouºí pro faktura£ní údaje, ze kterých se následn¥ sestavuje faktura. Oba druhy jsou libovoln¥ editovatelné s tím, ºe se musí vypl¬ovat povinné údaje (telefon, email, jméno, p°íjmení, adresa).
14
KAPITOLA 3.
ANALÝZA PROJEKTU LEONARDO
3.3.1.2 Správa databází Administrace umí vykonávat administraci nad databázemi MySQL a PostgreSQL. Pro oba druhy databází je za pot°ebí správn¥ nastavit oprávn¥ní, aby nedocházelo k moºnosti po²kození dat v databázích, které nepat°í pod uºivatelský ú£et.
3.3.1.3 Správa FTP ú£t· U FTP ú£t· je moºné nastavit nejen libovolný po£et uºivatelských FTP ú£t·, ale kaºdému ú£tu nastavit kvótu úloºného prostoru, £i do kterého adresá°e bude mít daný ú£et p°ístup. Kvóta se nastavuje od 10MB aº do neomezeného uloºi²t¥ uloºi²t¥ je potom omezeno webhostingovým programem.
3.3.1.4 Nastavení po²ty a po²tovních schránek Pro správu po²ty je velice d·leºité mít moºnost vytvá°et nové emailové schránky a ty následn¥ editovat. Také je d·leºité mít moºnost nastavit pro kaºdý ú£et r·zné parametry. Mezi parametry se °adí moºnost nastavení kvóty, povolení £i zakázání antiviru, antispamu a nastavovat kritéria pro antispamový ltr. Pro kaºdou schránku je d·leºité nastavení p°eposílání, kdy se emaily ze schránky p°eposílájí na dal²í libovolné schránky(schránky nemusejí být na stejné domén¥).
3.3.1.5 Nastavení DNS záznam· DNS záznamy jsou velice d·leºité pro správnou funk£nost domény a také se £asto nastavují individuáln¥. Nastavovat se mohou pouze omezené typy záznam·. Jedná se o A,MX,CNAME,TXT záznamy domény. Ostatní záznamy nejsou povoleny pro editaci, protoºe jejich nesprávné nastavení vede vºdy k odstavení domény a následné zprovozn¥ní trvá 24 hodin. V p°ípad¥ záznamu CNAME je dovoleno pouºívat tzv. wildcards.
3.3.1.6 Nastavení CRON záznam· CRON, nebo-li plánova£ skript·, se pouºívá pro pravidelné spou²t¥ní skript· v p°edem denovaném £ase. V klientské £ásti je umoºn¥no spou²t¥t pouze PHP skripty po zadání p°esné cesty a po zadání £etnosti opakování.
3.3.1.7 Nastavení statistiky U statistik p°ístup· si vedeme p°ihla²ovací údaje, pod kterými jsou statistiky p°ístupné.
3.3.1.8 Obsazený prostor Pro maximální komfort se zobrazuje statistika o vyuºití místa v£etn¥ kolá£ového grafu, který p°esn¥ vizuáln¥ zobrazí statistiku. Do statistiky se zahrnují i velikost v²ech databází a emailových ú£t·.
KAPITOLA 3.
ANALÝZA PROJEKTU LEONARDO
15
3.3.1.9 Kontrola poplatk· Pro informace o po£tu zbývajících dnech do expirace, webhostingovém programu £i datumu zaplacení se pouºívá tato sluºba. Jsou zde také zobrazeny v²echny vystavené faktury jak ve form¥ PDF, tak v HTML form¥.
3.3.1.10 Upozor¬ování V p°ípad¥ nutnosti informovat o blíºící se expiraci telefonem £i doporu£eným dopisem se pouºije tato sluºba. Následn¥ faktura£ní robot upozor¬uje administrátora o nutnosti informovat zákazníka o expiraci.
3.3.1.11 Práva, uºivatelé Ve²keré sluºby jsou chrán¥né a pro kaºdého uºivatele se m·ºe nastavit, nad kterými sluºbami má povoleno provád¥t administraci.
3.3.2 Superuºivatelské rozhraní 3.3.2.1 P°idat/smazat doménu P°idávání, resp. odebírání domén s moºností nastavení sluºeb, kterých se to bude týkat (email, DNS, web, faktura£ní systém).
3.3.2.2 Seznam domén Seznam v²ech domén s kontaktními údaji, po£tem databází a CRON záznam·.
16
KAPITOLA 3.
ANALÝZA PROJEKTU LEONARDO
3.4 Uºivatelské role systému 3.4.1 Vlastník domény Vlastník domény má umoºn¥no provád¥t administraci v²ech sluºeb nad doménou. Získá jednoduchou kontrolu nad poplatky, vystavenými fakturami £i obsazeným prostorem. Pro maximalizaci pohodlí má umoºn¥no upozorn¥ní na expiraci telefonem, doporu£eným dopisem £i obojím.
3.4.1.1 Diagram modelu jednání
Obrázek 3.3: Diagram modelu jednání role Vlastník domény
3.4.1.2 Diagram aktivit
Obrázek 3.4: Diagram aktivit role Vlastník domény
KAPITOLA 3.
ANALÝZA PROJEKTU LEONARDO
17
3.4.2 Reseller Reseller má stejná práva jako vlastník domény s tím rozdílem, ºe m·ºe mít pod svým ú£tem více domén, neº jednu. Pro v¥t²inu rem toto znamená omezení £asových ztrát p°i p°ihla²ováním se pod jiným uºivatelem, p°ehlednost a velké pohodlí p°i správ¥ více domén.
3.4.2.1 Diagram modelu jednání
Obrázek 3.5: Diagram modelu jednání role Reseller
3.4.2.2 Diagram aktivit
Obrázek 3.6: Diagram aktivit role Reseller
18
KAPITOLA 3.
ANALÝZA PROJEKTU LEONARDO
3.4.3 Administrátor Administrátor m·ºe provád¥t administraci v²ech domén, má podrobné statistiky k doménám a p°ístup k faktura£nímu robotu v£etn¥ odeslaných email· pro zp¥tnou kontrolu.
3.4.3.1 Diagram modelu jednání
Obrázek 3.7: Diagram modelu jednání role Administrátor
3.4.3.2 Diagram aktivit
Obrázek 3.8: Diagram aktivit role Administrátor
KAPITOLA 4.
IMPLEMENTACE PROJEKTU LEONARDO
19
4 Implementace projektu Leonardo 4.1 Pouºité prvky a technologie 4.1.1 PHP Systém Leonardo je navrºen a naprogramován ve skriptovacím jazyku PHP 5.0, který vyniká svou jednoduchostí a pouºitelností. Je ur£en primárn¥ pro psaní dynamických internetových aplikací. Nej£ast¥ji je za£len¥n p°ímo do struktury jazyka HTML, XHTML. Jeho vyuºití se dá nalézt i pro tvorbu kancelá°ských a konzolových aplikací. Skripty jsou provád¥ny na stran¥ serveru, kdy je p°ená²en k uºivateli pouze výstup aplikace a samotné provád¥ní a obsah skript· je uºivateli skryt pod zá²titou serveru. Syntaxe je podobná vy²²ím programovacím jazyk·m (C, Java a Perl). S nutností provozovat PHP skripty pod serverovým démonem typu Apache, IIS je jazyk platform¥ nezávislý. PHP obsahuje rozsáhlé knihovny funkcí, které nabízí p°ístup k sí´ovým protokol·m (IMAP, HTTP, POP3, SNMP a mnoho dal²ích), souboru systému £i databázovým server·m (PostgreSQL, MySQL, Oracle, MSSQL atd.). PHP je jedním z nejroz²í°en¥j²ích a nejpouºívan¥j²ích skriptovacích jazyk· na Sv¥t¥. S velice ²irokou základnou podp·rných knihoven a framework· je psaní aplikací snadné. Hlavní d·vod jeho roz²í°enosti je p°edev²ím jednoduchá syntaxe, která nechává vývojá°i £áste£nou svobodu pro tvorbu aplikace.
4.1.2 SMARTY SMARTY znamená chytrý, elegantní, pohotový a p°esn¥ tyto p°ívlastky má ²ablonovací systém navrºený ve skriptovacím jazyku PHP, který umoº¬uje vkládat do HTML kódu speciální zna£ky a p°íkazy a odd¥lit aplika£ní logiku od prezenta£ní vrstvy, která obsahuje pouze HTML. SMARTY se °adí mezi nejlep²í ²ablonovací systémy pro PHP v sou£asnosti, ale nejde o n¥m °íci, ºe se jedná globáln¥ o nejlep²í ²ablonovací systém. Jednoduchost programování a pohodlí je vykoupeno velkou £asovou náro£ností p°i p°ekladu. P°eloºený kód není optimalizován, coº znamená pomalej²í vykonávání a vy²²í nároky na server. Hlavní výhodou je univerzálnost a robustnost, se kterou nebude problém vytvo°it libovolnou aplikaci od malých internetových aplikací aº po velké internetové portály.
4.1.3 XHTML A CSS XHTML je zkratka anglického slova extensible hypertext markup language roz²i°itelný hypertextový zna£kovací jazyk. Jedná se o zna£kovací jazyk pro tvorbu hypertextových dokument·. Je to pokra£ování dnes jiº nevyvíjeného HTML jazyka. P°i vývoji XHTML se dbalo na kompatibilitu s XML. Pro p°esn¥j²í specikaci byla v systému vybrána verze XHTML 1.0 Transitional, která zachovává kompatibilitu u star²ích prohlíºe£· a není tak striktní na tagy jako verze XHTML 1.0 Strict. CSS je zkratka anglického slova Cascading Style Sheets, £esky tabulky kaskádových styl·. Tento jazyk se pouºívá pro popis zobrazení stránek napsaných v HTML, XHTML £i XML. Hlavním smyslem je odd¥lit vzhled dokumentu od jeho struktury a obsahu. P·vodn¥ tuto funk£nost provád¥l jazyk HTML, ale odd¥lená denice vzhledu je výhodná zvlá²t¥ u zpracování dokument· £i vyhledávání informací.
20
KAPITOLA 4.
IMPLEMENTACE PROJEKTU LEONARDO
Mezi hlavní výhody CSS stylizace dokumentu je rozsáhlej²í moºnosti formátování, konzistentní styl, odd¥lení struktury a stylu a mnoho dal²ích. Hlavní nevýhoda pouºití CSS je ne vºdy shodná podpora v majoritních prohlíºe£ích. V projektu byla zvolena verze CSS2, která nabízí rozsáhlej²í moºnosti formátování textu, dobrou podporu v prohlíºe£ích a velmi dobrou podporu p°i °e²ení problém·.
4.1.4 MySQL MySQL je databázový multiplatformní systém komunikující p°es jazyk SQL. Podobn¥ jako u dal²ích databázových systému se jedná o dialekt jazyka SQL s n¥kterými roz²í°eními. Pro svou jednoduchou instalaci, vysoký výkon a p°edev²ím proto, protoºe se jedná o voln¥ ²i°itelný software má vysoký podíl na trhu databází. Velmi dobrá podpora ve skriptovacím jazyku PHP p°edur£uje MySQL jako majoritní úloºný systém ve v¥t²in¥ internetových aplikací v£etn¥ projektu Leopard. MySQL byl vybrán jako uloºi²t¥ dat práv¥ pro svou vysokou rychlost a nízkou náro£nost. V p°ípad¥ velkého mnoºství p°íchozích p°ipojení na server má server velmi dobrou odezvu hlavn¥ díky propracovaném CACHE systému.
4.1.5 JavaScript JavaScript je multiplatformní, objektov¥ orientovaný skriptovací jazyk, který se pouºívá pro interaktivní obsluhu WWW stránek na stran¥ klientského po£íta£e. Ve v¥t²in¥ p°ípad· se pouºívá k ovládání r·zných GUI prvk· jako jsou nap°íklad tla£ítka, textová vstupní polí£ka nebo pro tvorbu animací a kontrolu správnosti zadaných dat. V projektu je pouºit JavaScript pro interaktivní kontrolu vstupních polí.
KAPITOLA 4.
IMPLEMENTACE PROJEKTU LEONARDO
21
4.2 Implementace databáze Struktura entit a atribut· databáze byla vytvo°ena pomocí p°ede²lé analýzy datového modelu. K práci s databází byl vyuºit nástroj distribuovaný rmou MySQL s názvem MySQL Administrator. Ukázka grackého prost°edí MySQL Administrator:
Obrázek 4.1: MySQL administrátor
Program MySQL Administrátor nabízí velké mnoºství operací nad databází s moºností práce s uloºenými procedurami, opravováním databázových tabulek, zálohou i obnovou databází, £i správou uºivatelských ú£t·.
22
KAPITOLA 4.
IMPLEMENTACE PROJEKTU LEONARDO
4.3 Organizace zdrojových soubor· V²echny díl£í £ásti projektu (zobrazování faktur, faktura£ní robot, klientské centrum, superadmin centrum) mají specickou a spole£nou adresá°ovou strukturu, £ímº se stává projekt velice p°ehledný a na první pohled se v n¥m vývojá° orientuje. Popis obsahu adresá°·:
•
class - v²echny t°ídy v systému
•
congs kongura£ní soubory frameworku SMARTY
•
css CSS ²ablony
•
fce v²echny funkce v systému
•
images obrázky, které se zobrazují v projektu
•
js JavaScript
•
pattern email ²ablony, které se includují v kódu a následn¥ se odesílají
•
scripts PHP soubory
•
settings nastavení aplikace
•
smarty SMARTY framework
•
temp odkládací adresá° pro do£asn¥ vytvo°ené soubory
•
tpl SMARTY ²ablony
•
tpl_c p°eloºené SMARTY ²ablony do PHP kódu
4.4 Klientské centrum 4.4.1 Zavád¥ní systému v klientském centru Nejprve se na£te soubor index.php, který zkontroluje, zda skript je spu²t¥n p°es ²ifrované SSL p°ipojení. Pokud tomu tak není, p°esm¥ruje sama sebe na SSL vrstvu a pokra£uje dále v na£tení kongura£ního souboru. Zinicializuje knihovnu SMARTY a p°ipojí se k MySQL databázi. Po t¥chto krocích m·ºe pokra£ovat v zavád¥ní t°íd a funkcí do pam¥ti z /class a /fce adresá°·. Nyní zbývá vykonat inicializaci session prom¥nných a vytvo°ení globálních instancí od t°íd. Skript
index.php p°edá °ízení skriptu /scripts/check_user.php, který kontroluje autorizaci uºivatel·. Pokud je uºivatel p°ihlá²en, za£ne se na£ítat hlavní skript /scripts/head.php a ten zpracovává pole $_POST a $_GET.
4.4.2 Autorizace v systému Pro p°ihlá²ení a hlídání p°ihlá²eného uºivatele slouºí soubor /scripts/check_user.php, který v p°ípad¥ nep°ihlá²eného uºivatele zobrazí p°ihla²ovací formulá° pro vypln¥ní p°ihla²ovacího jména (login) a hesla (pass). Po odeslání formulá°e provede hash hesla funkcí MD5 a zkontroluje tyto údaje s údaji v tabulce uºivatel·. Po zadání správných údaj· bude uºivatel p°ihlá²en do systému.
KAPITOLA 4.
23
IMPLEMENTACE PROJEKTU LEONARDO
4.4.3 Zabezpe£ení a identikace P°i kaºdém p°ihlá²ení se vygeneruje 128-mi místný kód, který slouºí pro pozd¥j²í kontrolu a je uloºen do databáze (atribut
uniq_string)
spolu s dal²ími atributy. Je p°edáván v session
a p°i kaºdém obnovení stránky se kontroluje, zda tento kód existuje v databázi a zárove¬ se kontroluje IP adresa, ze které p°i²el poºadavek spolu s hodnotou v databázi (atribut
IP).
V
p°ípad¥ shody je uºivatel vpu²t¥n do systému, v opa£ném p°ípad¥ je odmítnut p°ístup. Kaºdé obnovení stránky se tyto zabezpe£ovací údaje ov¥°ují, £ímº minimalizujeme moºnost podvrhu a p°ihlá²ení se pod jiným uºivatelem.
4.4.4 Automatické odhlá²ení Dlouhá neaktivita uºivatele zap°í£iní odhlá²ení ze systému. P°i kaºdém obnovení stránky se zji²´uje poslední aktivita uºivatele z databáze (atribut
last_action)
a aktuální £as, se kterým se porovná. V p°ípad¥, ºe poslední aktivita je star²í více neº 30 minut, dojde k automatickému odhlá²ení. Uºivatel je následn¥ vyzván, aby se p°ihlásil. V opa£ném p°ípad¥ se vloºí aktuální £as do databáze a uºivatel je vpu²t¥n do systému.
4.4.5 Uºivatelská práva v systému Systém má napevno denováno 14 pravidel denující jednotlivá práva nad kaºdou doménou pro kaºdou oblast. Z toho vyplývá, ºe uºivatel m·ºe provád¥t administraci nad více doménami a u kaºdé domény m·ºe mít jiná práva.
4.4.5.1 Jednotlivé oblasti v administraci: •
Uºivatelské údaje
•
Fakturace
•
Nastavení databáze
•
Nastavení FTP ú£t·
•
Nastavení po²ty
•
Nastavení DNS
•
Nastavení CRONu
•
Nastavení statistiky
•
Obsazený prostor
•
Kontrola poplatk·
•
Upozor¬ování
•
Uºivatelská práva
•
Otev°ení webmailu
•
Otev°ení webftp
24
KAPITOLA 4.
IMPLEMENTACE PROJEKTU LEONARDO
Po p°ihlá²ení se na£tou v²echny domény, které pat°í danému uºivateli a první doména v lexikograckém uspo°ádání se p°i°adí uºivateli jako aktivní. Dal²í domény je moºno vybírat z nabídky. Po zvolení jiné domény se doména nastaví jako aktivní a na£tou se k ní p°ístupová práva. P°ístupová práva se p°i kaºdém obnovení stránky kontrolují, aby nedocházelo k prolomení a napadení systému.
4.5 Zobrazování faktur ve formátu PDF a HTML 4.5.1 Zavád¥ní systému Nejprve se zavedou v²echny funkce a t°ídy, následn¥ se na£te kongura£ní soubor a p°ipojí se k databázovému stroji. Zinicializují se instance t°íd a tímto je zavád¥ní kon£í. Dal²í °ízení systému p°ebírá /scripts/head.php, který se stará o samotnou kontrolu zabezpe£ovacích údaj· a na£ítá data pro zobrazení.
4.5.2 Zabezpe£ení Prvním bodem zabezpe£ení bylo vyuºívání SSL vrstvy HTTP protokolu pro p°enos citlivých údaj·. V p°ípad¥ nepouºití SSL vrstvy je uºivatel automaticky p°esm¥rován na SSL. Druhým bodem byla zbyte£nost chránit fakturu p°ihla²ovacími údaji a byla zvolena dal²í moºnost p°es 64 místný náhodn¥ vygenerovaný °et¥zec, který je p°i°azen ke kaºdé faktu°e. Pokud uºivatel zadá £íslo faktury a k n¥mu správný 64 místný klí£, potom je mu zobrazena faktura. V opa£ném p°ípad¥ je vypsána bezpe£nostní hlá²ka: Faktura nenalezena.
4.5.3 Zobrazení Fakturu je moºno zobrazit ve dvou formátech. První formát je HTML a druhý je PDF. V obou p°ípadech se pro zobrazení pouºívají otev°ené projekty. Pro HTML je pouºit SMARTY, se kterým jsme se seznámili jiº d°íve. PDF se generuje s dopomocí opensource knihovny FPDF. Pro zobrazení ve formátu PDF se do URL adresy vloºí dal²í atribut pdf s vlastností yes (pdf=yes). O samotné rozd¥lení zobrazení se stará skript /scripts/head.php, který nejprve na£te v²echna data a následn¥ se podívá na atribut pdf z globální prom¥nné $_GET a podle toho p°edá °ízení vykreslovacím funkcím, které se postarají o vykreslení.
4.6 Robot hlídající p°íchozí platby, expiraci domén a webhosting P°i implementaci byl kladen velký d·raz na nutné oznamování ve²kerých anomálií £i neplatných plateb skrz email. Také ve²keré odeslané emaily zákazník·m musí být uloºeny do databáze, protoºe se robot pou²tí automaticky na serveru a ºádný jiný výstup není vid¥t. V ko°eni projektu jsou dva skripty, které se starají o b¥h robota. První skript s názvem ex-
pirace.php se pou²tí pravideln¥ jedenkrát denn¥ a kontroluje expirace domén £i webhosting·. Druhá skript s názvem mailVyber.php se pravideln¥ spou²tí po 5-ti minutách a kontroluje obsah ú£tu a p°íchozích plateb.
KAPITOLA 4.
IMPLEMENTACE PROJEKTU LEONARDO
25
4.6.1 Hlídání expirací P°i hlídání expirací je pot°eba na£íst v²echny informace o expiraci webhosting· a domén z databáze. Následn¥ spo£íst, kolik dní zbývá do expirace a podle po£tu se dále za°ídit. Robot je nastaven tak, ºe 30 dní p°ed expirací odesílá informa£ní email s podrobnostmi o expiraci. Následn¥ 15 dní p°ed expirací robot vygeneruje fakturu a tuto fakturu s dal²ími informacemi odesílá na email zákazníka. V p°ípad¥, ºe zákazník nezaplatil fakturu, tak t°i dny p°ed expirací se odesílá email administrátorovi serveru o nezaplacení faktury a zárove¬ se zasílá zákazníkovi email s urgencí platby. Dal²í vymáhání je p°esunuto na administrátora a faktura£ní robot neodesílá ºádné dal²í emaily. Obsah email· se na£ítá ze ²ablon, kdy v obsahu je denován i subjekt emailu a robot je schopen odesílat emaily ve více jazykových mutacích. Na£ítání ²ablony z disku vypadá následovn¥:
ablony v sob¥ obsahují speciální metaznaky, které jsou p°ed odesláním nahrazeny na£tenými °et¥zci z databáze aº následn¥ jsou odeslány. Vzhled ²ablony:
Váºený zákazníku! Vá²e doména
<span style="font-weight:bold">{#domena#}
Kód pro nahrazení metaznak·:
$telo=str_replace("{#program#}", $n[2], $telo); $telo= str_replace("{#domena#}", $domena, $telo); Kód pro na£tení subjektu z emailu:
$predmet = ereg_replace("#.*$", "", ereg_replace("^.*#subject:", "", $telo)); Pokud se jedná o výzvu k platb¥, tak k této platb¥ se automaticky generuje zálohová faktura (ZF), podle které m·ºe zákazník zaplatit danou £ástku. Tuto fakturu, téº nazývanou proforma faktura, nemusí v p°ípad¥ nezaplacení administrátor serveru stornovat a nemusí jí vykazovat nan£nímu ú°adu.
4.6.2 Hlídání p°íchozích plateb Hlavním poºadavkem pro správnou funk£nost robota je nastavení odesílání emailu informujícího o p°íchozí platb¥ na ú£et. Tento email musí být doru£en na server do p°edem denované schránky a tato schránka je pravideln¥ vybírána skrz IMAP robotem. CRON spou²tí robota v
26
KAPITOLA 4.
IMPLEMENTACE PROJEKTU LEONARDO
pravidelných p¥ti minutových intervalech, £ímº se zaru£uje rychlá obsluha p°íchozích plateb. Email nastavený v bance pro p°íchozí platby má tento formát:
:Z:%DN%:/Z: :NA:%CN%:/NA: :BANKA:%DBC%:/BANKA:a :CASTKA:%RA%:/CASTKA: :MENA:%CC%:/MENA: :DNE:%RD%:/DNE: :KONST:%TCS%:/KONST: :VARIAL:%CVS%:/VARIAL: :SPEC:%TSS%:/SPEC: :HESLO:string:/HESLO: V²echny p°íchozí platby jsou odeslány bankou v tomto formátu skrz email a robot si je rozparsuje podle regulárních výraz·, zkontroluje, zda je heslo platné a najde fakturu se stejným variabilním symbolem. Zjistí, zda £ástka odpovídá p°ijaté £ástce, jestli náhodou nebyla tato faktura jiº uhrazena a pokud je v²e v po°ádku, pokra£uje ve zpracování. V opa£ném p°ípad¥ odesílá administrátorovi email o neplatné platb¥. Po p°ijetí p°íchozí platby, která je v po°ádku, se vygeneruje automaticky faktura odeslaná (FO). Tento doklad se m·ºe uplatnit v ú£etnictví a je opat°en v²emi znaky, které jsou pot°eba (razítko, podpis, £íslo faktury). Dále jsou na£teny informace z faktury a navíc kaºdá faktura má k sob¥ navázány akce. Akce specikují, co se má ud¥lat v p°ípad¥ p°ijetí platby. V systému jsou denovány 4 akce, podle kterých jsou následn¥ volány dal²í funkce a skripty. Akce jsou:
ren_webhosting prodlouºení expirace webhostingu ren_domain prodlouºení platnosti domény new_domain registrace nové domény new_webhosting registrace nového webhosting V²echny skripty obsluhující akce nalezneme v adresá°i /scripts/ pod názvem pay_nazev_akce.php. T¥mto skript·m se p°edá °ízení po zji²t¥ní o jakou akci se jedná. V²echny akce mají p°i°azeny parametry (tabulka
fakt_ak_hod),
které se na£ítájí v kaºdém skriptu od jednotlivých akcí,
protoºe kaºdá akce m·ºe mít r·zné parametry. Ukázka parametr·:
domain_name název domény domain_length doba prodlouºení (v letech) webhost_program název programu
4.7 Superuºivatelské rozhraní Rozhraní pro administrátora vychází z p°edem p°ipravených statik, které jsou nahrány do databáze z bash skript· £i jiných program· (FTPd). Následn¥ jsou systémem vyhledávány a zpracovávány.
KAPITOLA 4.
27
IMPLEMENTACE PROJEKTU LEONARDO
4.7.1 Zavád¥ní systému Zavád¥ní je velice obdobné jako u v²ech p°edchozích systému jen s tím rozdílem, ºe autorizace uºivatele se zde provádí jednodu²²ím zp·sobem, protoºe k administraci bude mít p°ístup pouze jedna osoba.
4.7.2 Identikace uºivatele Pro identikaci uºivatele je v kongura£ním souboru napsáno p°ihla²ovací jméno a heslo, které je pro p°ihlá²ení nutno zadat. V p°ípad¥ zadání neplatného p°ihla²ovacího jména £i hesla není osoba vpu²t¥na do systému a musí zadávání opakovat. Informace o p°ihlá²ení se udrºují v $_SESSION , protoºe ve v¥t²in¥ p°ípad· vyuºívá administraci jedna osoba a bylo by zbyte£né tyto informace uchovávat v databázi tak, jak to máme v klientské £ásti.
4.7.3 Na£ítaní modul· V menu je 11 poloºek a v²echny jsou na£ítány v podob¥ modul· do administrace. Nejd°íve je z URL adresy zji²t¥no o jaký modul se jedná (atribut
strana)
a následn¥ je zavolán modul
/scripts/hodnota_strany.php a tomuto skriptu je také p°edáno °ízení. Názvy modul· jsou chrán¥né a jsou zapsány v asociativním poli, se kterým se potom kontroluje hodnota prom¥nné $strany, aby se p°ede²lo vniku do systému. Celý adresá° /scripts/ je chrán¥n proti listování na stran¥ klienta, £ímº uºivatel nem·ºe p°ímo na£íst modul.
4.7.4 Zobrazování dat Pro zobrazení dat se vyuºívají p°edp°ipravené data z databáze. V p°ípad¥ analýzy po£tu zobrazení jednotlivých domén se vychází z opensource projektu AWstats. Bash skript tyto informace vyparsuje a vloºí do databáze (tabulka
visits).
Následn¥ p°i
zobrazování se mohou hodnoty pr·m¥rovat, s£ítat po£et zobrazení za týden, m¥síc £i za minulý den. Trac domén se analyzuje taktéº ze statistik AWstats a statistik, které produkuje FTP program s názvem ProFTPd. V²echny hodnoty se zapisují do databáze (tabulka
trac) a tyto hodnoty
jsou zobrazovány v systému. Hodnoty se uchovávají jeden kalendá°ní m¥síc a na kaºdém za£átku nového m¥síce jsou v²echny hodnoty smazány. Obsazené místo se po£ítá jednou za 12 hodin a po£ítá se u po²ty a webu.
28
KAPITOLA 4.
IMPLEMENTACE PROJEKTU LEONARDO
4.8 Bash skripty 4.8.1 Seznam soubor· •
awstats
•
awstats.conf
•
backup.sh
•
dtb.conf
•
nastaveniCasu
•
hlidejHttpd.sh
•
newdomain.sh
•
overeniDNS.sh
•
php_cron
•
posta.sh
•
priprava/
•
sizeOfMail.sh
•
sizeOfWeb.sh
•
trac.sh
•
visitsWeb.sh
4.8.1.1 Název souboru: awstats Skript je automaticky spou²t¥n pomocí sluºby CRON a slouºí pro generování statistik opensource projektu AWstats.
4.8.1.2 Název souboru: awstats.conf Vzorový kongura£ní soubor, který se p°i zakládání nové domény zkopíruje do kongura£ního souboru od AWstats s nahrazením metazna£ek. Seznam metazna£ek:
domain#& - název domény user#& - uºivatel pro p°ístup ke statistikám
4.8.1.3 Název souboru: backup.sh Automaticky vytvá°í zálohy v²ech soubor·, dokument·, log· £i kongura£ních soubor·. Ve²kerá data sbalí a následn¥ uloºí do spole£ného adresá°e na adrese /data/backup/_datum. Po uloºení dat vytvo°í FTP ú£et pro p°ístup k této záloze a p°ihla²ovací údaje ode²le administrátorovi na email.
KAPITOLA 4.
IMPLEMENTACE PROJEKTU LEONARDO
29
4.8.1.4 Název souboru: dtb.conf Kongura£ní soubor pro v²echny bash skripty, který obsahuje p°ístupy k databázi a v²echny d·leºité cesty k dat·m. Náhled do souboru:
PC_HOST=mia.leris.cz
[email protected] [email protected] DB_SERVER=localhost DB_DATABASE=databaze DB_USER=uºivatel_databaze TB_ACCESS=postfix_access TB_ALIAS=postfix_alias TB_EMAIL=postfix_mail TB_RELOCATED=postfix_relocated TB_TRANSPORT=postfix_transport TB_TRASH=postfix_trash TB_USERS=postfix_users TB_VIRTUAL=postfix_virtual DEF_MAILDIR=/adresar/k/mailuml DEF_PHPDIR=/adresar/k/webovym/prezentacim DEF_BACKUPDIR=/adresar/k/zaloham DEF_MYSQLMYISAM=/data/mysql-myisam DEF_MYSQLINNODB=/data/mysql-innodb DEF_POSTGRESQL=/data/postgre DEF_PATHSCRIPTS=/root/scripts/admin DEF_QUOTA=""
4.8.1.5 Název souboru: nastaveniCasu Skript pravideln¥ p°es protokol NTP aktualizuje £as na serveru. Skript se spou²tí jedenkrát denn¥ a v p°ípad¥ nedostupnosti jednoho serveru poskytující £as p°es protokol NTP si vybere náhradní server.
4.8.1.6 Název souboru: hlidejHttpd.sh Skript se spou²tí kaºdých p¥t minut a slouºí pro hlídání apache HTTP serveru. V p°ípad¥ výpadku se pokusí apache server restartovat a ode²le administrátorovi email o nedostupnosti. V p°ípad¥ neúsp¥²nosti restartu zjistí, zda apache deamon je spu²t¥ný a pokud ne, tak se pokusí znovu spustit apache server. Pokud znovu neusp¥je, odesílá administrátorovi email o naprostém výpadku serveru a administrátor musí ihned zasáhnout.
30
KAPITOLA 4.
IMPLEMENTACE PROJEKTU LEONARDO
4.8.1.7 Název souboru: newdomain.sh Skript vytvo°í kompletní adresá°ovou strukturu pro správný chod serveru. Je pravideln¥ spou²t¥n pomocí sluºby CRON. Nejprve se zkopíruje kongura£ní soubor pro AWstats, dále se vytvo°í adresá°ová struktura pro HTTP server a po²tovní server. Potom se vytvo°í .htaccess pro zaznamenávání chyb do error logu a nakonec se nakopíruje index.html do adresá°e HTTP serveru. Informace o vytvo°ení nové domény se zji²´uje z databáze (tabulka
new_domain), p°i£emº se
po vytvo°ení domény záznam smaºe.
Obsah .htaccess pro logování chyb:
php_value error_reporting 3 php_flag log_errors on php_value error_log /data/http/leris.cz/logs/error_log Na£tení a p°ekopírování kongura£ního souboru AWstats:
sed -e 's/domain#&/'${E}'/g' -e 's/user#&/'${userX}'/g' \ ${DEF_PATHSCRIPTS}/awstats.conf > /etc/awstats/awstats.stats.${dom}.conf Na£tení dat z databáze:
XX=`mysql --user=$DB_USER --host=$DB_SERVER -B s $DB_DATABASE \ <<< "SELECT domain from new_domain"`
4.8.1.8 Název souboru: overeniDNS.sh Skript se spou²tí jedenkrát týdn¥ a kontroluje v²echny domény, zda jsou v²echny záznamy DNS v po°ádku a nedo²lo k p°esm¥rování domény na jiný server. Pro testování se vyuºívá p°íkaz ping. Pokud se nalezne n¥jaký vadný záznam, odesílá se administrátorovi aplikace email o této skute£nosti.
4.8.1.9 Název souboru: posta.sh Skript pravideln¥ kontroluje, zda jsou emailové schránky stále aktivní. Pokud schránka neexistuje v databázi a na disku existuje, tak se schránka sbalí a uloºí do adresá°e /data/backup/. Schránka se z disku smaºe a pokud bude zákazník chtít obnovit obsah, administrátor tuto schránku rozbalí a nahraje zp¥t.
4.8.1.10 Název souboru: trac.sh Soubor po spu²t¥ní otev°e u v²ech domén jejich statistiky a vyparsuje si po£et dat, které byly p°eneseny. Statistiky se nalézají v /var/lib/awstats/nazev_domeny a to ve formátu awstatsDATUM.stats.nazev_domeny.
KAPITOLA 4.
IMPLEMENTACE PROJEKTU LEONARDO
31
Ukázka kódu pro parsování:
kolikWeb=`more ${pathAWStats}/${E}/awstats${datum}.stats.${E}.txt | grep -A1 \ BEGIN_DOMAIN | tail -n1 | cut -f4 -d' '` if [ $kolikWeb != 'END_DOMAIN' ] ; then kolikWeb=`expr ${kolikWeb} / 1048576` else kolikWeb=0 fi
4.9 Implementace grackého prost°edí (GUI) 4.9.1 Nástroje pro vytvo°ení GUI Gracké prost°edí bylo vytvo°eno pomocí zna£kovacího jazyka XHTML s pouºitím kaskádových styl·. Kaskádové styly byly pouºity pro p°eddenování jednotlivých element· a pro formátování textu bylo striktn¥ vyuºíváno kaskádových styl·. P°i vývoji byl kladen d·raz na stejný vzhled v nejvíce vyuºívaných internetových prohlíºe£ích (Internet Explorer 6, Internet Explorer 7, Firefox 2, Opera 9). Ve²kerá manipulace s obrázky a ilustrace byla provád¥na s pomocí grackého nástroje GIMP.
4.9.2 Implementace grackého vzhledu Gracká ²ablona byla zakoupena od grackého studia www.art-pgn.cz, které celou ²ablonu navrhlo a optimalizovalo podle poºadavk·. ablona byla dále roz°ezána na malé obrázky a potom tyto obrázky byly nastylovány s pomocí CSS do vzhledu ²ablony.
4.9.3 Bezpe£nost a kompatibilita P°i vkládání vstupních dat do formulá°· musíme v²echny hodnoty zkontrolovat a pouºít nad nimi funkci htmlspecialchar(), která p°evede nepovolené znaky a vloºené html zna£ky na prostý text. Jediná podmínka pro správnou funk£nost systému je mít povolené COOKIES. Je to z d·vodu vyuºívání SESSIONS, která si ukládá session_id do COOKIES. Ale tato podmínka je v po°ádku, protoºe se jedná o uzav°ený systém a je tu moºnost denovat poºadavky pro pouºívání systému.
32
KAPITOLA 4.
IMPLEMENTACE PROJEKTU LEONARDO
KAPITOLA 5.
TESTOVÁNÍ
33
5 Testování P°i testování se ov¥°uje p°edpokládaná funk£nost, funk£nost celého systému i jednotlivých komponent. Cílem test· je zobrazit skryté chyby, ov¥°it kvalitu systému a navázat na poznatky z testování. Projekt je nasazen v ostrém provozu a je testován kaºdý den stovkami uºivatel·.
5.1 Seznam test· •
Test funk£nosti jednotlivých komponent
•
Test funk£nosti celku
•
Test kompatibility
•
Test pouºitelnosti
•
Zát¥ºový test
•
Uºivatelský test
5.2 Test funk£nosti jednotlivých komponent 5.2.1 Bash skripty •
Spu²t¥ní jednotlivých skript·
•
Zaloºení nové domény
•
Smazání neaktivních schránek
•
Generování statistik
•
Kontrola DNS záznam·
•
Trac jednotlivých domén
5.2.2 Faktura£ní robot •
P°ijetí p°íchozí platby
•
P°ijetí neplatné p°íchozí platby
•
Zaregistrování domény
•
Prodlouºení expirace domény
•
Zprovozn¥ní webhostingu
•
Odesílání email·
34
KAPITOLA 5.
5.2.3 Superuºivatelské centrum •
P°idání nové domény
•
Odstran¥ní domény
•
P°i°azení domén pod hlavní ú£et
•
Seznam domén
•
Po£et databází a CRON záznam·
•
Editace expirace u webhostingu £i domény
•
Nastavení domény zdarma
•
Detaily domény
•
Obsazené místo u domén
•
Trac domén
•
Odeslané faktury
•
Smazání odeslané faktury
•
Zálohové faktury
•
Smazání zálohové faktury
•
Expirace plateb
•
Odeslané emaily
•
Detail odeslaných email·
5.2.4 Zobrazení faktur •
Zobrazení ve formátu HTML
•
Zobrazení ve formátu PDF
5.2.5 Klientské centrum •
Zm¥na hesla
•
Zm¥na uºivatelských a faktura£ních údaj·
•
Správa databází
•
Správa FTP ú£t·
•
Správa po²ty
•
Správa DNS záznam·
•
Správa CRON záznam·
•
Zm¥na hesla u statistik
TESTOVÁNÍ
KAPITOLA 5.
TESTOVÁNÍ
•
Kontrola obsazeného prostoru
•
Správa poplatk·
•
Zobrazení faktur u správy poplatk·
•
Nastavení upozor¬ování
•
Správa uºivatelských práv
•
Zm¥na domény
35
5.2.6 Robot hlídající paypal online platby •
Platba skrz paypal bránu
•
Neprovedená platba skrz paypal bránu
5.2.7 Test funk£nosti celku •
Objednání sluºeb
•
P°ijetí platby a zpracování
•
Expirace domény
•
Expirace webhostingu
•
Generování faktur
•
Vytvo°ení nové domény a test v²ech sluºeb
Testy byly hlavn¥ zam¥°eny na testování funk£nosti celku, protoºe testy jednotlivých komponent dopadly v po°ádku, ale p°i spojení do celku se vyskytlo pár chyb. Tyto chyby byly následn¥ opraveny a nyní se nevyskytují.
5.3 Test kompatibility B¥hem testu kompatibility byl kladen d·raz na maximáln¥ podobnou funk£nost a správné zobrazení v prohlíºe£ích:
•
Firefox 2.0.0.0
•
Internet Explorer 6
•
Internet Explorer 7
•
Opera 9.00
Systém byl v po£átcích programován pod prohlíºe£em Firefox, ale pozd¥ji byl vzhled lad¥n i v ostatních vý²e uvedených prohlíºe£ích.
36
KAPITOLA 5.
TESTOVÁNÍ
5.4 Test pouºitelnosti B¥hem testu byla navázána spolupráce s dal²ími osobami, které celý systém pro²ly a snaºili se p°ijít na p°ípadné nedostatky. Tyto nedostatky byly zaznamenány pomocí bugtracker systému a následn¥ byly tyto nedostatky odstran¥ny. Testy probíhaly na poslední verzi systému, která byla odlad¥na a p°ipravena do ostrého provozu. Test pouºitelnosti provád¥li:
•
Petr Woldán
•
Ji°í Stra²ák
5.5 Zát¥ºový test V tomto testu se testuje, jak se systém chová p°i velkém mnoºství domén. V této dob¥ je na serveru p°es 60 domén a hlavní d·raz je kladen na nem¥nné vlastnosti a rychlost serveru p°i velkém zatíºením. Tato skute£nost se potvrdila a systém nevykazuje anomálie.
5.6 Uºivatelský test B¥hem testu byly prov¥°eny v²echny poºadavky na vytvo°ení administrace webového serveru. Testování se ú£astní kaºdodenn¥ p°es 100 lidí a test probíhá po celou dobu funk£nosti. B¥hem testu byly sesbírány v²echny poºadavky od klient· a klientské centrum se podle t¥chto poºadavk· v dohledné dob¥ roz²í°í.
5.7 Výsledky test· 5.7.1 Test funk£nosti jednotlivých komponent B¥hem testu bylo objeveno pár chyb, ale tyto chyby bylo moºno jednodu²e odstranit. Bylo také odhaleno pár chyb s kódováním p°i komunikaci s emailovou schránkou, ale tyto chyby byly také následn¥ odstran¥ny.
5.7.2 Test celého systému Test odhalil n¥kolik chyb p°i komunikaci komponent mezi sebou, ale v²echny chyby byly zap°í£in¥ny ²patnou implementací a byly opraveny. T¥mito testy se zvý²ila stabilita a funk£nost systému.
5.7.3 Ostatní testy B¥hem ostatních test· byl systém p°izp·soben uºivatelským poºadavk·m pro snadnou obsluhu a následn¥ je moºno tvrdit, ºe systém vyhovuje na²im poºadavk·m ze zadání.
KAPITOLA 6.
ZÁV
R
37
6 Záv¥r V této práci byl provád¥n návrh i implementace projektu pro správu webhostingového serveru. Analýza se provád¥la s ohledem na róbustnost °e²ení a moºností rozloºit projekt na men²í komponenty, které následn¥ spolu kooperují. Projekt byl tvo°en tak, aby mohl být roz²í°en o libovolnou funk£nost, £i být upraven podle specických poºadavk·. Projekt byl nasazen v ostrém provozu a nyní bude slavit rok a p·l od prvního spu²t¥ní. B¥hem této doby si získal velké mnoºství p°íznivc· i remních zákazník·. Systém je p°eloºen do angli£tiny a je také spu²t¥n na zahrani£ním serveru. P°i porovnání s konkuren£ními projekty lze °íci, ºe projekt Leonardo se v¥t²in¥ projekt· vyrovnává v klienstkém centru, nabízí propracovanou fakturaci s moºností online plateb a dále se pracuje na rozvoji, £ímº v¥t²inu projekt· p°ed£il. Jediný nedostatek projektu je v nep°ítomnosti generování vlastního certikátu k domén¥, ale do budoucna se s tímto roz²í°ením po£ítá.
6.1 Hlavní cíl projektu Cílem projektu bylo vytvo°it ú£innou administraci serveru, která bude velice p°ív¥tivá uºivatel·m a také nesmírn¥ uleh£í práci administrátorovi systému. Projekt byl nasazen do praxe a klienti si klientské centrum velice oblíbili. Z hlediska administrace serveru ze strany administrátora byl projekt velice úsp¥²ný, protoºe minimalizoval po£et zásah·. Projekt splnil poºadavky i cíl projektu.
6.2 Shrnutí návrhu projektu Vývoj projektu je rozd¥len na 4 £ásti:
•
Zadání
•
Analýza
•
Implementace
•
Testování
6.2.1 Zadání V této fázi byly sesbírány v²echny poºadavky na systém, který maximáln¥ uleh£í práci jak klient·m, tak i administrátor·m. Ve sb¥ru poºadavk· byla pouºita re²er²e dostupných projekt· a také byly vymy²leny nové funk£nosti, které roz²í°ili poºadavky.
6.2.2 Analýza Cílem této fáze bylo analyzovat v²echny poºadavky a podat návrh jejich °e²ení. Výsledkem analýzy bylo rozd¥lení na komponenty, které rozd¥lily velké mnoºství poºadavk· a problém· na men²í. Pomocí komponent se men²í problémy daleko lépe °e²í a výsledná sloºitost projektu se tak zna£n¥ zjednodu²ila.
38
KAPITOLA 6.
ZÁV
R
6.2.3 Implementace V implementa£ní fázi se rozd¥lil vývoj na jednotlivé komponenty a následn¥ se tyto komponenty spojili v jeden celek skrz databázi. Souhrn jednotlivých komponent:
•
Bash skripty
•
Klientské centrum
•
Superuºivatelské centrum
•
Robot hlídající expirace a p°íchozí platby
•
Paypal robot pro online platby
•
Zobrazování faktur
6.3 Budoucí vývoj systému V²echny poºadavky klient· na roz²í°ení systému byly zapsány a také se plánuje roz²í°ení superuºivatelského centra o správu opera£ního systému a moºnosti restartování serveru. V²em t¥mto plán·m bude muset p°edcházet podrobná analýza, protoºe je zde vysoké riziko napadení systému.
KAPITOLA 7.
LITERATURA
7 Literatura [1] ABC Linuxu.
http://www.abclinuxu.cz/. [2] CSTUG - Czech Tex Users Group - hlavní stránka.
http://www.cstug.cz/. [3] Interval.cz.
http://www.interval.cz/. [4] K336 info.
http://info336.felk.cvut.cz. [5] K336 Info - pokyny pro psaní bakalá°ských prací.
https://info336.felk.cvut.cz/clanek.php?id=504. [6] LaTeX - online manuál.
http://www.cstug.cz/latex/lm/frames.html. [7] MySQL manuál.
http://dev.mysql.com/doc/refman/5.0/en/index.html. [8] PHP manuál.
http://www.php.net/. [9] Root.cz.
http://www.root.cz/. [10] SMARTY manuál.
http://www.smarty.net/. [11] SuSE portál.
http://www.suseportal.cz/. [12] Wikipedia.
http://en.wikipedia.org/. [13] Andi Gutmans, Stig Saether Bakken, Derick Rethans. Mistrovství v PHP 5, 2005. [14] K. autor·. Linux Dokumenta£ní projekt. [15] L. J. Hatch Brian, Kurtz Georgie. Hacking bez tajemství: Linux, 2003. [16] P. N. W. James R. Gro. SQL - Kompletní pr·vodce, 2005. [17] J. Kosek. PHP Tvorba interaktivních internetových aplikací, 1999. [18] Steven Holzner. JavaScript profesionáln¥, 2003.
39
40
KAPITOLA 7.
LITERATURA
DODATEK A.
SEZNAM POUITÝCH ZKRATEK
A Seznam pouºitých zkratek FTP
File Transfer Protocol
DNS
Domain Name System
HTTP OS
Hypertext Transfer Protocol
Operation System
HTML
HyperText Markup Language
PHP
Hypertext Preprocessor
PDF
Portable Document Format
IMAP
Internet Message Access Protocol
POP3
Post Oce Protocol version 3
SNMP CSS
Simple Network Management Protocol
Cascading Style Sheets
XHTML SSL
Extensible HyperText Markup Language
Secure Sockets Layer
URL
Uniform Resource Locator
NTP
Network Time Protocol
GUI
Graphical User Interface
41
42
DODATEK A.
SEZNAM POUITÝCH ZKRATEK
DODATEK B.
SLOVNÍEK POJM
43
B Slovní£ek pojm· Antispam
Program chránící emailové schránky p°ed p°ijetím SPAM email·.
APACHE
Softwarový webový server s otev°eným kódem pro Linux, BSD, Microsoft Windows
a dal²í platformy.
Bash
Bash je unixový (Linux/Unix/BSD) p°íkazový shell interpreter naprogramovaný v rámci projektu GNU.
Bugtracker C
Systém pro evidenci chyb v software
C je programovací jazyk, který vyvinuli Ken Thompson a Dennis Ritchie pro pot°eby opera£ního systému Unix.
COOKIES
Jako cookie (anglicky kolá£ek, oplatka, su²enka) se v protokolu HTTP ozna£uje
malé mnoºství dat, která WWW server po²le prohlíºe£i, který je uloºí na po£íta£i uºivatele.
Databáze
Databáze je datové uloºi²t¥ umoº¬ující logické ukládání dat do p°edem denovaných
tabulek.
Deamon
Program b¥ºící na pozadí. Pod MS Windows je ekvivaltní název sluºba.
DNS server
Server, který p°ekládá doménový název (nap°. leris.cz) na IP adresu (nap°.
91.12.112.93) a naopak.
Firewall
Jedná se o program nebo po£íta£ chránící vnit°ní sí´ p°ed nepovoleným p°ístupem do
sí´¥.
Framework
Framework je softwarová struktura, která slouºí jako podpora p°i programování
a vývoji a organizaci jiných softwarových projekt·.
FTP
FTP je protokol pro ur£ený pro p°enos dat mezi dv¥ma po£íta£i.
Generická doména
Generické domény byly vytvo°eny a ur£eny k pouºití ²irokou internetovou
ve°ejností. Koncovky nadnárodních domén jsou nap°.: .com (commerce), .net (network), .org, (organization) .info (information), .biz (bussiness), .name.
Hash
Hashovací funkce je reprodukovatelná metoda pro p°evod vstupních dat do (relativn¥)
malého £ísla, které vytvá°í jejich otisk (m·ºeme ho ozna£it jako charakteristika dat).
HTTP
Protokol umoº¬ující komunikaci mezi www serverem a klientem.
HTTPS
Protokol HTTPS je standardní protokol HTTP obsahující navíc vrstvu SSL. Protokol
je ²ifrovaný a je bezpe£ný. Pouºívá se pro bezpe£né p°ihla²ování, nebo pro elektronické platby.
IMAP, POP3 IIS
Protokoly pro p°ístup k emailovému serveru.
Softwarový webový server od rmy Microsoft.
IP adresa
Jedine£ná adresa v internetu, která slouºí pro adresaci. Jsou dv¥ verze IP adresy a
to 32b(IPv4) a 128b(IPv6).
Java
Java je objektov¥ orientovaný programovací jazyk, který vyvinula rma Sun Microsystems.
Log soubor
Soubor, do kterého se zapisují události z program·.
44
Md5
DODATEK B.
SLOVNÍEK POJM
Message-Digest algorithm je roz²í°ená rodina hashovacích funkcí, která vytvá°í ze vstupních dat výstup (otisk) xní délky.
MSSQL
Plnohodnotný rela£ní databázový systémem rmy Microsoft.
MySQL
MySQL je databázový systém, vytvo°ený ²védskou rmou MySQL AB.
Opensource
Open source nebo také open-source software (OSS) je po£íta£ový software s
otev°eným zdrojovým kódem. Otev°enost zde znamená jak technickou dostupnost kódu, tak legální dostupnost - licenci software, která umoº¬uje, p°i dodrºení jistých podmínek, uºivatel·m zdrojový kód vyuºívat, nap°íklad prohlíºet a upravovat.
Oracle
Plnohodnotný rela£ní databázový systémem rmy Oracle Corp.
Parsování Perl
Výb¥r ur£ité hodnoty ze soubor· hodnot.
Perl je interpretovaný programovací jazyk vytvo°ený Larry Wallem v roce 1987.
PostgreSQL
PostgreSQL je plnohodnotným rela£ním databázovým systémem s otev°eným
zdrojovým kódem.
Server
Server je v informatice obecné ozna£ení pro po£íta£ (tedy hardware) nebo software,
který poskytuje n¥jakou sluºbu dal²ím po£íta£·m nebo program·m.
SMARTY SPAM SQL
Je to framework pro rychlej²í a chyt°ej²í vývoj aplikací v jazyce PHP.
Nevyºádaná po²ta, která chodí na pochybné produkty £i sluºby.
Jazyk pro práci s databázemi. Jeho struktura a syntaxe je pevn¥ daná.
Trac
P°enos dat za ur£ité období.
Webhosting
Webhosting je pronájem prostoru pro webové stránky na cizím serveru. Pronají-
matel serveru bývá ozna£ován jako poskytovatel webhostingu (webového prostoru).
Wildcards
U DNS server· jsou to metaznaky, které nahrazují znaky. Nap°. * nahrazuje
v²echny znaky. Pouºívá se pouze u CNAME záznam·.
DODATEK C.
TABULKY
C Tabulky
45
TABULKY DODATEK C.
46
- Statistiky
- Uºivatelská práva
- CRON záznamy
- DNS ú£ty
- Databázové ú£ty
- Mail ú£ty
- FTP ú£ty
NE
ANO
ANO
ANO
ANO
ANO
ANO
ANO
ANO
ANO
NE
ANO
NE
ANO
ANO
ANO
ANO
ANO
ANO
ANO
ANO
ANO
NE
ANO
NE
ANO
ANO
ANO
ANO
ANO
NE
ANO
NE
ANO
ANO
ANO
ANO
ANO
ANO
Plesk HostingController DirectAdmin
NE
NE
ANO
NE
ANO
NE
NE
ANO
ANO
ANO
ISPCong
ANO
NE
ANO
NE
ANO
NE
ANO
ANO
ANO
ANO
LxAdmin
NE
ANO
ANO
NE
ANO
ANO
NE
NE
ANO
NE
ANO
ANO
NE
NE
ANO
NE
ANO
cPanel
- P°ehled o domén¥
ANO
Správa domén
- Kontrola poplatk· - Extra funkce
- P°enos dat u domén
ANO
Správa serveru
- Náv²t¥vnost domén
Rozesílání email·
Faktura£ní robot
P°ehlednost
Ovladatelnost a zpracování
1
NE
NE
NE
1
1
www.parallels.com
2,5
NE
NE
NE
1
1
$ 250
www.hostingcontroller.com
3
NE
ANO
ANO
3
3
$ 300
www.directadmin.com
1,5
NE
NE
NE
2
1
$ 0
www.ispcong.org
5
ANO
NE
NE
4
4
$ 18 / m¥síc
www.lxadmin.com
2,5
NE
NE
NE
1
1
- P°idávání a mazání domén
Opensouce
www.cpanel.net
$ 1390
Adresa projektu
Pouºitelnost pro administraci domén
$ 1250
Cena
Tabulka C.1: Re²erºe dostupných projekt·
DODATEK D.
UML DIAGRAMY
D UML diagramy D.1 Zobrazování faktur ve formát¥ PDF a HTML
Obrázek D.1: Zobrazování faktur ve formát¥ PDF a HTML
D.2 Robot hlídající expirace
Obrázek D.2: Robot hlídající expirace
47
48
DODATEK D.
D.3 Robot hlídající p°íchozí platby
Obrázek D.3: Robot pro p°íchozí plaby
D.4 Robot hlídající Paypal online platby
Obrázek D.4: Robot hlídající Paypal online platby
UML DIAGRAMY
DODATEK E.
UKÁZKY APLIKACE
E Ukázky aplikace E.1 Klienské centrum po p°ihlá²ení
Obrázek E.1: Klienské centrum po p°ihlá²ení
49
50
DODATEK E.
UKÁZKY APLIKACE
E.2 Klienské centrum - kontrola poplatk·
Obrázek E.2: Klienské centrum - Kontrola poplatk·
DODATEK E.
UKÁZKY APLIKACE
E.3 Klienské centrum - Nastavení DNS
Obrázek E.3: Klienské centrum - Nastavení DNS
51
52
DODATEK E.
UKÁZKY APLIKACE
E.4 Administrátorské centrum - P°enos dat
Obrázek E.4: Klienské centrum - kontrola poplatk·
DODATEK F.
OBSAH PILOENÉHO CD
53
F Obsah p°iloºeného CD Výpis níºe popisuje adresá°ovou strukturu na p°iloºeném CD i s d·leºitými soubory.
\ |-- src-app/ |-- sql/ |-- bash/ |-- latex/ |-- include/ |-- images/ |-- dokumentace.tex |-- dokumentace.pdf Adresá° src-app/ obsahuje datové uloºi²t¥ databáze MySQL v adresá°i sql/ i bashové skripty v adresá°i bash/. V adresá°i latex/ jsou umíst¥ny v²echny zdrojové soubory tohoto dokumentu. Dokument je £len¥n na men²í soubory, které se p°ipojují v dokumentace.tex. Tyto soubory se nacházejí v
include/. Images obsahuje v²echny pouºíté obrázky. V root je umíst¥na dokumentace ve formátu .pdf.
54
DODATEK F.
OBSAH PILOENÉHO CD