Advertisement
Guest User

Untitled

a guest
Jun 19th, 2018
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.68 KB | None | 0 0
  1. #!/usr/bin/env bash
  2. red=$'\e[1;31m'
  3. grn=$'\e[1;32m'
  4. yel=$'\e[1;33m'
  5. blu=$'\e[1;34m'
  6. mag=$'\e[1;35m'
  7. cyn=$'\e[1;36m'
  8. end=$'\e[0m'
  9. tambah_domain() {
  10. clear
  11. echo -e "##### Skrip add domain by Hardinal #####"
  12. echo -e "Web: \e[32mhttps://jasa.hardinal.com/${end}"
  13. echo -e "Email: \e[33mjasa@hardinal.com${end}"
  14. echo "_________________"
  15. rm -fr wordpress latest.zip domain.txt domain-tanpa-titik.txt db_name.txt db_name1.txt u_name.txt u_name1.txt versi{1..4}.txt versi.txt /var/www/html/info.php
  16. echo
  17. echo "Mau tambah domain? Ga usah bingung lagi"
  18. echo "Yang perlu Anda masukkan hanya nama domain"
  19. echo
  20. echo "Skrip ini juga bisa digunakan untuk menginstall sub domain."
  21. echo "Yang perlu diinput nanti bukan nama domain, melainkan sub domainnya"
  22. echo "Misal domainnya bernama example.com, maka kalo mau install subdomain,"
  23. echo "input full URL sub domainnya, misalnya ${yel}sub.example.com${end}"
  24. echo
  25. echo "Silahkan ketik nama domain, misal ${blu}example.com${end}, tanpa www dan tanpa http"
  26. echo "(Kalo salah input hapus dengan CTRL + Backspace)"
  27. echo
  28. while true
  29. do
  30. read -p $'\e[34m'"Domain${end}: " domain
  31. read -p $'\e[34m'"Masukan nama domain (sekali lagi)${end}: " domain2
  32. echo
  33. [ "$domain" = "$domain2" ] && break
  34. echo "Nama domain ga cocok, ulang lagi ya!"
  35. done
  36. echo $domain >> domain.txt
  37. clean_domain_1=`sed 's/[^a-zA-Z0-9]//g' domain.txt > domain-tanpa-titik.txt`
  38. untuk_db=`cat domain-tanpa-titik.txt`
  39. echo $untuk_db >> db_name1.txt
  40. echo $untuk_db >> u_name1.txt
  41. sed 's/^/db_/' db_name1.txt > db_name.txt
  42. sed 's/^/u_/' u_name1.txt > u_name.txt
  43. db_name=`cat db_name.txt`
  44. u_name=`cat u_name.txt`
  45. rm -f domain.txt domain-tanpa-titik.txt db_name.txt db_name1.txt u_name.txt u_name1.txt
  46. file="/root/.pwdmysql"
  47. if [ -f "$file" ]
  48. then
  49. echo
  50. else
  51. echo "Sorry, skrip ini hanya bekerja di server yang di setting Hardinal"
  52. echo "Info lanjut silahkan email ke jasa@hardinal.com"
  53. exit 1
  54. fi
  55. echo "Sip, udah semua.."
  56. echo "Tekan '${yel}y${end}' lalu Enter untuk melanjutkan (tunggu maks. 1 menit)"
  57. read -p "Atau '${yel}t${end}' lalu Enter untuk membatalkan ... <y/t> ?" tanya
  58. echo
  59. if [[ $tanya == "y" || $tanya == "Y" || $tanya == "yes" || $tanya == "Yes" || $tanya == "Ya" || $tanya == "ya" ]]
  60. then
  61. echo "${blu}Mohon tunggu...${end}"
  62. echo
  63. password_root_mysql=`cat /root/.pwdmysql`
  64. password_wp_config=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 12 | head -n 1`
  65. mysql -uroot -p$password_root_mysql -e "CREATE DATABASE $db_name /*\!40100 DEFAULT CHARACTER SET utf8 */;"
  66. mysql -uroot -p$password_root_mysql -e "CREATE USER $u_name@localhost IDENTIFIED BY '$password_wp_config';"
  67. mysql -uroot -p$password_root_mysql -e "GRANT ALL PRIVILEGES ON $db_name.* TO '$u_name'@'localhost';"
  68. mysql -uroot -p$password_root_mysql -e "FLUSH PRIVILEGES;"
  69. php -r \@phpinfo\(\)\; | grep 'PHP Version' -m 1 > versi-php.txt
  70. awk '{ print $4 }' versi-php.txt > versi-php1.txt
  71. cut -c -1 versi-php1.txt > jessie_php.txt
  72. jessie_php=`cat jessie_php.txt`
  73. cut -c -3 versi-php1.txt > stretch_php.txt
  74. stretch_php=`cat stretch_php.txt`
  75. rm -f versi-php.txt versi-php1.txt jessie_php.txt stretch_php.txt
  76. wget -q --no-check-certificate https://pastebin.com/raw/NR0Lih8A -O master.vhost
  77. dos2unix master.vhost
  78. debversion=`lsb_release -sc`
  79. if [ "$debversion" = "jessie" ]; then
  80. if [ $jessie_php = 5 ]
  81. then
  82. sed -i 's/xGANTIx/unix:\/var\/run\/php5-'$domain'-fpm.sock/g' master.vhost
  83. echo "" >> master.vhost
  84. wget -q https://pastebin.com/raw/jVBQNtar -O /etc/php5/fpm/pool.d/$domain.conf
  85. sed -i "s/xDOMAINx/$domain/g" /etc/php5/fpm/pool.d/$domain.conf
  86. echo "" >> /etc/php5/fpm/pool.d/$domain.conf
  87. service php5-fpm reload
  88. else
  89. sed -i 's/xGANTIx/unix:\/run\/php\/php7.0-'$domain'-fpm.sock/g' master.vhost
  90. echo "" >> master.vhost
  91. wget -q https://pastebin.com/raw/LWGptHGd -O /etc/php/7.0/fpm/pool.d/$domain.conf
  92. sed -i "s/xDOMAINx/$domain/g" /etc/php/7.0/fpm/pool.d/$domain.conf
  93. echo "" >> /etc/php/7.0/fpm/pool.d/$domain.conf
  94. service php7.0-fpm reload
  95. fi
  96. elif [ "$debversion" = "stretch" ]; then
  97. sed -i 's/xGANTIx/unix:\/run\/php\/php'$stretch_php'-'$domain'-fpm.sock/g' master.vhost
  98. echo "" >> master.vhost
  99. wget -q https://pastebin.com/raw/PisgrN5F -O /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  100. sed -i "s/xDOMAINx/$domain/g" /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  101. sed -i 's/xGANTIx/'$stretch_php'/g' /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  102. echo "" >> /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  103. service php$stretch_php-fpm reload
  104. else
  105. sed -i 's/xGANTIx/unix:\/var\/run\/php5-'$domain'-fpm.sock/g' master.vhost
  106. echo "" >> master.vhost
  107. wget -q https://pastebin.com/raw/jVBQNtar -O /etc/php5/fpm/pool.d/$domain.conf
  108. sed -i "s/xDOMAINx/$domain/g" /etc/php5/fpm/pool.d/$domain.conf
  109. echo "" >> /etc/php5/fpm/pool.d/$domain.conf
  110. service php5-fpm reload
  111. fi
  112. sed -i "s/xDOMAINx/$domain/g" master.vhost
  113. mv master.vhost /etc/nginx/sites-available/$domain
  114. sed -i '/robots.txt {/a \\t try_files $uri $uri/ /index.php?$args;' /etc/nginx/sites-available/$domain
  115. ln -sf /etc/nginx/sites-available/$domain /etc/nginx/sites-enabled/
  116. service nginx reload
  117. curl -L -# -k --connect-timeout 5 --retry 1 'https://www.dropbox.com/s/mtr70z2eymf6spx/wordpress-4.9.6.zip?dl=0' -o latest.zip
  118. unzip -qq latest.zip
  119. rm -f latest.zip
  120. mv wordpress /var/www/html/$domain
  121. mv /var/www/html/$domain/wp-config-sample.php /var/www/html/$domain/wp-config.php
  122. sed -i "s/database_name_here/$db_name/g" /var/www/html/$domain/wp-config.php
  123. sed -i "s/username_here/$u_name/g" /var/www/html/$domain/wp-config.php
  124. sed -i "s/password_here/$password_wp_config/g" /var/www/html/$domain/wp-config.php
  125. salts=$(curl -s https://api.wordpress.org/secret-key/1.1/salt/)
  126. while read -r salt; do
  127. cari="define('$(echo "$salt" | cut -d "'" -f 2)"
  128. ganti=$(echo "$salt" | cut -d "'" -f 4)
  129. sed -i "/^$cari/s/put your unique phrase here/$(echo $ganti | sed -e 's/\\/\\\\/g' -e 's/\//\\\//g' -e 's/&/\\\&/g')/" /var/www/html/$domain/wp-config.php
  130. done <<< "$salts"
  131. chown -R www-data:www-data /var/www/html/$domain
  132. rm -f latest.zip
  133. clear
  134. echo "_________________"
  135. echo
  136. echo "Selamat, domain ${blu}$domain${end} baru saja ditambahkan ke server ini"
  137. echo "Silahkan daftarkan dan ganti NS ke NS Cloudflare, lalu tunggu +/- 30 menit supaya domain bisa diakses."
  138. echo "Video Cloudflare bisa Anda liat di ${blu}http://vid.hardinal.com/2/${end}"
  139. echo "_________________"
  140. echo
  141. echo "Setelah menunggu 30 menit-an, silahkan kunjungi:"
  142. echo
  143. echo "http://$domain"
  144. echo
  145. echo "Atau kalo domainnya ingin pake ${red}www${end} kunjungi"
  146. echo
  147. echo "http://www.$domain"
  148. echo
  149. echo "Anda nanti akan dibawa ke proses instalasi Wordpress"
  150. echo "_________________"
  151. echo
  152. echo "Oia, Jika Anda perlu rincian database, silahkan gunakan rincian di bawah ini"
  153. echo
  154. echo "${yel}DATABASE${end}: $db_name"
  155. echo "${yel}USERNAME${end}: $u_name"
  156. echo "${yel}PASSWORD${end}: $password_wp_config"
  157. echo
  158. else
  159. rm -f db_name1.txt db_name.txt domain-tanpa-titik.txt domain.txt u_name1.txt u_name.txt info.php
  160. exit 0
  161. fi
  162. }
  163. clear
  164. dh_version="/.dhversion"
  165. if [ -f "$dh_version" ]
  166. then
  167. tambah_domain
  168. else
  169. echo -e "\e[33m##### PERHATIAN: Ada Update #####${end}"
  170. echo "Konfigurasi Nginx pada server Anda masih pake settingan lama"
  171. echo "Mau diperbaharui ngga?"
  172. echo
  173. echo "Kalo mau, tekan '${yel}y${end}' lalu Enter untuk melanjutkan (tunggu beberapa menit)"
  174. echo "Atau '${yel}t${end}' lalu Enter untuk tetap menggunakan settingan jadul."
  175. echo
  176. echo "${blu}WARNING:${end} ${red}Kalo salah satu web Anda ada yang pake HTTPS / SSL${end}"
  177. echo "${red}Konsultasikan dulu ke saya, karena akan merusak settingan${end}"
  178. echo
  179. read -p "Jawab <y/t> ?" tanya
  180. echo
  181. if [[ $tanya == "y" || $tanya == "Y" || $tanya == "yes" || $tanya == "Yes" || $tanya == "Ya" || $tanya == "ya" ]]
  182. then
  183. echo "${blu}Siaap, sebentar ya...${end}"
  184. echo
  185. sleep 2
  186. echo -e "##### TAHAP 1 (dari 2) #####"
  187. echo
  188. ls -I default -I phpmyadmin -I filemanager -1 /etc/nginx/sites-enabled/ > list.txt
  189. for domain in $(ls -I default -I phpmyadmin -I filemanager -1 /etc/nginx/sites-enabled/); do
  190. rm -fr /etc/nginx/untuk_cache/$domain
  191. unlink /etc/nginx/sites-enabled/$domain
  192. rm -f /etc/nginx/sites-available/$domain
  193. rm -f /var/log/nginx/$domain.error.log
  194. rm -f /etc/php5/fpm/pool.d/$domain.conf
  195. rm -f /etc/php/5.6/fpm/pool.d/$domain.conf
  196. rm -f /etc/php/7.0/fpm/pool.d/$domain.conf
  197. rm -f /etc/php/7.2/fpm/pool.d/$domain.conf
  198. echo "Konfigurasi ulang domain ${blu}$domain${end} tahap 1 (dari 2)"
  199. done
  200. echo
  201. echo -e "##### TAHAP 2 (dari 2) #####"
  202. echo
  203. sleep 3
  204. for domain in $(cat list.txt); do
  205. php -r \@phpinfo\(\)\; | grep 'PHP Version' -m 1 > versi-php.txt
  206. awk '{ print $4 }' versi-php.txt > versi-php1.txt
  207. cut -c -1 versi-php1.txt > jessie_php.txt
  208. jessie_php=`cat jessie_php.txt`
  209. cut -c -3 versi-php1.txt > stretch_php.txt
  210. stretch_php=`cat stretch_php.txt`
  211. rm -f versi-php.txt versi-php1.txt jessie_php.txt stretch_php.txt
  212. wget -q --no-check-certificate https://www.dropbox.com/s/pzevpqa0hxscxvn/master.vhost?dl=0 -O master.vhost
  213. debversion=`lsb_release -sc`
  214. if [ "$debversion" = "jessie" ]; then
  215. if [ $jessie_php = 5 ]
  216. then
  217. sed -i 's/xGANTIx/unix:\/var\/run\/php5-'$domain'-fpm.sock/g' master.vhost
  218. echo "" >> master.vhost
  219. wget -q https://pastebin.com/raw/jVBQNtar -O /etc/php5/fpm/pool.d/$domain.conf
  220. sed -i "s/xDOMAINx/$domain/g" /etc/php5/fpm/pool.d/$domain.conf
  221. echo "" >> /etc/php5/fpm/pool.d/$domain.conf
  222. else
  223. sed -i 's/xGANTIx/unix:\/run\/php\/php7.0-'$domain'-fpm.sock/g' master.vhost
  224. echo "" >> master.vhost
  225. wget -q https://pastebin.com/raw/LWGptHGd -O /etc/php/7.0/fpm/pool.d/$domain.conf
  226. sed -i "s/xDOMAINx/$domain/g" /etc/php/7.0/fpm/pool.d/$domain.conf
  227. echo "" >> /etc/php/7.0/fpm/pool.d/$domain.conf
  228. fi
  229. elif [ "$debversion" = "stretch" ]; then
  230. sed -i 's/xGANTIx/unix:\/run\/php\/php'$stretch_php'-'$domain'-fpm.sock/g' master.vhost
  231. echo "" >> master.vhost
  232. wget -q https://pastebin.com/raw/PisgrN5F -O /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  233. sed -i "s/xDOMAINx/$domain/g" /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  234. sed -i 's/xGANTIx/'$stretch_php'/g' /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  235. echo "" >> /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  236. else
  237. sed -i 's/xGANTIx/unix:\/var\/run\/php5-'$domain'-fpm.sock/g' master.vhost
  238. echo "" >> master.vhost
  239. wget -q https://pastebin.com/raw/jVBQNtar -O /etc/php5/fpm/pool.d/$domain.conf
  240. sed -i "s/xDOMAINx/$domain/g" /etc/php5/fpm/pool.d/$domain.conf
  241. echo "" >> /etc/php5/fpm/pool.d/$domain.conf
  242. fi
  243. sed -i "s/xDOMAINx/$domain/g" master.vhost
  244. mv master.vhost /etc/nginx/sites-available/$domain
  245. sed -i '/robots.txt {/a \\t try_files $uri $uri/ /index.php?$args;' /etc/nginx/sites-available/$domain
  246. ln -sf /etc/nginx/sites-available/$domain /etc/nginx/sites-enabled/
  247. echo "Konfigurasi ulang domain ${blu}$domain${end} tahap 2 (dari 2)"
  248. done
  249. echo
  250. debversion=`lsb_release -sc`
  251. php -r \@phpinfo\(\)\; | grep 'PHP Version' -m 1 > versi-php.txt
  252. awk '{ print $4 }' versi-php.txt > versi-php1.txt
  253. cut -c -1 versi-php1.txt > jessie_php.txt
  254. jessie_php=`cat jessie_php.txt`
  255. cut -c -3 versi-php1.txt > stretch_php.txt
  256. stretch_php=`cat stretch_php.txt`
  257. rm -f versi-php.txt versi-php1.txt jessie_php.txt stretch_php.txt
  258. if [ "$debversion" = "jessie" ]; then
  259. if [ $jessie_php = 5 ]
  260. then
  261. service php5-fpm reload
  262. else
  263. service php7.0-fpm reload
  264. fi
  265. elif [ "$debversion" = "stretch" ]; then
  266. service php$stretch_php-fpm reload
  267. else
  268. service php5-fpm reload
  269. fi
  270. service nginx reload
  271. echo "dh20180617" >> /.dhversion
  272. rm -f list.txt
  273. echo "Mantaap, dalam ${red}5${end} detik, Anda akan dilanjutkan ke proses add domain seperti biasa"
  274. sleep 5
  275. else
  276. echo "Ya sudah kalo ga mau,"
  277. echo "Dalam ${red}5${end} detik Anda akan dilanjutkan ke proses add domain seperti biasa"
  278. sleep 5
  279. echo
  280. fi
  281. clear
  282. tambah_domain
  283. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement