I. BEVEZETÉS

- Bevezetés üzleti szempontból

- Bevezetés gyakorlati szempontból

##
I. Bevezetés

Ez a munka, lévén gyakorlati jellegű, nem igazán az üzleti világban és pénzügyekben jártas menedzserekhez szól, de nem is a kezdő számítógép-felhasználókhoz. A dolgozat feltételezi, hogy az olvasó rendelkezik a megfelelő számítástechnikai / informatikai / hálózati alapismeretekkel. Megfelelő információ-háttér hiány esetében javaslom az irodalomjegyzékben lévő megfelelő anyagok átolvasását és a megjelölt Internet-címek felkeresését.
Bár maga a munka szakmai szempontból viszonylag szűk rétegnek szól, úgy gondoltam, hogy legyen ezen dolgozatnak két bevezetése. Az egyik szóljon az üzleti, a másik pedig a gyakorlati / technikai beállítottságú embereknek. Az első a döntéshozóknak, a második a megvalósítóknak. A teljes dolgozat inkább a második csoportnak segít, (bár az első csoport tagjai is elolvashatják, ha akad rá idejük) akik ezekkel a felvázolt problémákkal nap mint nap találkoznak és a problémák megoldása az ő hatás- / feladatkörükbe tartozik. Az első csoport tagjainak a második csoport tagjaival való sikeres együttműködés eléréséhez ajánlom olvasásra a II. Alapfogalmak, III. Tervezés, és a V. Egy gyakorlati példa bemutatása című fejezeteket7. Mivel a döntéshozónak ott kell lennie a tervezési fázis bizonyos részeinél, szükséges, hogy ismerje az alapfogalmakat és az alapvető problémákat, hogy birtokában legyen az információknak, hogy józanul, részlehajlás és előítéletek nélkül tudjon dönteni. A másik általam kiemelt fejezetben példákat sorolok fel többek között arról is, hogy milyen minimális (értsd: olcsó, meglévő, elérhető) hardverkörnyezetben fut és működőképes a leírt rendszer.
Habár a konkrét példa egy kisebb cég feladatmegoldásának példáját feszegeti, ez a rendszer mind oktatási, mind költségvetési intézményekben használható hasonló, (vagy teljesen más) célokra is. Csupán azért használom a kiscég-példát, mert pl. a főiskolákon és az Internet-szolgáltatóknál már széleskörűen használják, nem egy helyen szerver célokra kizárólagosan is.

###
Bevezetés üzleti szempontból

Napjaink egyre gyorsuló és élesedő üzleti versenye megkívánja a közepes és kisvállalatok, társaságok megjelenését az Interneten, az elektronikus üzletben. Ennek alapvető feltétele, hogy az adott cég naprakész információkat tegyen közzé magáról és termékeiről, szolgáltatásairól egy minden érdeklődő által elérhető helyen. Megoldás lehet az Internet, amely dinamikus fejlődésével és viszonylag állandó elérhetőségével és rendelkezésre-állásával fellendítheti és felgyorsíthatja a kapcsolatfelvételt a cégek között, a cég-fogyasztó kommunikációt, az esetleges elektronikus úton való értékesítést. Tehát az adott cégnek egy Web-lapot (vagy inkább komplex Web-helyet) kell készíteni (vagy inkább készíttetnie egy erre szakosodott céggel) és azt elérhetővé tenni az Interneten. Ez megoldható úgy is, hogy a cég mások szolgáltatásait igénybe véve "kibérel" egy adott méretű helyet egy már működő, Internetre kapcsolt számítógépen. Ez esetben fizetnie kell a szolgáltatás havidíját, amely a Web-hely méretétől és a generált hálózati forgalomtól egyaránt függ. Nem szeretnék konkrét számokban és szolgáltató cégek ajánlataiban tallózni, hiszen ezek olyan dinamikusan változnak a piaci versenyben, hogy mire e munka elkészül, már rég érvényét veszti az információ. Mindenesetre ez a szolgáltatás számunkra hosszabb távon elég költséges lehet. Kifejezetten rossz megoldás is lehet ez a piaci verseny miatti változások gyorsasága miatt: lehet, hogy az adott szolgáltató tönkremegy, átalakul vagy felvásárolják. Ezek tehát mind kockázati tényezők. Ekkor váltanunk kell, és valószínű, hogy az új cégnél nem úgy fog működni a drágán elkészítetett Web-helyünk, ahogy régen, stb.
Egy köztes megoldást is számba vehetünk. A példabeli cégünk vesz egy kiszolgáló számítógépet, melyet az Internetre köttet a szolgáltató számítógépközpontjában. Ekkor viszont nincs teljes kontrollunk a hardverhez és a mentésekhez. Ez a rendszer biztonságát és hitelességét nagyban veszélyeztetheti.
A harmadik megoldás esetében a szervergép a cégünk telephelyén van. Ekkor az Internet-kapcsolat díja lesz a fix havi költség, melyet forgalom és / vagy idő után számláz a szolgáltató. Több nagyobb neves hardver / szoftver gyártó cég is kínál lehetőségeket, komplett termékeket erre a problémára / szituációra. Ezek természetesen szintén igen költségesek és nagy kezdeti befektetést igényelnek. Mivel a mi kis cégünknek úgyis csak nyűg ez az Internetes mizéria, ráadásul a munkatársak sem értenek az egészhez megfelelő színvonalon, ezért - ha már van - akkor a cég rendszergazdáját kérik meg egy gazdaságosabb megoldás keresésére. (Hiszen lehet, hogy a hozzá nem értés miatt az egész befektetés csak kidobott pénz lenne.) Sajnos a döntéshozók sokszor azt hiszik, hogy az informatikában is úgy működik a rendszer, mint másutt: minél többet fizet az ember, annál jobb terméket kap cserébe. Amennyiben nincs rendszergazdája és számítógépes hálózata a cégnek, akkor vagy alkalmaz (pl. megbízásos szerződéssel) egy rendszergazdát, vagy inkább az első verziót választja és az egész problémát ráhagyja a szolgáltatóra.
A másik fő probléma a tartalom naprakészen tartása. Ez ma már elképzelhetetlen "statikus" Web-lapokkal. Ha pl. a cég az árlistáját is közzé szeretné tenni a potenciális vásárlóknak, amely hetente változik, bizony sokba kerülne minden héten átíratni az oldalt. Mindezt ma már rábízhatjuk a kiszolgálón lévő programokra, melyek egy adatbázisban tárolják az adatokat és abból készítik el a Web-lap adott részeit. A cég munkatársainak semmi mást nem kell tenni, csupán ezeket az adatokat frissíteni, a program a többit elvégzi helyettük.
Tehát a cégünknek a harmadik esetben vennie kell egy kiszolgáló gépet, egy Internetes előfizetést, szerver operációs rendszert, Web-szerver programot, amely képes dinamikus Web-lapok generálására adatbázisból, továbbá egy adatbázis-szerver programot és alkalmazni (legalább) egy rendszergazdát. Ha körülnézünk a kereskedelmi hardver / szoftver piacon és a kész megoldások árait megnézzük, kiderül egyhamar, hogy a mi kis cégünk nem bír el egy ilyen hosszú távon megtérülő, nagy beruházást. Ekkor jön a házi barkácsolás és a részenkénti megvásárlás, de ez se mindig költségkímélő, hiszen, még ha össze is szereltetünk pár százezerért egy kiszolgálónak szánt gépet, ha még lenne is pénz az Internet-előfizetésre, már biztos, hogy a szoftvereket nem tudjuk megvenni (jogszerűen használni).
Ekkor jön a képbe a szabad szoftver. Mi? - merülhet fel a kérdés a kedves olvasóban. Szabad, bárki által ingyenesen használható, terjeszthető, másolható, nyitott forráskódú és bizonyos feltételek között módosítható szoftver. Tehát a tervezett fejlesztés szoftver oldalának költsége cégünknél 0 Ft. Erre van szükségünk.
Ez a könyv azt mutatja be, hogyan lehet egy ilyen kiszolgálót adott hardver és hálózati körülmények esetén szabad szoftverekkel installálni, beállítani, saját igényeinkre szabni, működtetni, karbantartani - mindezeket a biztonság erős kihangsúlyozásával. Vagyis a döntéshozó (felhasználó) a rendszergazdával együtt az egész rendszer hardver (és hálózat), szoftver (felhasználási struktúrával) tervezési folyamatát közösen megbeszélve egy költségkímélő, jól és biztonságosan működő rendszert hozhat létre. Ez mindenképp előnyére válik a cégnek az elektronikus kereskedelembe (és az információs hálózatba) való bekapcsolódáskor.
Üzleti szempontból a kitűzött célunk tehát egy olyan Internetes hálószem (Web-kiszolgáló / Web-hely) létrehozása, amely:

- Folyamatosan, jól és biztonságosan működik (nem törhetik fel kívülállók, és nem érhetik el / változtathatják meg fontos üzleti adatainkat)

- Teljességgel megfelel dinamikusan változó igényeinknek

- Teljes értékű és költségkímélő

- Nem igényel a felhasználók részéről beavatkozást a rendszergazdai feladatokba

- Fejleszthető, korszerű szoftverekkel van ellátva, melyek támogatása / fejlesztése nem fog megszűnni

- Gyorsan megvalósítható és könnyen karbantartható

- Már bizonyított, stabil rendszer, mely széleskörűen használt

- Önmagát felügyeli és értesíti a rendszergazdát hiba esetén

- Található hozzá rendszergazda, vagy a rendszergazda a rendszert hamar megtanulhatja

- A TCO (Total Cost of Ownership, a termék teljes birtoklási ideje alatti költség) nem haladja meg egy kereskedelmi termék TCO-ját.

Hogy ezek a feltételek igazak-e teljességében, az természetesen vitatható, hiszen egy folyamatosan fejlesztés alatt lévő, megújuló rendszerről van szó. Mivel világszerte fejlesztik, főleg angol nyelvű a rendszer, bár vannak már honosított részei. Természetesen a felhasználó (a Web-hely látogatója) számára ezek a dolgok láthatatlanok maradnak.
Ha megfelelően biztonságos és "önműködő" rendszert építünk ki, akkor a TCO is lecsökkenhet: "a gép forog, az alkotó pihen" (Madách), nem kell a rendszerhez hozzányúlni, ezért tényleges költség nincsen, csupán áramot kapjon a gép.

###
Bevezetés gyakorlati szempontból

Akik egy kicsit is járatosak az informatikában - és akiknek ez a munka jobbára szól - biztosan hallottak már a Linux-ról. Nekik nem nagyon kell elmagyaráznom, hogy ez mit fed, de azért sokakban keverednek a fogalmak. A Linux maga "csak" egy rendszermag (kernel), melyre egy főként GNU programokat használó operációs rendszer épül. Mivel a Linux POSIX8 kompatibilis (vagyis egy szabványos UN*X9 klón) ezért sok kereskedelmi UN*X-on (ezek hálózati operációs rendszerek) futó kereskedelmi szoftver újrafordítás után futtatható (portolható) reá. Napjainkban a Linux/GNU (továbbiakban Linux) páros már bizonyított: 1998-ról 1999-re 212%-os növekedést értek el a kereskedelmi Linux disztribúciók (terjesztések) eladásában. Ebben az adatban persze nincs benne a nagyobbik rész, hiszen ezeknek a rendszereknek egy része ingyenesen letölthető az Internetről, továbbá vannak nem kereskedelmi, Linux kernelre alapuló disztribúciók, pl. a Debian GNU/Linux, melyet a Debian projekt keretében fejlesztenek több mint ötszázan (csak a disztribúciót, a különböző szoftvereket több ezren.) világszerte szabadidejükben, ingyen és önkéntesen.
Kérdés az, hogy ezek az "otthon barkácsolt" szoftverek:

- Megfelelőek, stabilak, biztonságosak-e?

- Mennyire korszerűek, naprakészek, újszerűek?

- Mennyire vannak kitéve a vírusoknak?

- Mennyire könnyen feltörhetők ezek a rendszerek?

- Mennyire szabványosak, következetes-e a tervezésük?

- Mennyire kompatibilisek más szoftverekkel?

Bár sokan nem hiszik el, a Linux rendszerek nagy része (megfelelő rendszergazda mellett) sokkal biztonságosabb egyes kommerciális szoftvermegoldásoknál (többek között azért, mert a rendszergazdának teljes körű hatalma lehet a szoftver felett a forráskódon keresztül). A Debian disztribúció pedig régóta arról ismert, hogy az egyik legbiztonságosabb Linux terjesztés, kifejezetten az Internetre szánva. Ha egy cég az Internettől elzárt belső hálózatára vásárolna (pl. adatbázis-szervernek) egy gépet, akkor lehet, hogy jobb lenne egy kereskedelmi Linux terjesztést választania, mert a nagy üzleti adatbázis rendszerek érthető okokból ezeket jobban támogatják. A mi esetünkben azonban másra van szüksége kisvállalatunknak. Az Internet veszélyei miatt számunkra első a biztonság.
A Debian-nak mindig van egy stabil ("stable"), lezárt változata, amelyet az éles rendszerekbe szánnak. Ebbe csak akkor jelennek meg programfrissítések, ha valami biztonsági hiba derül ki, de ekkor nagyon gyorsan. A Linux terjesztések közül általában a Debian-ban jelennek meg először a hibajavítások. Amint elegendő javítás összegyűlt, a stabil változatot újra kiadják. Pl. a "Slink" változat 6 kiadást ért meg. Az első az "r0", az utolsó az "r5" volt. A másik változatot fejlesztőknek szánják ("unstable"), melyek általában nem állják meg a helyüket éles munkában, bár vannak olyan türelmetlen rendszergazdák, akik mindig a legújabb programokat szeretik használni - helytelenül. Ebben a változatban szinte naponta frissülnek a programcsomagok és itt általában a különböző programok fejlesztői változatai találhatóak. Ez lehetőséget ad a széleskörű tesztelésre és a gyorsabb hibajavításokra. Amint egy idő elteltével már eléggé stabillá válik a rendszer, akkor "kódfagyasztás" állapot ("frozen") következik be. Ekkor 1-2 hónapig "figyelik" a rendszert, és ha minden felmerült programhibát kiküszöböltek, akkor a változat "stabillá" válik, és CD-ROM-on is terjeszthető lesz. Ezután új fejlesztői változatba kezdenek a programozók. Mindegyik változat elérhető az Interneten FTP és több más protokoll segítségével az ftp://ftp.debian.org-ról, vagy a hivatalos (és az egyéb nem hivatalos) magyar ftp-tükörről: ftp://ftp.hu.debian.org. A programok futtatható és forráskód formában is letölthetőek.
A Debian-t rendszergazdák és rendszerprogramozók fejlesztik - főleg rendszergazdák számára. Viszonylag nem olyan könnyen és gyorsan telepíthető, megtanulható azok számára, akik még nem ismerik a UN*X-os szemléletet. (E munka többek között ezért is íródott, hogy a kezdeti lépésekhez adjon segítséget.) Viszont cserébe teljesen személyre szabható és darabokra szedhető a rendszer.
A Linux / UN*X rendszerek általában teljesen immúnisak a vírusokkal szemben. Ez következik a rendszer többfelhasználós mivoltából és az alapoktól való viszonylag biztonságos tervezésből. Természetesen Linux alá is lehet kártevő programokat írni, de ezek inkább a programférgek és a trójai falovak kategóriájába tartoznak.10 Az ilyen rendszerek elleni támadások nagy része inkább DoS (Denial of Service = szolgáltatás megbénítása) jellegű.
Sok szabad szoftver épp azért készült el az RFC (Request for Comments, Internet szabványokat leíró dokumentumok sorozata) leírások alapján, mert néhány üzleti jellegű szoftvercég ezeken (vagy ezek saját önkényesen módosított változatán) alapulva írta meg a szoftvereit. (Vagy esetleg később "de facto" szabványokká váltak bizonyos protokollok. Kitűnő példa erre a SaMBa, mely a NetBIOS/SMB hálózati protokoll UN*X-os szabad forráskódú implementációja, mely az adott RFC-k alapján készült). A szabad szoftverek (értsd: szabad forráskódú) legnagyobb részét éppen nem önkényesen, hanem minden szabványt és leírást, már működő programokat figyelembe véve kezdték el megtervezni és lekódolni, hogy minél több más rendszerrel kompatibilis és használható legyen. Ezáltal egy Linux rendszer elég heterogén hálózati környezetben is kellően használható.
Rendszergazdai szempontból a kitűzött célunk tehát a következő:

- Megismerkedni a szükséges alapfogalmakkal, metódusokkal

- A döntéshozókkal együttműködve a felhasználási igény szerint megtervezni a rendszert

- Kiválasztani, megvásárolni és összeszerelni a hardvert, kiválasztani a megfelelő Internet-szolgáltatót, sávszélességet, előfizetni

- Beszerezni, telepíteni és konfigurálni a szoftvert

- Saját hardverhez és felhasználási igényhez optimalizálni a beállításokat

- A távoli karbantartás lehetőségének biztosítása

- A rendszer biztonságossá tétele a betörésekkel szemben

- A rendszer maximális rendelkezésre állásának biztosítása hardver és szoftver eszközökkel (biztonsági mentés, szünetmentes tápegység)

- A rendszer állapotának intelligens monitorozása, igénybevételi statisztikák készíttetése szoftverekkel

A gyakorlatiasabb fejezetekben feltételezem, hogy az olvasó a rendszergazdai szerepkört tölti be és ebből a szemszögből vizsgálom a problémákat.
A dolgozat első részében kisebb-nagyobb részletességgel kitérek az alapvető szabad-szoftver fogalmakra, többek között a GNU és más projektekre, azok filozófiájára, célkitűzéseire. Továbbá néhány hasznos és alapvető hálózat / Web specifikus struktúrára is, mint a fizikai elrendezés és a karbantartó személyzet felépítése.
A második fejezet a Tervezési fázissal foglalkozik: mit kell és mit érdemes létrehozni, mire van / lesz igény, mi a felhasználás területe, annak mérete, stb. Bemutatok egy mintapéldát, mely alapján a későbbi fejezetekben a megvalósítás történni fog. Továbbá foglalkozok a biztonság tervezésével is, hiszen ebben a szakaszban sok, később kiütköző probléma kiküszöbölhető. Megfelelően kidolgozott tervezési fázis után a megvalósításhoz és a teszteléshez sokkal kisebb idő kell, mint az in medias res típusú megvalósításoknál.
A megvalósítással foglalkozó fejezetben először a szoftver installálásának menetén vezetem végig az olvasót, majd az utólagos és lehetséges finomhangolásokról lesz szó. Tudni kell, hogy az installálás után a rendszer már teljességében működőképes, a finomhangolásra csupán a teljesítmény és a biztonság fokozásának érdekében van/lehet szükség.
A következő fejezetben a rendszer egy gyakorlatban már alkalmazott példáját vázolom röviden.
A fent tárgyalt rendszerkomponensek jövőjét is górcső alá veszem egy rövidebb fejezet erejéig, vajon a mostani és tervezett fejlesztések mit ígérnek számunkra.
Végül a Debian GNU/Linux rendszerben található egyéb, az adott célra alternatívát nyújtó szoftverek rövid bemutatását célzom meg.