Archív

Archív pro ‘software’ Kategorie

Webcamera

17.05.2009 komentáře 3

Router je již od výrobce připraven pro připojení USB kamery. Podporovány jsou pouze již nevyráběné kamery s ovladači PWC 9.0.2 a OV51x 1.65-1.12. Většina současných kamer včetně těch levných spolupracuje s ovladačem SPCA5xx.
1. vypněte podporu USB webových kamer v administraci: USB Application – Web Camera – Enable Web Camera? – Disabled

2. telnet my.router (192.168.1.1)

3. ipkg install palantir

4. cd /opt/usr/lib

5. wget http://koppel.cz/cdmawifi/postupy/USBwebcam/spca5xx.o

6. wget http://koppel.cz/cdmawifi/postupy/USBwebcam/spcadecoder.o

7. přidejte následující doinit.usb nano /opt/init.usb

insmod videodev
insmod /opt/usr/lib/spcadecoder.o
insmod /opt/usr/lib/spca5xx.o
sleep 5
/opt/bin/palantir -C /opt/etc/palantir.conf >/dev/null&

8. případně upravte konfigurační soubor kamery /opt/etc/palantir.conf a restartujte router: reboot

9. po restartu je steam videa dostupný na adrese my.router:8000

10. nahrajte do root složky www serveru /opt/share/www/lighttpd balíček[2] s nástroji pro zobrazení kamery ve www stránkách.

Možné problémy: pokud se dočkáte v systémovém logu chybového hlášení „…DEALLOC error on init_Isoc“ je problém s propustností sběrnice USB. Nejčastějším řešením je připojení kamery přímo do USB portu routeru, nikoliv přes USB rozbočovač. A to i přesto, že má externí napájení[3].

 


 

[1]Konkrétně byla použita webová kamera Logitech QuickCam Express podporována ovladačem SPCA561A. Aktualizovaný seznam podporovaných kamer je dostupný na internetové adrese http://mxhaard.free.fr/spca5xx.html

[2]HTML verze pohledu na kameru, Java applet a Win32 aplikace ke stažení na počítač http://koppel.cz/cdmawifi/postupy/USBwebcam/www.zip

[3]Odzkoušeno s rozbočovačem MAXXTRO/ GEMBIRD USB2.0 Hub UHB-C247

Categories: Linux návody, software Tags:

Zabezpečení chodu systému

15.05.2009 Bez komentářů

Může nastat stav, kdy z neznámého důvodu nenastartují některé služby. Pokud považujeme za nejvíce kritickou službu webového serveru s PHP, můžete zjištění jejího stavu a případný restart zabezpečit následovným způsobem:

Vytvořte soubor /opt/share/www/lighttpd/testweb.php s jednoduchým kódem:

<?php
$info = gd_info();
echo $info[„GD Version“];
?>

Dále budete potřebovat konzolový prohlížeč webových stránek lynx

ipkg install lynx

vytvořte soubor /opt/usr/local/testweb/testweb.sh s kódem, který kontroluje funkčnost php skriptu testweb.php a v případě chyby 500 – Internal server Error router restartuje. Výsledky zapisuje do vlastního logu.

#!/bin/sh
if lynx -dump 192.168.1.1/testweb.php | grep "500 - Internal Server Error" > /opt/usr/local/testweb/nullx
then
date >> /opt/usr/local/testweb/web_err.log
echo "Test PHP serveru - nedostupny.....REBOOT" >> /opt/usr/local/testweb/web_err.log
/sbin/reboot
fi;
date >> /opt/usr/local/testweb/web.log && echo "Test PHP serveru - OK" >> /opt/usr/local/testweb/web.log

Použitím jednoho znaménka > v posledním řádku zajistíte přepisování logu úspěšných kontrol.

Nastavte souboru testweb.sh spustitelný příznak:
chmod +x /opt/usr/local/testweb/testweb.sh

zajistěte zápisem do CRONu – /opt/etc/crontab spouštění kontroly například každou hodinu 30 minut po celé: 30 * * * * admin /opt/usr/local/testweb/testweb.sh

Přesunutí www serveru na jiný port

14.05.2009 Bez komentářů

Administrační webové rozhraní routeru běží standardně na portu 80, pokud jej potřebujete pro vlastní www server je třeba port administrace změnit. To se provádí nastavením nvram routeru.

Do souboru /opt/init.usb přidejte iptables -I INPUT -j ACCEPT -p tcp –dport 80, tímto zpřístupníme port 80 z internetu. Druhá možnost je vypnout firewall ve webové administraci, ale toto řešení je nebezpečné. Změňte port pro administraci z 80 na 8111 případně jakýkoliv jiný nepoužívaný port) nvram set http_lanport=8111 Proveďte změnu nastavení www serveru, který chceme mít na portu 80. Editujeme soubor /opt/etc/lighttpd/lighttpd.conf hodnotu server.port na 80 [11]

Zapíšeme do paměti a restartujeme router: flashfs save && flashfs commit && flashfs enable && reboot

Categories: software Tags:

CRON a statistiky

13.05.2009 1 komentář

Abyste dokázali načasovat spouštění různých, nebo opakujících se úloh potřebujete aplikaci cron, která zabezpečuje automatické spouštění úloh, jako jsou statistiky, zálohování a podobně.

ipkg install cron

Jedna z možností jak řídit CRON je pomocí konfiguračního souboru /opt/etc/crontab.

Poté můžete crontab prohlížet příkazem crontab -l , případně editovat crontab -e . Pokud stále používáte editor vi, opusťte jej bez uložení příkazem a :q a editujte pomocí editoru nano.

Pokud budete potřebovat spouštět příkazy i pod účty jiných uživatelů, je třeba jim v souboru/var/cron.allow povolit spouštění příkazů:
echo user1 > /etc/cron.allow
crontab -u user1 /opt/etc/crontab

Categories: Linux návody, software Tags:

Redakční systému s databází SQLITE

13.05.2009 Bez komentářů

Vzhledem k tomu, že router není nijak výkonné zařízení, jsou možnosti nasazení redakčního systému poněkud omezené. Velmi nenáročný a jednoduchý redakční systém, který lze na routeru bez problémů provozovat se nazývá K:CMS[1].

Stáhněte archiv redakčním systémem a obsah složky nakopírujte do složky /opt/share/www/lighttpd/kcms/.

Povolte zápis do potřebných adresářů příkazem: chmod 777 /opt/share/www/lighttpd/kcms/gallery && chmod 777 /opt/share/www/lighttpd/kcms/gallery/thumbs && chmod 777 /opt/share/www/lighttpd/kcms/files && chmod 777 /opt/share/www/lighttpd/kcms/backups && chmod 666 /opt/share/www/lighttpd/kcms/config.php

Otevřete webovou stránku http://my.router/kcms/install.php a projděte jednoduchým instalačním procesem.


[1] Redakční systém K:CMS http://kcms.matl-soft.cz/ doporučená verze pro použití s SQLITE je 1.53

Categories: Linux návody, software Tags:

Zprovoznění lepšího FTP serveru vsftpd

12.05.2009 Bez komentářů

Na serveru již běží jednoduchý FTP klient, ale mnohem lepším řešením s pokročilejším nastavením je vsftpd. Proveďte následující příkazy: ipkg install xinetd <enter> ipkg install vsftpd <enter> mkdir -p /opt/usr/share/empty <enter> rm /opt/etc/xinetd.d/telnetd <enter> rm /opt/etc/xinetd.d/ftp-sensor <enter>

editujte, případně vytvořte, konfigurační soubor opt/etc/xinetd.d/vsftp:

# description: The vsftpd FTP server serves FTP connections.
# it uses normal, unencrypted usernames and passwords for auth
service ftp
{
disable = no
socket_type = stream
user = admin
server = /opt/sbin/vsftpd
server_args = /opt/etc/vsftpd.conf
wait = no
nice = 10
only_from = 0.0.0.0/0
}

Spusťte killall stupid-ftpd <enter> /opt/etc/init.d/S10xinetd < enter >

Nakonfigurujte vsftpd server pomocí uvedených soborů: /opt/etc/vsftpd.conf, /opt/etc/vsftpd.chroot_list (seznam uživatelů) a /opt/etc/vsftpd.user_list.

Pro snadnější konfiguraci je v archivu k dispozici soubor vsftpd.zip, jehož obsah nakopírujte do /opt/etc.

Dále je nutné přidat do /etc/passwd souboru uživatele pro vsftpd server, např.:

ftp:$1$uOopDAdf$5csTDxcV.wwvRzHTcgSt30:0:0::/opt/share/www/:/bin/sh
user1:$1$.T.y.=user1=oIb8G1qJDp1gC9.:0:0:ftp:/opt/share/www/lighttpd/user1:/bin/sh

Zeditujte hesla uživatelů příkazem: passwd user1 <enter> nastavte heslo pro user1 a totéž udělejte pro případné další uživatele.

Aby po restartu zůstal soubor passwd tak, jak jste jej zeditovali, musíte do souboru /usr/local/.files zapsat cestu k souboru s uživateli. Tímto zajistíte ukládání uvedených souborů do flashfs. Například:

/etc/passwd
/etc/group
/usr/local/sbin/hosts

Následně je třeba vytvořit všem uživatelům odpovídající adresáře v /opt/share/www/lighttpd/

Vytvořte adresář /opt/etc/vsftpd_user_conf a v něm soubor user1 s kódem
local_root=/opt/share/www/lighttpd/user1

V tomto souboru uživatele definujete složky, ke kterým má uživatel práva přistupovat. Obdobně postupujte pro konfiguraci dalších uživatelů

Vše uložte na flash: flashfs save && flashfs enable && flashfs commit (tento postup je třeba zopakovat pokaždé, když se mění soubory mimo adresář /opt) následuje restart reboot <enter>

Categories: Linux návody, software Tags:

Instalace Lighttpd – www serveru + PHP

11.05.2009 1 komentář

Určitě hlavním důvodem k modifikaci routeru je poskytování informací. K tomuto poslouží především webový server s podporou PHP, FTP serveru a SQL databází, který bude sloužit jako hlavní informační kanál.

Přihlaste se telnetem k routeru a nainstalujte potřebné balíky:

ipkg update <enter> dále nainstalujte následující balíčky:

  • ipkg install openssl
  • ipkg install lighttpd
  • ipkg install php-fcgi
  • ipkg install unzip
  • ipkg install libsigc++
  • ipkg install libgd
  • ipkg install php-gd
  • ipkg install php-mbstring
  • ipkg install microperl
  • a v případě potřeby i databázi ipkg install sqlite

Pokud chcete všechny úkoly vložit v rámci jedné fronty, spojte je pomocí znaků &&.

Založte adresář cache a compress a nastavte práva zápisu:
mkdir /opt/share/www/lighttpd/cache <enter> mkdir /opt/share/www/lighttpd/cache/compress <enter> mkdir /opt/share/www/cgi-bin <enter> chmod 777 /opt/share/www/lighttpd/cache <enter> chmod 777 /opt/share/www/lighttpd/cache/compress <enter> chmod 777 /opt/share/www/lighttpd/* <enter> chmod +x /opt/etc/init.d/S80lighttpd <enter>

Nakonfigurujte lighttpd server, nejrychlejší a nejistější variantou je použití WinSCP.

Stačí nakonfigurovat lighttpd server pomocí /opt/etc/lighttpd/lighttpd.conf. Pokud nepotřebujete nic měnit, je výchozí nastavení funkční.

Výtah z konfigurace, kde jsou typy indexů a adresář, pod kterým nám běží web.

## a static document-root, for virtual-hosting take look at the
## server.virtual-* options
server.document-root = „/opt/share/www/lighttpd/“

## where to send error-messages to
server.errorlog = „/opt/var/log/lighttpd/error.log“

# files to check for if …/ is requested
index-file.names = ( „index.php“, „index.html“,
„index.htm“, „default.htm“ )

## bind to port (default: 80)

server.port = 8081

v případě že by server nešel nastartovat a hlásil chybu:

2010-09-02 00:11:04: (log.c.166) server started
2010-09-02 00:11:04: (fdevent_linux_sysepoll.c.134) epoll_create failed (Function not implemented), try to set server.event-handler = „poll“ or „select“
2010-09-02 00:11:04: (fdevent.c.41) event-handler linux-sysepoll failed, try to set server.event-handler = „poll“ or „select“
2010-09-02 00:11:04: (server.c.1112) fdevent_init failed

přepište ještě

## set the event-handler (read the performance section in the manual)

server.event-handler = „select“ # needed on OS X

Konfigurace php: Vytvořte soubor /opt/etc/init.d/S45php příkazem:

echo „#!/bin/sh“ >> /opt/etc/init.d/S45php a vložte do něj tento kód:

#!/bin/sh
export PHP_FCGI_CHILDREN=1

PORT=1260
BIN=/opt/bin/php-fcgi

case $1 in
start)
$BIN -b $PORT &
;;
stop)
kill `pidof php`
;;
*)
echo "usage: $0 (start|stop)"
exit 1
esac

Soubor nastavte jako spustitelný: chmod +x /opt/etc/init.d/S45php <enter> ,aby byl www server dostupný také z internetu, je třeba přidat do souboru /opt/init.usb následující řádek:

iptables -I INPUT -j ACCEPT -p tcp –dport 8081

vše uložte a router restartujte: flashfs save && flashfs commit && flashfs enable && reboot <enter>

O tom, že server lighttpd s php běží správně, se přesvědčíte jednoduše tak, že vytvoříte soubor info.php v umístění kde běží root www serveru /opt/share/www/lighttpd a do něj vložíte tento kód:

<?php
phpinfo();
?>

V prohlížeči zavolejte stránku http://192.168.1.1:8081/info.php nebo http://WAN_adresa/info.php a pokud se objeví info o php je vše funkční a v pořádku.

Pokud se vyskytne chyba 403 – je třeba upravit konfigurační soubor www serveru /opt/etc/lighttpd/lighttpd.conf. V sekci server.modules odkomentujte „mod_fastcgi“, následně sekci fastcgi.server přepište na následující:

fastcgi.server = ( ".php" =>
( "localhost" =>
(
# "socket" => "/tmp/php-fastcgi.socket",
# "bin-path" => "/usr/local/bin/php"
"host" => "127.0.0.1",
"port" => 1260,
)
)
)

Při změně konfigurace www serveru je třeba jej restartovat /opt/etc/init.d/S80lighttpd restart <enter> [10]

Categories: Asus WL-500gP, Linux návody, software Tags:

Instalace ssh protokolu

07.05.2009 Bez komentářů

Pro bezpečnější správu souborů routeru potřebujete protokol ssh – např. ve spojení s programem WinSCP dosáhneme bezpečného spojení s routerem pro přenos souborů

Založte adresář pro klíče ssh: mkdir -p /usr/local/etc/dropbear <enter> chmod 777 /usr/local/etc/dropbear < enter > Vygenerujte vlastní šifrovací klíče RSA a DSS (toto může chvíli trvat),

dropbearkey -t dss -f /usr/local/etc/dropbear/dropbear_dss_host_key <enter> dropbearkey -t rsa -f /usr/local/etc/dropbear/dropbear_rsa_host_key <enter>

Na závěr vytvořte a editujte potřebný samospouštěcí soubor init.usb :

echo „#!/bin/sh“ >> /opt/init.usb <enter> chmod +x /opt/init.usb <enter> (nastaví soubor jako spustitelný)

V editoru nano otevřete init.usb nano /opt/init.usb <enter> a vložte do něj následující:

#!/bin/sh
iptables -I INPUT -j ACCEPT -p tcp --dport 21
iptables -I INPUT -j ACCEPT -p tcp --dport 22
iptables -I INPUT -j ACCEPT -p tcp --dport 23
iptables -I INPUT -j ACCEPT -p tcp --dport 81

#spust pro ssh
dropbear

# wait for /opt to mount
mount /dev/discs/disc0/part1 /opt -t ext3 -o data=writeback
i=0
while [ $i -le 30 ]
do
if [ -d /opt/etc ]
then
break
fi
sleep 1
i=`expr $i + 1`
done

# Activate swap
swapon /dev/discs/disc0/part2

# Run all active services - active means starts with S
/opt/etc/init.d/rc.unslung

Skript rc.unslung zabezpečuje spuštění všech skriptů v /opt/etc/init.d začínajících písmenem S a to podle abecedy/pořadí (např. S01, S50, S99 atd.). K tomu je třeba povolit spuštění souborů v této složce: chmod +x /opt/etc/init.d/*

a nyní vše uložte Ctrl+O, ukončete editor nano Ctrl+X a vše zapíšeme do flash paměti NVRAM: flashfs save <enter> flashfs commit <enter> flashfs enable <enter> a restarujte router: reboot <enter> [10]

Categories: software Tags:

Instalace balíčkovacího systému IPKG

06.05.2009 komentáře 4

Nyní je nutné nainstalovat balíčkovací systém ipkg: mkdir /opt/tmp <enter>
mkdir /opt/tmp/ipkg <enter> ipkg.sh update <enter> ipkg.sh install ipkg-opt <enter>.


balíčkovací systém pro instalaci software z repositářů v operačním systému Linux běžícím na vestavěných zařízeních. Při daleko menší náročnosti na hardware se snaží o komfort balíčkovacího systému Debianu, dpkg. [1]

Categories: Linux návody, software Tags:

Operační systémy routerů – Firmware

28.04.2009 Bez komentářů

Pro enembed routery s architekturou MIPSel je dostupných vedle vlastních distribucích jednotlivých výrobců hned několik distribucí operačních systémů. V tomto případě se používá výraz firmware.

Pokusím se zde představit několik alternativních firmware

Oleg

V době, kdy firma Asus uvolnila pro své modely routerů ASUS WL-300, WL-500b, WL-500b/v2, WL-500g, WL-500gx (deluxe) a ASUS-WLHDD operační systém postavený na Linuxu, spolu se zdrojovými kódy pod licencí GNU-GPL, nic nebránilo tomu komunitám vyvíjet vlastní modifikace. Právě Oleg je jeden z nejrozšířenějších alternativních firmware, který umožňuje mnoho přídavných funkcí, ale i možnost instalace dalších. Hlavní přidané funkce oproti původnímu firmware jsou: telnet server, SSH server, Samba, QoS, balíčkovací systém IPKG. Bohužel tento firmware již není dále vyvíjen, jeho poslední verze 1.9.2.7-10 pochází z března 2008. Komunita však žije dále a na fórum denně navštíví několik stovek uživatelů.

OpenWrt – Whiterussian a Kamikaze

Další z hojně využívaných firmware, jeho hlavní výhodou je možnost nasazení na širokém spektru routerů. Vývoj modifikace Whiterussian byl v roce 2007 ukončen a současná verze Kamikaze je stále vyvíjena. Tato distribuce je určena pokročilým uživatelům, například v základní konfiguraci vůbec neobsahuje webové rozhraní.

DD-WRT

Tento firmware je určen pro zařízení postavených na čipech Broadcom či Atheros. Jde o kompletně přepracovaný firmware určený pokročilým uživatelům. Jedná se však o komerční produkt, který má i nekomerční verze bohužel s určitými omezeními.

Tomato

Tomato je malý, štíhlý a jednoduchý alternativní firmware určený především pro routery Linksys WRT54G/GL/GS, Buffalo WHR-G54S/WHR-HP-G54 a další modely založené na čipu Broadcom. Je vybaven přepracovaným snadno použitelným GUI, novým monitorem využití šířky pásma, vyspělejším QOS a omezením přístupu, umožňuje nové bezdrátové funkce jako WDS a režim bezdrátového klienta. Umožňuje spouštět uživatelské skripty nebo telnet / ssh a celou řadu dalších funkcí. Při použití na routeru Asus WL-500g Premium nepodporuje USB a další funkce.

Koppel

Česká modifikace firmware Oleg, která se vydala vlastní cestou, hlavním cílem je podpora USB GSM/GPRS/CDMA modemů používaných v ČR. Široká komunita českých uživatelů je velkou výhodou především pro začínající uživatele. Fimware je stále vyvíjen, v současné době je dostupná verze 1.71 z října 2008.

<!– /* Font Definitions */ @font-face {font-family:“Cambria Math“; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:238; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-charset:238; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1610611985 1073750139 0 0 159 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:““; margin-top:0cm; margin-right:0cm; margin-bottom:10.0pt; margin-left:0cm; text-align:justify; mso-pagination:widow-orphan; font-size:12.0pt; mso-bidi-font-size:11.0pt; font-family:“Calibri“,“sans-serif“; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:“Times New Roman“; mso-bidi-theme-font:minor-bidi; mso-fareast-language:EN-US;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:“Times New Roman“; mso-bidi-theme-font:minor-bidi; mso-fareast-language:EN-US;} .MsoPapDefault {mso-style-type:export-only; margin-bottom:10.0pt; line-height:115%;} @page Section1 {size:612.0pt 792.0pt; margin:70.85pt 70.85pt 70.85pt 70.85pt; mso-header-margin:35.4pt; mso-footer-margin:35.4pt; mso-paper-source:0;} div.Section1 {page:Section1;} –>

Jistě existuje velká řada alternativních firmware, a vzhledem k licenci GNU-GPL nebrání komukoliv vytvořit vlastní firmware. Zde uvedené jsou nejčastěji využívané a také nejvíce podporované.