Come costruire il vostro sito web personale nel vostro fritz!box

Da Vocesuip.
5 3.jpg 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
Strumenti personali