#!/bin/sh # To run from Internet: # sudo sh -c "$(curl -s http://apps.control2net.com/apt/install-lorawan-server)" DIRECTORY="/opt/GoIoT/DinGo/bin/lorawan" if [ ! -d "$DIRECTORY" ]; then echo "..." else echo "Take backup..." DIRECTORYBACKUP="/opt/GoIoT/backup" if [ ! -d "$DIRECTORYBACKUP" ]; then mkdir /opt/GoIoT/backup sudo chmod 0755 /opt/GoIoT/backup fi DIRECTORYTMPBACKUP="/opt/GoIoT/tmplorawanserverbackup" if [ ! -d "$DIRECTORYTMPBACKUP" ]; then mkdir /opt/GoIoT/tmplorawanserverbackup sudo chmod 0755 /opt/GoIoT/tmplorawanserverbackup fi cd /opt/GoIoT/DinGo/bin/lorawan d="$(date +%Y%m%d%H%M%S)" for i in global_conf*; do cp -avrp "$i" "/opt/GoIoT/backup/${i}.${d}" done for i in local_conf*; do cp -p "$i" "/opt/GoIoT/backup/${i}.${d}" done for i in Xglobal_conf*; do cp -p "$i" "/opt/GoIoT/backup/${i}.${d}" done sudo cp -p local_conf.json /opt/GoIoT/tmplorawanserverbackup sudo cp -avrp global_conf.json /opt/GoIoT/tmplorawanserverbackup fi #echo "Install dependencies..." #sudo apt-get update echo "Download files..." cd /opt/GoIoT/DinGo/bin wget -N "http://apps.control2net.com/apt/lorawan/lorawanserver.tar.gz" echo "Extract files..." sudo tar -xvf lorawanserver.tar.gz DIRECTORYTMPBACKUP="/opt/GoIoT/tmplorawanserverbackup" if [ -d "$DIRECTORYTMPBACKUP" ]; then cd /opt/GoIoT/tmplorawanserverbackup sudo cp -p local_conf.json /opt/GoIoT/DinGo/bin/lorawan/ sudo cp -avrp global_conf.json /opt/GoIoT/DinGo/bin/lorawan/ sudo rm -r /opt/GoIoT/tmplorawanserverbackup fi echo "Setup service..." cd /opt/GoIoT/DinGo/bin/lorawan/init.d sudo cp -p lorawanserver-srv /etc/init.d cd /opt/GoIoT/DinGo/bin/lorawan/systemd sudo cp -p lorawanserver.service /lib/systemd/system sudo systemctl daemon-reload sudo chmod +x /etc/init.d/lorawanserver-srv echo "Copy scripts..." cd /opt/GoIoT/DinGo/bin/lorawan/bin sudo chmod +x lorawan* sudo cp -p lorawan* /opt/GoIoT/DinGo/bin echo "Start service...." sudo systemctl enable lorawanserver.service sudo systemctl restart lorawanserver.service echo "Finished." echo "Use these commands to control the service:" echo " lorawan-server-status (show service status)" echo " lorawan-server-start (start the service)" echo " lorawan-server-stop (stop the service)" echo " lorawan-server-restart (restart the service)" echo " lorawan-server-enable (service starts after reboot)" echo " lorawan-server-disable (service does not start after reboot)" echo " lorawan-server (start server directly, not as service)" echo " journalctl -f -u lorawanserver.service (show real-time log)"