#!/bin/bash echo "POConsole Auto Configuration Script" echo "-----------------------------------" echo "Written by: Patrick McDonagh" echo "Sit back and relax... I'll take over from here" 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 mysql-client python-dev htop nginx libmysqlclient-dev avahi-daemon screen mysql-server g++ gcc curl 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 echo "Configuring MySQL to use the USB drive" 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 ~/setup sudo service mysql stop sudo sed 's:/var/lib/mysql:/mnt/usb/mysql:g' /etc/mysql/my.cnf sudo service mysql restart sudo chmod 777 /mnt/usb sudo chmod 777 /mnt/usb/* 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 ~/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 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 "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 forever echo "Configuring Auto-start scripts" sudo chmod 777 loggers sudo chmod 777 website # sudo chmod 777 usbMount sudo mv loggers /etc/init.d/ sudo mv website /etc/init.d/ # sudo mv usbMount /etc/init.d/ # sudo update-rc.d usbMount defaults sudo update-rc.d loggers defaults 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 boto3 pycomm echo "Setting up POConsole software" mkdir ~/src mkdir ~/.aws cp config ~/.aws/ cp checkCurrentVersion.py ~/src/ python ~/src/checkCurrentVersion.py True cd ~/src/www npm install cd ~/setup # 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 cd ~/src git clone https://patrickjmcd@bitbucket.org/poconsole/datalogger.git git clone https://patrickjmcd@bitbucket.org/poconsole/www.git git clone https://patrickjmcd@bitbucket.org/poconsole/filemanager.git echo "Setup Complete!" cd ~ 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