-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the Thermo wiki!
Mentre "provo" un'installazione, trascrivo sul wiki http://www.raspibo.org/wiki/index.php/Thermo
sudo raspi-config sudo aptitude update sudo aptitude dist-upgrade
mkdir git cd git git clone https://github.com/raspibo/ThermoRed.git git clone https://github.com/raspibo/ThermoRed.wiki.git git clone https://github.com/raspibo/CentRed.git git clone https://github.com/raspibo/CentRed.wiki.git git clone https://github.com/andymccurdy/redis-py.git
sudo aptitude install checkinstall cd redis-py/ sudo checkinstall python3 setup.py install
sudo aptitude install nginx fcgiwrap
Riferimenti:
sudo cp /usr/share/doc/fcgiwrap/examples/nginx.conf /etc/nginx/fcgiwrap.conf
Prima di modificare il file copiato in precedenza (fcgiwrap.conf), meglio reiniziare a riconfigurare il server.
sudo rm /etc/nginx/sites-enabled/default sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/thermo
Modifico /etc/nginx/sites-available/thermo, per ora mi sono limitato a modificare:
- root /var/www;
- # fast cgi support
include /etc/nginx/fcgiwrap.conf;
- root /var/www;
sudo mkdir -p /var/www/cgi-bin sudo ln -s /etc/nginx/sites-available/thermo /etc/nginx/sites-enabled/ sudo invoke-rc.d nginx restart
Clono "me stesso"
cd ~/git git clone https://github.com/raspibo/Thermo.wiki.git git clone https://github.com/raspibo/Thermo.git
Utilizzo "midnight commander" come root: sudo mc (durante la copia riassegnero` tutti i permessi a root e aggiungero il bit di eseguibile agli script in cgi-bin). Copiero` solamente i files ncessari (ovviamente), in sospeso mi rimane l'eseguibile principale "startred.py", sara` da modificare e probabilmente sara` meglio spostarlo, ma per ora lascio com'e`.
Preparo anche il file ".htaccess":
sudo su echo -n "thermo" >> /var/www/.htpassw echo -n ":" >> /var/www/.htpasswdd openssl passwd >> /var/www/.htpasswd
Aggiungo il javascript per il grafico delle temperature (http://dygraphs.com):
sudo su cd /var/www/ apt-get install aria2 aria2c http://dygraphs.com/1.1.0/dygraph-combined.js
Da un terminale mi collego in tunnel ssh (perche` "thermo" si trova fisicamente in un'altro luogo, in un'altra rete):
ssh -L 8080:thermo:80 <USERNAME>@<NO-IP.REMOTE.HOST> -o ServerAliveInterval=60.. e ovviamente, nel browser digito "localhost:8080".
Modifico /etc/nginx/sites-available/thermo, aggiunto autenticazione:
# Auth auth_basic "mysiteauth"; auth_basic_user_file /var/www/.htpasswd;
e riavvio:
sudo invoke-rc.d nginx restart
Ok. Siamo al bivio.
Correggere gli script per il funzionamento con i files di configurazione (lettura/scrittura), oppure "svoltiamo" utilizzando un database (ovviamente sto` pensando a "redis", gia` usato in "centred") ?
- Nella prima ipotesi, dovrebbe essere tutto semplice, ma rimarrebbe (forse) una struttura un po` rigida e difficilmente modificabile (?)
- Nella seconda ipotesi, si dovrebbero semplificare tante cose, ma e` tutto, tutto, tutto .. da riscrivere (si salva poco)
sudo su apt-get install redis-server
Ho cominciato a scrivere un po` di software.
Come prima cosa ho cercato di fare e manipolare via web un file "/var/www/conf/thermo.json" dove inserire i parametri per l'accesso al database Redis (predisponendolo per aggiunte future), al file ho assegnato user/group "www-data", cosi` che sia scrivibile da 'cgi-web-scripts', poi saranno da rivedere tutti gli attributi e i diritti di tutti i files (alla fine, prima cerchiamo di avere qualcosa di funzionante).
Il contenuto del file "thermo.json":
[ { "name": "redis", "value": [ { "name": "hostname", "value": "localhost" }, { "name": "port", "value": "6379" }, { "name": "db", "value": "0" }, { "name": "password", "value": "" } ] } ]
Il resto dei parametri di configurazione sara` inserito all'interno del database di Redis.