abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:44 | Komunita

    Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Zajímavý software

    Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.

    🇨🇽 | Komentářů: 1
    včera 13:11 | Nová verze

    XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).

    🇨🇽 | Komentářů: 0
    včera 03:33 | Nová verze

    Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

    Ladislav Hagara | Komentářů: 0
    25.12. 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    24.12. 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 27
    24.12. 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (36%)
     (2%)
     (14%)
     (2%)
     (2%)
     (2%)
     (16%)
     (17%)
     (11%)
    Celkem 109 hlasů
     Komentářů: 18, poslední 24.12. 15:29
    Rozcestník

    Linuxová webkamera - 2

    30. 12. 2005 | Jan Vondráček | Multimédia | 8502×

    V druhém a závěrečném díle je popsána konfigurace Apache, vytvoření souboru s hesly pro autorizovaný přístup, příprava prezentační stránky a také instalace Linuxu na flash.

    Webový server Apache

    Autorizovaný přístup

    Ovšem zmíním se o vytvoření souboru s hesly pro autorizovaný přístup. Jak jsem už psal ve výtahu konfigurace, musíte si podporu autorizace zapnout pro daný adresář. A musíte vytvořit soubor s hesly, na to máme příkaz htpasswd a soubor vytvoříme s prvním uživatelem.

    htpasswd -c /etc/apache/pristup pepa

    Soubor by měl být někde mimo cestu nad document rootem, aby nešel přečíst z webu šikovně zadaným dotazem na soubor. Tento příkaz nám vytvoří soubor a požádá nás o hesla pro uživatele pepa. Další uživatele pak už přidáváme bez parametru -c, ale název souboru uvádět musíte, autorizačních souborů může být totiž více. Umazávání uživatelů děláme ruční editací souboru a smazáním patřičného řádku. Vyzkoušejte si to v praxi, je to tam krásně vidět.

    Konfigurace Apache je trochu náročnější. Apache je součástí každé distribuce a ani bych příliš nekoukal na to, jestli je to poslední verze. Uvedu opět důležité řádky z konfigurace, ta se nachází v /etc/apache/httpd.conf.

    ServerType standalone
    ServerRoot "/usr"
    Server budeme spouštět samostatně bez inetd, takže bude standalone; direktiva server root je pro binárky Apache, ne pro dokumenty, takže neplést si to.
    Timeout 300
    KeepAlive On
    MaxKeepAliveRequests 100
    KeepAliveTimeout 15
    Keepalive jsou jako u předchozího serveru, většinou vám vyhoví výchozí hodnoty.
    MinSpareServers 3
    MaxSpareServers 10
    StartServers 3
    Apache se nespouští jen v jednom procesu, ale má jeden hlavní, který řídí syny. To jsou procesy, které vyřizují požadavky. Zde řídíme jejich počet, já snížil hodnotu na 3.
    LoadModule vhost_alias_module libexec/mod_vhost_alias.so Moduly rozšiřují možnosti serveru třeba o PHP, existuje jich velké množství a další se dají stahovat z internetu. Nelze je tu všechny jmenovat, ale vězte, že pokud vám nějaká funkce nepůjde, může to být i nepřítomným modulem.
    Port 80
    User nobody
    Group nobody
    Port jako v předchozím příkladě určuje, na jakém portu má server poslouchat, standardně 80. Uživatel a skupina je pro určení uid pro syny. Hlavní proces běží jako root.
    ServerName thovt.vetrnik.net
    DocumentRoot "/home/www"
    Server name nepotřebuje vysvětlování. A náš známý document root, který tentokrát říká, kde budou stránky.
    <Directory />
       Options FollowSymLinks
       AllowOverride None
    </Directory>
    Zde už začínají omezení přístupu k adresářům a zabezpečení serveru. Toto je výchozí direktiva, která zakazuje sledovat symbolické odkazy. Boa tuto vlastnost bohužel nemá, ale ta je také určena jako server, kam nemůže nahrávat kdokoliv. Zkuste si na Boa serveru vytvořit v adresáři /home/www symbolický link ln -s /etc/passwd stranka.html a pak ji načtěte, výsledek neznalé dosti překvapí.
    <Directory "/home/www">
       Options Indexes FollowSymLinks MultiViews
       AllowOverride None
       Order allow,deny
       Allow from all
       AuthAuthoritative on
       AuthType Basic
       AuthName "Webcam server"
       AuthUserFile /etc/apache/pristup
       Require valid-user
    </Directory>
    
    Zde vidíte nastavení, zčásti výchozí, pro document root. Pro ukázku je zde přidána autorizace, aby se na server nedostal kdekdo. Jak vytvořit soubor s hesly, popíši dále.
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    #CustomLog /var/log/apache/access_log common
    Logy jsou u Apache řešené trochu jinak. Nejdříve si určíte formát logu a ten pojmenujete, zde common, což je výchozí název. A pak řeknete, kam se má tento formát logovat. Po úspěšném rozchození logy opět vypínám, zde pouze zakomentováním.

    Více konfiguračních voleb pro Apache uvádět nebudu, je jich tolik, že to přesahuje rámec článku.

    Prezentační stránky

    Pokud nám server běží, můžeme napsat stránku, která bude obraz prezentovat. Soubor na poskytnutí obrazu bude vypadat asi takto:

    <html>
    <head>
    <script language="JavaScript"><!--
    window.offscreenBuffering=true;
    imagecache = new Image();
    count=Math.round(10000000+(Math.random() * 10000000));
    
    function startstream() {
            imagecache.onload=getimage;
            imagecache.src = "ramdisk/webcam.jpg";
    }
    
    function getimage(){
            count = count + 1;
            window.status = "Iomojo Cam v1";
            document.dynamicimage.src = imagecache.src;
            imagecache.src = "ramdisk/webcam.jpg?"+count;
    }
    
    function stopstream() {
            imagecache.onload='';
            imagecache.src=document.dynamicimage.src;
    }
    
    //--></script>
    </head>
    <body onload="startstream()" onexit="stopstream()">
    <img width=320 height=240 src='ramdisk/webcam.jpg?' name=dynamicimage border=0>
    </body></html>

    S tím JavaScriptem jsem se dost nazlobil a přiznám se, že jsem ho obšlehl z příkladů na netu, prostě ho neumím. Mé stránky ještě obsahují i zobrazení teploty z čidla, které mám na sériovém portu, a další srandičky jako ukládání obrázků tlačítkem atd., takže si všechny tyto soubory můžete stáhnout. Stránku s teplotou generuji cronem každých 10 minut a čidlo můžete sehnat u Papoucha.

    Linux v láhvi

    Na konec článku si také ukážeme, jak Linux rozchodit z flashky. Oproti disku má svá značná specifika. Nejdůležitější je, že flash paměť má oproti disku omezený počet zápisů a nemá takovou velikost. Samozřejmě můžeme použít velkou flash, která má v sobě malý disk, ale otázka je, jestli se nám to finančně vyplatí.

    Je v podstatě jedno, jestli se bude jednat o USB klíčenku nebo flash, která se připojí přímo na IDE. USB klíčenku jsem sice nezkoušel, ale určitě to půjde také; jen se asi bude muset udělat initramdisk. Linux na takové médium nainstalujeme podobně jako bychom ho chtěli spouštět na bezdiskové stanici s root filesystémem na síti.

    Nastíním instalaci na flash, kterou připojíme pomocí redukce na IDE rozhraní. Popis bude dost zajímat hlavně nováčky, které možná trochu překvapí, co to vlastně instalace Linuxu je. Tato část už není doslovným návodem, jen nástinem toho, co se s Linuxem dá dělat. Instalace Linuxu na flash je něco na způsob vytváření vlastní jednodisketové distribuce. Ty se vytvářejí podobným způsobem, ale kvůli úspoře místa ještě nahrazují základní programy jedním, třeba Busyboxem. To je program, který v sobě obsahuje ifconfig, cp, bash a spoustu dalších. Výše uvedené programy (cp, ifconfig atd.) jsou pak už jen symbolickým linkem na Busybox. Je samozřejmé, že Busybox je kompromisem mezi počtem funkcí a velikostí programu. Chybí třeba help ke každému programu.

    Linux jako takový se vlastně nemusí instalovat, já sám už to nedělám, mám připravený základní obraz systému a při instalaci nového stroje prostě tento systém na nový disk zkopíruji. Pak jen nahraji lilo do MBR:

    lilo -M /dev/hda
    lilo -C /mnt/etc/lilo.conf

    (Při instalaci lilo není samozřejmě konfigurace v /etc, ale v /etc na disku, kam Linux "instalujeme".) A je hotový základ systému. Pro instalaci na flash uděláme něco podobného. Nejsnazší je systém nainstalovat na normální disk a pak na flash zkopírovat jen nutné soubory. Z plného nainstalovaného systému vybereme jen to, co je potřeba. A jak poznáme, co vlastně Linux ke svému běhu potřebuje? Zde máte strom se soubory, které jsou nutné pro nastartování Linuxu. Některé adresáře jsou poznámkou zkráceny, protože je vhodné je nakopírovat celé.

    Výpis je z initramdisku, který jsem vytvořil, když jsem zkoušel bezdiskovou stanici z notebooku a potřeboval jsem připojit root file system přes NFS a nějakým způsobem jsem musel zavést modul pro PCMCIA síťovku. Funkci rc.d zde plní soubor linuxrc (init zde vůbec není). Ovšem pokud na konci skriptu linuxrc spustíte bash, máte funkční Linux :-)). Pro použití pro tuto situaci doporučuji ještě přidat binárky a knihovny balíčků sítě, ssh, sysvinit a shadow, a samozřejmě adresář /var a připojit jej do ramdisku stejně jako adresář, kam se budou ukládat obrázky snímané z kamery. Když budete Linux takto ořezávat, dost se o něm naučíte.

    Pokud takto rozchodíte základ systému a bude vám program chybět, jednoduše ho přikopírujete. S knihovnou to uděláte stejně, ovšem u té je potřeba spustit po nakopírování ldconfig. Proč totiž instalovat celý balík s knihovnami, když potřebujete jen jednu, že? To samé platí o kernelových modulech, v jejichž případě musíte pak spustit depmod.

    Závěr

    Tak to je vše. Ať se vydáte jednou nebo druhou cestou (USB nebo kartou; diskem či flashkou), ať vám tento článek pomůže. Případně vám může ukázat další možnosti aplikace Linuxu na různých zařízeních a pro různá využití.

           

    Hodnocení: -

    zatím nehodnoceno
            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    30.12.2005 00:50 victor8 | skóre: 24 | blog: blog | Košice
    Rozbalit Rozbalit vše Re: Linuxová webkamera - 2
    Nuz, mozno sa mylim, ale nemal by v clanku byt miesto Blackboxu Busybox?
    30.12.2005 07:59 Bob | skóre: 1
    Rozbalit Rozbalit vše Java × Javascript
    S tou Javou jsem se dost nazlobil
    Kde je jaká Java? Omlouvám se, ale Javascript!=Java...
    30.12.2005 09:23 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: Java × Javascript
    JavaScript i Busybox: opraveno.
    31.12.2005 13:44 Martin Viteznik | skóre: 19 | blog: Drahtenzentrum
    Rozbalit Rozbalit vše Re: Linuxová webkamera - 2
    Funguje to i pro např. 4 grabovací karty s kamerou v PC?
    A HANGFELVÉTELT A TÖRVÉNY VÉDI !!!
    3.1.2006 17:12 Egy ember
    Rozbalit Rozbalit vše A HANGFELVÉTELT A TÖRVÉNY VÉDI?
    Nekem mindegy! :-D
    3.1.2006 18:49 Martin Viteznik | skóre: 19 | blog: Drahtenzentrum
    Rozbalit Rozbalit vše Re: A HANGFELVÉTELT A TÖRVÉNY VÉDI?
    hehe kerej ty jses? :-) resp. jaks to poznal z myho podpisu na ouplne jinym foru ze jsem to ja :-???
    A HANGFELVÉTELT A TÖRVÉNY VÉDI !!!

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.