Files
POConsole-Autoconfig/setup.sh
Patrick McDonagh 16a7a89925 install bower too!
2016-03-24 16:35:33 -05:00

150 lines
4.2 KiB
Bash

#!/bin/bash
echo "POConsole Auto Configuration Script"
echo "-----------------------------------"
echo "Written by: Patrick McDonagh"
echo "Sit back and relax... I'll take over from here"
cd ..
installLoc="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo $installLoc
cd $installLoc/setup
echo "Setting up SSH Key"
mkdir ~/.ssh
cat henryPumpDev.pub >> ~/.ssh/authorized_keys
echo "Changing hostname to poconsole"
sudo mv hostname /etc/hostname
echo "Setting up networking"
sudo mv interfaces /etc/network/interfaces
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y install unzip cmake python-dev htop nginx avahi-daemon screen g++ gcc curl sqlite3
echo "Setting up USB Drive"
sudo mkdir /mnt/usb
sudo mkdir /mnt/usb/CSV
echo "Formatting to EXT4"
sudo mkfs.ext4 /dev/sda1 -L usbdrive
echo "Adding entry for USB in /etc/fstab"
sudo sh -c "echo '/dev/sda1 /mnt/usb ext4 defaults 0 0'>>/etc/fstab"
echo "Mounting all drives"
sudo mount -a
sudo chmod 777 /mnt/usb
sudo chmod 777 /mnt/usb/*
# echo "Configuring MySQL to use the USB drive"
# sudo apt-get install mysql-server mysql-client libmysqlclient-dev
# cd /mnt/usb
# sudo mkdir mysql
# sudo su
# cp -Rv /var/lib/mysql/* /mnt/usb/mysql/
# chown -R mysql:mysql /mnt/usb/mysql
# exit
# cd $installLoc/setup
# sudo service mysql stop
# sudo sed 's:/var/lib/mysql:/mnt/usb/mysql:g' /etc/mysql/my.cnf
# sudo service mysql restart
# echo "Configuring MySQL"
# sudo mv my.cnf /etc/mysql/my.cnf
# sudo service mysql restart
# mysql --user="root" --password="henrypump" --execute="source WellDataEmpty.sql"
# mysql --user="root" --password="henrypump" --execute="source setupUsers.sql"
echo "installing TuxEip"
wget https://github.com/leicht/TuxPLC/archive/master.zip
unzip master.zip
cd TuxPLC-master/tuxeip
cmake CMakeLists.txt
make
cd lib
ar -x libtuxeip.a
gcc -shared *.o -o libtuxeip.so
sudo cp libtuxeip.so /usr/lib/
cd $installLoc/setup
#sudo wget -O /etc/apt/sources.list.d/repository.pi3g.com.list http://repository.pi3g.com/sources.list
#wget -O - http://repository.pi3g.com/pubkey | sudo apt-key add -
echo "Configuring nginx"
sudo mv default /etc/nginx/sites-enabled/default
echo "installing node"
wget http://node-arm.herokuapp.com/node_latest_armhf.deb
sudo dpkg -i node_latest_armhf.deb
# INSTALLING NODE ON UBUNTU
# curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
# sudo apt-get install -y nodejs
sudo npm install -g coffee-script pm2 bower
echo "Configuring Auto-start scripts"
sudo chmod 777 loggers
sudo mv loggers /etc/init.d/
sudo update-rc.d loggers defaults
# NO LONGER USING WEBSITE SINCE SWITCHING TO PM2
# sudo chmod 777 website
# sudo mv website /etc/init.d/
# sudo update-rc.d website defaults
echo "Installing pip - Python Package Manager"
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
sudo pip install mysql requests pycomm
echo "Setting up POConsole software"
mkdir $installLoc/src
cd $installLoc/src
git clone http://patrickjmcd@bitbucket.poconsole.net/scm/poconsole/datalogger.git
git clone http://patrickjmcd@bitbucket.poconsole.net/scm/poconsole/www.git
git clone http://patrickjmcd@bitbucket.poconsole.net/scm/poconsole/filemanager.git
cd $installLoc/src/www
bower install
npm install
# echo "Setting up Wifi Access Point and DHCP Server"
# sudo apt-get install -y hostapd isc-dhcp-server
# sudo cp dhcpd.conf /etc/dhcp/
# sudo cp isc-dhcp-server /etc/default/
# sudo cp hostapd.conf /etc/hostapd/
# sudo cp hostapd /etc/default/
# sudo sed -i '$a net.ipv4.ip_forward=1' /etc/sysctl.conf
# sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
# sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
# sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
# sudo ifdown wlan0
# sudo ifup wlan0
# sudo service hostapd start
# sudo service isc-dhcp-server start
echo "Setup Complete!"
cd $installLoc
mv setup .setup
sudo userdel pi
read -n1 -r -p "Press any key to reboot..." key
if [ "$key" = ' ' ]; then
# Space pressed, do something
sudo reboot
else
# Anything else pressed, do whatever else.
sudo reboot
fi