Oggi ho piazzato un’immaginetta nella sidebar con lo stato della fonera (a proposito ho la sidebar intasata accetto consigli…l’ideale sarebbe una seconda sidebar ma il tema non ne supporta due).
Lo script per realizzare l’immagine l’ho preso dal blog “Scopriamo l’acqua calda“, scovato per caso googlando. Devo dire che fa figo 😀 … se vi interessa prendete da là la pagina in php che crea l’immagine, lo script bash da dare in pasto alla fonera e l’immagine base.
Nel post dell’autore non è spiegato per niente come fare ed effettivamente non è difficile ma magari qualcuno non sa dove mettere le mani.
Riassumo molto semplicemente; creiamo sul nostro server una cartella (non so cosa avviene in un server normale ma col mio creando la cartella da root ho dovuto dare i permessi perchè apache potesse scriverci) e ci piazziamo dentro il file in php fon_lives_php.txt togliendo il “.txt” e l’immagine fon_status.png.
Entriamo via ssh nella fonera (si avere accesso ssh è un requisito essenziale per ottenere il risultato) e ci scarichiamo il file fon_update_sh.txt; per spostarlo dentro la fonera si può mettere il file in un server web e usare wget da dentro la fonera, oppure più velocemente si può usare scp, una volta spostato togliamo il “.txt”. (non ho messo i link diretti ai file per rispetto verso l’autore 😉 andate nel suo blog per prenderli )
Ora bisogna modificare il file php e lo script inserendo le proprie variabili. Nel file fon_update.sh basta inserire l’indirizzo web del server dove è salvata la pagina in php subito dopo a “remote=” . Nel file in php invece bisogna inserire il MAC Address dell’interfaccia eth0 della fonera (per scoprirlo basta un ifconfig eth0) subito dopo a “$ok_mach”, ATTENTI a inderire il Mac address con le lettere maiuscole e con i due punti, poi bisogna inserire la posizione dove salvare l’immagine modificata subito dopo a “$filename” e infine la posizione dell’immagine base subito dopo a “$image”.
Volendo nel file php si può cambiare il risultato dell’immagine che viene fuori, per esempio si possono mettere i propri nomi delle wireless (al posto di FON_AP e MyPlace) oppure cambiare la posizione delle scritte ecc…
L’ultimo passo è assicurarsi che lo script bash nella fonera venga avviato regolarmente per aggiornarne lo stato. La via più semplice è quella di usare cron. Se vi trovate bene con vi allora digitate
crontab -e
io che non lo posso sopportare 😀 ho dato un
nano /etc/crontabs/root
solo dopo aver installato nano con ipkg. Per l’utilizzo di crontab vi rimando qui. Io ho impostato che lo script venga avviato ogni 20minuti; l’unica nota negativa è che le informazioni compreso il MAC Address viaggiano in chiaro…io non ho problemi perchè il server è in locale ma anche in generale non credo sia una tragedia.
Vero; ho lasciato a desiderare con le spiegazioni. Un po’ perché scrivere anche il più piccolo tutorial non è così semplice come immaginavo (lode a chi lo fa ogni giorno) e un po’ per scoraggiare chi ha troppe domande da fare. I fatti mi hanno dato ragione: ci prova solo chi sa dove mettere le mani e senza chiedere lumi.
si bè se uno non sa cos’è uno script bash…cron…ssh ecc difficilmente riesce a seguire anche quello che ho scritto io 😉
ehi ma è scomparso il tuo articolo sul tuo blog!
porc… chissà che ho combinato (se lo richiamo direttamente c’è, ma è fuori da ogni lista).
poi ci guardo, al massimo ho un backup di pochi giorni fa
ciao!
ho seguito la guida, solo che una volta che ho messo i file nel server (di un mio amico, visto che io non ne ho) ricevo l’errore 500. Gli attributi dei file sono impostati a 777. Cosa può essere che non và?
quando hai l’errore? Quando accedi all’immagine o quando fai partire lo script?
è difficile dire perchè è un errore un pò generale
In entrambi i casi. Provando ad eseguire lo script ricevo: “wget: server returned error 500: HTTP/1.1 500 Internal Server Error” . Provando ad accedere col browser direttamente alla pagina php ricevo: “500 Internal Server Error. The server encountered an internal error or misconfiguration and was unable to complete your request.” invece di “errore madornale”. Possono essere gli attributi da impostare diversamente?
il mio ha “-rwxrwxrwx” quindi 777…il server è windows o linux?
effettivamente se ci accedo direttamente dal browser mi dice “errore madornale” 😀
non vorrei che fosse il server senza alcune estensioni di php per gestire/modificare le immagini…però mi pare strano che venga direttamente un errore del server e non un errore di php
Era in un server linux. Ora abbiamo spostato tutto nel sever windows e affaccia “errore madornale”. Eseguo lo script e non ricevo nessun tipo di errore. Purtroppo però non crea nessuna immagine.
I file sono messi tutti in una cartella ed ho modificato il file php così:
$filename = “fonerastatus1.png”;
$image = ImageCreateFromPNG(“fon_status.png”);
dovrebbe quindi creare l’immagine dentro la cartella, giusto?
io ho messo “./fonerastatus.png” ma è una dicitura unix non credo funzioni con windows
per sicurezza indicagli tutto il path
e controlla i permessi della cartella dove deve scrivere l’immagine!
ok, in questi giorni proverò. grazie per l’aiuto.
Oggi ho fatto altre prove e sono riuscito a capire l’errore:
Fatal error: Call to undefined function:imagecreatefrompng().
Ho cercato in rete e ho trovato un pò di spazio web gratuito dove ho messo i file php ed ora lo script funziona.
Ora devo solo sistemare l’avvio automatico.
Per farlo avviare ogni 15 minuti devo inserire in cron la seguente riga?
*/15 * * * * /bin/update_status.sh
bene!
si va bene così!