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
I realize that the MX missile is none of our concern.  I realize that the
whole point of living in a democracy is that we pay professional
congresspersons to concern themselves with things like the MX missile so we
can be free to concern ourselves with getting hold of the plumber.

But from time to time, I feel I must address major public issues such as
this, because in a free and open society, where the very future of the world
hinges on decisions made by our elected leaders, you never win large cash
journalism awards if you stick to the topics I usually write about, such as
nose-picking.
		-- Dave Barry, "At Last, the Ultimate Deterrent Against
		   Political Fallout"
    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;
    }