coffeesystem.sh 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. #!/bin/bash
  2. #Item1 Common Command
  3. export DEBIAN_FRONTEND="noninteractive"
  4. step1_t1=$(date +"%S")
  5. sudo apt-get install dialog -y
  6. sudo apt-get install python3.8 -y
  7. sudo apt-get install python3-pip -y
  8. sudo pip3 install cryptography==3.3.2
  9. sudo -H pip3 install --upgrade pip
  10. sudo apt-get install grep -y
  11. sudo apt-get install git -y
  12. sudo pip3 install gitpython
  13. sudo apt-get install python3-tk -y
  14. sudo apt-get install wget -y
  15. sudo apt-get install python3-dev default-libmysqlclient-dev build-essential -y
  16. step1_t2=$(date +"%S")
  17. echo 'Item1 Common Command 安裝時間:' $((step1_t2-step1_t1)) '秒' >>/home/使用者/test.log
  18. #Item2 LAMP
  19. step2_t1=$(date +"%S")
  20. echo "start install LAMP"
  21. sudo apt-get install tasksel -y
  22. sudo DEBIAN_FRONTEND=noninteractive tasksel install lamp-server
  23. echo "install phpmyadmin"
  24. 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
  25. cd /var/www/html/phpmyadmin;pwd;mkdir tmp;
  26. cd;pwd;
  27. echo "install phpmyadmin done"
  28. sudo apt-get install openssl -y
  29. sudo apt-get install php-common -y
  30. sudo apt-get install php-curl -y
  31. sudo apt-get install php-json -y
  32. sudo apt-get install php-mbstring -y
  33. sudo apt-get install php-mysql -y
  34. sudo apt-get install php-xml -y
  35. sudo apt-get install php-zip -y
  36. #php version
  37. sudo apt-get install php7.2-mbstring -y
  38. sudo apt-get install php7.2-xml -y
  39. sudo apt-get install php7.2-mysql -y
  40. sudo apt-get install php7.2-common -y
  41. sudo apt-get install php7.2-curl -y
  42. sudo apt-get install php7.2-json -y
  43. sudo apt-get install php7.2-zip -y
  44. echo "open apache2 "
  45. sudo service apache2 start
  46. echo "setting mysql pass"
  47. sudo mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Gold@53743001';"
  48. #user='root'
  49. #ip='localhost'
  50. #pwd='Gold@53743001'
  51. #sudo mysql -u root -e "ALTER USER $user@$ip IDENTIFIED WITH mysql_native_password BY $pwd;"
  52. step2_t2=$(date +"%S")
  53. echo 'Item2 LAMP 安裝時間:' $((step2_t2-step2_t1)) '秒' >>/home/使用者/test.log
  54. echo "setting mysql done"
  55. #Item3 MQTT
  56. # install&setting mqtt server
  57. step3_t1=$(date +"%S")
  58. sudo -H pip3 install paho-mqtt
  59. sudo apt-get install mosquitto -y
  60. sudo systemctl start mosquitto
  61. sudo ufw allow 1883/tcp
  62. sudo ufw allow 8080/tcp
  63. # get mqtt server file mosquitto.conf
  64. # get mqtt server file passwd.conf
  65. 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
  66. sudo systemctl restart mosquitto
  67. step3_t2=$(date +"%S")
  68. echo 'Item3 MQTT 安裝時間:' $((step3_t2-step3_t1)) '秒' >>/home/使用者/test.log
  69. echo "mqtt server file done"
  70. # install&setting mqtt client
  71. # to be confirm packegs
  72. #cd /usr/sbin/
  73. # get mqtt client file aisky.mqttd
  74. #git clone http://60.250.156.230:3000/fatwolf/mqtt_server_setting.git
  75. #Item4 Watchdog
  76. # get watchdog file proc-wdtd.conf
  77. # get watchdog file proc-wdtd
  78. # get watchdog file rc.local
  79. step4_t1=$(date +"%S")
  80. 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/
  81. sudo chmod +x /usr/sbin/proc-wdtd
  82. sudo chmod +x /etc/rc.local
  83. sudo systemctl restart rc-local.service
  84. step4_t2=$(date +"%S")
  85. echo 'Item4 Watchdog 安裝時間:' $((step4_t2-step4_t1)) '秒' >>/home/使用者/test.log
  86. echo "watchdog file done"
  87. #Item5 Git Server
  88. step5_t1=$(date +"%S")
  89. sudo apt-get install golang -y
  90. cd /home/使用者;pwd;git clone http://60.250.156.230:3000/fatwolf/gogsfile.git /home/使用者/gogs;sudo mv /home/使用者/gogs/gogs_0.12.3_linux_amd64.tar.gz /home/使用者/;sudo rm -rf /home/使用者/gogs/;tar -C /home/使用者 -zxvf gogs_0.12.3_linux_amd64.tar.gz
  91. step5_t2=$(date +"%S")
  92. echo 'Item5 Git Server 安裝時間:' $((step5_t2-step5_t1)) '秒' >>/home/使用者/test.log
  93. echo "Git Server done"
  94. # ./gogs web
  95. #Item6 Python packegs Library
  96. step6_t1=$(date +"%S")
  97. 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
  98. step6_t2=$(date +"%S")
  99. echo 'Item6 Python packegs Library 安裝時間:' $((step6_t2-step6_t1)) '秒' >>/home/使用者/test.log
  100. #Item7 AP(WebPage)
  101. step7_t1=$(date +"%S")
  102. cd /home/使用者;pwd;sudo git clone http://60.250.156.230:3000/rita/CoffeeProject.git /home/使用者/CoffeeProject/
  103. username=使用者;sudo echo 'coffee_manage.py = "sudo python3 /home/'$username'/CoffeeProject/coffee_manage.py"'>>/etc/proc-wdtd.conf
  104. cd /home/使用者;pwd;sudo git clone http://60.250.156.230:3000/Automatic_build_system/Coffee_MySQL.git /home/使用者/Coffee_MySQL/
  105. mysql -u root -pGold@53743001 < "/home/使用者/Coffee_MySQL/Coffee_MySQL.sql";
  106. sudo rm -rf /home/使用者/Coffee_MySQL/
  107. step7_t2=$(date +"%S")
  108. echo 'Item7 AP(WebPage) 安裝時間:' $((step7_t2-step7_t1)) '秒' >>/home/使用者/test.log
  109. echo "AP done"
  110. #Item8 ROS ubuntu 18.04 melodic
  111. #ROS It should be install in user not install in root
  112. #install
  113. step8_t1=$(date +"%S")
  114. sudo apt-get install -y chrony ntpdate
  115. sudo ntpdate -q ntp.ubuntu.com
  116. #var="deb http://packages.ros.org/ros/ubuntu \$(lsb_release -sc) main"
  117. sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
  118. #sudo sh -c "echo $var > /etc/apt/sources.list.d/ros-latest.list"
  119. sudo apt-key adv --keyserver "hkp://keyserver.ubuntu.com:80" --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
  120. echo "deb ros packages and keyserver"
  121. sudo apt-get update -y
  122. #sudo apt-get upgrade -y
  123. sudo apt install ros-melodic-desktop-full -y
  124. sudo apt-get install ros-melodic-rqt* -y
  125. sudo apt-get install python-rosdep -y
  126. sudo rosdep init
  127. rosdep update
  128. sudo apt-get install python-rosinstall -y
  129. sudo apt-get install python-rosinstall-generator -y
  130. sudo apt-get install python-wstool -y
  131. #setup
  132. echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
  133. source ~/.bashrc
  134. #Create Ros Workspace
  135. mkdir -p /home/使用者/catkin_ws/src
  136. cd /home/使用者/catkin_ws/;pwd;source /opt/ros/melodic/setup.bash;/opt/ros/melodic/bin/catkin_make
  137. #Setup
  138. source /home/使用者/catkin_ws/devel/setup.bash
  139. echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
  140. source ~/.bashrc
  141. # need user name
  142. echo $ROS_PACKAGE_PATH /home/使用者/catkin_ws/src:/opt/ros/melodic/share
  143. source ~/.bashrc
  144. printenv | grep ROS
  145. step8_t2=$(date +"%S")
  146. echo 'Item8 ROS ubuntu 18.04 melodic 安裝時間:' $((step8_t2-step8_t1)) '秒' >>/home/使用者/test.log
  147. echo "ROS done"
  148. export DEBIAN_FRONTEND="dialog"
  149. sudo reboot