All_installv3.2.sh 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. #!/bin/bash
  2. var1="python 3.8"
  3. var2="python3-pip"
  4. var3="git"
  5. var4="wget"
  6. var5="grep"
  7. var6="tasksel"
  8. var7="lamp-server"
  9. var8="phpMyAdmin-5.1.0-all-languages.tar.gz"
  10. var9="openssl php-common php-curl php-json php-mbstring php-mysql php-xml php-zip"
  11. var10="php7.2-mbstring"
  12. var11="php7.2-xml"
  13. var12="php7.2-mysql"
  14. var13="php7.2-common"
  15. var14="php7.2-curl"
  16. var15="php7.2-json"
  17. var16="php7.2-zip"
  18. var17="service apache2 start"
  19. var18="setting mysql"
  20. var19="paho-mqtt"
  21. var20="mosquitto"
  22. var21="mqtt server file"
  23. var22="watchdog file"
  24. var23="golang"
  25. var24=""
  26. var25="flask"
  27. var26="Flask-SQLAlchemy"
  28. var27="pymysql"
  29. var28="flask_mqtt"
  30. var29="flask_migrate"
  31. var30="flask-jwt-extended"
  32. var31="numpy"
  33. var32="pandas"
  34. var33="opencv-python==4.2.0.34"
  35. var34="BeautifulSoup4"
  36. var35="selenium"
  37. var36="geocoder"
  38. var37="AP"
  39. var38="chrony ntpdate"
  40. var39="deb ros packages and keyserver"
  41. var40="update"
  42. var41="upgrade"
  43. var42="ros-melodic-desktop-full"
  44. var43="ros-melodic-rqt*"
  45. var44="python-rosdep"
  46. var45="python-rosinstall python-rosinstall-generator python-wstool build-essential"
  47. var46="ROS ubuntu 18.04 melodic"
  48. '-Dividing line-'
  49. sudo apt install "$var1" -y
  50. sudo apt-get install "$var2" -y
  51. sudo apt-get install "$var3" -y
  52. sudo apt-get install "$var4" -y
  53. sudo apt-get install "$var5" -y
  54. #Item2 LAMP
  55. echo "start install LAMP"
  56. sudo apt install "$var6" -y
  57. sudo tasksel install "$var7"
  58. echo "install phpmyadmin"
  59. cd /tmp/
  60. pwd
  61. wget https://files.phpmyadmin.net/phpMyAdmin/5.1.0/"$var8"
  62. tar -zxvf phpMyAdmin-5.1.0-all-languages.tar.gz
  63. rm phpMyAdmin-5.1.0-all-languages.tar.gz
  64. mv phpMyAdmin-5.1.0-all-languages /var/www/html/phpmyadmin
  65. cd /var/www/html/phpmyadmin
  66. mkdir /tmp
  67. cd
  68. sudo apt install "$var9" -y
  69. #php version
  70. sudo apt install "$var10" -y
  71. sudo apt install "$var11" -y
  72. sudo apt install "$var12" -y
  73. sudo apt install "$var13" -y
  74. sudo apt install "$var14" -y
  75. sudo apt install "$var15" -y
  76. sudo apt install "$var16" -y
  77. echo "open apache2 "
  78. sudo "$var17"
  79. echo "setting mysql pass"
  80. # sudo mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Gold@53743001';"
  81. user="root"
  82. ip="localhost"
  83. pwd="Gold@53743001"
  84. sudo mysql -u root -e "ALTER USER $user@$ip IDENTIFIED WITH mysql_native_password BY $pwd;"
  85. echo "setting mysql done"
  86. #Item3 MQTT
  87. # install&setting mqtt server
  88. sudo pip3 install "$var19" -y
  89. sudo apt-get install "$var20" -y
  90. sudo systemctl start mosquitto
  91. sudo systemctl enable mosquitto
  92. sudo ufw allow 1883/tcp
  93. sudo ufw allow 8080/tcp
  94. cd /
  95. # get mqtt server file mosquitto.conf
  96. git clone -b mosquitto --single-branch http://60.250.156.230:3000/fatwolf/mqtt_server_setting.git /mosquitto/
  97. # get mqtt server file passwd.conf
  98. git clone -b passwd --single-branch http://60.250.156.230:3000/fatwolf/mqtt_server_setting.git /passwd/
  99. mv /mosquitto/mosquitto.conf /etc/mosquitto/
  100. mv /passwd/passwd /etc/mosquitto/
  101. rm -rf /mosquitto/
  102. rm -rf /passwd/
  103. sudo systemctl restart mosquitto
  104. echo "mqtt server file done"
  105. # install&setting mqtt client
  106. # to be confirm packegs
  107. #cd /usr/sbin/
  108. # get mqtt client file aisky.mqttd
  109. #git clone http://60.250.156.230:3000/fatwolf/mqtt_server_setting.git
  110. #Item4 Watchdog
  111. cd /
  112. # get watchdog file proc-wdtd.conf
  113. git clone -b procwdtdconf --single-branch http://60.250.156.230:3000/fatwolf/proc.git /procwdtdconf/
  114. # get watchdog file proc-wdtd
  115. git clone -b procwdtd --single-branch http://60.250.156.230:3000/fatwolf/proc.git /procwdtd/
  116. #maybe use git clone to copy rc.local file?
  117. #sudo nano /etc/rc.local/
  118. # get watchdog file rc.local
  119. git clone -b rclocal --single-branch http://60.250.156.230:3000/fatwolf/proc.git /rclocal/
  120. mv /procwdtdconf/proc-wdtd.conf /etc/
  121. mv /procwdtd/proc-wdtd /usr/sbin/
  122. mv /rclocal/rc.local /etc/
  123. rm -rf /procwdtdconf/
  124. rm -rf /procwdtd/
  125. rm -rf /rclocal/
  126. sudo systemctl restart rc-local.service
  127. echo "watchdog file done"
  128. #Item5 Git Server
  129. sudo apt-get install "$var23" -y
  130. cd /home/username/
  131. git clone --depth 1 https://github.com/gogs/gogs.git gogs
  132. cd gogs/
  133. go build -o gogs
  134. echo "Git Server done"
  135. # ./gogs web
  136. #Item6 Python packegs Library
  137. sudo pip3 install "$var25" -y
  138. sudo pip3 install "$var26" -y
  139. sudo pip3 install "$var27" -y
  140. sudo pip3 install "$var28" -y
  141. sudo pip3 install "$var29" -y
  142. sudo pip3 install "$var30" -y
  143. sudo pip3 install "$var31" -y
  144. sudo pip3 install "$var32" -y
  145. sudo pip3 install "$var33" -y
  146. sudo pip3 install "$var34" -y
  147. sudo pip3 install "$var35" -y
  148. sudo pip3 install "$var36" -y
  149. #Item7 AP(WebPage)
  150. cd /
  151. git clone http://60.250.156.230:3000/benson/SixthProject.git /Sixth/
  152. mv /Sixth/Sixth-BBend.tar.gz /etc/Sixth
  153. rm -rf /Sixth/
  154. cd /etc/Sixth
  155. tar -zxvf Sixth-BBend.tar.gz
  156. var0="sudo python3 /etc/Sixth/Sixth-BBend/manage.py"
  157. echo "manage.py=$var0" >> /etc/proc-wdtd.conf
  158. echo "AP done"
  159. #Item8 ROS ubuntu 18.04 melodic
  160. #ROS It should be install in user not install in root
  161. #install
  162. sudo apt-get install -y "$var38"
  163. sudo ntpdate -q ntp.ubuntu.com
  164. var="deb http://packages.ros.org/ros/ubuntu \$(lsb_release -sc) main"
  165. # sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
  166. sudo sh -c "echo $var > /etc/apt/sources.list.d/ros-latest.list"
  167. sudo apt-key adv --keyserver "hkp://keyserver.ubuntu.com:80" --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
  168. echo "deb ros packages and keyserver"
  169. sudo apt-get "$var40" -y
  170. sudo apt-get "$var41" -y
  171. sudo apt install "$var42" -y
  172. sudo apt-get install "$var43" -y
  173. sudo apt-get install "$var44" -y
  174. sudo rosdep init
  175. rosdep update
  176. sudo apt-get install "$var45" -y
  177. #setup
  178. source /opt/ros/melodic/setup.bash
  179. echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
  180. source ~/.bashrc
  181. #Create Ros Workspace
  182. mkdir -p ~/catkin_ws/src
  183. cd ~/catkin_ws/
  184. catkin_make
  185. #Setup
  186. source ~/catkin_ws/devel/setup.bash
  187. echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
  188. source ~/.bashrc
  189. # need user name
  190. echo $ROS_PACKAGE_PATH /home/youruser/catkin_ws/src:/opt/ros/melodic/share
  191. source ~/.bashrc
  192. printenv | grep ROS
  193. echo "ROS done"