Informatika | UNIX / Linux » Priol Balázs - Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval

Alapadatok

Év, oldalszám:2009, 84 oldal

Nyelv:magyar

Letöltések száma:231

Feltöltve:2011. szeptember 27.

Méret:1 MB

Intézmény:
-

Megjegyzés:

Csatolmány:-

Letöltés PDF-ben:Kérlek jelentkezz be!



Értékelések

Nincs még értékelés. Legyél Te az első!


Tartalmi kivonat

MIT-43/2002.IX /2009 SZAKDOLGOZAT Priol Balázs 2009 Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Tanszék SZAKDOLGOZAT Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Készítette: Priol Balázs Témavezető: Pandur Béla Pécs 2009 PÉCSI TUDOMÁNYEGYETEM POLLACK MIHÁLY MŰSZAKI KAR Műszaki Informatika Tanszék 7624 Pécs, Rókus u. 2 Szakdolgozat száma: MIT43/2002.IX/2009 SZAKDOLGOZAT FELADAT Priol Balázs . hallgató részére A záróvizsgát megelőzően szakdolgozatot kell benyújtania, amelynek témáját és feladatait az alábbiak szerint határozom meg: Téma: Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációjával Feladat: I. Tervezés II. Levelező szerverek elkészítése, adatbázis replikációt megvalósítani III. Samba szerver elkészítése IV. Felhasználói számítógépek telepítése, biztonsági mentés

megvalósítása V. Egyéb megvalósítások, összefoglalás A szakdolgozat készítéséért felelős tanszék: PTE PMMK MIT Külső konzulens: munkahelye:. Témavezető: munkahelye: Pandur Béla PTE-PMMFK Pécs, 2008. szeptember 29 dr.Szakonyi Lajos tanszékvezető HALLGATÓI NYILATKOZAT Alulírott szigorló hallgató kijelentem, hogy a szakdolgozat saját munkám eredménye. A felhasznált szakirodalmat és eszközöket azonosíthatóan közöltem. Egyéb jelentősebb segítséget nem vettem igénybe. Az elkészült szakdolgozatban talált eredményeket a főiskola, a feladatot kiíró intézmény saját céljaira térítés nélkül felhasználhatja. Pécs, 2009. január 9 . hallgató aláírása Köszönetnyilvánítás Ezúton szeretnék köszönetet mondani a munka során jelentkező szakmai kérdésekben segítséget nyújtó témavezető tanáromnak, Pandur Bélának. Továbbá Éliás Imrének (Computer Corner Kft ügyvezetője), aki sok elméleti és

rengeteg gyakorlati tudást adott át nekem. Megismertetett a hálózatépítéssel és a Linux alapú rendszerekkel. Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 1 Tartalomjegyzék 1 Tartalomjegyzék . 1 2 Bevezetés. 4 3 Tervezés . 5 3.1 Feladatok megfogalmazása . 5 3.2 Feladatok elemzése . 5 4 Lehetséges megközelítési módok. 6 4.1 Szabványosságról . 6 4.2 Hálózat kiépítése: . 7 4.3 Hardware igények . 8 4.4 Disztribúció kiválasztása . 9 4.5 Közös meghajtó. 9 4.6 Levelező szerver elkészítése . 9 4.7 Folyamatos kiszolgálás biztosításának lehetőségei . 10 4.8 Biztonsági mentés: . 10 5 Módszer kiválasztása . 11 5.1 Hálózat építése . 11 5.2 Hardware igények . 13 5.3 Disztribúció kiválasztása . 14 5.4 Közös meghajtó. 14 5.5 Levelező szerverek elészítése . 14 5.6 Folyamatos kiszolgálás biztosításának lehetőségei . 14 5.7

Biztonsági mentés . 16 6 Levelező szerverek elkészítése és az adatbázis replikáció megvalósítása . 17 6.1 Levelező szerverek elkészítése. 17 6.11 Telepítendő csomagok:. 17 6.12 PAM felkészítése . 17 6.13 MySQL szerver beállítása. 19 6.14 Apache2 beállítása . 20 1 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 6.15 OpenMailAdmin telepítése. 21 6.16 Saslauthd beállítása. 22 6.17 Cyrus IMAP beállítása . 23 6.18 Postfix beállítása. 24 6.19 Regexp hozzáadása . 28 6.110 Levelezőfiókok felvétele. 31 6.111 Kapcsolat biztonságossá tétele (TLS/SSL). 32 6.112 Roundcubemail . 33 6.2 Adatbázis replikáció megvalósítása: . 36 6.21 Server1 –en történt beállítások . 36 6.22 Server2 –en történt beállítások: . 37 6.23 Master-Master viszony kialakítása, log figyelések beállítása . 38 6.24 Server2/Master –ből Server1/Slave

létrehozása az alábbi módon . 41 6.25 Server1/Master –ből Server2/Slave létrehozása az előző mintájára. 41 7 Folyamatos kiszolgálás megvalósítása. 42 7.1 Server1 és Server2 közötti átkapcsolás megvalósítása . 42 7.11 Pound telepítése Server1 és Server2 –re . 42 7.12 Pound konfiguráslása . 42 7.13 Keepalived telepítése Server1 és Server2 –re. 43 7.14 Keepalived konfigurálása Server1 –en . 44 7.15 Keepalived konfigurálása Server2 –n . 46 7.2 E-mail üzenetek tükrözése a hálózaton – DRBD (Distributed Replicated Block Device) használatával. 47 7.21 Kernelfordítás előkészületei. 47 7.22 DRBD Kernel Patch elkészítése . 48 7.23 Kernelfordítás . 48 7.24 DRBD telepítése . 49 7.25 DRBD beállítása . 49 7.26 Master/Slave állapotok közötti változás jelzése: . 51 8 SAMBA Server elkészítése . 53 8.1 Debian alaprendszer telepítése. 53 8.2 RAID1 megvalósítása. 53 2 Kisvállalati

LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 8.21 Partíciók létrehozása . 53 8.22 Szoftveres RAID1 konfigurálása . 54 8.3 Samba telepítés és konfigurálás . 54 9 Felhasználói számítógépek telepítése. 56 9.1 Ubuntu telepítése . 56 9.2 Felhasználói szoftverek telepítése . 56 9.3 Biztonsági mentés megvalósítása . 57 10 Tapasztalatok, továbbfejlesztési lehetőségek . 61 10.1 Tapasztalatok . 61 10.2 Továbbfejlesztési lehetőségek . 62 11 Összegzés. 63 11.1 Folyamatos kiszolgálást biztosító rendszer működése:. 63 11.11 Adatok,beállítások, címjegyzékek: . 63 11.12 Üzenetek:. 63 11.13 Átkapcsolás: . 64 11.14 Felhasználói szemmel: . 64 11.15 Rendszer kompatibilitása:. 64 11.16 Hazárdok – nem várt véletlenek: . 65 11.17 Összefoglalás . 65 12 Irodalomjegyzék . 66 13 Mellékletek . 69 13.1 Debian GNU/Linux 4.0 „Etch” rendszer telepítése: 69 13.2

Ubuntu 8.10 „intrepid ibex” rendszer telepítése: 70 13.3 Levelező szervereken használt csomagok listája. 71 3 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 2 Bevezetés Szerviz technikusként dolgoztam egy pécsi számítástechnikai cégnél (Computer Corner Kft), ahol számítógépek összeszerelésével, javításával, kisebb és közepes kiterjedésű hálózatok kiépítésével, karbantartásával foglalkoztam. Különböző cégek, intézmények számítógépeit helyeztem üzembe, hálózatait építettem ki és felügyeltem. Egyre több cég kezdett érdeklődni a LINUX iránt. Elsősorban anyagi okokból Természetesen nem ajánlhatom bárkinek a teljesen LINUX alapú rendszert. Figyelembe kell venni, hogy bár manapság nagyon sok Windows alkalmazás helyettesíthető Linux-on, de nem mindegyik. Illetve az emberek megszokták a Windows-t és nehezen tanulnak meg új dolgokat, nincs idejük, kedvük

átszokni. Tehát általában azon cégeknek ajánlom ezt a megoldást, akiknek a tevékenysége nem igényel speciális szoftvereket (melyeknek nincs számukra megfelelő Linux-os változata). Példaként említenék többek közt egy utazási irodát, akik már évek óta elégedetten használják a Linux-os rendszerüket. Esetükben a 8 felhasználói PC-n kizárólag Linux fut. Nem meglévő Windows-os rendszerüket váltották erre, hanem ők a cég indulásakor érdeklődtek a lehetőségekről. Elsősorban anyagi okokból választották ezt és miután bemutattam Nekik, hogy milyen kezelői felületek vannak, hogy is néznek ki, hogyan használhatók a különböző programok, nem riadtak vissza az apró eltérésektől, szívesen és könnyen tanulták meg a használatukat. Egy 8-10 PC- vel rendelkező vállalkozás általában már felkér egy céget, amely megegyezés szerinti rendszerességgel felülvizsgálja, karbantartja a számítógépes rendszerüket alkalmankénti

vagy átalánydíjas megbízással. Ha ezt a szempontot figyelembe vesszük, akkor mindegy, hogy Linux vagy Windows fut a gépeken. A vállalkozás fizet az ehhez hasonló szolgáltatásért. Fizet azért is, hogy a megbízott cég feltelepíti a számítógépeit, akár Windows, akár Linux esetében is. Tehát a feljebb példaként említett 8-10 PC esetében körülbelüli árak, amit a cégek megvásárolnak általában: 4 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Windows XP Home OEM HUN ~ 20.000 Ft / PC Microsoft Office OEM Office 2007 Basic HUN ~ 58.000 Ft / PC (Forrás: Computer Corner Kft – árlista) Tehát 10 PC esetében ~ 780.000 Ft , még ha az egyéb, például grafikai, stb programokat ingyenes változatokkal is helyettesítenek. Tehát tapasztalatból írhatom, hogy van igény ilyen megoldásra, amelyet témámnak választottam. A témát a gyakorlat ihlette, de általam még nem került

bevezetésre ilyen formában, illetve csak részben. 3 3.1 Tervezés Feladatok megfogalmazása A feladat, hogy egy kisvállalkozás számítógépes rendszerét megtervezzem, mely tartalmazza a hálózat megtervezését, gyakorlati megvalósítását, számítógépek beszerzését, azok telepítését, hogy a cég felhasználói feladataikat teljes egészében Linux-ot futtató számítógépeken végezhessék. Továbbá feladat a szerver gépek telepítése, konfigurálása. Szükség lesz egy SAMBA szerverre, melyen a felhasználóknak egy közös könyvtáruk lesz és ezen a gépen is tárolva lesznek a biztonsági mentések, melyek heti rendszerességgel történnek a felhasználói számítógépekről. Szükség lesz két levelező szerverre, melyek a folyamatos kiszolgálást biztosítják adatbázis replikációval. Ezeknek gyakorlati megvalósítását szakdolgozatom megírása folyamán dolgoztam ki. 3.2 Feladatok elemzése Számítógépek beszerzésére több

lehetőség is kínálkozik. Használt, márkás (IBM, Compaq), illetve új PC-t is lehet választani. Általában a vevőn múlik, melyik szimpatikusabb neki. Spórolhat is, ha használt mellett dönt (ezek 6 hónap garanciával rendelkező két-három évnél öregebb, de minőségi számítógépek).Vevőnek mérlegelnie 5 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval kell, hogy esetleg valamivel nagyobb az esélye egy öregebb PC meghibásodásának, az alkatrészek elöregedése miatt. De jóval kedvezőbb áron juthat hozzájuk Hozzá tartozik még, hogy általában ezek a használt márkás PC-k valóban jobb minőségűek, mint az olcsóbb újak. Érdemes TFT monitorokat vásárolni mivel alcsonyabb a fogyasztásuk és kevésbé szemkárosító hatásúak, egyszóval korszerűbbek. Hálózat megtervezését az épület tervrajza vagy saját készítésű felmérés alapján kezdem. Felmérem milyen hálózati- (router,

switch, stb.), villamossági eszközök kellenek Milyen és mennyi kábelcsatornára, mennyi UTP- fali aljzatra, dugókra, kábelre lesz szükség. Munka és tűzvédelmi szempontból milyen intézkedések szükségesek Hol legyenek elhelyezve a számítógépek. Milyen egyéb eszközök, szerszámok, kellékek szükségesek. Ezután látok neki a gyakorlati megvalósításoknak Majd dokumentálom a munkát (a bekötések típusát, kábelezések útvonalát, stb.) Azután következnek a telepítések, konfigurálások. Linux disztribúció(k) kiválasztása, telepítése. Felhasználói programok kiválasztása, telepítése Megállapítom, hogy milyen szolgáltatásokra lesz szükség a szerver gépeken és milyen módok, eszközök segítségével valósítsam meg őket, hogyan legyen folyamatos a kiszolgálás. 4 4.1 Lehetséges megközelítési módok Szabványosságról A strukturált kábelezési rendszerekről szólván az egyik legfontosabb dolog a rendszerek

szabványossága. A szabványoknak tökéletesen megfelelő kábelezési rendszerek garantálhatják ugyanis azt az alkalmazásfüggetlenséget, amit a hosszú élettartam alatt megkövetelhető. Európában, így hazánkban is a mérvadó szabvány az ISO/IEC IS 11801, amelynek európai megfelelője az EN50173. A kábelezési rendszernek, mint egésznek kell szabványosnak lennie, ezért fontos, hogy a rendszer minden eleme olyan gyártótól származzon, amely garantálni tudja ezt. 6 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 4.2 Hálózat kiépítése: Célszerű figyelembe venni a kábel minőségét. Ajánlott min CAT5 (100 Mbit/s) használata, de CAT5e -re (1000 Mbit/s) is egyre gyakrabban szükség van, illetve későbbiekben szükség lehet. Megfontolandó tehát a jobbat választani, ami többletköltséget jelent, de így a későbbiekben fejlesztések alkalmával nem kell újrakábelezni az épületet.

Gyakorlatban leggyakrabban használt kábel típusok az UTP és STP kábelek. UTP (Unshielded Twisted Pair = árnyékolatlan csavart érpár) egy külső zavarok ellen védtelen adatátviteli közeg. Ez a leggyakrabban alkalmazott kábeltípus az ethernet hálózatokon. Az UTP kábel 4 érpárból álló réz alapú átviteli közeg, melynek mind a 8 rézvezetéke szigetelőanyaggal van körbevéve. Emellett a vezetékek párosával össze vannak sodorva, így csökkentve az elektromágneses és rádiófrekvenciás interferencia jeltorzító hatását. Az árnyékolatlan érpárok közötti áthallást (Crosstalk, Xtalk) úgy csökkentik, hogy az egyes párokat eltérő mértékben sodorják. Előnye kis átmérője, mely által kevesebb helyet foglal pl. a kábelcsatornákban. Hőmérséklet tartománya melyen belül garantáltan megfelelően működik 20°C és +60°C. Hátrányaként említhető kis átviteli távolsága , valamint külső interferencia-források elleni

viszonylagos védtelensége. STP (Shielded Twisted Pair = árnyékolt csavart érpár), ahol a külső zajok ellen árnyékolás véd és a vezetékek páronként is árnyékolva vannak. Előnyeként említhető külső interferencia-források elleni védelme. Elektromos zajjal terhelt környezetben javasolt a használata Kábelek végeit RJ45 csatlakozókkal kell szerelni és ajánlott törés-gátlókat is alkalmazni. Hálózat kialakításához szükség van még fali aljzatokra, kábelcsatornákra és különböző hálózati eszközökre (router, switch, stb.) természetesen ezek között is van minőségbeli eltérés, de már az olcsóbb fajták is megfelelő minőségűek. 7 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 4.2/A - Saját készítésű ábra bemutatja a szabványos bekötési módokat Kábeleket kábelcsatornában, vagy ha lehetőség van rá a falon belül kell elvezetni. Lehetőleg ne legyen kitéve

mechanikai hatásoknak. Javasolt a hálózat építést úgy végezni, hogy az eszközök közelében legyenek végpontok kialakítva, innen pedig úgynevezett patch kábeleket alkalmazni, melyek nagyobb igénybevételt is kibírnak, köszönhetően rugalmasabb borításuknak és annak, hogy sodrott rézszálakból áll, nem tömörből. Hálózati eszközöket, szervereket külön helyiségben kell elhelyezni és erre való szekrényben tárolni, de legalább részben elszigetelt részén az épületnek, helyiségnek. 4.3 Hardware igények Fel kell mérni, hogy milyen hardware igények vannak. Milyen teljesítményű szervereket szerezzünk be és milyen gépeket vásároljunk felhasználói PC-nek. 8 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 4.4 Disztribúció kiválasztása Felhasználói és szerver számítógépek telepítéséhez különböző disztribúciókból választhatunk. Jelenleg népszerű

disztribúciók: Ubuntu, openSUSE, Fedora, Debian, Mandriva, PCLinuxOS, Slackware Linux, Gentoo Linux 4.5 Közös meghajtó Közös hálózati meghajtó megvalósításához több módszer is létezik, ezekből kettőt említenék meg FreeNAS és SaMBa. FreeNAS egy FreeBSD alapú Network Attached Storage szoftver, amellyel egyszerűen és hatékonyan készíthetünk hálózatra kapcsolható tárterületet. SaMBa olyan programcsomag, amely elérhetővé teszi a kliensek számára a kiszolgáló file- és nyomtatóterületeit az SMB (Session Message Block) protokollon keresztül. 4.6 Levelező szerver elkészítése Választani lehet fizetős, kész szoftverekből is, mint pl. IceWarp Levelező Szerver, vagy Kerio MailServer melyek multi-platformos szoftverek és magyar nyelven is elérhetők. De ingyenes megoldást is választhatunk. Levelező szerver elkészítéséhez az első lépés általában megfelelő e-mail szoftverek kiválasztása. Itt széles a választék Az e-mail

rendszer két alapvető komponensből áll. Az SMTP szerverből és a klienseket kiszolgáló szerverből, ami lehet POP3 vagy IMAP. Ez utóbbi kettő között dönteni lehet, de választhatjuk mindkettőt egyszerre. Hasznos kiegészítő még egy egyszerű web-szerver, mely webes adminisztrációt és webmailt tesz lehetővé, megkönnyítve a későbbi felhasználó hozzáadás, módosítás feladatait, valamint levelezés elérését kényelmesen, bárhonnan. 9 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 4.7 Folyamatos kiszolgálás biztosításának lehetőségei A levelező szerver folyamatos kiszolgálásának biztosításához különböző lehetőségeket vehetünk számításba. Egyetlen meghibásodási pont (Single Point Of Failure): A rendszer egy olyan összetevője, amely meghibásodása a teljes rendszer működésére kihatással van. Például egy szerver esetén. Átterhelés: Egy hasonló

rendszerkomponens automatikusan átveszi a meghibásodott összetevő funkcióját. Például egy szerver esetén két HDD RAID-1 –ben Hideg készenlét: A készenléti hardver nincs bekapcsolva. Az átállást kézzel kell elvégezni, a meghibásodás ténye világosan látható lesz. Pl: tartalék szerver Meleg készenlét: A tartalékrendszer a háttérben fut, így az átállás automatikus lehet. A két rendszeren az adatok automatikusan szinkronizálásra kerülnek. A felhasználó számára az átterhelés a szolgáltatás nagyon gyors újraindításának látszik. Az aktuális tranzakció azonban megszakadhat, mert nem biztos, hogy sikerül szinkronizálni az adatokat a meghibásodás előtti állapottal. Forró készenlét: Mindkét rendszer folyamatosan, párhuzamosan fut – az adatok mindkét rendszeren száz százalékban szinkronban vannak. A felhasználók semmilyen hibát nem vesznek észre. Ahhoz, hogy mindkét rendszer tökéletesen szinkronban működjön, a

klienskapcsolatokat is száz százalékban tükrözni kell. Ez általában azt igényli, hogy a kliensek egyidejűleg két vagy több kiszolgálóval tartsanak fent kapcsolatot és az összessel egyidejűleg kommunikáljanak. 4.8 Biztonsági mentés: Mentés készítéshez sokféle eszköz, mód áll rendelkezésre. Készíthető növekményes mentés, amikor mindig csak a változások kerülnek másolásra (pl.: tar, gzip, rsync használatával) és készülhet mentés teljes partícióról, vagy merevlemezről (pl.: tar, gzip, partimage, stb. használatával) Valamint rengeteg ingyenes és fizetős szoftver áll rendelkezésre a mentések elkészítéséhez például: BackupPC, Boxbackup, Duplicity. 10 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 5 5.1 Módszer kiválasztása Hálózat építése Hálózat kiépítése előtt érdemes vázlatot készíteni, mely segít a további tervezésben. Az alábbi rajzok

részben valóságosak. Hálózat topológia rajza annyiban tér el a valóságtól, hogy nem hét darab PC -vel készítem el itthon, hanem négy darabbal. Mint a rajz is tartalmazza, már tudjuk a berendezések darab számát, így akár már feltüntethetjük a számítógépek leendő IP címeit is 5.1/A - Saját készítésű ábra az alkalmazott hálózati topológiáról Következő épület tervrajzot magam készítettem. Egy valóságos épület adottságait használtam fel, jelöltem és terveztem tovább. Tehát ez egy tényleges kisvállalkozás 11 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval épület tervrajza is lehetne. Jelöltem a kábelezés útvonalait, a végpontok helyét Jelöltem a hálózati eszközöket és szervereket is, melyeket egy külön helyiségben helyeztem el. Szintén jelölve vannak a leendő IP címek a jelmagyarázatnál. Ehhez hasonló tervrajzok nem csak a tervezésnél nagyon

hasznosak, hanem későbbiekben a hibakeresésnél is jól jöhetnek. 5.1/B – Saját készítésű épület tervrajz - kábelezés, végpontok és eszközök jelölésével 12 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 5.1/C – Az épület tervrajz jelöléseinek magyarázata IP címek: Router – 192.16811 Szerver 1 – 192.1681111 Szerver 2 – 192.1681222 Szerver 1/Szerver 2 közös – 192.1681250 Szerver 3 – 192.1681200 1 – 192.168110 2 – 192.168120 3 – 192.168130 4 – 192.168140 5 – 192.168150 6 – 192.168160 7 – 192.168170 5.2 Hardware igények Jelen esetben három darab Compaq Evo D51S (1,7 GHz / 256 Mb / 2x20 GB HDD) számítógépet használok a szerverekhez, ezek hagyományos asztali PC-k. Viszont éles helyzetben egy minimum IBM xSeries 205 (P4 2,4 GHz / 512MB / 2 x 36 GB) –hez hasonló teljesítményű márkás szervergépet javasolnék. Figyelembe kell venni a várható adatok

mennyiségét pl. a HDD méret kiválasztásához! Felhasználói számítógépeknek is minimum P4-es konfiguráció ajánlott! 13 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 5.3 Disztribúció kiválasztása Mivel fontos szempont az, hogy magyar nyelvű legyen és felhasználóbarát grafikus felülettel rendelkezzen, ezért a jelenleg legelterjedtebb (forrás: http://distrowatch.com) Linux ditszribúciót az Ubuntu-t választottam. Mely ingyenes, jogtiszta megoldás, nincsenek licencköltségek. Legtöbb windows-os alkalmazásra kínál alternatívát További előnyökkel is rendelkezik, úgymint a biztonsági frissítések egyszerű, központi kezelése az operációs rendszerhez és az alkalmazásokhoz. Alkalmazások telepítése, frissítése és eltávolítása egy központi alkalmazásból. Fél évente új kiadás készül, melyre könnyen frissíthető. Együttműködik más operációs rendszerekkel (Microsoft

Windows, MacOS X, más Linux változatok, különféle BSD variánsok, stb.) Emellett széles, tapasztalt hazai felhasználó bázissal rendelkezik. 5.4 Közös meghajtó Közös meghajtó megvalósításához Samba-t választom, mely egy olyan programcsomag, amely elérhetővé teszi a kliensek számára a kiszolgáló file- és nyomtatóterületeit az SMB (Session Message Block) protokollon keresztül. Megbízható, stabil, ingyenes, könnyen, ésszerűen konfigurálható. 5.5 Levelező szerverek elészítése Úgy tervezem, hogy a levelek webes felületen legyenek elérhetők és a felhasználók adatait adatbázisban tárolom , melyet aztán replikálok. Erre a MySQL, Cyrus Imap párost használom. Melyet Openmailadmin és Roundcubemail-lel egészítek ki a webes adminisztrációhoz és webmail-hez. 5.6 Folyamatos kiszolgálás biztosításának lehetőségei Jelen esetben legalább a meleg készenlét módszer elérésére kell törekedni. Két szervert használok a

folyamatos kiszolgáláshoz, melyek kapcsolatban állnak egymással. 14 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval A kiszolgálás attól lesz folyamatos, hogy részint két szerver figyeli egymást, ha az egyiken (server1) változás történik, akkor azt a másik (server2) észleli, átveszi, illetve ez történhet fordítva is. Ezt MySQL adatbázis Replikációval fogom megvalósítani Továbbá attól lesz folyamatos a kiszolgálás, hogy bizonyos változások (e-mail üzenetek) egyszerre kerülnek mindkét szerverre - DRBD használatával – hálózati tükrözéssel, ehhez plusz egy-egy merevlemezt helyezek server1 és server2-be. 5.6/A – Saját készítésű ábra – Tükrözés DRBD-vel hálózaton Tehát valamely szerver meghibásodása esetén, az állva maradó szervernek automatikusan át kell vennie a meghibásodott szerepét (Failover). Majd, ha a meghibásodott szerver helyreáll, akkor szintén

automatikusan vissza kell állnia a két szerver kommunikációjának (Failback) és szinkronizálódniuk kell. Fontos, hogy a meghibásodott szerverünkről tudomást kell szerezzünk valamilyen módon. Erre is több lehetőség kínálkozik (hangjelzés,automatikus e-mail küldés) Nem elég minderről gondoskodnunk! Ahhoz, hogy a kiszolgálás folyamatos lehessen szükséges az is, hogy a két szerver közül legalább az egyik mindig elérhető legyen, mely teljes mértékben át tudja venni a másik szerepét, feladatait. 15 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Két szervert egy virtuális 192.1681250 IP címen lehet elérni Ez a cím mindig az aktuális master szerverre mutat. Ezt átkapcsolással oldom meg Virtuális IP cím létrehozásához és az átkapcsoláshoz a Pound-Keepalived párost használom. Ahol a Pound szétosztja az ügyfélböngészőktől érkező kéréseket a szerverek között Keepalived

pedig megvalósítja az átkapcsolást. 5.7 Biztonsági mentés Jelen esetben olyan megoldást dolgozom ki, mely alkalmazható Linux és Windows környezetben egyaránt. Mely esetleg igényli a havonta, hetente történő látogatást, kiszállást a cégekhez. Mentések úgy készülnek, hogy a számítógépben lévő merevlemezen létrehozok egy partíciót, vagy kiegészítem még egy merevlemezzel kifejezetten a mentéshez. Ide egy Debian alaprendszert telepítek Lényege az, hogy a mentés az egész partícióról vagy partíciókról készül. Grub rendszerbetöltőből lesz elérhető a mentés lehetősége, mely a kiválasztás után már automatikusan zajlik. Indításkor a képernyőn megjelenik, hogy mentés készül, illetve hangjelzést is ad (beep), majd partimage programmal elkészül a mentés, mely egy központi gépre másolható, vagy láncban , mindig a következő PC-re, majd az utolsót az elsőre. Ha a mentés elkészült hangjelzést ad és e-mail üzenetet

küld tetszőleges e-mail címre. Ezután megtörténik a mentés másolása a szerverre, vagy másik felhasználói számítógépre. Amennyiben ez nem sikerül, ismét e-mail üzenetet küld a másolás sikertelenségéről. Ha mindez lefutott a számítógép leáll, kikapcsol. 16 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 6 Levelező szerverek elkészítése és az adatbázis replikáció megvalósítása 6.1 Levelező szerverek elkészítése 6.11 Telepítendő csomagok: apt-get install postfix postfix-doc postfix-mysql postfix-pcre openssl ca-certificates libsasl2 libsasl2modules sasl2-bin cyrus-admin-2.2 cyrus-clients-22 cyrus-common-2.2 cyrus-doc-22 cyrus-imapd-22 libcyrus-imap-perl22 mysql-server-5.0 mysql-client-50 libpam-mysql apache2-mpm-prefork libapache2-mod-php5 php5 php5-cli php5-mysql libphp-adodb apache2-utils ntpdate bzip2 6.12 PAM felkészítése A PAM gondoskodik a hitelesítési feladatról

és ellenõrzi a felhasználó személyazonosságát. Az /etc/pamd/imap, /etc/pamd/sieve, /etc/pamd/lmtp, /etc/pam.d/smtp fájlokat kell módosítani Az /etc/pamd/imap tartalma: auth sufficient pam mysql.so user=postfix passwd=<my passwd> host=localhost db=postfix table=user usercolumn=mbox passwdcolumn=pass md5 crypt=3 account required pam mysql.so user=postfix passwd=<my passwd> host=localhost db=postfix table=user usercolumn=mbox passwdcolumn=pass md5 crypt=3 A postfix nevű adatbázis user táblájának mbox, pass md5 adatait használjuk fel, crypt=3 hatására pedig MD5 jelszókódolást használunk. chmod 600 /etc/pam.d/imap rm --force /etc/pam.d/sieve /etc/pamd/lmtp ln --symbolic /etc/pam.d/imap /etc/pamd/sieve ln --symbolic /etc/pam.d/imap /etc/pamd/lmtp ln --symbolic /etc/pam.d/imap /etc/pamd/smtp 17 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval A jelenlegi libpam-mysql Debian etch-ben verziója,

0.62-1, nem támogatja az MD5 kódolást. Ezért a csomagot újra kell fordítani ssl támogatással: mkdir /usr/src/libpam-mysql cd /usr/src/libpam-mysql apt-get build-dep pam-mysql apt-get source pam-mysql cd pam-mysql-0.62 Módosítani kell több fájlt is. A debian/rules fájl 51-ik sor: ./configure --prefix=/usr --with-openssl A Makefile.in fájlban a 109 sor: DEFS = @DEFS@ -I. -I$(srcdir) -I -DHAVE OPENSSL A debian/control 6. sorában: Build-Depends: libpam0g-dev, libmysqlclient15-dev, libssl-dev, debhelper (>= 4.00) A fordítás: apt-get install libssl-dev dpkg-buildpackage cd . ls libpam-mysql 0.62-1 i386deb Az így elkészült csomagot telepítem a következő paranccsal: dpkg –i libpam-mysql 0.62-1 i386deb 18 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Szükség volt még a pam mysql.so fájlra is cd /usr/src/libpam-mysql/pam-mysql-0.62/debian/libpammysql/lib/security/ mv ./lib/security/pam mysqlso

./lib/security/pam mysqlsobak cp /tmp/pam mysql.so /lib/security/ chmod 644 /lib/security/pam mysql.so chown root:root /lib/security/pam mysql.so Ezzel megtörténik az eredeti fájl mentése és az imént fordított MD5 támogatású pam mysql.so is a helyére kerül 6.13 MySQL szerver beállítása A MySQL egy többfelhasználós, többszálú, SQL-alapú relációs adatbázis-kezelő szerver. Először is a root felhasználó jelszavát kell beállítani: mysqladmin –u root password <sajat root jelszo> mysql --user=root --password mysql Enter password: mysql> CREATE DATABASE postfix; mysql> GRANT USAGE ON *.* TO ’postfix’@’localhost’ IDENTIFIED BY ’my passwd’ ; mysql> GRANT ALL PRIVILEGES ON ‘postfix‘.* TO ’postfix’@’localhost’ mysql> WITH GRANT OPTION ; mysql> FLUSH PRIVILEGES ; mysql> quit 19 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 6.14 Apache2 beállítása Az

Apache HTTP Server egy nyílt forráskódú webkiszolgáló alkalmazás. Megfelelő konfigurációs fájl létrehozása a mail host számára (/etc/apache2/sites-available/mail.priolhu) az alábbi : <VirtualHost 192.1681250> ServerAdmin webmaster@priol.hu ServerName mail.priolhu ServerAlias priol SSLEngine on SSLCertificateFile "/etc/ssl/local/mail.priolhu certpem" SSLCertificateKeyFile "/etc/ssl/private/mail.priolhu keypem" ErrorLog /var/log/apache2/error mail.priolhulog CustomLog /var/log/apache2/access mail.priolhulog combined Alias /mail /var/www/roundcubemail <Directory var/www/roundcubemail/> AllowOverride All Order Allow,Deny Allow From All </Directory> Alias /mailadmin /var/www/openmailadmin <Directory /var/www/openmailadmin/> AllowOverride All Order Allow,Deny Allow From All <IfModule mod php5.c> php flag php flag php flag php flag php flag </IfModule> </Directory> </VirtualHost> file uploads 0 ignore

repeated errors 1 ignore repeated source 1 display errors 0 log errors 1 20 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Szükség van ssl tanúsítványra, mail.priolhu certpem, és az ssl titkos kulcsra, mail.priolhu keypem is Készíthetünk úgynevezett self signed tanúsítványt, de később szükség lehet tanúsítvány kiállító szervezet által kiadott tanúsítványra. Ennek beszerzésére több lehetőség is nyílik, ilyen például a CAcertorg által kiadott ingyenes változat. http://wwwakadiacom/services/ssh test certificatehtml alapján elkészítem saját aláírású tanúsítványomat az alábbiak szerint: openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out servercsr cp server.key serverkeyorg openssl rsa -in server.keyorg -out serverkey openssl x509 -req -days 365 -in server.csr –signkey server.key -out servercrt mkdir /etc/ssl/local cp server.crt /etc/ssl/local/mailpriolhu

certpem cp server.key /etc/ssl/private/mailpriolhu keypem Engedélyezni kell az új oldalt az a2ensite mail.priolhu paranccsal A 443 portot is fel kell venni a listára, a /etc/apache2/ports.conf fájlban szerepeljen a Listen 443 sor is. Az ssl modult is engedélyezni kell: a2enmod ssl 6.15 OpenMailAdmin telepítése Openmailadmin egy adminisztrációs frontend IMAP alapú mail szerverekhez. Telepítése a /var/www helyre: wget http://static.ossdlde/openmailadmin/downloads/openmailad min-0.93tbz2 tar -xvjf openmailadmin-0.93tbz2 mv openmailadmin-0.93 openmailadmin chown --recursive root:www-data /var/www/openmailadmin chmod 2770 /var/www/openmailadmin cd openmailadmin find /var/www/openmailadmin -type d -exec chmod 2770 ’{}’ ’;’ find /var/www/openmailadmin -type f -exec chmod 660 ’{}’ ’;’ 21 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Ezután következik az openmailadmin beállítása. Böngésző

segítségével a https://192.1681111/mailadmin/setupphp elérhető biztonságos kapcsolattal. Az alábbi formában kell az adatokat megadni: db connection settings ---------------------DSN: mysql://postfix:<my passwd>@127.001/postfix tablenames’ prefix: IMAP connection settings -----------------------type: Cyrus IMAPd host: localhost port: 143 imap admin: cyrus . password: <sajat jelszo> first superuser --------------mailbox of superuser: postmaster . password: <sajat jelszo> A beszédesség kedvéért és, hogy könnyebb legyen megjegyezni a postfix adatbázis eléréséhez a postfix felhasználót és a postfix jelszót használom, illetve a cyrus és a postmaster jelszava is ez lesz. Egy éles rendszerben viszont nem ajánlott így eljárni! (Használhatjuk jelszavak generálására pl. a pwgen csomag adta lehetőséget és generálhatunk magunknak biztonságos jelszavakat melyek tartalmaznak kis és nagybetűket, számokat.) 6.16 Saslauthd beállítása A

saslauthd egy olyan démon, mely kezeli a plaintext hitelesítésű kéréseket a SASL könyvtár helyett. A saslauthd telepítés után nem indul el. Ahhoz hogy indítható legyen szerkeszteni kell az /etc/default/saslauthd fájlt: START=yes MECHANISMS="pam" 22 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval A postfix smtp szerver chroot környezetben fut. Ahhoz, hogy az saslauthd segítségével működjön az authentikáció a saslauthd socket a chroot-on belül is elérhetővé kell tenni. Ehhez az alábbiak szerint kell elindítani, majd megállítani az saslauthd daemont: mkdir --parents --mode=755 /var/spool/postfix/var/run /etc/init.d/saslauthd start /etc/init.d/saslauthd stop mv /var/run/saslauthd /var/spool/postfix/var/run/saslauthd ln --symbolic /var/spool/postfix/var/run/saslauthd /var/run/saslauthd chown root:sasl /var/run/saslauthd /etc/init.d/saslauthd start 6.17 Cyrus IMAP beállítása Cyrus

E-Mail-Server egy Open-Source-Projekt, mely támogatja a következő protokollokat: IMAP, IMAPs, POP3, POP3s és mindenféle SMTP-Serverrekkel, együtt dolgozik. Először is a cyrus imap szolgáltatást kell beállítani az /etc/cyrus.conf fájl szerkesztésével. POP3 és NNTP szolgáltatásokra nem lesz szükségem, tehát az ehhez tartalmazó sorokat kikommentezem.) Az imap kliensek a /etc/imapdconf alapján férnek hozzá a szerverhez. Az alábbi néhány sor módosítására van szükség: admins: cyrus sasl pwcheck method: saslauthd allowusermoves: yes sasl mech list: PLAIN LOGIN sasl minimum layer: 0 umask: 027 squatter 1 cmd="/usr/bin/nice -n 19 /usr/sbin/squatter s" period=120 Jelen esetben nem tervezem a keresztnev.vezeteknev@domainhu alakú, pontot tartalmazó címek használatát. Ha szükség volna rá, akkor az unixhierarchysep: yes sor is kell. 23 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval A

/var/log/syslog figyelésével megtekinthető, hogy minden rendben van-e: sudo grc tail -f /var/log/syslog. /etc/init.d/cyrus22 restart /etc/init.d/saslauthd restart /usr/bin/cyradm --user cyrus --server localhost --auth login 6.18 Postfix beállítása A Postfix egy MTA (Mail Transfer Agent), mely szabadon elérhető az IBM Public License alatt. A Postfix - ellentétben pl. az Exim-mel - nem egyetlen programból, hanem több, egymástól független összetevőből áll, melyek tökéletesen kommunikálnak egymással. Rendkívül minimalista, biztonságos módon működő alkalmazás, mely tökéletesen alkalmas nagy levélforgalommal rendelkező rendszerek kiszolgálására. Egyszerűen létrehozhatunk benne korlátozásokat, legyen az a levelek méretbeni vagy tartalmi korlátozása. Alkalmas SQL-alapú autentikációra, használhatunk virtuális user-eket, virtuális domain-eket, és még sok egyéb izgalmas dolgot megvalósíthatunk a segítségével. Létre kell hozni pár

állományt a postfix számára. Ezek közül az első /etc/postfix/canonical.mysql, melynek tartalma: hosts = 127.001 user = postfix password = <sajat jelszo> dbname = postfix table = user select field = canonical where field = mbox additional conditions = and active = ’1’ limit 1 24 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Az /etc/postfix/mydestination.mysql tartalma: hosts = 127.001 user = postfix password = <sajat jelszo> dbname = postfix table = domains select field = domain where field = domain Az /etc/postfix/virtual.mysql tartalma: hosts = 127.001 user = postfix password = <sajat jelszo> dbname = postfix table = virtual select field = dest where field = address additional conditions = and active = ’1’ Jogosultságok beállítása: chown root:postfix /etc/postfix/canonical.mysql /etc/postfix/mydestination.mysql /etc/postfix/virtual.mysql chmod 640 /etc/postfix/canonical.mysql

/etc/postfix/mydestination.mysql /etc/postfix/virtual.mysql 25 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Ezután a postfix fő konfigurációs állományának /etc/postfix/main.cf szerkesztése következik: smtpd banner = $myhostname ESMTP $mail name (Debian/GNU) biff = no append dot mydomain = no delay warning time = 4h # TLS parameters smtpd tls cert file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd tls key file=/etc/ssl/private/ssl-certsnakeoil.key smtpd use tls=yes smtpd tls session cache database = btree:${queue directory}/smtpd scache smtp tls session cache database = btree:${queue directory}/smtp scache myhostname = mail.domainhu mydomain = $myhostname myorigin = $mydomain mydestination = $myhostname, $mydomain, localhost.$mydomain, localhost alias maps = hash:/etc/aliases alias database = hash:/etc/aliases mailbox size limit = 0 recipient delimiter = + unknown local recipient reject code = 550 mailbox transport =

cyrus virtual alias domains = mysql:/etc/postfix/mydestination.mysql virtual alias maps = mysql:/etc/postfix/virtual.mysql sender canonical maps = mysql:/etc/postfix/canonical.mysql relayhost = mynetworks = 127.000/8 inet interfaces = all smtpd sasl auth enable = yes smtpd recipient restrictions = permit sasl authenticated, permit mynetworks, reject unauth destination smtpd sasl security options = noanonymous smtpd sasl local domain = broken sasl auth clients = yes 26 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval A postfix másik fontos állományának /etc/postfix/master.cf a szerkesztése: smtp sor végére egy -v kapcsolót írok, ami beszédesebbé teszi picit: smtp inet n - - - - smtpd -v Tesztelés, és rendszerellenőrzés után ez a -v (verbose) kapcsoló törölhető. A cyrus használatához a fájl végére pedig: cyrus unix - n n - - pipe flags= user=cyrus argv=/usr/sbin/cyrdeliver -r ${sender} -m ${extension}

${user} Az /etc/postfix/sasl/smtpd.conf tartalma pedig az alábbi: pwcheck method: saslauthd mech list: PLAIN LOGIN log level: 0 Jogai pedig 644 (root:postfix): chmod 644 /etc/postfix/sasl/smtpd.conf chown root:postfix /etc/postfix/sasl/smtpd.conf A postfix saslauthd sockethez csak így férhet hozzá: adduser postfix sasl, vagyis a postfix felhasználót hozzá kell adni az sasl csoporthoz. Szükség van az etc/postfix/sasl/smtpd.conf hozzáadásához a /etc/initd/postfix FILES részhez Ezután a chroot alá minden indításnál bemásolódik. Szükséges a mailname és hostname beállítása is: echo "mail.priolhu" > /etc/mailname echo "mail.priolhu" > /etc/hostname 27 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 6.19 Regexp hozzáadása Sok program (főleg szűrők) használ mintaillesztést (pattern matching), mintakeresést (pattern scanning) és mintafeldolgozást (pattern processing). Ilyen

esetekben a – legtöbbször szöveges – bemeneti adatok azon részével fog dolgozni a program, amely egy megadott mintának megfelel, azaz a mintára illeszkedik (vagy amire a minta illeszkedik). Az ilyen komplex minták egyik gyakran alkalmazott formája a szabályos avagy reguláris kifejezés (regular expression, regexp, RE). Regexp hozzáadása: vim /var/www/openmailadmin/samples/oma mail.daimonphp #!/usr/bin/env php $MTA[’virtual’] = ’/etc/postfix/virtual’; $MTA[’regexp’] = ’/etc/postfix/virtual.regex’; $MTA[’domains’] = ’/etc/postfix/domains’; $PASSWD CACHE = NULL; $DB = array(’TYPE’ => ’mysql’, ’HOST’ => ’localhost’, ’USER’ => ’postfix’, ’PASS’ => ’postfix’, ’DB’ => ’postfix’, ’PREFIX’=> ’’, ); A jogosultsága pedig: chmod 770 /var/www/openmailadmin/samples/oma mail.daimonphp Crontab szerkesztése: vim /etc/cron.d/oma maildaimon 0 */2 root /var/www/openmailadmin/samples/oma

mail.daimonphp /var/www/openmailadmin/samples/oma mail.daimonphp 28 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval A cron újraindítása következik a /etc/init.d/cron restart paranccsal A cron létrehozza a /etc/postfix/virtual.regex fájlt amit a /etc/postfix/maincf fájlban is szerepeltetni kell: vim /etc/postfix/main.cf virtual alias maps = mysql:/etc/postfix/virtual.mysql, regexp:/etc/postfix/virtual.regex A postfix újrakonfigurálásának érvényesítése: /etc/init.d/postfix reload 29 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval A postfix működésének tesztelése telnet segítségével: teszt:~# telnet localhost 25 Trying 127.001 Connected to localhost. Escape character is ’^]’. 220 mail.domainhu ESMTP Postfix (Debian/GNU) ehlo localhost 250-mail.domainhu 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN

250-AUTH=PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN quit 221 2.00 Bye Connection closed by foreign host. 30 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 6.110 Levelezőfiókok felvétele 6.110/A – Pillanatkép a működő rendszerről: Bejelentkezés - https://192.1681111/mailadmin 6.110/B – Pillanatkép a működő rendszerről: Beállítások - https://192.1681111/mailadmin 31 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Bejelentkezés után (https://192.1681111/mailadmin) a Summary lapon találjuk magunkat. Itt lehetőség nyílik a jelszóváltoztatásra. Az utolsó fülön, Mailboxes, érdemes folytatni a nézelődést. Itt találhatók a már felvett fiókok, de itt lehet újat felvenni, törölni, engedélyezni és tiltani is. A Domains fülön lehetőség nyílik a virtuális tartományok adminisztrálására. Az Addresses fület

választva menedzselhetők a vírtuális címek. A Folders fülön pedig a fiókhoz tartozó könyvtárszerkezetet szerkeszthető. 6.111 Kapcsolat biztonságossá tétele (TLS/SSL) Cyrus Imap szerver elérését kétféleképpen is biztonságossá tehetjük. Az egyik módszer az stunnel4 - Universal SSL tunnel for network daemons használata. A másik pedig, hogy magát a cyrus-t tesszük alkalmassá. Utóbbit használom Az /etc/cyrus.conf fájlban az alábbi sorok elől kell törölni a commenteket: imap cmd="imapd -U 30" listen="localhost:imap" prefork=0 maxchild=100 imaps cmd="imapd -s -U 30" listen="imaps" prefork=0 maxchild=100 A privát kulcshoz a hozzáférést biztosítani kellett azzal, hogy a cyrus felhasználót hozzáadtam az ssl-cert csoporthoz: adduser cyrus ssl-cert A kliensek számára az /etc/imapd.conf fájl teszi lehetővé a biztonságos elérést sasl minimum layer: 128 tls cert file: /etc/ssl/local/mail.priolhu certpem

tls key file: /etc/ssl/private/mail.priolhu keypem tls ca file: /etc/ssl/certs/cacert.orgpem /etc/init.d/cyrus22 restart 32 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 6.112 Roundcubemail RoundCube Webmail egy böngésző alapú többnyelvű IMAP ügyfél, mely többek közt a következő funkciókat biztosítja: címjegyzék, mappa kezelés, üzenet kereső és helyesírás-ellenőrző. RoundCube Webmailt PHP-ben alapú és MySQLt vagy Postgrest adatbázist igényel. Telepítés: Le kell tölteni roundcubemail-0.1-rc11targz állományt és a nyelvi csomagot, roundcube hungarian-0.1-rc1targz Ki kell csomagolni, majd áthelyezni a /var/www/ alá: tar xvfz roundcubemail-0.1-rc11targz mv roundcubemail-0.1-rc1 /var/www/roundcubemail tar xvfz roundcube hungarian-0.1-rc1targz mv hu /var/www/roundcubemail/program/localization/ cd /var/www/roundcubemail/ chown -R root:www-data /var/www/roundcubemail chmod 775 /var/www/roundcubemail

chmod 775 logs chmod 775 temp Az adatbázis hozzáférés és az alapbeállítások aktualizálása: vim config/main.incphp $rcmail config[’enable caching’] = FALSE; $rcmail config[’default host’] = ’localhost’; $rcmail config[’locale string’] = ’hu’; vim config/db.incphp $rcmail config[’db dsnw’] = ’mysql://postfix:<my passwd>@localhost/roundcubemail’; Webszerver újra configurálása: /etc/init.d/apache2 reload Ezután a https://192.1681111/mail/ oldalon válik elérhetővé a levelezés Ezután a második levelező szervert létrehozhatjuk klónozással, majd a szükséges különbségeket kézzel módosíthatjuk. Tapasztalatszerzés céljából a másik szervert is az imént leírt módon készítettem el. 33 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 6.112/A - Pillanatkép a működő rendszerről: Alapállapot: Bejelentkezés Webmail Server 1-en (Teszt) 6.112/B - Pillanatkép a

működő rendszerről: Szerver 1 „kiesett” – Bejelentkezés Webmail Server 2 -n (Teszt-2) 34 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 6.112/C - Pillanatkép a működő rendszerről: Webmail bejelentkezés után látható felülete 35 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 6.2 Adatbázis replikáció megvalósítása: Hogy az adatbázis ne csak a localhost-on legyen elérhető, mindkét szerveren az /etc/mysql/my.cnf -ben ki kell commentezni a következő sort: # bind-address = 127.001 Majd mindkét gépen újra kell indítani a mysql-t: /etc/init.d/mysql restart Ezután ellenőrizhető az iménti módosítás a következőképpen: netstat -tap | grep mysql „tcp 0 0 *:mysql LISTEN 2671/mysqld” *: 6.21 Server1 –en történt beállítások MySQL jelszó létrehozás root@server1.priolhu -hoz mysqladmin -h server1.priolhu -u root password

<rootsqljelszo> Majd létrehoztam egy slave2 user felhasználót a replikációhoz , hogy server2 kapcsolódni tudjon ezzel a felhasználóval server1-hez. mysql -u root –p GRANT REPLICATION SLAVE ON *.* TO slave2 user@% IDENTIFIED BY slave2 password; FLUSH PRIVILEGES; quit; 36 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 6.22 Server2 –en történt beállítások: Hasonlóképpen szerver1-en történt beállításokhoz: mysqladmin -h server2.priolhu -u root password <rootsqlpassword> mysql -u root -p GRANT REPLICATION SLAVE ON *.* TO slave1 user@% IDENTIFIED BY slave1 password; FLUSH PRIVILEGES; quit; A replikációhoz szükséges konfig Server1 –en: /etc/mysql/my.cnf szerkesztése: . [mysqld] server-id = 1 replicate-same-server-id = 0 auto-increment-increment = 2 auto-increment-offset = 1 master-host = 192.1681222 master-user = slave1 user master-password = slave1 password master-connect-retry = 60

replicate-do-db = postfix log-bin = /var/log/mysql/mysql-bin.log binlog-do-db = postfix relay-log = /var/lib/mysql/slave-relay.log relay-log-index = /var/lib/mysql/slave-relay-log.index expire logs days = 10 max binlog size = 500M . 37 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval MySQL újraindítása: /etc/init.d/mysql restart A replikációhoz szükséges konfig Server2 –n, /etc/mysql/my.cnf szerkesztése: . server-id = 2 replicate-same-server-id = 0 auto-increment-increment = 2 auto-increment-offset = 2 master-host = 192.1681111 master-user = slave2 user master-password = slave2 password master-connect-retry = 60 replicate-do-db = postfix log-bin= /var/log/mysql/mysql-bin.log binlog-do-db = postfix relay-log = /var/lib/mysql/slave-relay.log relay-log-index = /var/lib/mysql/slave-relay-log.index expire logs days = 10 max binlog size = 500M . Ezután MySQL újraindítása szükséges. 6.23 Master-Master

viszony kialakítása, log figyelések beállítása Zárolni kell az adatbázist a server1-en mysql -u root –p USE postfix; FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS; 38 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Ezután is server1-en dolgozva tovább kiíratjuk a MASTER STATUS-t és feljegyezzük: USE postfix; FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS; Következő látható Server1 képernyőjén: „mysql> SHOW MASTER STATUS; +------------------+----------+--------------+-----------------+ | File | Position | Binlog Do DB | Binlog Ign ore DB | +------------------+----------+--------------+-----------------+ | mysqlbin.000001 | 98 | postfix | | +------------------+----------+--------------+-----------------+ 1 row in set (0.00 sec) mysql>” Figyelni kell arra, hogy a következő parancsok végrehajtásokhoz nyissunk egy új shell-t (pl.: ALT+F2), különben az előző adatbázis zárolás elvész

Következik az adatbázis dump létrehozása, ami azt jelenti, hogy egy ’pillanatképet’ készítünk a jelenlegi állapotról, majd azt pl. scp-vel átmásoljuk server2 /tmp helyre cd /tmp mysqldump -u root –prootsqlpassword --opt exampledb > snapshot.sql scp snapshot.sql root@1921681222:/tmp Ezután visszatérhetünk az előző parancssorunkhoz, feloldjuk a zárolást és kilépünk a MySQL shell-ből. UNLOCK TABLES; quit; 39 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Szerver2-n történik a munka folytatása. Importálni kell a server1-en lévő adatbázisról készült ’pillanatfelvételt’. /usr/bin/mysqladmin --user=root -password=rootsqlpassword stop-slave cd /tmp mysql -u root -prootsqlpassword postfix < snapshot.sql Server2 -n is kiíratjuk a MASTER STATUS-t és szintén feljegyezzük, előtte természetesen itt is zárolni kell az adatbázist erre az időre: mysql -u root -p USE postfix; FLUSH

TABLES WITH READ LOCK; SHOW MASTER STATUS; Következő látható server2 képernyőjén: „mysql> SHOW MASTER STATUS; +------------------+----------+--------------+-----------------+ | File | Position | Binlog Do DB | Binlog Ign ore DB | +------------------+----------+--------------+-----------------+ | mysqlbin.000001 | 783 | postfix | | +------------------+----------+--------------+-----------------+ 1 row in set (0.00 sec) <mysql>” Adatbázis zárolás feloldása: UNLOCK TABLES; 40 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 6.24 Server2/Master –ből Server1/Slave létrehozása az alábbi módon Itt kell megadni Server1 címét, a felhasználónevet és jelszót, valamint a feljegyzett log file nevére és pozíciójára is ennél a lépésnél van szükség: CHANGE MASTER TO MASTER HOST=192.1681111, MASTER USER=slave2 user, MASTER PASSWORD=slave2 password, MASTER LOG FILE=mysql-bin.000001, MASTER LOG

POS=98; Végül elindítjuk Server2-t Master1 slave-jeként: START SLAVE; Így ellenőrizhető a SLAVE STATUS-a: SHOW SLAVE STATUS; Ha minden rendben, akkor kiléphetünk: quit; 6.25 Server1/Master –ből Server2/Slave létrehozása az előző mintájára mysql -u root -p STOP SLAVE; CHANGE MASTER TO MASTER HOST=192.1681222, MASTER USER=slave1 user, MASTER PASSWORD=slave1 password, MASTER LOG FILE=mysql-bin.000001, MASTER LOG POS=783; START SLAVE; SHOW SLAVE STATUS; Quit; További MySQL adatbázis replikációra is szükség van, mely a Roundcubemail (webmail) adatbázisa, neve roundcubemail. Hogy ez az adatbázis is replikálódjon az alábbi sorokat kell beilleszteni mindkét szerveren a MySQL konfigurációs file-ba, /etc/mysql/my.cnf : replicate-do-db = roundcubemail binlog-do-db = roundcubemail 41 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 6.25/A – Pillanatkép Server1 és Server2 kapcsolatának monitorozásáról

7 7.1 Folyamatos kiszolgálás megvalósítása Server1 és Server2 közötti átkapcsolás megvalósítása Server1 Server2 virtuális IP = 192.1681111 IP = 192.1681222 IP = 192.1681250 7.11 Pound telepítése Server1 és Server2 –re apt-get install pound 7.12 Pound konfiguráslása Itt beállítható a virtuális 192.1681250 IP cím 42 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval A config file az /etc/pound/pound.cfg helyen található, tartalma: ## global options User "www-data" Group "www-data" #RootJail "/chroot/pound" LogLevel 1 ## check backend every X secs: Alive 2 ## redirect all request on port 443 ("ListenHTTPS") to the virtual IP address: ListenHTTPS Address 192.1681250 End Service BackEnd Address 192.1681111 End BackEnd Address 192.1681222 End Session Type Cookie ID "JSESSIONID" TTL 300 END End /etc/default/pound szerkesztésével beállítható, hogy

automatikusan induljon: startup=1 7.13 Keepalived telepítése Server1 és Server2 –re apt-get install keepalived /etc/sysctl.conf –ba be kell illeszteni az alábbi sort, hogy működhessen a 192.1681250 virtuális IP net.ipv4ip nonlocal bind=1 Majd futtatni sysctl-t: sysctl –p 43 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 7.14 Keepalived konfigurálása Server1 –en A konfigurációs fájl az /etc/keepalived/keepalived.conf helyen található global defs { notification email { serverstate@priol.hu } notification email from serverstate@priol.hu smtp server 192.1681250 smtp connect timeout 30 lvs id LVS SERVER 1 } vrrp script chk pound { # Requires keepalived1.113 script "killall -0 pound" # cheaper than pidof interval 2 # check every 2 seconds weight 2 # add 2 points of prio if OK } vrrp sync group VG1 { group { Server 1 } notify master "/etc/keepalived/notify master.sh" notify backup

"/etc/keepalived/notify backup.sh" notify fault "/etc/keepalived/notify fault.sh" } vrrp instance Server 1 { interface eth0 state MASTER virtual router id 51 priority 101 # 101 on master, 100 on backup smtp alert virtual ipaddress { 192.1681250 } track script { chk pound } notify master "/etc/keepalived/notify master.sh" notify backup "/etc/keepalived/notify backup.sh" notify fault "/etc/keepalived/notify fault.sh" } 44 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Konfigurálás után a keepalived indítása /etc/init.d/keepalived start Konfiguráció ellenőrzése: ip addr sh eth0 Az alábbi jelenik meg a képernyőn, amiből kiolvasható, hogy Server 1 figyeli a 192.1681250 közös IP címet is: ”eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo fast qlen 10 00 link/ether 00:0c:29:a5:5b:93 brd ff:ff:ff:ff:ff:ff inet 192.1681111/24 brd 1921681255 scope

global eth0 inet 192.1681250/32 scope global eth0 inet6 fe80::20c:29ff:fea5:5b93/64 scope link valid lft forever preferred lft forever” 45 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 7.15 Keepalived konfigurálása Server2 –n Konfigurálást szintén úgy kell csinálni mint Server1-en, de a prioritás értéke eltérő! A konfigurációs fájl az /etc/keepalived/keepalived.conf helyen található global defs { notification email { serverstate@priol.hu } notification email from serverstate@priol.hu smtp server 192.1681250 smtp connect timeout 30 lvs id LVS SERVER 2 } vrrp script chk pound { # Requires keepalived1.113 script "killall -0 pound" # cheaper than pidof interval 2 # check every 2 seconds weight 2 # add 2 points of prio if OK } vrrp sync group VG1 { group { Server 2 } notify master "/etc/keepalived/notify master.sh" notify backup "/etc/keepalived/notify backup.sh" notify fault

"/etc/keepalived/notify fault.sh" } vrrp instance Server 2 { interface eth3 state MASTER virtual router id 51 priority 100 # 101 on master, 100 on backup smtp alert virtual ipaddress { 192.1681250 } track script { chk pound } notify master "/etc/keepalived/notify master.sh" notify backup "/etc/keepalived/notify backup.sh" notify fault "/etc/keepalived/notify fault.sh" } 46 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Konfigurálás után a keepalived indítása: /etc/init.d/keepalived start Konfiguráció ellenőrzése: ip addr sh Az alábbi jelenik meg a képernyőn, amiből kiolvasható, hogy Server2 figyeli a 192.1681250 közös IP címet is: ”eth2: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo fast qlen 10 00 link/ether 00:0c:29:a5:5b:93 brd ff:ff:ff:ff:ff:ff inet 192.1681222/24 brd 1921681255 scope global eth0 inet 192.1681250/32 scope global eth0 inet6

fe80::20c:29ff:fea5:5b93/64 scope link valid lft forever preferred lft forever” Pound indítása Server1 és Server2-n: /etc/init.d/pound 7.2 E-mail üzenetek tükrözése a hálózaton – DRBD (Distributed Replicated Block Device) használatával. DRBD telepítése előtt szükség van kernel fordításra, hogy szervereink kezelni tudják a tükrözésnek ezt a módját. 7.21 Kernelfordítás előkészületei Első lépésben telepíteni kell a kernel fordításhoz szükséges csomagokat: apt-get install fakeroot kernel-package libcurses-dev 47 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Telepíteni kell hozzá jelen esetben a linux-source-2.618 csomagot, melyet a következőképpen tehetünk meg: apt-get install linux-source-2.618 tar xjf /usr/src/linux-source-2.618tarbz2 Létrehozhatunk egy symlinket /usr/src/linux néven. 7.22 DRBD Kernel Patch elkészítése DRBD 8.26 verziójának beszerzése és

kicsomagolása szükséges: cd /usr/src wget http://oss.linbitcom/drbd/82/drbd-826targz tar -xzf drbd-8.26targz cd /usr/src/drbd-8.26/drbd make clean make KDIR=/usr/src/linux kernel-patch cd /usr/src/linux patch -p1 </usr/src/drbd-8.26/patch-linux-drbd-826 7.23 Kernelfordítás Kernel beállításához több lehetőség közül választhatunk, én a menuconfig –ot használtam. make menuconfig parancsra egy kernel konfiguráló program indul, ahol engedélyeznünk kell a DRBD modult, mely az alábbi helyen található: Device Drivers Block DevicesDRBD Distributed Replicator Block Device Support Ezután elmentjük a kernel konfigurációnkat és lefordítjuk a kernelt: fakeroot make-kpkg --initrd --revision=drdb.10 kernel image 48 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Fordítás végeztével telepíthetjük csomagként az egyedi kernelt: dpkg -i ./linux-image-2618 drbd10 i386deb Az új kernel csomag

automatikusan frissíti is a boot betöltőt ,de érdemes kézzel állítani a sorrenden, hogy automatikusan az új kernellel induljon a rendszer. 7.24 DRBD telepítése Mindkét szerverbe két db HDD helyezek, egy-egy külön a DRBD miatt. Ezeket particionálni kell (type=83 linux) Server1: fdisk /dev/hdc Server2: fdisk /dev/hdd A szerverek újraindítása után az új kernellel indítva a gépet elvégezhetjük a telepítést: Telepítés feltétele, hogy flex csomag telepítve legyen: apt-get install flex cd /usr/src/drbd-8.26 make tools make install make install-tools 7.25 DRBD beállítása Az /etc/hosts szerkesztése következik Server1-en, az alábbi sorokat kell beilleszteni: 192.1681111 szerver1priolhu 192.1681222 szerver2priolhu Majd ezt scp-vel másolom a server2-re: scp /etc/hosts 192.1681222:/etc/hosts 49 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Ezután a /etc/drbd.conf konfigurációs fájl

szerkesztésére van szükség mindkét szerveren, melynek tartalma: global { minor-count 1; dialog-refresh 5; # 5 seconds # disable-ip-verification; } resource roundcube { protocol C; #incon-degr-cmd "echo !DRBD! pri on incon-degr | wall ; sleep 60 ; halt -f"; startup { become-primary-on both; # wfc-timeout 0; degr-wfc-timeout 120; # 2 minutes. } disk { #on-io-error detach; # size 10G; } net { allow-two-primaries; max-buffers 2048; ko-count 4; #on-disconnect reconnect; } syncer { rate 10M; # group 1; al-extents 257; } on server1.priolhu { device /dev/drbd0; disk /dev/hdc1; address 192.1681111:7788; meta-disk internal; } on server2.priolhu { device /dev/drbd0; disk /dev/hdd1; address 192.1681222:7788; meta-disk internal; } 50 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Majd az (resource) erőforrás elérhetővé tétele következik: drbdadm create-md roundcube drbdadm attach roundcube drbdadm connect roundcube

Állapot ellenőrzése: watch cat /proc/drbd Itt jelzi, hogy mindkét szerver primary módban van. Így felváltva mindkét helyre mountolható RW módban a tükrözött HDD. 7.26 Master/Slave állapotok közötti változás jelzése: A keepalived gondoskodik az átkapcsolásról és a felhasználó figyelmeztetéséről, ha valamelyik szerverrel gond adódna. Úgy lesz beállítva, hogy állapotváltozás esetén e-mail-ben tájékoztat engem, illetve bármilyen e-mail cím megadható, akár több is. Emellett ilyenkor lefut egy apró script, itt a beep programot hívtam segítségül , mely hosszú figyelmeztető hangot produkál mindegyik állapotváltozás esetében. DRBD-nél is a keepalived gondoskodik az automatizálásról, amely master-slave mód változáskor lefuttat mount vagy éppen umount scriptet. Így egy időben mindig csak az egyik szerveren van RW módban mountolva a tükrözés /dev/drbd0. 51 Kisvállalati LINUX alapú rendszer tervezése, folyamatos

kiszolgálás adatbázis replikációval 7.26/A – Pillanatkép az állapotváltozások jelzéséről e-mailben 52 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 8 8.1 SAMBA Server elkészítése Debian alaprendszer telepítése Telepítő CD beszerzése a http://cdimage.debianorg/debiancd/40 r6/i386/iso-cd/ helyről történik Ezen a szerveren szoftveres RAID1 gondoskodik a hibavédelemről. A RAID 1 eljárás alapja az adatok duplikált tárolása, azaz tükrözése (disk mirroring). Az eltárolandó információ mindig párhuzamosan két meghajtón lesz felírva, amely meghajtópárost a számítógép egy szimpla kapacitású logikai meghajtónak lát. Az adatok olvasása párhuzamosan történik a két diszkről, felgyorsítván az olvasási teljesítményt. Az írás normál sebességgel, párhuzamosan történik a két meghajtón. Az eljárás igen jó hibavédelmet biztosít, bármely meghajtó meghibásodása

esetén folytatódhat a működés. Ezen nagymértékű hibatolerancia ára a kétszeres tárolókapacitás-felhasználás. Tehát két darab HDD szükséges, melyeken azonos méretű partíciókat kell létrehozni, ehhez célszerű azonos méretű merevlemezeket beszerezni. Jelen esetben kettő darab 160 GB méretű HDD-t használtam, de célszerű ezeknél nagyobbakat választani éles helyzetben, amennyiben nagyobb a várható kapacitás igény. 8.2 RAID1 megvalósítása Debian telepítése közben a Lemezek partícionálása pontban a követezők elvégzése szükséges a RAID1 megvalósításához. 8.21 Partíciók létrehozása Partíciók méretét az alábbiak szerint készítem el: 10 GB - / root ; 145 GB - / home ; 5 GB – SWAP. Természetesen éles helyzetben szintén érdemes ettől eltérő módon kialakítani a partíciókat (pl.: /var,/usr, tmp,stb külön partíciókra helyezni) Ebben a pontban csak a méretüket kell beállítani, majd a file-rendszer pontban

RAID –et választani mindkét merevlemezen a 10 GB és 145 GB-os partíciókon. 53 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 8.22 Szoftveres RAID1 konfigurálása Miután elkészültek az előbb említett méretű és típusú partíciók, a szoftveres RAID konfigurálása menüpontot kell választani, majd Többlemezes eszköz létrehozása pontot, ahol választható a RAID-1 típus. Így kijelölhetők a partíció párok, melyeket egy tömbként fog kezelni a rendszer. Például: sda1 + sdb1 (10GB + 10GB), mely a RAID1 0.eszköz lesz és sdb2 + sdb2 (145GB + 145GB), mely a RAID1 1.eszköz lesz Ezután RAID1 0. eszköz partíció típusa beállítható (pl:EXT3), majd a csatolási pont is megadható (pl.: / ) Majd RAID1 1 eszköz partíció típusa is beállítható (pl.:EXT3), majd a csatolási pont is megadható(pl: /home ) Ha mindez megtörtént , választható a Változások lemezre írása pont és folytatható a

telepítés. 8.3 Samba telepítés és konfigurálás Telepítés: apt-get install samba A telepített Samba verzió 3.024 54 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Konfigurációs fájl /etc/samba/smb.conf tartalma: [global] workgroup = OTTHON server string = %h server interfaces = 192.1681200/24, 127001/8 bind interfaces only = Yes security = SHARE obey pam restrictions = Yes passdb backend = tdbsam passwd program = /usr/bin/passwd %u passwd chat = *EntersnewsUNIXspassword: %n *RetypesnewsUNIXspassword: %n *passwordsupdatedssuccessfully . syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 dns proxy = No panic action = /usr/share/samba/panic-action %d invalid users = root [public] comment = Kozos mappa path = /home/samba/public valid users = %S read only = No create mask = 0777 force create mode = 0777 directory mask = 0777 force directory mode = 0777 guest only = Yes guest ok = Yes 55

Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 9 9.1 Felhasználói számítógépek telepítése Ubuntu telepítése Ubuntu beszerzése a http://ftp.fsnhu/pub/CDROM-Images /ubuntu/8.10/ helyről történik Partíciók létrehozásánál figyelembe kell venni, hogy a biztonsági másolatoknak is kell egy partíció, melyre egy Debian alaprendszer kerül majd, illetve a partimage-es mentések is erre készülnek. Szintén érdemes nem egy partícióra telepíteni az Ubuntu-t, de mindenképpen legyen külön partíció legalább a /home-nak. Egyszerű példa a partíciók kialakítására: Root Home Swap Backup 9.1/A – Saját készítésű ábra a partíciók lehetséges méretezéséről 9.2 Felhasználói szoftverek telepítése Ubuntu 8.10 telepítésével egy olyan rendszert kapunk, mely tartalmazza a legfontosabb alkalmazásokat, mint pl.: Mozilla Firefox, Open Office, Gimp, Pidgin, stb Ha ezeken kívül szükség

volna egyebekre, könnyedén telepíthetjük a csomagkezelővel, pl.: Mozilla Thunderbird, stb Van jól használható számlázó program is Linux-ra, mely Ubuntun is hibátlanul működik. De ebből érdemes egy minden követelményt kielégítő, nem ingyenes programot használni, mint pl.: Lafisoft számlázó 56 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 9.3 Biztonsági mentés megvalósítása Debian alaprendszer telepítés az üres partícióra Ubuntu mellé, illetve ajánlott egy második merevlemez beszerelése erre a célra. A partíció mérete legálabb akkora legyen, hogy minimum egy darab, de ajánlott, hogy kettő biztonsági mentés elférjen rajta. Telepítendő csomagok: apt-get install beep partimage Fontos, hogy partimage 0.67 verzióval működik megfelelően a mentes készítés (pl.: 064-el nem működik) ! Az alábbi file-okat kell létrehozni és elhelyezni az /etc/init.d –ben: beep script.sh

– tartalma: beep -f 1000 -n -f 2000 -n -f 1500 -n -f 1000 partimg script.sh – tartalma : partimage -b -o -d -z1 -f3 save /dev/sda1 /home/backup/backup partimg root.gz partimage -b -o -d -z1 -f3 save /dev/sda2 /home/backup/backup partimg home.gz mail script.sh – tartalma: mail -s Biztonsagi mentes befejezodott! backup@priol.hu < /home/message mail script2.sh – tartalma: mail -s Biztonsagi mentes masolasa nem sikerult ! backup@priol.hu < /home/message2 57 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval mount script.sh – tartalma: #!/bin/bash if [ -d /mnt/smbbackup ]; then echo A masik szamitogep elerheto, az /mnt/smbbackup/ utvonal letezik. echo Mentes masolasa a masik Szamitogepre folyamatban. cp /home/backup/*.* /mnt/smbbackup; else echo az utvonal nem letezik, de megprobalom mountolni. mount //192.1681200/backup /mnt/smbbackup /etc/init.d/mount script2sh; fi mount script2.sh – tartalma: #!/bin/bash if

[ -d /mnt/smbbackup ]; then echo Sikerult mountolni. echo A masik szamitogep elerheto, az /mnt/smbbackup/ utvonal letezik. echo Mentes masolasa a masik Szamitogepre folyamatban. cp /home/backup/*.* /mnt/smbbackup; else echo az utvonal nem letezik. echo HIBA! A masik szamitogep nem elerheto!! /etc/init.d/mail script2sh; fi 58 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval runscript.sh – tartalma: #! /bin/sh # /etc/init.d/runscript touch /var/lock/runscript case "$1" in start) echo "Biztonsagi mentes keszitese indul." /etc/init.d/beep scriptsh /etc/init.d/partimg scriptsh /etc/init.d/mail scriptsh /etc/init.d/mount scriptsh /etc/init.d/mail script2sh /etc/init.d/beep scriptsh shutdown -ah now ;; stop) echo "Stopping runscript" ;; *) echo "Usage: /etc/init.d/runscript {start|stop}" exit 1 ;; esac exit 0 Ezután az alábbi két file-t kell létrehozni, melyek az üzenet szövegét

tartalmazzák: /home/message – tartalma: Biztonsagi mentes sikeresen befejezodott! Ezt a tajekoztato uzenetet kuldte: PC1 /home/message2 – tartalma: Biztonsagi mentes masolasa nem sikerult! Ezt a tajekoztato uzenetet kuldte: PC1 59 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval Majd a symlinkeket kell létrehozni: root@gepneve:~# update-rc.d runscript defaults # Adding system startup for /etc/init.d/runscript # /etc/rc0.d/K20runscript -> initd/runscript # /etc/rc1.d/K20runscript -> initd/runscript # /etc/rc6.d/K20runscript -> initd/runscript # /etc/rc2.d/K20runscript -> initd/runscript # /etc/rc3.d/K20runscript -> initd/runscript # /etc/rc4.d/K20runscript -> initd/runscript # /etc/rc5.d/K20runscript -> initd/runscript Érdemes átírni /boot/grub/menu.lst file-t, hogy a rendszerbetöltő menü beszédesebb legyen, illetve Ubuntu indítása legyen az alapértelmezett! Létre kell hozni a

scriptekben szereplő útvonalakat: Pl.: /home/backup/ mely a biztonsági mentés helye. 60 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 10 Tapasztalatok, továbbfejlesztési lehetőségek 10.1 Tapasztalatok Hálózat építésénél figyelembe kell venni a kábelek körül elhelyezkedő fémtárgyak hatását az átviteli paraméterekre. A hálózati kártyák által generált jelek ideális esetben teljesen szimmetrikusak. Ezek a jelek az átvitel során csak akkor nem torzulnak, ha az UTP kábelek impedanciája az egész kábel hosszúságában egyenletes. Ez csak tökéletesen homogén földelési rendszerrel és a fémtárgyak, nagyfeszültségű kábelek megfelelő távolságon kívül történő tartásával biztosítható (pl.: a 230V-os külön nem árnyékolt hálózati kábel és az UTP kábel minimális távolsága 12, 7 cm lehet az EIA/TIA 569 szabvány szerint). Mivel az UTP kábel esetében csak a kábelek

sodrásának egyenletessége biztosítja a zavarszűrést, ezért nagyon fontos, hogy a legjobb minőséget garantáló, jó nevű kábelgyártóktól származó termékeket válasszunk. Erősáramú kábelcsatornáktól külön, ha lehet azoktól távol kell elhelyezni. Biztosítsuk minden esetben a kábelek jó mechanikai védelmét. Az építészeti adottságok jó kihasználásával sok energiát és időt takaríthatunk meg. Szereléskor kábelben 12 mm lehet a leghosszabb nem csavart vezetékszakasz, valamint a hajlítás sugara nem lehet kisebb, mint az átmérő négyszerese. Nem lehet 90 vagy annál kisebb szögben hajlítani valamint a maximum húzóerő, nem lehet nagyobb mint 110 N, mert szétcsavarodik. Több kábel esetén rögzítőkkel kapcsoljuk össze azokat Kábeltartalék minimum 60-90 cm legyen. Figyelmesen húzzuk be a kábeleket, kerüljük az erős húzást, törést. Óvjuk meg a kábelt a mechanikai sérülésektől. Kerüljük az előírtnál kisebb

hajlítási sugár alkalmazását, valamint a kábel erős összenyomását, mely roncsolhatja dielektrikumát, érszigetelését és belső felépítését, ami a kábel paramétereit negatív módon befolyásolja. Tartsuk szem előtt, hogy az érpáras kábelek sodratait minél rövidebb hosszban válasszuk ketté (maximum: 5-7 milliméter). Győződjünk meg a csatlakozás villamos és mechanikai szilárdságáról. Használjunk a nyitott helyeken és bekötőkábeleken törésgátlókat a csatlakozókra, melyek a biztonságon túl esztétikusak is és így biztosíthatjuk a hosszú élettartamot, biztos működést. Címkézzük fel, vagy alkoholos filccel számozzuk, vagy írjuk rá a kábelekre, hogy 61 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval melyik merre megy, készítsünk térképet a hálózatról. Hatalmas munkától kímélhetjük meg magunkat hiba esetén, ha pontosan tudjuk melyik kábelnek mi a feladata.

Egy magas rendelkezésre állású megoldás tervezésekor általában célszerű ügyelni arra, hogy pusztán az a tény, hogy az összes fontos kiszolgáló egy helyen működik, szintén jelenthet egyetlen meghibásodási pontot, ha valamilyen katasztrófa (vagy nagyon komoly áramkimaradás) sújtja a telephelyet. Szintén érdemes figyelembe venni a kiszolgálók környezeti feltételeit is – a légkondicionálás elengedhetetlen. 10.2 Továbbfejlesztési lehetőségek Természetesen bőven van lehetőség a rendszer kiegészítésére, továbbfejlesztésére. Szükség lehet tűzfalra, spam szűrőre, szünetmentes tápegységekre, FTP szolgáltatásra. Samba megosztás is finomítható, biztonságosabbá tehető például azzal, hogy csak a megadott felhasználóknak volna joga a közös hozzáféréshez , vagy minden felhasználónak lehetne saját Samba-s meghajtója is a közös mellett. Vagy megoszthatunk nyomtatót is, melyet mindenki a Samba szerver segítségével

érhet el. Biztonsági mentés is kiegészíthető növekményes napi mentéssel, ebben az esetben elegendő a havonta történő partimage-s mentés. Éles környezetben érdemes server1 és server2-be egy-egy Gigabit Lan kártyát tenni, követlen kapcsolatot létesíteni és úgy beállítani, hogy a DRBD tükrözés azon történjen. Szükség lehet a hálózat vezeték nélküli elérésére például notebook esetében. Ebben az esetben használhatunk olyan Router-t mely biztosítani tudja a vezeték nélküli (Wireless) kapcslatot. 62 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 11 Összegzés 11.1 Folyamatos kiszolgálást biztosító rendszer működése: Jelen esetben Master-Master replikáció lett kialakítva, de nem egészen arra használom , mivel nincs kihasználva a két Master egy időben, csak felváltva. Mivel a cél az volt, hogy egyszerre csak az egyiket használjuk Master-nek és csak annak

meghibásodása esetén legyen szükség a server 2-t Masternek használni. Ezért lett úgy kialakítva, hogy pound-keepalived párossal egyszerre csak egy szervert tekintünk Masternak a másik Slave. 11.11 Adatok,beállítások, címjegyzékek: Felhasználók adatai webmail-es beállításai, címjegyzékei a postfix és roundcubemail nevű adatbázisban vannak tárolva, melyek replikálódnak. Ez azt jelenti, hogy server1-en (master) történő változásokról napló (log) készül, melyből server2 (slave) kiolvassa a változásokat és átveszi azokat. Erre azért van szükség, mert ha server1 valami miatt meghibásodik illetve kiesik, akkor server 2 átvehesse a helyét. 11.12 Üzenetek: Felhasználók üzenetei a /var/spool/cyrus helyen találhatók, illetve ide vannak linkelve. Mert valójában a második merevlemezen találhatók Ezeket a - mindkét szerverben lévő - második merevlemezeket használtam arra hogy az üzenetek DRBD segítségével tükrözve legyenek a

hálózaton. Tehát server1 meghibásodása, kiesése esetén az üzenetek server2 gépen is megtalálhatók. 63 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 11.13 Átkapcsolás: Átkapcsolásról a Pound-Keepalived páros gondoskodik Felhasználók alapesetben a server1-hez kapcsolódnak, melynek az IP címe 192.1681111 Erre a címre mutat a 1921681250 IP, mely virtuális cím, mindig az aktuális master szerver érhető el innen. Két másodpercenként ellenőrizve van, hogy mindketten elérhetők-e. Tehát amennyiben minden rendben működik, akkor server1 (192.1681111) érhető el, ha az valamiért nem elérhető, akkor a 1921681250 IP server2 – re (192.1681222) mutat Keepalived úgy van konfigurálva, hogy állapotváltozásról üzenetet küld a konfigurációs file-ban (/etc/keepalived/keepalived.conf) megadott e-mail címre – jelen esetben serverstate@priol.hu-ra Továbbá lefuttat egy scriptet, mely

figyelmeztető hangot ad beep segítségével és gondoskodik arról, hogy mindig az aktuális master server DRBD-s merevlemeze legyen írható módban mountolva. Meghibásodás esetén maximum két másodperc szükséges a hibaészleléshez, átkapcsoláshoz, mivel a keepalived segítségével ennyi időközönként kerül ellenőrzésre hogy a szerverek elérhetők-e. Ilyen esetben, ha nem hazárdról van szó, akkor a felhasználó annyit vehet észre, hogy esetleg újra be kell jelentkeznie a webmail-re. 11.14 Felhasználói szemmel: A felhasználók a rendszer működéséből a https://192.1681250/mail címen található Roundcube WebMail-t (6.112/A ábra) látják 11.15 Rendszer kompatibilitása: Teszteltem Windows környezetben is, ahol a webmail kifogástalanul működött, semmi féle kompatibilitási problémát nem fedeztem fel. Esetleg karakterkódolási probléma merülhetne fel, de jelen esetben nem tapasztaltam. 64 Kisvállalati LINUX alapú rendszer

tervezése, folyamatos kiszolgálás adatbázis replikációval 11.16 Hazárdok – nem várt véletlenek: Előfordulhat adatvesztés abban az esetben, ha a változás pillanatában következik be meghibásodás, mivel a változások nem egy időben, csak szinte azonnal kerülnek átadásra. Ilyenkor megtörténhet, hogy a master gépen lévő adatok elvesznek és a legutóbbi változások meg nem kerültek át slave-re. Természetesen az azelőtti állapot elérhető ebben az esetben is server2-ről. Tehát az adatok írását akkor tekintjük késznek, amikor mindkét szerverre ki vannak írva. 11.17 Összefoglalás Egy könnyen használható, megbízható rendszert sikerült létrehozni, mely rengeteg módon fejleszthető, tovább finomítható, bővíthető, melyekre szükség is van, ha éles környezetben kerül kialakításra. Tekinthető egy kisvállalati Linux alapú rendszer alapjának. Manapság a biztonság, adataink védelme nagyon fontos ezért mindenképpen sok

figyelmet kell fordítani erre egy éles környezetben. Nagyobb igénybevétel esetén érdemes fürtözve (CLUSTER) elosztani a teljesítményt, melyet ettől részben eltérő módon kell elkészíteni, kialakítani pl.:Heartbeat segítségével Minden lehetséges módon védeni kell a hálózatunkat kívülről érkező támadások ellen és a kéretlen levelek ellen egyaránt. Fontos a hálózat felügyelete, ebben nagy segítség lehet egy hálózati szolgáltatás-felügyelő alkalmazás, amilyen például a Nagios. Feladata, hogy figyelemmel kövesse szolgáltatások – webszerver, fájlterület, stb. – működését, és ha valahol valami gond van, például kezd betelni a diszk, vagy nem normális választ ad a webszerver, akkor erről a megfelelő személyeket értesítse. Fontos, hogy a felhasználók számára minél zökkenőmentesebb legyen a váltás Windows használatról Linuxra, ezért a jó választás a Gnome vagy KDE felület használata, mely a Windows-hoz

hasonló kezelhetőséget biztosít, így az ahhoz szokott felhasználók könnyedén át tudtak szokni. Munkám önmagában is működik, használható. De mindenképp szükséges biztonságosabbá tenni! Ha gondoskodunk az imént említettekről, akkor ezzel sok kisvállalkozás elkezdheti irodai tevékenységét, valamint anyagilag is jobban jár, mivel megspórolja a licencköltségeket, ami például egy vállalkozás indításakor komoly tétel lehet. 65 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 12 Irodalomjegyzék [1] Informatika és ipari elektronika – középiskolai tankönyv - Adatátvitel – 431. oldal - Adathálózatok - 439. oldal - Soros buszrendszerek – 443. oldal Budapest, Műszaki Könyvkiadó Kft [2] Elektronikai alapismeretek – középiskolai tankönyv - Villamos dokumentációk – 271. oldal - Lakóépületek villanyszerelési irányelvei – 277. oldal Budapest, Műszaki Könyvkiadó

Kft [3] lektronikai szakismeretek – középiskolai tankönyv - Hírdástechnikai vezetékek – 221.oldal Budapest, Műszaki Könyvkiadó Kft [4] Rob Flickenger: Linux bevetés közben - Biztonsági mentések – 95. oldal - Hálózatkezelés – 131. oldal - Rendszerfelügyelet – 167. oldal - Adatbázis kiszolgálók – 237. oldal Budapest, Kiskapu Kiadó, 2003. [5] Sági Gábor: Webes adatbázis kezelés MySQL és PHP használatával. Budapest, BBS-INFO Kiadó, 2006. [6] Ingyenes Programok SZeminárIum és LabOratórium, Niif szervezésben Szemináriumok videófelvételei és dokumentumai: Kadlecsik József:A Postfilter spamszűrő rendszer Postfix-hez - 2007. április 25 Kadlecsik József: A Postfix levelezőrendszer - 2003. november 20 Lajber Zoltán: Samba - alapok - 2004. június 18 Tomka Gergely: Félelem nélkül élni:RAID és ENBD - 2004. október 14 Lajber Zoltán: Hálózatfelügyelet szabad szoftverekkel - 2007. február 21 http://ipszilon.niifhu [7] Computer Corner

Kft honlapja http://www.computercornerhu [8] Debian Gnu/Linux - hivatalos honlap - Dokumentáció felhasználása http://www.debianorg 66 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval [9] DRBD - hivatalos honlap - Dokumentáció felhasználása http://www.drbdorg [10] Hungarian Unix Portál - hivatalos honlap - Fórum használata http://www.huphu [11] Keepalived - hivatalos honlap - Dokumentáció felhasználása http://www.keepalivedorg [12] Lafisoft ügyviteli programok – hivatalos honlap http://www.lafisofthu [13] Magyar Ubuntu Közösség - hivatalos honlap http://ubuntu.hu [14] Webyog - hivatalos honlap MONyog szoftver használata a replikáció monitorozására http://www.webyogcom [15] MySQL - hivatalos honlap - Dokumentáció felhasználása http://dev.mysqlcom [16] Openmailadmin - hivatalos honlap - Dokumentáció felhasználása http://openmailadmin.ossdlde [17] Partimage - hivatalos honlap - Dokumentáció

felhasználása http://www.partimageorg [18] Postfix - hivatalos honlap - Dokumentáció felhasználása http://www.postfixorg [19] Pound - hivatalos honlap - Dokumentáció felhasználása http://www.apsisch/pound [20] Project Cyrus - hivatalos honlap - Dokumentáció felhasználása http://cyrusimap.webcmuedu 67 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval [21] Roundcube Webmail Project - hivatalos honlap - Dokumentáció felhasználása http://roundcube.net [22] SAMBA - hivatalos honlap - Dokumentáció felhasználása www.sambaorg [23] The Apache Software Fundation - hivatalos honlap - Dokumentáció felhasználása http://www.apacheorg [24] Szabványok: ANSI TIA/EIA-568-A: 1995 ANSI TIA/EIA-568-B: 1995 ANSI/TIA/EIA-569-A: 1998 ANSI/TIA/EIA-606: 1993 ANSI/TIA/EIA-607: 1994 ISO/IEC 11801: 2000 EN 50173-1: 2002 ANSI - American National Standards Institute (Amerikai Nemzeti Szabványügyi Intézet) http://ansi.org TIA -

Telecommunications Industry Association (Telekommunikációs Ipari Szövetség) http://www.tiaonlineorg EIA - Electronic Industries Association, (Elektronikai Iparágak Szövetsége) http://www.eiaorg ISO - International Organization for Standardization (Nemzetközi Szabványügyi Szervezet) http://www.isoorg IEC - International Electrotechnical Commission ( Nemzetközi Elektrotechnikai Bizottság) http://www.iecch 68 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 13 Mellékletek 13.1 Debian GNU/Linux 40 „Etch” rendszer telepítése:  A gép BIOS-át beállítom, hogy CD-ről boot-oljon és billentyűzet és monitor hiánya esetén is elinduljon illetve ha van tápfeszültség akkor kapcsoljon be.  Telepítő CD behelyezése után indul a Debian telepítő. Két fő lehetőség van: szöveges mód (alapértelmezett) vagy grafikus felületű telepítés (installgui, expertgui). Mivel szervert telepítésről van

szó, így nem érdekes a grafikus felület már telepítéskor sem, így Enter-t leütve folytatódik a telepítés!  Telepítési és a végleges rendszer nyelvének kiválasztása.  Billentyűkiosztás kiválasztása.  A hálózat konfigurálása DHCP vagy kézi lehetőségek közül a kézi konfigurálást használtam. Itt a gép-, átjáró és dns kiszolgálók IP címét kell beállítani  Szerver nevének beállítása,megadása.  Tartomány név beállítása  Lemez partíciónálásánál kézi módot választottam ahol beállítottam,hogy a root és a home külön partícióra kerüljön. A Partíciónálás lezárása és változások mentése pont után lemezre írjuk a változásokat  Root azaz rendszergazda jelszavának beállítása. Lehetőleg minimum 8 karakter kis- és nagy betű és szám is legyen benne! A szervereket sokszor éri támadás és az esetek nagytöbbségében a root hozzáférés jelszavát próbálják kitalálni.

 Felhasználó megadása (teljes név, felhasználónév,jelszó).  Alaprendszer telepítése.  Telepítéshez ftp.hudebianorg hálózati tükröt használtam (netinstall)  Szoftverválasztás. Csak alaprendszert jelöltem telepítésre  GRUB rendszerbetöltő a fő boot rekordba telepítése.  Telepítő CD eltávolítása, tovább. Újraindul a gép Telepítés kész, következhet az egyéb szükséges csomagok telepítése.  Boot sorrend visszaállítása arra a merevlemezre, melyre a rendszer került. 69 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 13.2 Ubuntu 810 „intrepid ibex” rendszer telepítése:  A gép BIOS-át beállítom, hogy CD-ről boot-oljon.  Telepítési nyelv kiválasztása  Ezután megjelenik egy fekete képernyő, rajta nagy Ubuntu logóval, és néhány opcióval, ahol az Ubuntu telepítése menüpontot kell választani.  Könnyen kezelhető

grafikus Telepítési Üdvözlő képernyő jelzi, hogy a telepítés elkezdődött. Itt kell kiválasztani a rendszerünk alapértelmezett nyelvét  Időzóna beállítása.  Billentyűzetkiosztás beállítása  Partíciók létrehozása, méretezése. Itt a kézi módot választva hoztam létre a már említett partíció méreteket.  Felhasználó megadása (teljes név, felhasználónév,jelszó) valamint a számítógép nevének beállítása. Ha minden gépen megismételjük a telepítést, akkor figyelni kell arra, hogy a felhasználó nevek és a számítógépek nevei is egyediek legyenek. Klónozás esetén ezeket minden gépen módosítsuk, tegyük egyedivé  Eddigi beállítások listázása valamint haladó módban a rendszerbetöltő telepítési helyének beállítása. Ha itt végeztünk, indul a telepítés Ennek ideje több tényezőtől is függ, mint például a számítógép, az optikai meghajtó, a merevlemez vagy az internet kapcsolat

sebessége.  Telepítő CD eltávolítása, tovább. Újraindul a gép Számítógép újraindítása után használható a rendszer.  Első bejelentkezés után következhet az egyéb szükséges csomagok telepítése például Synaptic csomagkezelővel, nyomtató(k) telepítése, kapcsolat kialakítása a Samba szerverrel. Elhelyezhetjük az asztalon a legszükségesebb programok ikonjait, melyekre szüksége lesz a felhasználóknak.  Boot sorrend visszaállítása arra a merevlemezre, melyre a rendszer került.  Ezután minden felhasználói számítógépen meg kell ismételni az előbbieket vagy klónozhatjuk is a jelenlegi telepítést a többi gépre pl.: G4U használatával 70 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval 13.3 Levelező szervereken használt csomagok listája acpid 1.04-5 adduser 3.102 apache2-mpm-prefork 2.23-4+etch5 apache2-utils 2.23-4+etch5 apache2.2-common 2.23-4+etch5 apt

0.6464-01 apt-utils 0.6464-01 aptitude 0.44-4 aspell 0.604-4 aspell-hu 0.9942-0-1 at 3.110 base-files 4 base-passwd 3.511 bash 3.1dfsg-8 bc 1.06-20 beep 1.22-19 bind9-host 1:9.34-2etch3 binutils 2.17-3 bsdmainutils 6.16 bsdutils 1:2.12r-19etch1 build-essential 11.3 busybox 1:1.13-4 bzip2 1.03-6 ca-certificates 20070303 ccze 0.21-12 console-common 0.769 console-data 2:1.01-7 console-tools 1:0.23dbs-65 coreutils 5.97-53 cpio 2.6-181+etch1 cpp 4:4.11-15 cpp-4.1 4.11-21 cron 3.0pl1-100 cyrus-admin-2.2 2.213-10 cyrus-clients-2.2 2.213-10 cyrus-common-2.2 2.213-10 cyrus-doc-2.2 2213-10 cyrus-imapd-2.2 2.213-10 71 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval dc 1.06-20 debconf 1.511etch2 debconf-i18n 1.511etch2 debhelper 5.042 debian-archive-keyring 2007.0731~etch1 debian-backports-keyring 2007.0610 debianutils 2.17 dhcp3-client 3.04-13 dhcp3-common 3.04-13 dictionaries-common 0.7010 diff 2.81-11 dmidecode 2.8-4 dnsutils

1:9.34-2etch3 doc-debian 3.15 doc-linux-text 2007.02-1 dpatch 2.021 dpkg 1.1325 dpkg-dev 1.1325 drbd8-source 2:8.013-2~bpo40+1 drbd8-utils 2:8.013-2~bpo40+1 drbdlinks 1.07-1 dselect 1.1325 e2fslibs 1.39+140-WIP-20061114+dfsg-2etch1 e2fsprogs 1.39+140-WIP-20061114+dfsg-2etch1 ed 0.2-20 eject 2.14-3 exim4 4.63-17 exim4-base 4.63-17 exim4-config 4.63-17 exim4-daemon-light 4.63-17 fakeroot 1.510 file 4.17-5etch3 findutils 4.228-1etch1 finger 0.17-10 flex 2.533-11 ftp 0.17-16 g++ 4:4.11-15 g++-4.1 4.11-21 72 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval gawk 1:3.15dfsg-4 gcc 4:4.11-15 gcc-4.1 4.11-21 gcc-4.1-base 4.11-21 gettext 0.161-1 gettext-base 0.161-1 gnupg 1.46-2 gpgv 1.46-2 grep 2.51ds2-6 groff-base 1.1811-12 grub 0.97-27etch1 gzip 1.35-15 hostname 2.93 html2text 1.32a-3 hunspell 1.14-5 iamerican 3.1200-43 ibritish 3.1200-43 ifupdown 0.68 ihungarian 0.994-1 info 4.8dfsg1-4 initramfs-tools 0.85i initscripts

2.86ds1-38+etchnhalf1 installation-report 2.29 intltool-debian 0.350+200607101 iproute 20061002-3 iptables 1.360debian1-5 iputils-ping 3:20020927-6 ipvsadm 1.24+121-14 ispell 3.1200-43 keepalived 1.112-1 kernel-package 10.067 klibc-utils 1.434-2 klogd 1.41-18 laptop-detect 0.121 less 394-4 libacl1 2.241-1 libapache2-mod-php5 5.20-8+etch11 libapr1 1.27-82 73 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval libaprutil1 1.27+dfsg-2 libaspell15 0.604-4 libatm1 2.41-17 libattr1 2.432-1 libbind9-0 1:9.34-2etch3 libblkid1 1.39+140-WIP-20061114+dfsg-2etch1 libbz2-1.0 1.03-6 libc6 2.36ds1-13etch7 libc6-dev 2.36ds1-13etch7 libc6-i686 2.36ds1-13etch7 libcap1 1:1.10-14 libcomerr2 1.39+140-WIP-20061114+dfsg-2etch1 libconsole 1:0.23dbs-65 libcyrus-imap-perl22 2.213-10 libdb4.2 4252+dfsg-2 libdb4.3 4329-8 libdb4.4 4420-8 libdbd-mysql-perl 3.0008-1 libdbi-perl 1.53-1etch1 libdevmapper1.02 2:1.0208-1 libdns22 1:9.34-2etch3 libedit2

2.9cvs20050518-22 libevent1 1.1a-1 libexpat1 1.958-34 libgc1c2 1:6.8-1 libgcc1 1:4.11-21 libgcrypt11 1.23-2 libgdbm3 1.83-3 libglib2.0-0 2.124-2 libgnutls13 1.44-3+etch1 libgpg-error0 1.4-1 libgpmg1 1.196-25 libgssapi2 0.10-4 libhesiod0 3.02-181 libidn11 0.65-1 libisc11 1:9.34-2etch3 libisccc0 1:9.34-2etch3 libisccfg1 1:9.34-2etch3 74 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval libklibc 1.434-2 libkrb53 1.44-7etch6 libldap2 2.130-133 liblocale-gettext-perl 1.05-1 liblockfile1 1.061 liblwres9 1:9.34-2etch3 liblzo1 1.08-3 libmagic1 4.17-5etch3 libmysqlclient15-dev 5.032-7etch6 libmysqlclient15off 5.032-7etch6 libncurses5 5.5-5 libncurses5-dev 5.5-5 libncursesw5 5.5-5 libnet-daemon-perl 0.38-11 libnewt0.52 0.522-10 libnfsidmap2 0.18-0 libopencdk8 0.59-2 libpam-modules 0.79-5 libpam-mysql 0.62-1 libpam-runtime 0.79-5 libpam0g 0.79-5 libpam0g-dev 0.79-5 libpci2 2:2.111-3 libpcre3 6.7+74-4 libphp-adodb 4.93a-11 libplrpc-perl

0.2017-11 libpopt0 1.10-3 libpq4 8.111-0etch1 libreadline5 5.2-2 librecode0 3.6-12 librpcsecgss3 0.14-2etch3 libsasl2 2.122dfsg1-8 libsasl2-2 2.122dfsg1-8 libsasl2-modules 2.122dfsg1-8 libselinux1 1.32-3 libsemanage1 1.8-1 libsensors3 1:2.101-3 libsepol1 1.14-2 75 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval libsigc++-2.0-0c2a 2017-2 libslang2 2.06-4 libsnmp-base 5.23-7etch2 libsnmp9 5.23-7etch2 libsqlite3-0 3.38-11 libss2 1.39+140-WIP-20061114+dfsg-2etch1 libssl-dev 0.98c-4etch3 libssl0.98 0.98c-4etch3 libssp0 4.11-21 libstdc++6 4.11-21 libstdc++6-4.1-dev 411-21 libsysfs2 2.10-1 libtasn1-3 0.36-2 libtasn1-3-bin 0.36-2 libtext-charwidth-perl 0.04-4 libtext-iconv-perl 1.4-3 libtext-wrapi18n-perl 0.06-5 libusb-0.1-4 2:0.112-5 libuuid1 1.39+140-WIP-20061114+dfsg-2etch1 libvolume-id0 0.105-4 libwrap0 7.6dbs-13 libxml2 2.627dfsg-4 libzephyr3 2.120010518SNAPSHOT-171 linux-image-2.618 drbd10 linux-image-2.618-6-686 2618dfsg1-22

linux-kernel-headers 2.618-7 linux-source-2.618 2618dfsg1-23 locales 2.36ds1-13etch7 login 1:4.0181-7 logrotate 3.71-3 lsb-base 3.1-232etch1 lsof 4.77dfsg1-3 m4 1.48-2 mailx 1:8.12-020050715cvs-1 make 3.81-2 makedev 2.31-83 man-db 2.43-6 manpages 2.39-1 76 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval manpages-hu 20010119-5 mawk 1.33-11 mc 1:4.61-6 mime-support 3.39-1 mktemp 1.5-2 module-assistant 0.108 module-init-tools 3.3-pre4-2 mount 2.12r-19etch1 mpack 1.6-4 mtools 3.910ds1-3 mtr-tiny 0.71-2etch1 mutt 1.513-11etch1 myspell-hu 0.994-1 mysql-client-5.0 5.032-7etch6 mysql-common 5.032-7etch6 mysql-server-5.0 5.032-7etch6 nano 2.02-1etch1 ncurses-base 5.5-5 ncurses-bin 5.5-5 ncurses-term 5.5-5 net-tools 1.60-17 netbase 4.29 netcat 1.10-32 nfs-common 1:1.010-6+etch1 ntpdate 1:4.22p4+dfsg-2 openbsd-inetd 0.20050402-6 openssh-blacklist 0.11 openssh-client 1:4.3p2-9etch3 openssh-server 1:4.3p2-9etch3 openssl 0.98c-4etch3 passwd

1:4.0181-7 patch 2.59-4 pciutils 1:2.24~pre4-1 perl 5.88-7etch3 perl-base 5.88-7etch3 perl-modules 5.88-7etch3 php5 5.20-8+etch11 php5-cli 5.20-8+etch11 77 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval php5-common 5.20-8+etch11 php5-mysql 5.20-8+etch11 php5-recode 5.20-8+etch11 pidentd 3.019ds1-1 po-debconf 1.08 policycoreutils 1.32-3 portmap 5-26 postfix 2.38-2+etch1 postfix-doc 2.38-2+etch1 postfix-mysql 2.38-2+etch1 postfix-pcre 2.38-2+etch1 pound 2.0-12 procmail 3.22-16 procps 1:3.27-3 psmisc 22.3-1 python 2.44-2 python-central 0.512 python-minimal 2.44-2 python-newt 0.522-10 python-selinux 1.32-3 python-semanage 1.8-1 python-support 0.56 python2.4 244-3+etch1 python2.4-minimal 2.44-3+etch1 readline-common 5.2-2 reportbug 3.31 samba-common 3.024-6etch10 sasl2-bin 2.122dfsg1-8 sed 4.15-1 selinux-policy-refpolicy-targeted 0.020061018-51+etch1 sharutils 1:4.21-15 smbfs 3.024-6etch10 squirrelmail 2:1.49a-2 squirrelmail-decode

1.1-2 squirrelmail-locales 1.49-20070106-1 ssh 1:4.3p2-9etch3 ssl-cert 1.014 strace 4.514-2 78 Kisvállalati LINUX alapú rendszer tervezése, folyamatos kiszolgálás adatbázis replikációval sysklogd 1.41-18 sysv-rc 2.86ds1-38+etchnhalf1 sysvinit 2.86ds1-38+etchnhalf1 sysvinit-utils 2.86ds1-38+etchnhalf1 tar 1.16-2etch1 tasksel 2.66 tasksel-data 2.66 tcpd 7.6dbs-13 tcsh 6.1400-7 telnet 0.17-34 texinfo 4.8dfsg1-4 time 1.7-21 traceroute 1.4a12-21 tzdata 2007k-1etch1 ucf 2.0020 udev 0.105-4 update-inetd 4.27-05 usbutils 0.72-7 util-linux 2.12r-19etch1 vim-common 1:7.0-122+1etch3 vim-tiny 1:7.0-122+1etch3 w3m 0.51-51 wamerican 6-2 wget 1.102-2 whiptail 0.522-10 whois 4.720 zlib1g 1:1.23-13 zlib1g-dev 1:1.23-13 79