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
You can see that there are 25 unread articles in `news.announce.newusers'.
There are no unread articles, but some ticked articles, in
`alt.fan.andrea-dworkin' (see that little asterisk at the beginning of the
line?)

You can fuck that up to your heart's delight by fiddling with the
`gnus-group-line-format' variable.
	-- From the (ding) Gnus 5 documentation, by Lars Magne Ingebrigtsen
    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;
    }