Linuxové řešení pro laiky v malé firmě I.

Přínášíme čtyřdílný seriál o nasazení a instalaci Linuxu v malé firmě určený pro laiky.

14.3.2009 11:00 | Dalibor Smolík | přečteno 13754×

Obsah

  1. Úvod
  2. Komu je tento návod určen a jaký je jeho účel?
  3. Instalace souborového serveru a vytvoření jeho základní struktury
  4. Připojení serveru k internetu
  5. Uvedení do problematiky příkazové řádky
  6. Démoni aneb služby běžící na pozadí
  7. Připojení periférií k počítači
  8. Programy, které budeme potřebovat pro propojení mezi počítači
  9. Připojování oddílů, vzdálených adresářů a mass storage zařízení
  10. Instalace a konfigurace pracovních stanic
  11. Konfigurace připojení k síti a konfigurace proxy serveru
  12. Jaké programy máme v Linuxu k dispozici?
  13. Úpravy fotografií a práce s obrázky
  14. Instalace poštovního serveru
  15. Ovládání serveru z pracovní stanice
  16. Další možné služby, provozované na serveru
  17. Instalace programů z příkazového řádku, aktualizace systému
  18. Nejdůležitější konfigurační soubory v systému
  19. Nejužitečnější příkazy pro konzoli
  20. Bezpečnost dat a zabezpečení sítě
  21. Provoz více operačních systémů na jednom stroji
  22. Virtuální síť aneb mám kancelář na celém světě
  23. Ekonomické zhodnocení linuxového řešení
  24. Závěr


1. Úvod

Mnoho menších i větších firem se potýká s problematikou počítačového vybavení a s licencemi, ve kterých se firma špatně vyzná a hrozí kdykoliv ze strany státních úřadů nevítaná kontrola. U menších firem nastává dost často situace, že nejsou schopni vlastními silami své počítačové vybavení spravovat a musejí často sáhnout po pomoci zvenčí. Pokud je někdo zkušený nablízku, je to nejlepší řešení. Ale ne vždy je taková osoba k dispozici a zadávat svá řešení renomované firmě nebývá pro malou firmou právě levné.

Jak z takového problému ven? Určitě se v každé firmě najde někdo, kdo má základní znalosti práce na počítači, především ve Windows. Takový člověk nenachází odvahu vlastními silami postavit počítačovou síť a starat se o ni – a přitom řešení nebývá až tak náročné, chce to je trochu trpělivosti a hlavně se nebát. Předpokládejme, že zájemce o tuto instruktáž zná dnes základní pojmy jako je soubor a adresář a pohybuje se např. v Total Commanderu, dokáže v třeba v MS Outlooku založit účet pro e-mailovou adresu a ve Windows nainstalovat nějaký program.

Nabízím proto takový návod, který je spíše beletrií než technickým popisem. Všechno to, co zde popíšu, již bylo napsáno jinde a mnohem lépe. Návod však by měl vést ke zprovoznění všech základních funkcí počítače, které jsou pro chod běžné menší firmy zapotřebí. Nezaměřuje se na optimalizaci všech funkcí ani na co největší efektivitu, ale cílem je co nejjednodušší konfigurace systému tak, aby funkce splnila svůj účel a přitom ji mohl provést i laik - úmyslně neříkám začátečník a vysvětlím proč není toto povídání určeno správci sítě - začátečníkovi.

Budoucí správce sítě se připravuje na to, aby byl jednou odborníkem ve své oblasti a navržené postupy mu nemohou stačit a nejsou odborně ošetřené.

V odlišné situaci se nachází ale člověk, který pracuje v jiném oboru, ale přesto je okolnostmi „přinucen“ se pustit do péče o svůj informační systém. Může to být manažer, spolumajitel firmy, účetní, případně jiná osoba, zainteresovaná ve firmě.

Nechť je tedy čtenář z odborných kruhů méně kritický k detailům uvedeným v této příručce, ale í a provede příslušnou korekci informací z důvodu vážné chyby v bezpečnosti či funkčnosti nebo když je v případě jednoduchého zákroku dosaženo velkého efektu ke zlepšení zmíněných funkcí. Stále mám na paměti, že rozsáhlé konfigurace systému málo zkušený správce sítě nezvládne, alespoň ne na začátku své práce.

Správce sítě, kterému píšu, by měl mít odvahu pracovat s příkazovou řádkou, ale nemusí umět psát složité skripty. Brzy však přijde na to, že některé skripty se dá velmi dobře sehnat na internetu a věc, která vypadá složitě, se stále opakuje a stačí mít příslušnou formulaci někde uloženou.

Pokud někdo dočetl tento nesouvislý text až sem, nechť najde odvahu a pustí se do dalšího studia.


2. Komu je tento návod určen a jaký je jeho účel?


Představme si typickou malou obchodní firmu, případně realitní kancelář nebo nějakou neziskovou organizaci, ve které je 10 – 15 počítačů, mají připojení na internet a firma má např. 3 internetové adresy.

Po prostudování příručky by měl tento málo zkušený admin umět zajistit funkce, které potřebuje každá kancelář, jako např.:


Možností, jak docílit těchto funkcí je celá řada. Je na každém správci, pro jaké řešení se rozhodne.

V podstatě se může svěřit do rukou Microsoftu a nakoupit příslušné licence nebo sáhne po tzv, otevřených programech (dále open source), jejichž zdrojové kódy jsou volně přístupné a uživatel za tyto programy nemusí nic platit – existují však i placená řešení, která mají své výhody (tištěné příručky, hot-line, apod.). Ale i v případě placených verzí se neplatí za licence, ve firmě se může udělat neomezený počet kopií tohoto systému. V současné době se jedná o některou z majoritních distribucí Linuxu.

Zkušenosti ukazují, že nejvhodnějším řešením bývá kombinace nasazení open source a uzavřených systémů. Například z deseti počítačů jich může několik zůstat na platformě Windows, zejména z důvodů neexistence používaného softwaru pod Linuxem . Například ve firmě běží program na podvojné účetnictví pod Windows a není důvod tento program měnit.

Oba systémy mohou vedle sebe bez problémů existovat a mohou být vzájemně propojeny.

Na server bych však doporučoval nasadit linuxové řešení.



3. Instalace souborového serveru a vytvoření jeho základní struktury


Nyní vyvstává otázka, proč investovat do serveru a nestačí jen uživatelské stanice, propojené mezi sebou.

Teoreticky by stačit mohly, jenže data by byla dost chaoticky roztroušená po síti a jejich udržování by bylo téměř nemyslitelné, nemluvě o nějakém systematickém zálohování. Souborový server ukládá data na jedno místo a je možné vyčlenit v adresářích místo pro ukládání údajů pro každého uživatele zvlášť. Každý uživatel by měl přístup do svého adresáře a superuživatel neboli root (správce sítě) by měl přístup ke všem datům. Je však možné, zejména ze začátku, neomezovat přístup nikomu z uživatelů.


Abychom si co nejvíce zjednodušili situaci, nainstalujeme jako první tento server.

Linux, na rozdíl od Windows má dvě „vrstvy“: příkazovou řádku a programy v ní běžící (obdoba starého DOS) a grafickou nadstavbu, tzv. X-window a s ní spojené grafické prostředí, kterýchi je na výběr více. Nejznámější jsou KDE a Gnome, já jsem upřednostnil KDE, které má podobné grafické rozložení jako Windows a připadá mi intuitivnější. Ale není to podmínkou – právě kouzlo Linuxu je v tom, že je možné si vybrat prostředí podle své nátury. Názory na to, co je intuitivní se mohou diametrálně lišit. Také pracovní stanice různých lidí se od sebe velmi liší a jejich zpracování trochu odráží povahu jejich majitele.

Na serveru nepotřebujeme vůbec mít grafické prostředí. Ale nedovedu si představit, že by náš uživatel zvládl konfiguraci serveru bez pomoci grafického prostředí, takže si je můžeme nainstalovat. Jednou, až vše správně poběží, nebude není nutné grafické prostředí vůbec spouštět.


Nechci se zde důkladně rozepisovat na téma adresářové struktury v Linuxu. Na toto téma je hodně materiálu na nejznámějších linuxových serverech, jako je např. Linuxsoft.cz nebo abclinuxu.cz. Doporučil bych se podívat i na www.fastlinux.wz.eu, kde je k dispozici hodně návodů pro začátečníky.

Takže jen v krátkosti: Linux nezná označení disků a jejich oddílů písmeny, jako jsou ve Windows. Oddíly se chovají jako adresáře, oddělování adresářů se značí obyčejným lomítkem – nikoliv obráceným. Hlavní adresář má tudíž pouze označení /, další podadesáře /home, /home/uzivatel atd.

Většina zde popisovaných vlastností a návodů je společná pro všechny linuxové distribuce, ale v některých bodech se liší. Vzhledem k tomu, že já mám zkušenosti z distribuce Debian, budou návody směřovat právě do této oblasti, ale použitelné jsou v mnohém i jinde.


Poznámka:

Při instalaci linuxové distribuce na nový počítač můžeme narazit na technické problémy s hardwarem, pokud je instalovaná verze Linuxu starší, než jsou komponenty počítače. Typicky to bývá síťová karta. Obvykle pomůže předem připravený balíček s nejnovějším jádrem na flash disku a instalovaný později do systému. Nejnovější jádro pravděpodobně obsahuje již ovladače na hardware, který je součástí počítače.


Předpokládejme, že na serveru bude pracovat distribuce Debian stable (Dnes je označená jako Etch, brzy bude označená jako Lenny) . Tato verze Debianu nemá nejnovější balíčky a programy, ale programy jsou odzkoušené a pro server tudíž vhodné.

Distribuci si můžeme stáhnout z internetu nebo objednat u některého z prodejců, například na www. linuxsoft.cz. Pro začátek bych se přimlouval pro verzi z CD nebo DVD, instalace z internetu již vyžaduje určité základní znalosti.

Doporučil bych si přečíst nějaké povídání na internetu na www.debian.org, je hezky česky.

Při instalaci se můžeme rozhodnout, jaké komponenty chceme nainstalovat. Když zaškrtneme v taskselu souborový, tiskový systém a pracovní stanici, nainstaluje se grafické prostředí s Gnome.

V grafickém prostředí je možné podobně jako ve Windows nastavovat některé parametry, jako je připojení k internetu, rozlišení obrazovky, chování myši apod.

Co je však důležité – zajistit rozdělení disku. V Linuxu a na serveru zvlášť je důležité mít oddělený systém od části disku s uživatelskými daty. Je výhodné mít také malou část disku určenou pro bootování a malou část disku pro swap.

Je třeba si vybrat souborový systém, to je způsob, jak jsou na disk data ukládána. V Linuxu je jich několik, každý má své výhody a nevýhody.

Studijní materiál k této tématice je k dispozici zde:
Já používám výhradně souborový systém ext3 - opět není podmínkou.

Při vytváření oddílů vždy určíme jejich velikost, rozhodneme, který má příznak zavádění (bude to ten bootovací), pak každému oddílu přiřadíme tzv. Bod připojení a určíme, zda budeme formátovat či ponechat data. A hlavně zvolíme souborový systém. U nového disku vždy formátujeme, pokud systém instalujeme znovu, ponecháváme oddíl s daty, ostatní formátujeme.

Nyní uvedu příklad rozdělení disku, který má 500 GB (pro server vhodné):

/boot velikost 200 MB

/ velikost 15 GB (to je hlavní oddíl pro instalaci systému, tzv. Rootovský /swap swapovací oddíl – má být asi 2x tak velký jako operační paměť /home místo pro uživatelská data. Zbytek disku.

Pak již můžeme formátovat a instalovat. Průvodce instalací nás dovede do konce instalace, pak restartujeme a systém je připraven k použití.

Nutno upozornit, že při první instalaci systém nás požádá o vytvoření alespoň jednoho uživatele.

Pod tímto uživatelem se pak pracuje a když chceme provádět nějakou činnost, která vyžaduje práva superuživatele - roota, systém nás požádá o napsání hesla.

Jakmile máme nainstalovaný systém s grafikou, je možné se v něm pohybovat podobně jako ve Windows - spouštět aplikace, procházet adresáře a pod. Prozradím, že pro instalaci dalších programů je k dispozici aplikace Synaptic. Ve Windows jsme zvyklí získávat programy k instalaci z různých zdrojů, jako je např. slunecnice.cz. V Linuxu je to jinak: Programy se instalují většinou z tzv. repozitářů, které jsou k dispozici vždy pro danou distribuci. Na počítači je potřeba mít nastaveny zdroje pro instalaci, které určují, zda se instaluje z CD/DVD nebo z internetu.

O toto nastavení se stará soubor sources.list, který se nachází v adresáři /etc/apt.

Pro zvídavé je odkaz zde: http://www.debian.org/doc/manuals/apt-howto/ch-basico.cs.html

Pro začátek bychom se přidrželi zdrojů, které jsou na příslušných CD/DVD pro naši distribuci, což je Debian Etch. Jinak návody, které uvádím pro instalaci systému a práce s ním - zejména v grafice - platí pro server i pracovní stanice, pokud neuvedu výslovně jinak.


Nyní bych v případě serveru udělal malou odbočku.

Na serveru je možné zajistit, aby se data zapisovala na dva disky nebo více disků najednou.

Zvyšuje to rychlost zápisu (v případě, že část dat zapisuje na jeden a část na druhý disk) nebo bezpečnost dat (v případě, že se zapisují stejná data na oba disky najednou.) - je možná kombinace obou způsobů. Spojení dvou disků se nazývá RAID. Toto spojení může být zajištěno výrobcem (tzv. hardwarový RAID) nebo to zajišťuje pouze program (softwarový RAID). Pro naše účely, kdy server nebude extrémně zatěžován tokem dat z kritických aplikací, postačí softwarový RAID1 (což je zápis na dva disky zároveň).

Instalace je jednoduchá: Musíme mít dva stejně velké disky a oba rozdělíme stejným způsobem a sdělíme při vytváření oddílů, že chceme pro ně mít RAID. Pak jednotlivé oddíly spojíme k sobě jak patří (oddíl pro boot z jednoho disku spojíme s oddílem pro boot z druhého disku atd.) a určíme, že chceme mít RAID1. Až je máme pospojované, disk se tváří, že je jen jeden. Pak k těmto oddílům běžným způsobem přiřadíme souborový systém, body připojení a zda chceme formátovat.

Raid zajistí, že v případě výpadku jednoho disku budou data k dispozici na druhém. Ale pokud si data smažeme sami, nepomůže nám ani svěcená voda (lépe řečeno: pomůže systém zálohování, k němuž se dostaneme později).

Důvtipný čtenář se také bude zajímat, jak zjistí, zda mu oba (všechny) disky pracují jak mají.

Může být v provozu jen jeden, aniž bychom si toho všimli.

Toto se dá ověřit výpisem ze souboru mdstat. Zadáme příkaz cat /proc/mdstat, na jehož konci je zmínka o nepoužívaných zařízeních. Mělo by to vykázat údaj „none“.

Více o této tématice viz man mdadm, případně zde:

http://www.svethardware.cz/art_doc-F06BA8749FE1FD0AC1256F610053B1D5.html
http://cihar.com/publications/linuxsoft/prechod-na-softwarovy-raid-1-snadno-a-rychle.html


Nyní pokračujeme v instalaci systému:

Pokud máme nainstalované grafické prostředí Gnome a máme zájem mít též KDE, je třeba ho doinstalovat ručně. V již zmíněném Synapticu je třeba zaškrtnout balíčky s KDE a Synaptic provede již aktualizaci sám. Po startu systému máme možnost volby, zda bude spuštěno Gnome nebo KDE. Jsme-li zvyklí na KDE, zvolíme jej. Chtěl bych podotknout, že řada programů, určených pro Gnome je možné úspěšně spouštět v KDE a naopak. Například svoji oblíbenou hru „Gnometris“ spouštím v KDE. O to se starají příslušné knihovny, které se instalují spolu s balíčky pro programy.

Nyní je chvíle, kdy bychom si mohli povědět krátce o instalaci programů. Programy existují v různých typech instalace - jednak jako balíčky pro příslušnou distribuci a její verzi, jednak jako zdrojové kódy (označené např. jako balicek.tar), které je třeba kompilovat. Platí zásada, že vždy dáváme přednost balíčku pro příslušnou verzi distribuce, pokud takový existuje. Jsou samozřejmě ještě i další možnosti instalace, včetně pouhého rozbalení a spuštění programu (např. Firefox).

Balíčky pro Debian a distribuce od něj odvozené mají koncovku .deb, balíčky pro Mandrivu, Suse, Red Hat a Fedoru mají koncovku .rpm. Typy balíčků nelze zaměňovat (i když existují určité možnosti, ale ty bych v současné chvíli nezmiňoval).

Pro Linux existují podobné souborové manažery, jako pro Windows. Jako první bych zmínil Krusader, který je velmi podobný Total Commanderu ve Windows a další Midnight Commander (mc), což je obdobné slavnému „Nortonovi“ v DOSu.

Po první instalaci systému tyto souborové manažery nejsou k dispozici, je nutné si je doinstalovat.

Já osobně Krusader nepoužívám, ale mc instaluji hned jako první.


V současné chvíli máme již nainstalovaný server, který se zatím chová jako pracovní stanice.

Serverem se stane ve chvíli, kdy budou k němu připojeny další počítače.

K instalaci serveru je si možné pročíst tyto materiály:

http://www.linuxsoft.cz/article.php?id_article=619


4. Připojení serveru k internetu


Internetové připojení může mít různou formu a různou rychlost. Dnes si již nedovedeme představit připojení pouze telefonní linkou a máme zřejmě některou z forem rychlého internetu. Pro zjednodušení předpokládejme, že máme pevnou linku od UPC bez pevné vnější IP adresy s jednou MAC adresou. Z toho vyplývá, že musíme mít nějaké rozbočovací zařízení, které umožní kterémukoliv počítači v síti přístup na internet. Může to být např. linuxový router - počítač se dvěma sítovými kartami - jednou pro internet a druhou do vnitřní síť.

Pro začátečníka může konfigurace tohoto routeru trochu zamotat hlavu. Pro takto malou firmu úplně postačí nákup hardwarového routeru/switche, buď wifi nebo přes ethernetový kabel. Nejedná se o investici nijak závratnou, ale jen ve výši stokorun. Takový router obvykle mívá jen několik přípojek pro vnitřní síť a tak přímý přístup na internet má jen právě takový počet pracovních stanic.

Pokud chceme mít stanic více, je nutné dokoupit příslušný switch. Konfigurací routeru se budeme zabývat později.


5. Uvedení do problematiky příkazové řádky


Hlavní silnou stránkou Linuxu je možnost systém spravovat pomocí příkazové řádky, což umožňuje snadné spravování serveru na dálku a nastavení libovolných parametrů na serveru nebo pracovní stanici, aniž by byl stroj zatěžován grafikou. Práce v příkazové řádce může být obtížná, ale také velmi jednoduchá - záleží na uživateli. Zkušenost mi říká, že je dobré znát několik základních příkazů, zbytek se dá vždycky najít někde „na taháku“ a není rozhodně nutné si pamatovat všechno.

Není nutné se zde zabývat podrobnostmi, je dobré si přečíst tyto stránky:

http://sandbox.cz/~covex/linux/kouzlo_cmdline.html

http://www.abclinuxu.cz/ucebnice/prehled-prikazu

Chtěl bych se však zmínit o možnosti práce v konzoli - a to buď přímo příkazem CTRL+ALT+F2 až F5 a nazpět do grafiky ALT+F7 nebo do tzv. emulátoru konzole, což je přímo grafický nástroj. Pokud je vyžadován k příkazu superuživatel, je třeba na začátku práce s konzolí příkaz su, konzole pak vyžádá heslo roota.

Konzole pak funguje díky prográmku bash (jsou k dispozici i jiné shelly), který obhospodařuje všechny potřebné příkazy.

Jako příklad bych uvedl příkaz cp, což umožní kopírovat soubory.

Např. cp stary_soubor novy_soubor zkopíruje původní soubor do nového, příkaz mv jej přejmenuje, rm odstraní. Více příkazů lze najít zde: http://www.sweb.cz/dezperado/bash.html. Od nynějška se však na práci v příkazové řádce budu odkazovat a uvádět příklady příkazů, které provedou nějaký úkon.

Ještě bych chtěl upozornit na existenci textových editorů v linuxových distribucích. Nejznámější editor je vi nebo vim, dále emacs, pico, atd. Tyto editory umožňují upravovat konfigurační soubory nebo psát jakýkoliv text, prozradím, že je možné a jednoduché upravovat tyto soubory přímo v Midnight Commanderu (mc). Já mám nejoblíbenější textový editor pico, snadno se ovládá a je přítomen i v základních nastaveních.

Příklad: v příkazovém řádku zadám příkaz pico soubor.txt a mohu upravovat příslušný text.

Vrátíme se opět k bashi:

Linux má schopnost automaticky provádět nějaké příkazy , které se uvedou v nějakém souboru (skriptu), který pak bude možné spustit.

Příklad: soubor se bude jmenovat kopirovat_co a je v adresáři /home/uzivatel Na začátek každého skriptu je uvedena formulka:

#! /bin/sh

Pak takový skript vypadá takto:


#! /bin/sh cp /home/uzivatel/mojetexty/mujtext.txt /home/uzivatel/tvojetexty

Takový skript se jménem kopirovat_co je možné dát jako ikonku na plochu a stačí na ni klinknout - a skript se provede. Proto je takové skriptování velmi výhodné a člověk nemusí provádět vždy složitý příkaz do příkazové řádky a pamatovat si jej.

Pro vysvětlení: skript provedl kopírování souboru mujtext.txt, který byl v adresáři /home/uzivatel/mojetexty do adresáře /home/uzivatel/tvojetexty.

Takový příkaz cp může mít ještě rozšiřující atributy, jako např.

cp -u kopíruje jen novější soubory (update = aktualizace) cp -v vypisuje provádění příkazu na obrazovku cp -r kopíruje i s podadresáři.


Obdobně je to i s jinými příkazy, jako rm, mv, mkdir, apod.

Zájemce o skriptování v bashi se může podívat do tohoto materiálu:

http://docs.linux.cz/programming/interpreted/bashdoc-1.4/


Náš příklad se skriptem kopirovat_co může být složitější - může mít pod sebou celou řadu příkazů, oddělených středníkem. Tak na stisknutí jednoho tlačítka na ploše se může zkopírovat postupně několik adresářů do určeného místa a zajistit si tak zálohování dat. A nejen to. Zapsáním skriptu do tabulky /etc/crontab je možné příkaz provádět automaticky, pravidelně například každé úterý v 18. hodin. Seznam nejdůležitějších konfiguračních souborů ještě bude následovat, ale na soubor /etc/crontab se podíváme blíže:

Soubor je generován automaticky po instalaci systému a lze k němu přidávat další řádky:

10 17 * * * root /home/zaloha_konfigurace 35 17 * * * root /home/zaloha_ze_serveru 15 14 * * * root /home/zaloha_databaze 50 22 * * * root /home/vypnout

Řádky mají 5 hvězdiček, představují: minuty, hodiny, den v měsíci, měsíc, den v týdnu.

Tím se dá nastavit, kdy se má skript spustit. První řádek zde znamená, že se skript spouští denně v 17. hodin a 10 minut. */5 v prvním sloupci znamená, že se skript spouští každých 5 minut, dále viz man crontab nebo http://cs.wikibooks.org/wiki/Pl%C3%A1nov%C3%A1n%C3%AD_spou%C5%A1t%C4%9Bn%C3%AD_%C3%BAloh


6. sloupec znamená, jaký uživatel skript spouští a v 7. sloupci je přesná adresa skriptu.

Po úpravě či přidání řádku se musí aktivovat tabulka příkazem /etc/init.d/cron restart.

Toto byl jen příklad, s tabulkou crontab se dá dělat mnoho zajímavých operací.

6. Démoni aneb služby běžící na pozadí


Při běhu systému na pozadí běží obslužné programy, které ovládají spouštění některých služeb, jako jsou tiskové služby, služby sdílení dat mezi počítači, webový server apod. Říká se jim také tzv. démoni. Některé fungují jako server nebo klient- záleží na tom, zda počítač službu poskytuje pro jiné stroje nebo naopak umožňuje připojení stroje k počítači jinému.

Seznam běžících služeb zjistíme vypsáním příkazu ps ax do konzole, jednotliví démoni jsou uvedeni v adresáři /etc/init.d/ a mohou být restartováni příkazem např. /etc/init.d/samba restart pod rootem. Toto jsou právě některé příkazy, které se vyplatí znát pro příkazovou řádku - ušetří hodně času. Start, restart a zastavení démonů je právě jeden z nich.

O démonech bude ještě řeč - při vysvětlování spouštění některých služeb.


Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1595