Advertisement
Guest User

Untitled

a guest
Jul 18th, 2018
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 12.65 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://www.dropbox.com/s/xrk7sj9w0490lto/master.vhost?dl=0 -O master.vhost
  77.         debversion=`lsb_release -sc`
  78.         if [ "$debversion" = "jessie" ]; then
  79.                 if [ $jessie_php = 5 ]
  80.                 then
  81.                         sed -i 's/xGANTIx/unix:\/var\/run\/php5-'$domain'-fpm.sock/g' master.vhost
  82.                 echo "" >>  master.vhost
  83.                 wget -q https://pastebin.com/raw/jVBQNtar -O /etc/php5/fpm/pool.d/$domain.conf
  84.                 sed -i "s/xDOMAINx/$domain/g" /etc/php5/fpm/pool.d/$domain.conf
  85.                 echo "" >> /etc/php5/fpm/pool.d/$domain.conf
  86.                 service php5-fpm reload
  87.                 else
  88.                         sed -i 's/xGANTIx/unix:\/run\/php\/php7.0-'$domain'-fpm.sock/g' master.vhost
  89.                 echo "" >>  master.vhost
  90.                 wget -q https://pastebin.com/raw/LWGptHGd -O /etc/php/7.0/fpm/pool.d/$domain.conf
  91.                 sed -i "s/xDOMAINx/$domain/g" /etc/php/7.0/fpm/pool.d/$domain.conf
  92.                 echo "" >> /etc/php/7.0/fpm/pool.d/$domain.conf
  93.                 service php7.0-fpm reload
  94.                 fi
  95.         elif [ "$debversion" = "stretch" ]; then
  96.             sed -i 's/xGANTIx/unix:\/run\/php\/php'$stretch_php'-'$domain'-fpm.sock/g' master.vhost
  97.             echo "" >>  master.vhost
  98.             wget -q https://pastebin.com/raw/PisgrN5F -O /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  99.             sed -i "s/xDOMAINx/$domain/g" /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  100.             sed -i 's/xGANTIx/'$stretch_php'/g' /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  101.             echo "" >> /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  102.             service php$stretch_php-fpm reload
  103.         else
  104.                     sed -i 's/xGANTIx/unix:\/var\/run\/php5-'$domain'-fpm.sock/g' master.vhost
  105.             echo "" >>  master.vhost
  106.             wget -q https://pastebin.com/raw/jVBQNtar -O /etc/php5/fpm/pool.d/$domain.conf
  107.             sed -i "s/xDOMAINx/$domain/g" /etc/php5/fpm/pool.d/$domain.conf
  108.             echo "" >> /etc/php5/fpm/pool.d/$domain.conf
  109.             service php5-fpm reload
  110.         fi
  111.             sed -i "s/xDOMAINx/$domain/g" master.vhost
  112.             mv master.vhost /etc/nginx/sites-available/$domain
  113.         sed -i '/robots.txt {/a \\t        try_files $uri $uri/ /index.php?$args;' /etc/nginx/sites-available/$domain
  114.             ln -sf /etc/nginx/sites-available/$domain /etc/nginx/sites-enabled/
  115.             service nginx reload
  116.             curl -L -# -k --connect-timeout 5 --retry 1 'https://wordpress.org/latest.zip' -o latest.zip
  117.             unzip -qq latest.zip
  118.             rm -f latest.zip
  119.             mv wordpress /var/www/html/$domain
  120.             mv /var/www/html/$domain/wp-config-sample.php /var/www/html/$domain/wp-config.php
  121.             sed -i "s/database_name_here/$db_name/g" /var/www/html/$domain/wp-config.php
  122.             sed -i "s/username_here/$u_name/g" /var/www/html/$domain/wp-config.php
  123.             sed -i "s/password_here/$password_wp_config/g" /var/www/html/$domain/wp-config.php
  124.         salts=$(curl -s https://api.wordpress.org/secret-key/1.1/salt/)
  125.         while read -r salt; do
  126.         cari="define('$(echo "$salt" | cut -d "'" -f 2)"
  127.         ganti=$(echo "$salt" | cut -d "'" -f 4)
  128.         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
  129.         done <<< "$salts"
  130.             chown -R www-data:www-data /var/www/html/$domain
  131.             rm -f latest.zip
  132.         clear
  133.             echo "_________________"
  134.         echo
  135.             echo "Selamat, domain ${blu}$domain${end} baru saja ditambahkan ke server ini"
  136.         echo "Silahkan daftarkan dan ganti NS ke NS Cloudflare, lalu tunggu +/- 30 menit supaya domain bisa diakses."
  137.             echo "Video Cloudflare bisa Anda liat di ${blu}http://vid.hardinal.com/2/${end}"
  138.             echo "_________________"
  139.         echo
  140.             echo "Setelah menunggu 30 menit-an, silahkan kunjungi:"
  141.         echo
  142.             echo "http://$domain"
  143.         echo
  144.             echo "Atau kalo domainnya ingin pake ${red}www${end} kunjungi"
  145.         echo
  146.         echo "http://www.$domain"
  147.         echo
  148.             echo "Anda nanti akan dibawa ke proses instalasi Wordpress"
  149.             echo "_________________"
  150.         echo
  151.             echo "Oia, Jika Anda perlu rincian database, silahkan gunakan rincian di bawah ini"
  152.         echo
  153.             echo "${yel}DATABASE${end}: $db_name"
  154.             echo "${yel}USERNAME${end}: $u_name"
  155.             echo "${yel}PASSWORD${end}: $password_wp_config"
  156.         echo
  157.     else
  158.             rm -f db_name1.txt  db_name.txt  domain-tanpa-titik.txt  domain.txt  u_name1.txt  u_name.txt info.php
  159.             exit 0
  160.     fi
  161. }
  162. clear
  163. dh_version="/.dhversion"
  164. if [ -f "$dh_version" ]
  165. then
  166.     tambah_domain
  167. else
  168.     echo -e "\e[33m##### PERHATIAN: Ada Update #####${end}"
  169.         echo "Konfigurasi Nginx pada server Anda masih pake settingan lama"
  170.     echo "Mau diperbaharui ngga?"
  171.     echo
  172.     echo "Kalo mau, tekan '${yel}y${end}' lalu Enter untuk melanjutkan (tunggu beberapa menit)"
  173.     echo "Atau '${yel}t${end}' lalu Enter untuk tetap menggunakan settingan jadul."
  174.     echo
  175.     echo "${blu}WARNING:${end} ${red}Kalo salah satu web Anda ada yang pake HTTPS / SSL${end}"
  176.     echo "${red}Konsultasikan dulu ke saya, karena akan merusak settingan${end}"
  177.     echo
  178.     read -p "Jawab <y/t> ?" tanya
  179.     echo
  180.     if [[ $tanya == "y" || $tanya == "Y" || $tanya == "yes" || $tanya == "Yes" || $tanya == "Ya" || $tanya == "ya" ]]
  181.     then
  182.         echo "${blu}Siaap, sebentar ya...${end}"
  183.         echo
  184.             sleep 2
  185.         echo -e "##### TAHAP 1 (dari 2) #####"
  186.         echo
  187.         ls -I default -I phpmyadmin -I filemanager -1 /etc/nginx/sites-enabled/ > list.txt
  188.         for domain in $(ls -I default -I phpmyadmin -I filemanager -1 /etc/nginx/sites-enabled/); do   
  189.             rm -fr /etc/nginx/untuk_cache/$domain
  190.             unlink /etc/nginx/sites-enabled/$domain
  191.             rm -f /etc/nginx/sites-available/$domain
  192.             rm -f /var/log/nginx/$domain.error.log
  193.             rm -f /etc/php5/fpm/pool.d/$domain.conf
  194.             rm -f /etc/php/5.6/fpm/pool.d/$domain.conf
  195.             rm -f /etc/php/7.0/fpm/pool.d/$domain.conf
  196.             rm -f /etc/php/7.2/fpm/pool.d/$domain.conf
  197.             echo "Konfigurasi ulang domain ${blu}$domain${end} tahap 1 (dari 2)"
  198.         done
  199.         echo
  200.         echo -e "##### TAHAP 2 (dari 2) #####"
  201.         echo
  202.         sleep 3
  203.         for domain in $(cat list.txt); do  
  204.             php -r \@phpinfo\(\)\; | grep 'PHP Version' -m 1 > versi-php.txt
  205.             awk '{ print $4 }' versi-php.txt > versi-php1.txt
  206.             cut -c -1 versi-php1.txt > jessie_php.txt
  207.             jessie_php=`cat jessie_php.txt`
  208.             cut -c -3 versi-php1.txt > stretch_php.txt
  209.             stretch_php=`cat stretch_php.txt`
  210.             rm -f versi-php.txt versi-php1.txt jessie_php.txt stretch_php.txt
  211.             wget -q --no-check-certificate https://www.dropbox.com/s/xrk7sj9w0490lto/master.vhost?dl=0 -O master.vhost
  212.             debversion=`lsb_release -sc`
  213.             if [ "$debversion" = "jessie" ]; then
  214.                     if [ $jessie_php = 5 ]
  215.                     then
  216.                             sed -i 's/xGANTIx/unix:\/var\/run\/php5-'$domain'-fpm.sock/g' master.vhost
  217.                     echo "" >>  master.vhost
  218.                     wget -q https://pastebin.com/raw/jVBQNtar -O /etc/php5/fpm/pool.d/$domain.conf
  219.                     sed -i "s/xDOMAINx/$domain/g" /etc/php5/fpm/pool.d/$domain.conf
  220.                     echo "" >> /etc/php5/fpm/pool.d/$domain.conf
  221.                     else
  222.                             sed -i 's/xGANTIx/unix:\/run\/php\/php7.0-'$domain'-fpm.sock/g' master.vhost
  223.                     echo "" >>  master.vhost
  224.                     wget -q https://pastebin.com/raw/LWGptHGd -O /etc/php/7.0/fpm/pool.d/$domain.conf
  225.                     sed -i "s/xDOMAINx/$domain/g" /etc/php/7.0/fpm/pool.d/$domain.conf
  226.                     echo "" >> /etc/php/7.0/fpm/pool.d/$domain.conf
  227.                     fi
  228.             elif [ "$debversion" = "stretch" ]; then
  229.                 sed -i 's/xGANTIx/unix:\/run\/php\/php'$stretch_php'-'$domain'-fpm.sock/g' master.vhost
  230.                 echo "" >>  master.vhost
  231.                 wget -q https://pastebin.com/raw/PisgrN5F -O /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  232.                 sed -i "s/xDOMAINx/$domain/g" /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  233.                 sed -i 's/xGANTIx/'$stretch_php'/g' /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  234.                 echo "" >> /etc/php/$stretch_php/fpm/pool.d/$domain.conf
  235.             else
  236.                         sed -i 's/xGANTIx/unix:\/var\/run\/php5-'$domain'-fpm.sock/g' master.vhost
  237.                 echo "" >>  master.vhost
  238.                 wget -q https://pastebin.com/raw/jVBQNtar -O /etc/php5/fpm/pool.d/$domain.conf
  239.                 sed -i "s/xDOMAINx/$domain/g" /etc/php5/fpm/pool.d/$domain.conf
  240.                 echo "" >> /etc/php5/fpm/pool.d/$domain.conf
  241.             fi
  242.                 sed -i "s/xDOMAINx/$domain/g" master.vhost
  243.                 mv master.vhost /etc/nginx/sites-available/$domain
  244.             sed -i '/robots.txt {/a \\t        try_files $uri $uri/ /index.php?$args;' /etc/nginx/sites-available/$domain
  245.                 ln -sf /etc/nginx/sites-available/$domain /etc/nginx/sites-enabled/
  246.             echo "Konfigurasi ulang domain ${blu}$domain${end} tahap 2 (dari 2)"
  247.         done
  248.         echo
  249.         debversion=`lsb_release -sc`
  250.         php -r \@phpinfo\(\)\; | grep 'PHP Version' -m 1 > versi-php.txt
  251.         awk '{ print $4 }' versi-php.txt > versi-php1.txt
  252.         cut -c -1 versi-php1.txt > jessie_php.txt
  253.         jessie_php=`cat jessie_php.txt`
  254.         cut -c -3 versi-php1.txt > stretch_php.txt
  255.         stretch_php=`cat stretch_php.txt`
  256.         rm -f versi-php.txt versi-php1.txt jessie_php.txt stretch_php.txt
  257.         if [ "$debversion" = "jessie" ]; then
  258.                 if [ $jessie_php = 5 ]
  259.                 then
  260.                 service php5-fpm reload
  261.                 else
  262.                 service php7.0-fpm reload
  263.                 fi
  264.         elif [ "$debversion" = "stretch" ]; then
  265.             service php$stretch_php-fpm reload
  266.         else
  267.             service php5-fpm reload
  268.         fi
  269.         service nginx reload
  270.         echo "dh20180617" >> /.dhversion
  271.         rm -f list.txt
  272.         echo "Mantaap, dalam ${red}5${end} detik, Anda akan dilanjutkan ke proses add domain seperti biasa"
  273.         sleep 5
  274.     else
  275.         echo "Ya sudah kalo ga mau,"
  276.         echo "Dalam ${red}5${end} detik Anda akan dilanjutkan ke proses add domain seperti biasa"
  277.         sleep 5
  278.         echo
  279.     fi
  280.     clear
  281.     tambah_domain
  282. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement