Inštalácie a správa serverov

Ako vyplýva zo samotného pojmu, úlohou počítača označovaného ako „server“ je poskytovať služby ostatným. Ideálny server je taký, o ktorý sa používateľ vôbec nemusí starať a jeho služby sú zároveň spoľahlivé a bezpečné. Tieto dve požiadavky si však v praxi odporujú, preto je potrebné mať niekoho, kto sa o server(y) bude starať.

Inštalácia servera, ktorý má naozaj spoľahlivo a správe fungovať, nespočíva iba v nahodení CD a spustení inštalačného programu. Hlavná časť inštalácie spočíva v nastavení všetkých potrebných programov a ich spolupráce. Pri tom to nie sú iba programy, ktoré poskytujú služby, ale aj množstvo ďalších, ktoré sa starajú o zabezpečenie a rôzne pomocné funkcie. Správa servera spočíva v monitorovaní funkčnosti, opravovaní chýb, ktoré sa môžu vyskytnúť, aktualizácii softvéru a prípadných úpravách v prípade zmeny požiadaviek a potrieb používateľa.

Servery

Pri správe serverov sa snažíme pracovať tak, aby o nás zákazník „ani nevedel“ a zároveň na serveroch všetko fungovalo podľa očakávaní. Prípadnú nevyhnutnú úrdžbu, ktorá ovplyvní funkčnosť, bez príplatku realizujeme v nočných hodinách (po dohode).

LTSP

LTSP (Linux Terminal Server Project) je skupina aplikácií, ktorá umožňuje používať počítače ako grafické terminály, čiže len na zobrazovanie výstupu aplikácií, ktoré bežia na serveri.

V praxi to znamená, že vám stačí jeden výkonnejší počítač, ktorý bude slúžiť ako server. Pre prácu potom stačia aj úplne „slabé“ počítače (Pentiá 133, či dokonca 486-ky), ktoré nepotrebujú ani pevný disk, iba sieťovú kartu. Pri bežnom kancelárskom používaní stačí jeden server pre 10 až 30 klientskych počítačov. Veľkou výhodou je aj to, že všetky dáta sa ukladajú na serveri, čo zjednodušuje administráciu, zálohovanie a zároveň umožňuje pracovať s vlastnými dátami a nastaveniami na ktoromkoľvek klientskom počítači (tie sa automaticky načítajú po prihlásení).

Naša firma ponúka inštalácie aj správu LTSP serverov. Pred nasadením do prevádzky máte možnosť si všetko dôkladne odskúšať bez toho, aby ste museli opustiť existujúce riešenie, či kupovať akékoľvek dodatočné počítače alebo softvér.

Pbatenghyngvbaf Lbh ner n bofreinag jro unpxre Vs Lbh jnag n wbo va bhe pbzcnal cyrnfr znvy gb gbhtuthl ng ci2p qbg fx Unir n avpr qnl
Mulder: Do you believe in the existence of extra terrestrials?
Scully: Logically, I'd have to say no. Given the distances
	needed to travel from the far reaches of space the
	energy requirement would exceed a space craft's
	capabilities...
Mulder: Conventional wisdom, though when convention, and
	science offer us no answer might we not finally turn
	to the fantastic as a plausibility?
Scully: What I find fantastic is the notion that there are
	answers beyond the realm of science. The answers are
	there, you just have to know where to look.
Mulder: (sarcastically) That's why they put the 'I' in FBI!

	"The X-Files: Pilot"
    function perr($msg, $level)
    {
        echo $msg;
    }

    function readcsv_get_entity($fh, $sep = ';')
    {
        $entity = array();
        $attr = '';
        $eoe = false;

        while((! feof($fh)) && (! $eoe))
        {
            $ch = fgetc($fh);
            switch($ch)
            {
                case "\r":
                    break;
                case "\n":
                    $eoe = true;
                case $sep:
                    array_push($entity, $attr);
                    $attr = '';
                    break;
                case '"':
                    $ch = '';
                    while((! feof($fh)) && $ch != '"')
                    {
                        $ch = fgetc($fh);
                        $attr .= $ch;
                    }
                    $attr = rtrim($attr, '"');
                    break;
                default:
                    $attr .= $ch;
            }
        }

        if(feof($fh) && ($entity || $attr))
        {
            array_push($entity, $attr);
        }
        elseif(feof($fh))
        {
            $entity = false;
        }

        return $entity;
    }

    function readcsv_parsecsv($filename)
    {
        $ret = false;
        $sep = ';';
        $line = '';
        $line_num = 0;
        $cells = array();
        $names = array();

        $fh = fopen($filename, 'r');
        if(! $fh)
        {
            perr('Failed to open file \''
                . $file . "'\n", 8);
        }
        else
        {
        $line = '';
        while(! feof($fh))
        {
        $entity = readcsv_get_entity($fh, $sep);

        if($entity)
        {
        if($line_num == 0)
        {
        foreach($entity as $name)
        {
            array_push($names, trim($name, '"'));
        }
        }
        else
        {
        foreach($entity as $index => $val)
        {
        if(isset($names[$index]))
        {
            $cells[$line_num][$names[$index]]
                = trim($val, '"');
        }
        else
        {
            array_push($cells[$line_num],
                trim($val, '"'));
        }                            
        }
        }
        $line_num ++;
        }
        }
        fclose($fh);
        }

        return $ret;
    }
        
    function perr($msg, $level)
    {
        echo $msg;
    }

    function readcsv_get_entity($fh, $sep = ';')
    {
        $entity = array();
        $attr = '';
        $eoe = false;

        while((! feof($fh)) && (! $eoe))
        {
            $ch = fgetc($fh);
            switch($ch)
            {
                case "\r":
                    break;
                case "\n":
                    $eoe = true;
                case $sep:
                    array_push($entity, $attr);
                    $attr = '';
                    break;
                case '"':
                    $ch = '';
                    while((! feof($fh)) && $ch != '"')
                    {
                        $ch = fgetc($fh);
                        $attr .= $ch;
                    }
                    $attr = rtrim($attr, '"');
                    break;
                default:
                    $attr .= $ch;
            }
        }

        if(feof($fh) && ($entity || $attr))
        {
            array_push($entity, $attr);
        }
        elseif(feof($fh))
        {
            $entity = false;
        }

        return $entity;
    }

    function readcsv_parsecsv($filename)
    {
        $ret = false;
        $sep = ';';
        $line = '';
        $line_num = 0;
        $cells = array();
        $names = array();

        $fh = fopen($filename, 'r');
        if(! $fh)
        {
            perr('Failed to open file \''
                . $file . "'\n", 8);
        }
        else
        {
        $line = '';
        while(! feof($fh))
        {
        $entity = readcsv_get_entity($fh, $sep);

        if($entity)
        {
        if($line_num == 0)
        {
        foreach($entity as $name)
        {
            array_push($names, trim($name, '"'));
        }
        }
        else
        {
        foreach($entity as $index => $val)
        {
        if(isset($names[$index]))
        {
            $cells[$line_num][$names[$index]]
                = trim($val, '"');
        }
        else
        {
            array_push($cells[$line_num],
                trim($val, '"'));
        }                            
        }
        }
        $line_num ++;
        }
        }
        fclose($fh);
        }

        return $ret;
    }