Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.63 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. red=$'\e[1;31m'
  4. grn=$'\e[1;32m'
  5. yel=$'\e[1;33m'
  6. blu=$'\e[1;34m'
  7. mag=$'\e[1;35m'
  8. cyn=$'\e[1;36m'
  9. end=$'\e[0m'
  10.  
  11. wordpress_dl="https://www.dropbox.com/s/npghhi2eyd9mufw/wordpress-5.2.1.zip?dl=0"
  12. apache2_conf="https://www.dropbox.com/s/fj41jfcsg8o6v95/apache2.conf?dl=0"
  13. salt_url="https://api.wordpress.org/secret-key/1.1/salt/"
  14. nginx_conf="https://www.dropbox.com/s/42umjfjsyr6esmn/master.vhost?dl=0"
  15. php5_dotdeb="https://pastebin.com/raw/jVBQNtar"
  16. php7_dotdeb="https://pastebin.com/raw/LWGptHGd"
  17. php_sury="https://pastebin.com/raw/PisgrN5F"
  18.  
  19. tambah_domain_apache() {
  20. clear
  21. echo -e "##### Skrip add domain by Hardinal #####"
  22. echo -e "Web: \e[32mhttps://jasa.hardinal.com/${end}"
  23. echo -e "Email: \e[33mjasa@hardinal.com${end}"
  24. echo "_________________"
  25. 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
  26. echo
  27. echo "Mau tambah domain? Ga usah bingung lagi"
  28. echo "Yang perlu Anda masukkan hanya nama domain"
  29. echo
  30. echo "Skrip ini juga bisa digunakan untuk menginstall sub domain."
  31. echo "Yang perlu diinput nanti bukan nama domain, melainkan sub domainnya"
  32. echo "Misal domainnya bernama example.com, maka kalo mau install subdomain,"
  33. echo "input full URL sub domainnya, misalnya ${yel}sub.example.com${end}"
  34. echo
  35. echo "Silahkan ketik nama domain, misal ${blu}example.com${end}, tanpa www dan tanpa http"
  36. echo "(Kalo salah input hapus dengan CTRL + Backspace)"
  37. echo
  38. while true
  39. do
  40. read -p $'\e[34m'"Domain${end}: " domain
  41. read -p $'\e[34m'"Masukan nama domain (sekali lagi)${end}: " domain2
  42. echo
  43. [ "$domain" = "$domain2" ] && break
  44. echo "Nama domain ga cocok, ulang lagi ya!"
  45. done
  46. periksa="/etc/apache2/sites-available/$domain.conf"
  47. if [ -f "$periksa" ]
  48. then
  49. echo -e "\e[33mDomain tidak bisa diinstall karena sudah terpasang di server ini${end}"
  50. echo -e "\e[33mSilahkan jalankan kembali skrip ini, masukkan domain lain.${end}"
  51. echo ""
  52. else
  53. echo $domain >> domain.txt
  54. clean_domain_1=`sed 's/[^a-zA-Z0-9]//g' domain.txt > domain-tanpa-titik.txt`
  55. untuk_db=`cat domain-tanpa-titik.txt`
  56. echo $untuk_db >> db_name1.txt
  57. echo $untuk_db >> u_name1.txt
  58. sed 's/^/db_/' db_name1.txt > db_name.txt
  59. sed 's/^/u_/' u_name1.txt > u_name.txt
  60. db_name=`cat db_name.txt`
  61. u_name=`cat u_name.txt`
  62. rm -f domain.txt domain-tanpa-titik.txt db_name.txt db_name1.txt u_name.txt u_name1.txt
  63. file="/root/.pwdmysql"
  64. if [ -f "$file" ]
  65. then
  66. echo
  67. else
  68. echo "Sorry, skrip ini hanya bekerja di server yang di setting Hardinal"
  69. echo "Info lanjut silahkan email ke jasa@hardinal.com"
  70. exit 1
  71. fi
  72. echo "Sip, udah semua.."
  73. echo "Tekan '${yel}y${end}' lalu Enter untuk melanjutkan (tunggu maks. 1 menit)"
  74. read -p "Atau '${yel}t${end}' lalu Enter untuk membatalkan ... <y/t> ?" tanya
  75. echo
  76. if [[ $tanya == "y" || $tanya == "Y" || $tanya == "yes" || $tanya == "Yes" || $tanya == "Ya" || $tanya == "ya" ]]
  77. then
  78. echo "${blu}Mohon tunggu...${end}"
  79. echo
  80. password_root_mysql=`cat /root/.pwdmysql`
  81. password_wp_config=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 12 | head -n 1`
  82. mysql -uroot -p$password_root_mysql -e "CREATE DATABASE $db_name /*\!40100 DEFAULT CHARACTER SET utf8 */;"
  83. mysql -uroot -p$password_root_mysql -e "CREATE USER $u_name@localhost IDENTIFIED BY '$password_wp_config';"
  84. mysql -uroot -p$password_root_mysql -e "GRANT ALL PRIVILEGES ON $db_name.* TO '$u_name'@'localhost';"
  85. mysql -uroot -p$password_root_mysql -e "FLUSH PRIVILEGES;"
  86. wget -q --no-check-certificate $apache2_conf -O master2.vhost
  87. sed -i "s/xDOMAINx/$domain/g" master2.vhost
  88. mv master2.vhost /etc/apache2/sites-available/$domain.conf
  89. touch /root/.rnd
  90. mkdir -p /etc/ssl/$domain
  91. openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -subj "/C=ID/ST=DKI/L=Jakarta/O=Tech/CN=$domain" -keyout /etc/ssl/$domain/$domain.key -out /etc/ssl/$domain/$domain.crt > /dev/null 2>&1
  92. curl -L -# -k --connect-timeout 5 --retry 1 $wordpress_dl -o latest.zip
  93. unzip -qq latest.zip
  94. rm -f latest.zip
  95. mv wordpress /var/www/html/$domain
  96. mv /var/www/html/$domain/wp-config-sample.php /var/www/html/$domain/wp-config.php
  97. sed -i "s/database_name_here/$db_name/g" /var/www/html/$domain/wp-config.php
  98. sed -i "s/username_here/$u_name/g" /var/www/html/$domain/wp-config.php
  99. sed -i "s/password_here/$password_wp_config/g" /var/www/html/$domain/wp-config.php
  100. sed -i "s/( '/('/g" /var/www/html/$domain/wp-config.php
  101. sed -i "s/' )/')/g" /var/www/html/$domain/wp-config.php
  102. sed -i "s/table_prefix =/table_prefix =/g" /var/www/html/$domain/wp-config.php
  103. salts=$(curl -s $salt_url)
  104. while read -r salt; do
  105. cari="define('$(echo "$salt" | cut -d "'" -f 2)"
  106. ganti=$(echo "$salt" | cut -d "'" -f 4)
  107. 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
  108. done <<< "$salts"
  109. dos2unix /var/www/html/$domain/wp-config.php > /dev/null 2>&1
  110. chown -R www-data:www-data /var/www/html/$domain
  111. a2ensite $domain > /dev/null 2>&1
  112. service apache2 reload
  113. clear
  114. echo "_________________"
  115. echo
  116. echo "Selamat, domain ${blu}$domain${end} baru saja ditambahkan ke server ini"
  117. echo "Silahkan daftarkan dan ganti NS ke NS Cloudflare, lalu tunggu +/- 30 menit supaya domain bisa diakses."
  118. echo "Video Cloudflare bisa Anda liat di ${blu}http://vid.hardinal.com/2/${end}"
  119. echo "_________________"
  120. echo
  121. echo "Setelah menunggu 30 menit-an, silahkan kunjungi:"
  122. echo
  123. echo "http://$domain"
  124. echo
  125. echo "Atau kalo domainnya ingin pake ${red}www${end} kunjungi"
  126. echo
  127. echo "http://www.$domain"
  128. echo
  129. echo "Anda nanti akan dibawa ke proses instalasi Wordpress"
  130. echo "_________________"
  131. echo
  132. echo "Oia, Jika Anda perlu rincian database, silahkan gunakan rincian di bawah ini"
  133. echo
  134. echo "${yel}DATABASE${end}: $db_name"
  135. echo "${yel}USERNAME${end}: $u_name"
  136. echo "${yel}PASSWORD${end}: $password_wp_config"
  137. echo
  138. else
  139. rm -f db_name1.txt db_name.txt domain-tanpa-titik.txt domain.txt u_name1.txt u_name.txt info.php
  140. exit 0
  141. fi
  142. fi
  143. }
  144.  
  145. reconfig_apache() {
  146. echo -e "\e[33m##### PERHATIAN: Ada Update #####${end}"
  147. echo "Konfigurasi Apache pada server Anda masih pake settingan lama"
  148. echo "Mau diperbaharui ngga?"
  149. echo
  150. echo "Kalo mau, tekan '${yel}y${end}' lalu Enter untuk melanjutkan (tunggu beberapa menit)"
  151. echo "Atau '${yel}t${end}' lalu Enter untuk tetap menggunakan settingan jadul."
  152. echo
  153. echo "${blu}WARNING:${end}"
  154. echo "${red}Kalo salah satu web Anda ada yang pake format HTTPS${end}"
  155. echo "${red}yang SSL nya itu dapat beli, konsultasikan dulu ke saya${end}"
  156. echo "${red}Karena akan merusak settingan${end}"
  157. echo
  158. read -p "Jawab <y/t> (Kalo ragu t aja, nanti kabari saya)?" tanya
  159. echo
  160. if [[ $tanya == "y" || $tanya == "Y" || $tanya == "yes" || $tanya == "Yes" || $tanya == "Ya" || $tanya == "ya" ]]
  161. then
  162. echo "${blu}Siaap, sebentar ya...${end}"
  163. echo
  164. sleep 2
  165. echo -e "##### TAHAP 1 (dari 2) #####"
  166. echo
  167. ls -I 000-default.conf -I phpmyadmin.conf -I file-manager.conf -1 /etc/apache2/sites-enabled/ > list.txt
  168. sed -i 's/.conf//g' list.txt
  169. for domain in $(cat list.txt); do
  170. unlink /etc/apache2/sites-enabled/$domain.conf
  171. rm -f /etc/apache2/sites-available/$domain.conf
  172. echo "Konfigurasi ulang domain ${blu}$domain${end} tahap 1 (dari 2)"
  173. done
  174. echo
  175. echo -e "##### TAHAP 2 (dari 2) #####"
  176. echo
  177. sleep 3
  178. for domain in $(cat list.txt); do
  179. wget -q --no-check-certificate $apache2_conf -O master2.vhost
  180. sed -i "s/xDOMAINx/$domain/g" master2.vhost
  181. mv master2.vhost /etc/apache2/sites-available/$domain.conf
  182. touch /root/.rnd
  183. echo "Konfigurasi ulang domain ${blu}$domain${end} tahap 2 (dari 2)"
  184. mkdir -p /etc/ssl/$domain
  185. openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -subj "/C=ID/ST=DKI/L=Jakarta/O=Tech/CN=$domain" -keyout /etc/ssl/$domain/$domain.key -out /etc/ssl/$domain/$domain.crt > /dev/null 2>&1
  186. a2ensite $domain > /dev/null 2>&1
  187. done
  188. service apache2 reload
  189. echo "dh20180617" >> /.dhversion
  190. rm -f list.txt
  191. echo "Mantaap, dalam ${red}5${end} detik, Anda akan dilanjutkan ke proses add domain seperti biasa"
  192. sleep 5
  193. else
  194. echo "Ya sudah kalo ga mau,"
  195. echo "Dalam ${red}5${end} detik Anda akan dilanjutkan ke proses add domain seperti biasa"
  196. sleep 5
  197. echo
  198. fi
  199. clear
  200. tambah_domain_apache
  201. }
  202.  
  203. tambah_domain_nginx() {
  204. clear
  205. echo -e "##### Skrip add domain by Hardinal #####"
  206. echo -e "Web: \e[32mhttps://jasa.hardinal.com/${end}"
  207. echo -e "Email: \e[33mjasa@hardinal.com${end}"
  208. echo "_________________"
  209. 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
  210. echo
  211. echo "Mau tambah domain? Ga usah bingung lagi"
  212. echo "Yang perlu Anda masukkan hanya nama domain"
  213. echo
  214. echo "Skrip ini juga bisa digunakan untuk menginstall sub domain."
  215. echo "Yang perlu diinput nanti bukan nama domain, melainkan sub domainnya"
  216. echo "Misal domainnya bernama example.com, maka kalo mau install subdomain,"
  217. echo "input full URL sub domainnya, misalnya ${yel}sub.example.com${end}"
  218. echo
  219. echo "Silahkan ketik nama domain, misal ${blu}example.com${end}, tanpa www dan tanpa http"
  220. echo "(Kalo salah input hapus dengan CTRL + Backspace)"
  221. echo
  222. while true
  223. do
  224. read -p $'\e[34m'"Domain${end}: " domain
  225. read -p $'\e[34m'"Masukan nama domain (sekali lagi)${end}: " domain2
  226. echo
  227. [ "$domain" = "$domain2" ] && break
  228. echo "Nama domain ga cocok, ulang lagi ya!"
  229. done
  230. periksa="/etc/nginx/sites-available/$domain"
  231. if [ -f "$periksa" ]
  232. then
  233. echo -e "\e[33mDomain tidak bisa diinstall karena sudah terpasang di server ini${end}"
  234. echo -e "\e[33mSilahkan jalankan kembali skrip ini, masukkan domain lain.${end}"
  235. echo ""
  236. else
  237. echo $domain >> domain.txt
  238. clean_domain_1=`sed 's/[^a-zA-Z0-9]//g' domain.txt > domain-tanpa-titik.txt`
  239. untuk_db=`cat domain-tanpa-titik.txt`
  240. echo $untuk_db >> db_name1.txt
  241. echo $untuk_db >> u_name1.txt
  242. sed 's/^/db_/' db_name1.txt > db_name.txt
  243. sed 's/^/u_/' u_name1.txt > u_name.txt
  244. db_name=`cat db_name.txt`
  245. u_name=`cat u_name.txt`
  246. rm -f domain.txt domain-tanpa-titik.txt db_name.txt db_name1.txt u_name.txt u_name1.txt
  247. file="/root/.pwdmysql"
  248. if [ -f "$file" ]
  249. then
  250. echo
  251. else
  252. echo "Sorry, skrip ini hanya bekerja di server yang di setting Hardinal"
  253. echo "Info lanjut silahkan email ke jasa@hardinal.com"
  254. exit 1
  255. fi
  256. echo "Sip, udah semua.."
  257. echo "Tekan '${yel}y${end}' lalu Enter untuk melanjutkan (tunggu maks. 1 menit)"
  258. read -p "Atau '${yel}t${end}' lalu Enter untuk membatalkan ... <y/t> ?" tanya
  259. echo
  260. if [[ $tanya == "y" || $tanya == "Y" || $tanya == "yes" || $tanya == "Yes" || $tanya == "Ya" || $tanya == "ya" ]]
  261. then
  262. echo "${blu}Mohon tunggu...${end}"
  263. echo
  264. password_root_mysql=`cat /root/.pwdmysql`
  265. password_wp_config=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 12 | head -n 1`
  266. mysql -uroot -p$password_root_mysql -e "CREATE DATABASE $db_name /*\!40100 DEFAULT CHARACTER SET utf8 */;"
  267. mysql -uroot -p$password_root_mysql -e "CREATE USER $u_name@localhost IDENTIFIED BY '$password_wp_config';"
  268. mysql -uroot -p$password_root_mysql -e "GRANT ALL PRIVILEGES ON $db_name.* TO '$u_name'@'localhost';"
  269. mysql -uroot -p$password_root_mysql -e "FLUSH PRIVILEGES;"
  270. php -r \@phpinfo\(\)\; | grep 'PHP Version' -m 1 > versi-php.txt
  271. awk '{ print $4 }' versi-php.txt > versi-php1.txt
  272. cut -c -1 versi-php1.txt > jessie_php.txt
  273. jessie_php=`cat jessie_php.txt`
  274. cut -c -3 versi-php1.txt > stretch_php.txt
  275. stretch_php=`cat stretch_php.txt`
  276. rm -f versi-php.txt versi-php1.txt jessie_php.txt stretch_php.txt
  277. wget -q --no-check-certificate $nginx_conf -O master.vhost
  278. debversion=`lsb_release -sc`
  279. if [ "$debversion" = "jessie" ]; then
  280. if [ $jessie_php = 5 ]
  281. then
  282. sed -i 's/xGANTIx/unix:\/var\/run\/php5-'$domain'-fpm.sock/g' master.vhost
  283. echo "" >> master.vhost
  284. wget -q $php5_dotdeb -O /etc/php5/fpm/pool.d/$domain.conf
  285. sed -i "s/xDOMAINx/$domain/g" /etc/php5/fpm/pool.d/$domain.conf
  286. echo "" >> /etc/php5/fpm/pool.d/$domain.conf
  287. dos2unix /etc/php5/fpm/pool.d/$domain.conf > /dev/null 2>&1
  288. service php5-fpm reload
  289. else
  290. sed -i 's/xGANTIx/unix:\/run\/php\/php7.0-'$domain'-fpm.sock/g' master.vhost
  291. echo "" >> master.vhost
  292. wget -q $php7_dotdeb -O /etc/php/7.0/fpm/pool.d/$domain.conf
  293. sed -i "s/xDOMAINx/$domain/g" /etc/php/7.0/fpm/pool.d/$domain.conf
  294. echo "" >> /etc/php/7.0/fpm/pool.d/$domain.conf
  295. dos2unix /etc/php/7.0/fpm/pool.d/$domain.conf > /dev/null 2>&1
  296. service php7.0-fpm reload
  297. fi
  298. elif [ "$debversion" = "stretch" ]; then
  299. sed -i 's/xGANTIx/unix:\/run\/php\/php'$stretch_php'-'$domain'-fpm.sock/g' master.vhost
  300. echo "" >> master.vhost
  301. wget -q $php_sury -O /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  302. sed -i "s/xDOMAINx/$domain/g" /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  303. sed -i 's/xGANTIx/'$stretch_php'/g' /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  304. echo "" >> /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  305. dos2unix /etc/php/$stretch_php/fpm/pool.d/$domain.conf > /dev/null 2>&1
  306. service php$stretch_php-fpm reload
  307. else
  308. sed -i 's/xGANTIx/unix:\/var\/run\/php5-'$domain'-fpm.sock/g' master.vhost
  309. echo "" >> master.vhost
  310. wget -q $php5_dotdeb -O /etc/php5/fpm/pool.d/$domain.conf
  311. sed -i "s/xDOMAINx/$domain/g" /etc/php5/fpm/pool.d/$domain.conf
  312. echo "" >> /etc/php5/fpm/pool.d/$domain.conf
  313. dos2unix /etc/php5/fpm/pool.d/$domain.conf > /dev/null 2>&1
  314. service php5-fpm reload
  315. fi
  316. sed -i "s/xDOMAINx/$domain/g" master.vhost
  317. mv master.vhost /etc/nginx/sites-available/$domain
  318. sed -i '/robots.txt {/a \\t try_files $uri $uri/ /index.php?$args;' /etc/nginx/sites-available/$domain
  319. ln -sf /etc/nginx/sites-available/$domain /etc/nginx/sites-enabled/
  320. curl -L -# -k --connect-timeout 5 --retry 1 $wordpress_dl -o latest.zip
  321. unzip -qq latest.zip
  322. rm -f latest.zip
  323. mv wordpress /var/www/html/$domain
  324. mv /var/www/html/$domain/wp-config-sample.php /var/www/html/$domain/wp-config.php
  325. sed -i "s/database_name_here/$db_name/g" /var/www/html/$domain/wp-config.php
  326. sed -i "s/username_here/$u_name/g" /var/www/html/$domain/wp-config.php
  327. sed -i "s/password_here/$password_wp_config/g" /var/www/html/$domain/wp-config.php
  328. sed -i "s/( '/('/g" /var/www/html/$domain/wp-config.php
  329. sed -i "s/' )/')/g" /var/www/html/$domain/wp-config.php
  330. sed -i "s/table_prefix =/table_prefix =/g" /var/www/html/$domain/wp-config.php
  331. salts=$(curl -s $salt_url)
  332. while read -r salt; do
  333. cari="define('$(echo "$salt" | cut -d "'" -f 2)"
  334. ganti=$(echo "$salt" | cut -d "'" -f 4)
  335. 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
  336. done <<< "$salts"
  337. dos2unix /var/www/html/$domain/wp-config.php > /dev/null 2>&1
  338. chown -R www-data:www-data /var/www/html/$domain
  339. rm -f latest.zip
  340. mkdir -p /etc/ssl/$domain/
  341. touch /root/.rnd
  342. openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -subj "/C=ID/ST=DKI/L=Jakarta/O=Tech/CN=$domain" -keyout /etc/ssl/$domain/$domain.key -out /etc/ssl/$domain/$domain.crt > /dev/null 2>&1
  343. sed -i '$ilisten 443 ssl http2;' /etc/nginx/sites-available/$domain
  344. sed -i '$issl_certificate /etc/ssl/'$domain'/'$domain'.crt;' /etc/nginx/sites-available/$domain
  345. sed -i '$issl_certificate_key /etc/ssl/'$domain'/'$domain'.key;' /etc/nginx/sites-available/$domain
  346. service nginx reload
  347. clear
  348. echo "_________________"
  349. echo
  350. echo "Selamat, domain ${blu}$domain${end} baru saja ditambahkan ke server ini"
  351. echo "Silahkan daftarkan dan ganti NS ke NS Cloudflare, lalu tunggu +/- 30 menit supaya domain bisa diakses."
  352. echo "Video Cloudflare bisa Anda liat di ${blu}http://vid.hardinal.com/2/${end}"
  353. echo "_________________"
  354. echo
  355. echo "Setelah menunggu 30 menit-an, silahkan kunjungi:"
  356. echo
  357. echo "http://$domain"
  358. echo
  359. echo "Atau kalo domainnya ingin pake ${red}www${end} kunjungi"
  360. echo
  361. echo "http://www.$domain"
  362. echo
  363. echo "Anda nanti akan dibawa ke proses instalasi Wordpress"
  364. echo "_________________"
  365. echo
  366. echo "Oia, Jika Anda perlu rincian database, silahkan gunakan rincian di bawah ini"
  367. echo
  368. echo "${yel}DATABASE${end}: $db_name"
  369. echo "${yel}USERNAME${end}: $u_name"
  370. echo "${yel}PASSWORD${end}: $password_wp_config"
  371. echo
  372. else
  373. rm -f db_name1.txt db_name.txt domain-tanpa-titik.txt domain.txt u_name1.txt u_name.txt info.php
  374. exit 0
  375. fi
  376. fi
  377. }
  378.  
  379.  
  380. reconfig_nginx() {
  381. echo -e "\e[33m##### PERHATIAN: Ada Update #####${end}"
  382. echo "Konfigurasi Nginx pada server Anda masih pake settingan lama"
  383. echo "Mau diperbaharui ngga?"
  384. echo
  385. echo "Kalo mau, tekan '${yel}y${end}' lalu Enter untuk melanjutkan (tunggu beberapa menit)"
  386. echo "Atau '${yel}t${end}' lalu Enter untuk tetap menggunakan settingan jadul."
  387. echo
  388. echo "${blu}WARNING:${end}"
  389. echo "${red}Kalo salah satu web Anda ada yang pake format HTTPS${end}"
  390. echo "${red}yang SSL nya itu dapat beli, konsultasikan dulu ke saya${end}"
  391. echo "${red}Karena akan merusak settingan${end}"
  392. echo
  393. read -p "Jawab <y/t> (Kalo ragu t aja, nanti kabari saya)?" tanya
  394. echo
  395. if [[ $tanya == "y" || $tanya == "Y" || $tanya == "yes" || $tanya == "Yes" || $tanya == "Ya" || $tanya == "ya" ]]
  396. then
  397. echo "${blu}Siaap, sebentar ya...${end}"
  398. echo
  399. sleep 2
  400. echo -e "##### TAHAP 1 (dari 2) #####"
  401. echo
  402. ls -I default -I phpmyadmin -I filemanager -1 /etc/nginx/sites-enabled/ > list.txt
  403. for domain in $(ls -I default -I phpmyadmin -I filemanager -1 /etc/nginx/sites-enabled/); do
  404. rm -fr /etc/nginx/untuk_cache/$domain
  405. unlink /etc/nginx/sites-enabled/$domain
  406. rm -f /etc/nginx/sites-available/$domain
  407. rm -f /var/log/nginx/$domain.error.log
  408. rm -f /etc/php5/fpm/pool.d/$domain.conf
  409. rm -f /etc/php/5.6/fpm/pool.d/$domain.conf
  410. rm -f /etc/php/7.0/fpm/pool.d/$domain.conf
  411. rm -f /etc/php/7.2/fpm/pool.d/$domain.conf
  412. rm -f /etc/php/7.3/fpm/pool.d/$domain.conf
  413. echo "Konfigurasi ulang domain ${blu}$domain${end} tahap 1 (dari 2)"
  414. done
  415. echo
  416. echo -e "##### TAHAP 2 (dari 2) #####"
  417. echo
  418. sleep 3
  419. for domain in $(cat list.txt); do
  420. php -r \@phpinfo\(\)\; | grep 'PHP Version' -m 1 > versi-php.txt
  421. awk '{ print $4 }' versi-php.txt > versi-php1.txt
  422. cut -c -1 versi-php1.txt > jessie_php.txt
  423. jessie_php=`cat jessie_php.txt`
  424. cut -c -3 versi-php1.txt > stretch_php.txt
  425. stretch_php=`cat stretch_php.txt`
  426. rm -f versi-php.txt versi-php1.txt jessie_php.txt stretch_php.txt
  427. wget -q --no-check-certificate $nginx_conf -O master.vhost
  428. debversion=`lsb_release -sc`
  429. if [ "$debversion" = "jessie" ]; then
  430. if [ $jessie_php = 5 ]
  431. then
  432. sed -i 's/xGANTIx/unix:\/var\/run\/php5-'$domain'-fpm.sock/g' master.vhost
  433. echo "" >> master.vhost
  434. wget -q $php5_dotdeb -O /etc/php5/fpm/pool.d/$domain.conf
  435. sed -i "s/xDOMAINx/$domain/g" /etc/php5/fpm/pool.d/$domain.conf
  436. echo "" >> /etc/php5/fpm/pool.d/$domain.conf
  437. dos2unix /etc/php5/fpm/pool.d/$domain.conf > /dev/null 2>&1
  438. else
  439. sed -i 's/xGANTIx/unix:\/run\/php\/php7.0-'$domain'-fpm.sock/g' master.vhost
  440. echo "" >> master.vhost
  441. wget -q $php7_dotdeb -O /etc/php/7.0/fpm/pool.d/$domain.conf
  442. sed -i "s/xDOMAINx/$domain/g" /etc/php/7.0/fpm/pool.d/$domain.conf
  443. echo "" >> /etc/php/7.0/fpm/pool.d/$domain.conf
  444. dos2unix /etc/php/7.0/fpm/pool.d/$domain.conf > /dev/null 2>&1
  445. fi
  446. elif [ "$debversion" = "stretch" ]; then
  447. sed -i 's/xGANTIx/unix:\/run\/php\/php'$stretch_php'-'$domain'-fpm.sock/g' master.vhost
  448. echo "" >> master.vhost
  449. wget -q $php_sury -O /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  450. sed -i "s/xDOMAINx/$domain/g" /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  451. sed -i 's/xGANTIx/'$stretch_php'/g' /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  452. echo "" >> /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  453. dos2unix /etc/php/$stretch_php/fpm/pool.d/$domain.conf > /dev/null 2>&1
  454. else
  455. sed -i 's/xGANTIx/unix:\/var\/run\/php5-'$domain'-fpm.sock/g' master.vhost
  456. echo "" >> master.vhost
  457. wget -q $php5_dotdeb -O /etc/php5/fpm/pool.d/$domain.conf
  458. sed -i "s/xDOMAINx/$domain/g" /etc/php5/fpm/pool.d/$domain.conf
  459. echo "" >> /etc/php5/fpm/pool.d/$domain.conf
  460. dos2unix /etc/php5/fpm/pool.d/$domain.conf > /dev/null 2>&1
  461. fi
  462. sed -i "s/xDOMAINx/$domain/g" master.vhost
  463. mv master.vhost /etc/nginx/sites-available/$domain
  464. sed -i '/robots.txt {/a \\t try_files $uri $uri/ /index.php?$args;' /etc/nginx/sites-available/$domain
  465. ln -sf /etc/nginx/sites-available/$domain /etc/nginx/sites-enabled/
  466. echo "Konfigurasi ulang domain ${blu}$domain${end} tahap 2 (dari 2)"
  467. mkdir -p /etc/ssl/$domain/
  468. touch /root/.rnd
  469. openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -subj "/C=ID/ST=DKI/L=Jakarta/O=Tech/CN=$domain" -keyout /etc/ssl/$domain/$domain.key -out /etc/ssl/$domain/$domain.crt > /dev/null 2>&1
  470. sed -i '$ilisten 443 ssl http2;' /etc/nginx/sites-available/$domain
  471. sed -i '$issl_certificate /etc/ssl/'$domain'/'$domain'.crt;' /etc/nginx/sites-available/$domain
  472. sed -i '$issl_certificate_key /etc/ssl/'$domain'/'$domain'.key;' /etc/nginx/sites-available/$domain
  473. done
  474. echo
  475. debversion=`lsb_release -sc`
  476. php -r \@phpinfo\(\)\; | grep 'PHP Version' -m 1 > versi-php.txt
  477. awk '{ print $4 }' versi-php.txt > versi-php1.txt
  478. cut -c -1 versi-php1.txt > jessie_php.txt
  479. jessie_php=`cat jessie_php.txt`
  480. cut -c -3 versi-php1.txt > stretch_php.txt
  481. stretch_php=`cat stretch_php.txt`
  482. rm -f versi-php.txt versi-php1.txt jessie_php.txt stretch_php.txt
  483. if [ "$debversion" = "jessie" ]; then
  484. if [ $jessie_php = 5 ]
  485. then
  486. service php5-fpm reload
  487. else
  488. service php7.0-fpm reload
  489. fi
  490. elif [ "$debversion" = "stretch" ]; then
  491. service php$stretch_php-fpm reload
  492. else
  493. service php5-fpm reload
  494. fi
  495. service nginx reload
  496. echo "dh20180617" >> /.dhversion
  497. rm -f list.txt
  498. echo "Mantaap, dalam ${red}5${end} detik, Anda akan dilanjutkan ke proses add domain seperti biasa"
  499. sleep 5
  500. else
  501. echo "Ya sudah kalo ga mau,"
  502. echo "Dalam ${red}5${end} detik Anda akan dilanjutkan ke proses add domain seperti biasa"
  503. sleep 5
  504. echo
  505. fi
  506. clear
  507. tambah_domain_nginx
  508. }
  509.  
  510.  
  511. clear
  512.  
  513.  
  514. dh_version="/.dhversion"
  515. if [ -f "$dh_version" ]
  516. then
  517. if [[ `ps -acx|grep apache|wc -l` > 0 ]]; then
  518. tambah_domain_apache
  519. fi
  520. if [[ `ps -acx|grep nginx|wc -l` > 0 ]]; then
  521. tambah_domain_nginx
  522. fi
  523. else
  524. if [[ `ps -acx|grep apache|wc -l` > 0 ]]; then
  525. reconfig_apache
  526. fi
  527. if [[ `ps -acx|grep nginx|wc -l` > 0 ]]; then
  528. reconfig_nginx
  529. fi
  530. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement