Come costruire il vostro sito web personale nel vostro fritz!box
Da Vocesuip.
| Questa pagina si trova ancora allo stadio di BOZZA di conseguenza potrebbe contenere informazioni erronee e/o incomplete. Grazie. |
Indice |
Introduzione
Con semplici operazioni è possibile creare un sito web personale nel vostro Fritz!box, ovviamente visibile da chiunque in internet. La procedura è valida per tutti i modelli e può essere adattato sia su Fritz!box con porta USB che su quelli privi: lo spazio a disposizione in questi ultimi è notevolmente ridotto, in questo caso è preferibile installare il sito su un dispositivo NAS.
Accesso al Fritz!box
Probabilmente se sei qui, sai già come abilitare il telnet sul tuo Fritz!box, ciò risulta abbastanza semplice, devi comporre sul un apparecchio telefonico collegato alle porte FON del tuo Fritz Box il codice:
#96*7*
e successivamente collegarti tramite telnet all'indirizzo IP del Fritz!box (su Windows, dal comando esegui digita):
telnet 192.168.178.1
Considerazioni iniziali
Nel file system del Fritz!box sono disponibili vari file, spesso in modalità di sola lettura (read-only). Le porzioni scrivibili sono in realtà mappate direttamente nella meomoria RAM o Flash. E' quindi possibile trasferirvi del software e aggiungere delle nuove funzionalità. Vi sono diversi comandi per poter vedere le caratteristiche del proprio dispositivo, i processi in esecuzione, la memoria disponibile etc, vedi [Come vedere le variabili]
L'ambiente (Sistema Operativo) del Fritz!box - come per molti router ADSL - è un sistema Linux/Unix in cui la maggior parte dei programmi eseguibili sono forniti tramite il tool [busybox]
Tra i vari pacchetti utilizzabili, vi è websrv: questo pacchetto è un server web minimale utilizzato per l'interfaccia web di configurazione del router. Non potendo essere eseguito con porta di ascolto diversa dalla 80 (http) non è possibile riutilizzarlo per servire ulteriori contenuti se non modificando l'interfaccia di configurazione stessa - quindi se volete pubblicare il vostro sito personale è preferibile aggiungere nel vostro Fritz!box un altro server web.
Installazione
Procedura comune per tutti
Registrazione ad un fornitore di DNS Dinamico
Per tutti i dispositivi è necessario:
- un nome di dominio;
- un servizio di DNS dinamico che associ l'IP, che cambia ad ogni nuova connessione, con il nome di dominio.
In rete vi sono diverse organizzazioni che forniscono tutto questo gratuitamente, a livello internazionale uno di provider più affidabili (e gratuiti) è [www.dyndns.org]. In Italia un servizio di DNS dinamico gratuito è fornito da [Dyndns.it] (nonostante il nome non sembra avere affinità con il precedente).
Il servizio è indipendenti dal sistema operativo utilizzato.
Altre società forniscono un servizio più articolato ma a pagamento.
Attivazione del servizio sul Fritz!box
Dopo essersi registrati su un servizio di DNS dinamico, occorre abilitarlo nel nostro Fritz!box.
Sulla pagina web di configurazione del nostro Fritz!box andare su Installation/Internet/Dynamic DNS:
1) Spuntate la prima casella in alto, che vuol dire di usare il servizio DNS dinamico;
2) Inserite o scegliete il fornitore del servizio o se non c'è inseritelo;
3) Inserite il nome che avete collegato e registrato sul vostro fornitore del servizio;
4) Inserite il vostro nick di registrazione o la vostra email su cui vi siete registrati;
5) Inserite la password e confermate questa;
6) Applicate le modifiche con il primo pulsante a sinistra.
Da ora, ogni volta che il Fritz!box stabilirà una nuova connessione internet, comunicherà l'indirizzo IP al provider dyndns che provvederà ad aggiornare i propri DNS servers. Quindi il vostro nome scelto (p.es: mionome.dyndns.org) punterà al vostro router.
Apertura accesso verso l'esterno
ATTENZIONE: è importante che la porta resa disponibile sia solo quella necessaria per evitare l'esposizione dell'interfaccia web del vostro Fritz!box.
Occorre ora aprire verso l'esterno il nostro Fritz!box tramite il Port Forwarding.
Ritornate sulla pagina web del Fritz!box e andate sempre su Installation/Internet, ma questa volta selezionate Port Forward:
1) Cliccare su: New Port Forwarding;
2) Adesso compilate i campi richiesti in modo da avere queste impostazioni:
HTTP-Server TCP xx 192.168.yy.yy zz
dove xx è la porta di "ingresso" da aprire (di solito 80) che sarà mappata alla porta zz, quella in cui il web server che serve le vostre pagine è in ascolto (nell'esempio 8080). Questo farà sì che (da internet) digitando http://mionome.dyndns.org il Fritz!Box serva le vostre pagine personali (la porta http di default è proprio la 80). Attenzione a non impostare la porta zz al valore 80: questo renderebbe l'interfaccia web di configurazione disponibile a chiunque (se proprio volete farlo, impostate una password!)..
192.168.yy.yy (p.es. 192.168.178.253) è il vostro indirizzo interno di rete (annotatelo o stampatevelo per non dimenticarlo, una volta deciso).
Attivazione dell'interfaccia
Adesso entriamo su telnet è attiviamo un interfaccia di rete ethernet con il comando:
ifconfig eth0:1 192.168.yy.yy netmask 255.255.255.0 up
dove yy.yy erano quelli precedentemente scelti nel Port Forward.
Installazione su memoria temporanea
Il trasferimento di file
Vi sono due modi per poter trasferire file da un dispositivo al vostro Fritz!box:
- 1) Avviando il demone tftpd sul dispositivo e trasferire i file dal vostro PC al Fritz!box tramite il comando tftp.
- 2) Utilizzando il client wget in modo da effettuare il download dei file necessari da un sito dove sono parcheggiati.
Su alcuni modelli dotati di porta USB Host è possibile semplicemente copiare i file nel supporto (chiave usb o hard disk usb esterno), collegare il supporto al Fritz!box e configurare di conseguenza il dispositivo (vedi più sotto 'Installazione su NAS' o su porta USB).
Procedura utilizzando wget
Le seguenti istruzioni creano una directory dove installare il server web, eseguono il download del software busybox (in cui è compilata l'applet httpd - il server web), creano una semplice pagina html ed eseguono il processo server web in ascolto sulla porta 8080 (zz).
Collegatevi al dispositivo tramite telnet (le righe che iniziano con # sono commenti):
cd /var/tmp # create la directory web mkdir web # e spostatevi su di essa cd web # caricate busybox scaricandolo dal sito: wget http://nome_sito/busybox # date i permessi di esecuzione al file: chmod 755 busybox # create la directory: mkdir htdocs # e create un file html echo "<html>Hello World!</html>" > htdocs/index.html
infine lanciate in comando:
./busybox httpd -h /var/tmp/web/htdocs -p 8080
La porta 8080 è un esempio, dovete mettere quella precedentemente scelta nel port forwarding - se vi sono messaggi di errore relativi all'apertura del "listener" è probabile che qualche altro pocesso stia già utilizzando la porta 8080, provate con una altro numero, p.es. 8081 e ricordatevi di impostare questa nel port forwarding.
Da un browser nella vostra rete digitate http://198.168.yy.yy:8080 (come sopra): se tutto funziona a dovere dovreste vedere la pagina che avete creato. Da internet, se avere attivato un vostro nome dyndns e il port forward è abilitato correttamente, digitate in un browser http://mionome.dyndns.org e vedrete la vostra pagina. Se avete configurato il port forward dalla porta 80 alla 8080 non è necessario specificare la porta nell'url: di default il servizio http è previsto sulla porta 80 (i.e. http://mionome.dyndns.org:80).
Installazione su NAS
Se avete a disposizione un hard disk di rete (NAS) potete caricare il software e le pagine web e istruire (tramite smbmount) il Fritz!box in modo da eseguire il server web e servire le vostre pagine web direttemante dal NAS (dovete avere già caricato smbmount sul vostro Fritz!box).
1) Create una cartella nel vostro NAS, nell'esempio tmp e sotto questa un'altra dal nome web;
2) Create una ulteriore sottocartella htdocs dove metterete i vostri file html (almeno un index.html);
3) copiate il file busybox e i file html dentro la cartella web sul NAS
4) date i seguenti comandi per rendere i file visibili dal Fritz!box:
mkdir /var/web
smbmount2 mount //nome_del_nas/tmp/web /var/web
oppure
smbmount2 mount //ip_del_nas/tmp/web /var/web
spostatevi sotto la cartella web e guardate il contenuto
cd /var/web/web ls busybox htdocs/ <--- questi file sono in effetti nel NAS
trovando i file soprariportati digitate:
./busybox httpd -h /var/web/web/htdocs -p 8080
(in caso di problemi con la porta 8080, usarne un'altra. es. 8081)
Installazione su pen drive (USB Host)
Collegatevi al dispositivo tramite telnet ed eseguite i comandi (le righe che iniziano con # sono commenti):
cd /var/media/ftp/uStor00 # create la directory web mkdir web # spostatevi su questa directory appena creata: cd web # caricate il busybox inserendo al posto # di path_to l'indirizzo o il nome del sito dov'è si trova il busybox: wget http://path_to/busybox <- indirizzo da cui scaricare la busybox # date i permessi di esecuzione al binario busybox: chmod 755 busybox # create la directory htdocs mkdir htdocs # e impostate la pagina web: echo "<html>nomepagina</html>" > htdocs/index.html
infine lanciate il busybox:
./busybox httpd -h /var/media/ftp/uStor00/web/htdocs -p 8080
(in caso di problemi con la porta 8080, usarne un'altra. es 8081)
Automatizzare la procedura
Al riavvio del Fritz!box il vostro sito personale non sarà più disponibile: i vari comandi che abbiamo eseguito infatti devono essere ri-eseguiti ad ogni restart (ovviamente con l'esclusione della configurazione dyndns e port forwarding che sono permanenti).
Per rendere automatica la configurazione è possibile creare uno script con tutti i comandi da eseguire. Tale file deve essere eseguito in automatico ad ogni riavvio del Fritz!box.
Ad esempio, per rendere automatica la procedura Installazione su memoria temporanea, supponendo che le pagine web siano mantenute su un archivo .tar (htdocs.tar), create un file in /var/tmp/start.sh (usate vi o copiatelo tramite wget):
#!/bin/sh # Edit the following three to match your router fs and download DOWNLOAD_URL=http://path_to/ BASE=/var/tmp SITE=www # Wait a little bit for network to come up sleep 30 # Do the job cd $BASE mkdir $SITE cd $SITE wget $DOWNLOAD_URL/busybox if [ -f "busybox" ] ; then chmod 755 busybox # get web pages an unpack wget $DOWNLOAD_URL/htdocs.tar ./busybox tar xf htdocs.tar rm htdocs.tar # start web server on port 8080 ./busybox httpd -h $BASE/$SITE/htdocs -p 8080 # Bring up network interface on 192.168.yy.yy ifconfig eth0:1 192.168.178.253 netmask 255.255.255.0 up fi exit 0
Una volta creato il file occorre copiarlo nella memoria flash del dispositivo con il nome debug.cfg:
cat /var/tmp/start.sh > /var/flash/debug.cfg


