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]
Poslední komentáře