#!/bin/bash #Item1 Common Command step1_t1=$(date +"%S") sudo apt-get install python3.8 -y sudo apt-get install python3-pip -y sudo pip3 install cryptography==3.3.2 sudo -H pip3 install --upgrade pip sudo apt-get install grep -y sudo apt-get install git -y sudo pip3 install gitpython sudo apt-get install python3-tk -y sudo apt-get install wget -y sudo apt-get install python3-dev -y sudo apt-get install default-libmysqlclient-dev -y sudo apt-get install build-essential -y step1_t2=$(date +"%S") echo 'Item1 Common Command 安裝時間:' $((step1_t2-step1_t1)) '秒' >>/home/使用者/test.log #Item2 LAMP step2_t1=$(date +"%S") echo "start install LAMP" sudo apt-get install tasksel -y sudo DEBIAN_FRONTEND=noninteractive tasksel install lamp-server echo "install phpmyadmin" cd /tmp/;pwd;sudo wget https://files.phpmyadmin.net/phpMyAdmin/5.1.0/phpMyAdmin-5.1.0-all-languages.tar.gz -q;tar -zxvf phpMyAdmin-5.1.0-all-languages.tar.gz;sudo rm phpMyAdmin-5.1.0-all-languages.tar.gz;sudo mv phpMyAdmin-5.1.0-all-languages /var/www/html/phpmyadmin cd /var/www/html/phpmyadmin;pwd;mkdir tmp; cd;pwd; echo "install phpmyadmin done" sudo apt-get install openssl -y sudo apt-get install php-common -y sudo apt-get install php-curl -y sudo apt-get install php-json -y sudo apt-get install php-mbstring -y sudo apt-get install php-mysql -y sudo apt-get install php-xml -y sudo apt-get install php-zip -y #php version sudo apt-get install php7.2-mbstring -y sudo apt-get install php7.2-xml -y sudo apt-get install php7.2-mysql -y sudo apt-get install php7.2-common -y sudo apt-get install php7.2-curl -y sudo apt-get install php7.2-json -y sudo apt-get install php7.2-zip -y echo "open apache2 " sudo service apache2 start echo "setting mysql pass" sudo mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Gold@53743001';" #user='root' #ip='localhost' #pwd='Gold@53743001' #sudo mysql -u root -e "ALTER USER $user@$ip IDENTIFIED WITH mysql_native_password BY $pwd;" step2_t2=$(date +"%S") echo 'Item2 LAMP 安裝時間:' $((step2_t2-step2_t1)) '秒' >>/home/使用者/test.log echo "setting mysql done" #Item3 MQTT # install&setting mqtt server step3_t1=$(date +"%S") sudo -H pip3 install paho-mqtt sudo apt-get install mosquitto -y sudo systemctl start mosquitto sudo ufw allow 1883/tcp sudo ufw allow 8080/tcp # get mqtt server file mosquitto.conf # get mqtt server file passwd.conf cd /home/使用者;pwd;sudo git clone -b mosquitto --single-branch http://60.250.156.230:3000/fatwolf/mqtt_server_setting.git /home/使用者/mosquitto/;sudo git clone -b passwd --single-branch http://60.250.156.230:3000/fatwolf/mqtt_server_setting.git /home/使用者/passwd/;sudo mv /home/使用者/mosquitto/mosquitto.conf /etc/mosquitto/;sudo mv /home/使用者/passwd/passwd /etc/mosquitto/;sudo rm -rf /home/使用者/mosquitto/;sudo rm -rf /home/使用者/passwd/;pwd sudo systemctl restart mosquitto step3_t2=$(date +"%S") echo 'Item3 MQTT 安裝時間:' $((step3_t2-step3_t1)) '秒' >>/home/使用者/test.log echo "mqtt server file done" # install&setting mqtt client # to be confirm packegs #cd /usr/sbin/ # get mqtt client file aisky.mqttd #git clone http://60.250.156.230:3000/fatwolf/mqtt_server_setting.git #Item4 Watchdog # get watchdog file proc-wdtd.conf # get watchdog file proc-wdtd # get watchdog file rc.local step4_t1=$(date +"%S") cd /home/使用者;pwd;sudo git clone -b procwdtdconf --single-branch http://60.250.156.230:3000/fatwolf/proc.git /home/使用者/procwdtdconf/;sudo git clone -b procwdtd --single-branch http://60.250.156.230:3000/fatwolf/proc.git /home/使用者/procwdtd/;sudo git clone -b rclocal --single-branch http://60.250.156.230:3000/fatwolf/proc.git /home/使用者/rclocal/;sudo mv /home/使用者/procwdtdconf/proc-wdtd.conf /etc/;sudo mv /home/使用者/procwdtd/proc-wdtd /usr/sbin/;sudo mv /home/使用者/rclocal/rc.local /etc/;sudo rm -rf /home/使用者/procwdtdconf/;sudo rm -rf /home/使用者/procwdtd/;sudo rm -rf /home/使用者/rclocal/ sudo chmod +x /usr/sbin/proc-wdtd sudo chmod +x /etc/rc.local sudo systemctl restart rc-local.service step4_t2=$(date +"%S") echo 'Item4 Watchdog 安裝時間:' $((step4_t2-step4_t1)) '秒' >>/home/使用者/test.log echo "watchdog file done" #Item5 Git Server step5_t1=$(date +"%S") sudo apt-get install golang -y cd /home/使用者;pwd;git clone http://60.250.156.230:3000/fatwolf/gogsfile.git /home/使用者/gogsfile;sudo mv /home/使用者/gogsfile/gogs_0.12.3_linux_amd64.tar.gz /home/使用者/;sudo rm -rf /home/使用者/gogsfile/;tar -C /home/使用者 -zxvf gogs_0.12.3_linux_amd64.tar.gz;sudo rm -rf /home/使用者/gogs_0.12.3_linux_amd64.tar.gz username=使用者;sudo echo 'gogs = "sudo /home/'$username'/gogs/./gogs web"'>>/etc/proc-wdtd.conf cd /home/使用者;pwd;sudo git clone http://60.250.156.230:3000/Automatic_build_system/git_mysql.git /home/使用者/gitsqlfile/ mysql -u root -pGold@53743001 < "/home/使用者/gitsqlfile/git.sql"; sudo rm -rf /home/使用者/gitsqlfile/ cd /home/使用者;pwd;sudo git clone -b git_repo --single-branch http://60.250.156.230:3000/Automatic_build_system/git_mysql.git /home/使用者/gitmysql/ cd /home/使用者/gitmysql/;pwd;sudo mv /home/使用者/gitmysql/gogs.tar.gz /home/使用者/;sudo mv /home/使用者/gitmysql/repo.tar.gz /home/使用者/ cd /home/使用者;pwd;sudo tar -zxvf /home/使用者/gogs.tar.gz;sudo tar -zxvf /home/使用者/repo.tar.gz ;sudo mv /home/使用者/gitmysql/app.ini /home/使用者/gogs/custom/conf/ sudo rm -rf /home/使用者/gitmysql;sudo rm -rf /home/使用者/gogs.tar.gz;sudo rm -rf /home/使用者/repo.tar.gz;sudo rm -rf /home/使用者/gitmysql cd /home/使用者/gogs/custom/conf/;pwd;sed -i "s/使_用_者/使用者/g" app.ini sudo git config --global --add safe.directory /home/使用者/gogs-repositories/admin1/automatically_install_files.git sudo git config --global --add safe.directory /home/使用者/gogs-repositories/admin1/bbend-test-jwt.git sudo git config --global --add safe.directory /home/使用者/gogs-repositories/admin1/coffee_mysql.git sudo git config --global --add safe.directory /home/使用者/gogs-repositories/admin1/coffeeproject.git sudo git config --global --add safe.directory /home/使用者/gogs-repositories/admin1/git_mysql.git sudo git config --global --add safe.directory /home/使用者/gogs-repositories/admin1/gogsfile.git sudo git config --global --add safe.directory /home/使用者/gogs-repositories/admin1/mqtt_server_setting.git sudo git config --global --add safe.directory /home/使用者/gogs-repositories/admin1/proc.git sudo git config --global --add safe.directory /home/使用者/gogs-repositories/admin1/sh.git step5_t2=$(date +"%S") echo 'Item5 Git Server 安裝時間:' $((step5_t2-step5_t1)) '秒' >>/home/使用者/test.log echo "Git Server done" #Item6 Python packegs Library step6_t1=$(date +"%S") cd /home/使用者;pwd;git clone -b package --single-branch http://60.250.156.230:3000/Automatic_build_system/Automatically_install_files.git;cd Automatically_install_files/;pwd;sudo pip3 install -r requirements.txt sudo rm -rf /home/使用者/Automatically_install_files/ step6_t2=$(date +"%S") echo 'Item6 Python packegs Library 安裝時間:' $((step6_t2-step6_t1)) '秒' >>/home/使用者/test.log #Item7 AP(WebPage) step7_t1=$(date +"%S") cd /home/使用者;pwd;sudo git clone http://60.250.156.230:3000/rita/CoffeeProject.git /home/使用者/CoffeeProject/ username=使用者;sudo echo 'coffee_manage.py = "sudo python3 /home/'$username'/CoffeeProject/coffee_manage.py"'>>/etc/proc-wdtd.conf cd /home/使用者;pwd;sudo git clone http://60.250.156.230:3000/rita/BBend-Test-JWT.git /home/使用者/BBend-Test-JWT/ username=使用者;sudo echo 'BBend_manage.py = "sudo python3 /home/'$username'/BBend-Test-JWT/manage.py"'>>/etc/proc-wdtd.conf cd /home/使用者;pwd;sudo git clone http://60.250.156.230:3000/Automatic_build_system/Coffee_MySQL.git /home/使用者/Coffee_MySQL/ mysql -u root -pGold@53743001 < "/home/使用者/Coffee_MySQL/Coffee_MySQL.sql"; sudo rm -rf /home/使用者/Coffee_MySQL/ step7_t2=$(date +"%S") echo 'Item7 AP(WebPage) 安裝時間:' $((step7_t2-step7_t1)) '秒' >>/home/使用者/test.log echo "AP done" #Item8 ROS ubuntu 18.04 melodic #ROS It should be install in user not install in root #install step8_t1=$(date +"%S") sudo apt-get install chrony -y sudo apt-get install ntpdate -y sudo ntpdate -q ntp.ubuntu.com #var="deb http://packages.ros.org/ros/ubuntu \$(lsb_release -sc) main" sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' #sudo sh -c "echo $var > /etc/apt/sources.list.d/ros-latest.list" sudo apt-key adv --keyserver "hkp://keyserver.ubuntu.com:80" --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 echo "deb ros packages and keyserver" sudo apt-get update -y #sudo apt-get upgrade -y sudo apt-get install ros-melodic-desktop-full -y sudo apt-get install ros-melodic-rqt* -y sudo apt-get install python-rosdep -y sudo rosdep init rosdep update sudo apt-get install python-rosinstall -y sudo apt-get install python-rosinstall-generator -y sudo apt-get install python-wstool -y #setup echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc #Create Ros Workspace mkdir -p /home/使用者/catkin_ws/src cd /home/使用者/catkin_ws/;pwd;source /opt/ros/melodic/setup.bash;/opt/ros/melodic/bin/catkin_make #Setup source /home/使用者/catkin_ws/devel/setup.bash echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc # need user name echo $ROS_PACKAGE_PATH /home/使用者/catkin_ws/src:/opt/ros/melodic/share source ~/.bashrc printenv | grep ROS step8_t2=$(date +"%S") echo 'Item8 ROS ubuntu 18.04 melodic 安裝時間:' $((step8_t2-step8_t1)) '秒' >>/home/使用者/test.log echo "ROS done" sudo reboot