Advertisement
Guest User

UNIT3D Shell

a guest
Jan 10th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2. # UNIT3D MySQL package for Ubuntu 16.04
  3.  
  4. # Am I root?
  5. if [ "x$(id -u)" != 'x0' ]; then
  6.     echo
  7.     echo "================ Error ================="
  8.     echo "This script can only be executed by root"
  9.     echo "========================================"
  10.     echo
  11.     exit 1
  12. fi
  13.  
  14. # Check OS
  15. if [ "$(head -n1 /etc/issue | cut -f 1 -d ' ')" != 'Ubuntu' ] && [ "$(lsb_release -r|awk '{print $2}')" != '16.04' ]; then
  16.     echo
  17.     echo "================== Error ====================="
  18.     echo "This script may be run only on Ubuntu 16.04"
  19.     echo "=============================================="
  20.     echo
  21.     exit 1
  22. fi
  23.  
  24. gen_pass() {
  25.     MATRIX='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
  26.     LENGTH=16
  27.     while [ ${n:=1} -le $LENGTH ]; do
  28.         PASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}"
  29.         let n+=1
  30.     done
  31.     echo "$PASS"
  32. }
  33.  
  34. clear
  35. echo
  36. echo
  37. echo '  ██   ██  ███     ██  ██  ████████  ██████  ██████   ███████     '
  38. echo '  ██   ██  ██ ██   ██  ██     ██     ██           ██  ██     ██   '
  39. echo '  ██   ██  ██  ██  ██  ██     ██     ██████   ██║██   ██      ██  '
  40. echo '  ██   ██  ██   ██ ██  ██     ██     ██           ██  ██     ██   '
  41. echo '  ███████  ██     ███  ██     ██     ██████  ██████   ███████     '
  42. echo
  43. echo '                             UNIT3D Package for Ubuntu 16.04 '
  44. echo -e "\n\n"
  45.  
  46. echo
  47. echo "=========== Install overview ==========="
  48. echo
  49. echo "- PHP 7.1 (stable >= 7.1.2) with PHP-FPM"
  50. echo "- Redis Server"
  51. echo "- Nginx (stable >= 1.10)"
  52. echo "- MySQL (5.7+)"
  53. echo "- Composer"
  54. echo "- UNIT3D"
  55. echo
  56.  
  57. read -p 'Are you ready to install right now? [y/n]): ' answer
  58. if [ "$answer" != 'y' ] && [ "$answer" != 'Y'  ]; then
  59.     clear
  60.     echo 'Maybe Next Time Then...'
  61.     exit 1
  62. fi
  63.  
  64. echo "- System utils installing..."
  65. apt-get install mc zip unzip htop python-software-properties software-properties-common build-essential -y > /dev/null 2>&1
  66.  
  67. add-apt-repository ppa:ondrej/php -y > /dev/null 2>&1
  68. apt-get update -y --force-yes -qq > /dev/null 2>&1
  69.  
  70.  
  71. echo
  72. echo "=========== Install PHP7.1 with modules: ==========="
  73. echo
  74.  
  75. echo "1) php7.1-fpm"
  76. echo "2) php7.1-common"
  77. echo "3) php7.1-gd"
  78. echo "4) php7.1-mysql"
  79. echo "5) php7.1-curl"
  80. echo "6) php7.1-cli"
  81. echo "7) php-pear"
  82. echo "8) php7.1-dev"
  83. echo "9) php7.1-imap"
  84. echo "10) php7.1-mcrypt"
  85. echo "11) php7.1-readline"
  86. echo "12) php7.1-mbstring"
  87. echo "13) php7.1-json"
  88. echo "14) php7.1-zip"
  89. echo "15) php7.1-memcached"
  90. echo "16) php7.1-imagick"
  91. echo "17) php7.1-xml"
  92.  
  93. echo
  94. echo "- Installing, please wait..."
  95. echo
  96.  
  97. apt-get install php7.1-fpm php7.1-common php7.1-gd php7.1-mysql php7.1-curl php7.1-cli php-pear php7.1-dev php7.1-imap php7.1-mcrypt php7.1-readline php7.1-mbstring php7.1-json php7.1-zip memcached php7.1-memcached php7.1-imagick php7.1-xml imagemagick -y --force-yes -qq > /dev/null 2>&1
  98.  
  99. echo
  100. echo "==> PHP7.1 installed succesful!"
  101. echo
  102.  
  103. echo
  104. echo "=========== Install Redis ==========="
  105. echo
  106.  
  107. apt-add-repository ppa:chris-lea/redis-server -y
  108. apt-get update -y --force-yes -qq > /dev/null 2>&1
  109.  
  110. echo
  111. echo "==> Redis installed succesful!"
  112. echo
  113.  
  114. echo
  115. echo "=========== Install Nginx ==========="
  116. echo
  117.  
  118. add-apt-repository ppa:nginx/stable -y > /dev/null 2>&1
  119. apt-get update -y --force-yes -qq > /dev/null 2>&1
  120.  
  121. echo
  122. echo "- Installing, please wait..."
  123. echo
  124.  
  125. apt-get install nginx -y --force-yes -qq > /dev/null 2>&1
  126.  
  127. rm /etc/nginx/sites-available/default > /dev/null 2>&1
  128. wget https://raw.githubusercontent.com/globalmac/Larascale/master/nginx/default7_1 -O /etc/nginx/sites-available/default > /dev/null 2>&1
  129.  
  130. echo
  131. echo "==> Nginx installed succesful!"
  132. echo
  133.  
  134. echo
  135. echo "=========== MySQL ==========="
  136. echo
  137.  
  138. # MySQL INSTALL CODE HERE!
  139.  
  140. echo
  141. echo "==> MySQL installed succesful!"
  142. echo
  143.  
  144. echo
  145. echo "=========== Adding UNIT3D user ==========="
  146. echo
  147.  
  148. useradd -g sudo -d /var/www/UNIT3D -m -s /bin/bash UNIT3D > /dev/null 2>&1
  149. UNIT3D_password=$(gen_pass)
  150.  
  151. echo -e "$UNIT3D_password\n$UNIT3D_password\n" | passwd UNIT3D > /dev/null 2>&1
  152.  
  153. mkdir -p /var/www/UNIT3D > /dev/null 2>&1
  154. chown -R UNIT3D:www-data /var/www/UNIT3D > /dev/null 2>&1
  155.  
  156. echo
  157. echo "==> User UNIT3D - added successfully!"
  158. echo
  159.  
  160. echo
  161. echo "=========== Installing Composer ==========="
  162. echo
  163.  
  164. cd /var/www/UNIT3D
  165. curl -sS https://getcomposer.org/installer | php > /dev/null 2>&1
  166. mv composer.phar /usr/local/bin/composer > /dev/null 2>&1 > /dev/null 2>&1
  167.  
  168. echo
  169. echo "==> Composer installed succesful!"
  170. echo
  171.  
  172.  
  173. echo
  174. echo "=========== Clone UNIT3D Repo ==========="
  175. echo
  176.  
  177. cd /var/www/UNIT3D
  178. # CLONE CODE HERE!
  179.  
  180. echo
  181. echo "==> UNIT3D cloned succesful!"
  182. echo
  183.  
  184.  
  185. echo
  186. echo "=========== Set UNIT3D DIR Permissions ==========="
  187. echo
  188.  
  189. chown -R UNIT3D:www-data /var/www/UNIT3D > /dev/null 2>&1
  190. cd /var/www/UNIT3D
  191. chmod -R 777 storage > /dev/null 2>&1
  192. chmod -R 777 bootstrap/cache > /dev/null 2>&1
  193.  
  194. echo
  195. echo "==> UNIT3D Permissions Set Succesful!"
  196. echo
  197.  
  198. echo
  199. echo "=========== Restarting PHP, MySQL and NGINX ==========="
  200. echo
  201.  
  202. service php7.1-fpm restart > /dev/null 2>&1
  203. service nginx restart > /dev/null 2>&1
  204. service postgresql restart > /dev/null 2>&1
  205.  
  206. echo
  207. echo "==> Restart Succesful!"
  208. echo
  209.  
  210. echo "==========="
  211. echo "Script complete successfully! Your new UNIT3D is ready!"
  212. echo "1) SSH user:"
  213. echo "Login: UNIT3D"
  214. echo "Password: $UNIT3D_password"
  215. echo
  216. echo "UNIT3D site is running on - http://$(ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1')"
  217. echo ""
  218. echo "==========="
  219.  
  220. apt-get clean -y > /dev/null 2>&1
  221. apt-get autoclean -y > /dev/null 2>&1
  222. apt-get autoremove -y > /dev/null 2>&1
  223.  
  224. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement