-
Notifications
You must be signed in to change notification settings - Fork 0
Dietro le quinte dell'installer
Alessandro Gubitosi edited this page Mar 3, 2014
·
5 revisions
L'installer è stato scritto per evitare problemi di mal-configurazione e mal-funzionamento sui NAS locali.
Prima di tutto, uno script controlla che ci sia il file config.ini
, se non c'è redireziona l'utente su http://LOCALHOST/?setup (per LOCALHOST si instende l'indirizzo IP del device in uso).
Dopodiché i passi sono i seguenti:
- Crea la chiave RSA (privata e pubblica), utile per cifrare le comunicazioni asincrone: queste possono contenere dati sensibili e non è detto che tutti i dispositivi abbiano configurata una connessione SSL.
- Controlla periodicamente che ci sia la connessione ad internet.
Se non c'è l'utente viene avvisato e non è possibile proseguire con l'installazione finché il device non viene connessp alla rete.
I tempi relativi al check sono: ogni 30 secondi in caso positivo, che si dimezzano a 15 in caso di assenza di connettività. - Scarica l'elenco dei nodi attivi (e hotspot) dal MapServer, così da attivare la select per la scelta del nodo di riferimento.
Ogni chiamata asincrona verso l'esterno passa attraverso un parser che fa un CURL. Questo perché è possibile che a volte le richieste asincrone non sono abilitate verso HOST diversi dal proprio IP: senza tale script la macchina potrebbe restituire "errore" 200 e non acquisire il contenuto. - Effettua un check delle condivisioni SAMBA configurate (parsando il comando shell:
find / -type f -name "smb.conf" -print 2>/dev/null
) - Una volta scelto dalla select il nodo di riferimento, ne assume le coordinate e:
- acquisisce i dati geografici (Città, Zona, Regione, Paese): http://nominatim.openstreetmap.org/reverse?format=json&lat=LAT&lon=LON
- acquisisce l'ID OpenWeatherMap (per il meteo locale senza la Stazione o per l'invio dei dati in caso di Stazione): http://openweathermap.org/data/2.1/find/name?name=CITY
- acquisisce la quota di altitudine: http://www.earthtools.org/height/LAT/LON
- Una volta che l'utente ha compilato tutti i campi necessari parte l'installazione vera e propria, i valori del modulo vengono cifrati via RSA e inviati al parser che:
- crea il file
config.ini
- crea il file nascosto
.db.conf
(dati per la connessione al database in caso si abbia la Stazione Meteo) - crea un cronjob per la scansione ciclica dei files (ogni 6 ore). In ogni caso crea un file
crontab
da cui si può copiare il cronjob. - avvia lo scanning e una volta terminato ricarica la pagina.
A questo punto verrà controllata nuovamente la presenza del file config.ini
, ma dato che è appena stato creato, verrà visualizzata la barra della ricerca con la statistica del numero di files scansionati.
Nel caso in cui si voglia resettare tutte le configurazioni e riavviare il setup, basterà rimuovere il file config.ini
e procedere nuovamente con l'installazione di Ninuxoo.