apt-get install php5 php5-cli apt-get install vim apt-get install rrdtool apt-get install screen apt-get install python apt-get install mercurial apt-get install git apt-get install imagemagick apt-get install fonts-tlwg-sawasdee apt-get install lirc apt-get install php5-mysql mysql-server mysql-client apt-get install python-mysqldb apt-get install sqlite php5-sqlite python-pysqlite2 apt-get install build-essential python-pip python-dev python-smbus git apt-get install sendmail
cd /srv sudo hg clone https://renebe@bitbucket.org/renebe/smarthome/ cd /srv/smarthome/config ln -s ../1wire/configs/ 1wire # fix configuration cd /srv/smarthome/config cp conf.php-dist conf.php vi conf.php cp 1wire/owfs_temperature.py-dist 1wire/owfs_temperature.py
# configure apache
vi /etc/apache2/sites-enabled/000-default
<VirtualHost *:8080>
ServerAdmin smarthome@rene.ee
DocumentRoot /srv/smarthome/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /srv/smarthome/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
/etc/init.d/apache2 restart
# add ssh keys
vi .ssh/authorized_keys
# fix aliases & bashrc
vim ~/.bashrc
alias l='ls -la' alias vi=vim alias 1wire='python /srv/smarthome/1wire/temperature_owfs.py' alias generate_graphs='php /srv/smarthome/1wire/scripts/draw_graphs.php' alias t01='printf "sauna (28.FF24983E0400): ";cat /mnt/1wire/28.FF24983E0400/temperature; echo ""' alias t02='printf "sauna boiler (28.FF959C3C0400): ";cat /mnt/1wire/28.FF959C3C0400/temperature; echo ""' alias t03='printf "server room (28.FFAB583A0400): ";cat /mnt/1wire/28.FFAB583A0400/temperature; echo ""' alias t04='printf "outside (28.FF1D983E0400): ";cat /mnt/1wire/28.FF1D983E0400/temperature; echo ""' alias t05='printf "livingroom (28.FFC4583A0400): ";cat /mnt/1wire/28.FFC4583A0400/temperature; echo ""' alias ttt='t01;t02;t03;t04;t05' cd /srv/smarthome
source ~/.bashrc
# fix hgrc
vi ~/.hgrc
[ui] username = René Bernard <rene@rene.ee>
# fix vimrc
vi ~/.vimrc
syntax enable
set background=dark
colorscheme solarized
set encoding=utf-8
set tabstop=4
set shiftwidth=1
set nocindent
set softtabstop=4
set expandtab
set noerrorbells
set vb
set nowrap
set ruler
set viminfo='100,\"100,:20,%,n~/.viminfo
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
autocmd Filetype gitcommit setlocal spell textwidth=72
# add Estonian locale
locale-gen et_EE.UTF-8 dpkg-reconfigure locales
# shows GUI to select timezone
dpkg-reconfigure tzdata
# crontab
crontab -e
MAILTO="" * * * * * cd /srv/smarthome/; php 1wire/scripts/draw_graphs.php * * * * * cd /srv/smarthome/; sudo php sauna_display.php
# add sudoers
visudo
# for Pi pi ALL=(ALL) NOPASSWD: ALL # for Apache to run GPIO commands www-data ALL=(ALL) NOPASSWD: ALL
# screen
NB! Only run it on the main server and not on all! This is the box that has 1wire sensors and energy sensor connected to it.
vi ~/.screenrc
# don't display the copyright page startup_message off # increase scrollback buffer size defscrollback 10000 # create windows screen -t "job-temperature" python /srv/smarthome/1wire/temperature_owfs.py screen -t "job-energy" python /srv/smarthome/scripts/energy_meter.py screen -t "pi" ssh pi@raspberrypi screen -t "empty"