SSH Tunnel, Virtual Private Server, Internet Gratis

Membuat Script Auto Installer pada VPS untuk jualan SSH

Bash shell running Script
Membuat Sripts Auto Installer pada VPS debian 7 merupakan hal penting bagi seller akun ssh, selain mempersingkat waktu juga lebih mudah untuk para newbie men-set up VPS yang sudah di beli. 
Untuk membuat script auto installer pada VPS memerlukan keahlian khusus buat meracik script sehingga pas dan tidak ada terjadi error ketika instalasi di VPS. dalam tutorial ini, tutorial koneksidewa tidak akan memberikan tutorial dari basic, selain sulit dan perlu waktu lama untuk mempelajari membuat script auto installer.
ada cara simple untuk membuat script auto installer pada VPS dengan menyediakan notepad + bisa di download dari Filehippo, kemudian copy script berikut :

    #!/bin/bash
    # go to root
    cd
    # disable ipv6
    echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
    sed -i '$ i\echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6' /etc/rc.local
    # install wget and curl
    apt-get update;apt-get -y install wget curl;
    # set time GMT +7
    ln -fs /usr/share/zoneinfo/Asia/Jakarta /etc/localtime
    # set locale
    sed -i 's/AcceptEnv/#AcceptEnv/g' /etc/ssh/sshd_config
    service ssh restart
    # set repo
    wget -O /etc/apt/sources.list "https://raw.github.com/arieonline/autoscript/master/conf/sources.list.debian7"
    wget "http://www.dotdeb.org/dotdeb.gpg"
    cat dotdeb.gpg | apt-key add -;rm dotdeb.gpg
    # remove unused
    apt-get -y --purge remove samba*;
    apt-get -y --purge remove apache2*;
    apt-get -y --purge remove sendmail*;
    apt-get -y --purge remove bind9*;
    # update
    apt-get update; apt-get -y upgrade;
    # install webserver
    apt-get -y install nginx php5-fpm php5-cli
    # install essential package
    apt-get -y install bmon iftop htop nmap axel nano iptables traceroute sysv-rc-conf dnsutils bc nethogs openvpn vnstat less screen psmisc apt-file whois sslh ptunnel ngrep mtr git zsh mrtg snmp snmpd snmp-mibs-downloader unzip unrar rsyslog debsums rkhunter
    apt-get -y install build-essential
    # disable exim
    service exim4 stop
    sysv-rc-conf exim4 off
    # update apt-file
    apt-file update
    # setting vnstat
    vnstat -u -i venet0
    service vnstat restart
    # install screenfetch
    cd
    wget https://github.com/KittyKatt/screenFetch/raw/master/screenfetch-dev
    mv screenfetch-dev /usr/bin/screenfetch
    chmod +x /usr/bin/screenfetch
    echo "clear" >> .profile
    echo "screenfetch" >> .profile
    # install webserver
    cd
    rm /etc/nginx/sites-enabled/default
    rm /etc/nginx/sites-available/default
    wget -O /etc/nginx/nginx.conf "https://raw.github.com/arieonline/autoscript/master/conf/nginx.conf"
    mkdir -p /home/vps/public_html
    echo "<pre>Setup by KangArie | JualSSH.com | @arieonline | 7946F434</pre>" > /home/vps/public_html/index.html
    echo "<?php phpinfo(); ?>" > /home/vps/public_html/info.php
    wget -O /etc/nginx/conf.d/vps.conf "https://raw.github.com/arieonline/autoscript/master/conf/vps.conf"
    sed -i 's/listen = \/var\/run\/php5-fpm.sock/listen = 127.0.0.1:9000/g' /etc/php5/fpm/pool.d/www.conf
    service php5-fpm restart
    service nginx restart
    # install openvpn
    wget -O /etc/openvpn/openvpn.tar "https://raw.github.com/arieonline/autoscript/master/conf/openvpn-debian.tar"
    cd /etc/openvpn/
    tar xf openvpn.tar
    wget -O /etc/openvpn/1194.conf "https://raw.github.com/arieonline/autoscript/master/conf/1194.conf"
    service openvpn restart
    sysctl -w net.ipv4.ip_forward=1
    sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
    wget -O /etc/iptables.up.rules "https://raw.github.com/arieonline/autoscript/master/conf/iptables.up.rules"
    sed -i '$ i\iptables-restore < /etc/iptables.up.rules' /etc/rc.local
    MYIP=`curl -s ifconfig.me`;
    MYIP2="s/xxxxxxxxx/$MYIP/g";
    sed -i $MYIP2 /etc/iptables.up.rules;
    iptables-restore < /etc/iptables.up.rules
    service openvpn restart
    # configure openvpn client config
    cd /etc/openvpn/
    wget -O /etc/openvpn/1194-client.ovpn "https://raw.github.com/arieonline/autoscript/master/conf/1194-client.conf"
    sed -i $MYIP2 /etc/openvpn/1194-client.ovpn;
    PASS=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 15 | head -n 1`;
    useradd -M -s /bin/false KangArie
    echo "KangArie:$PASS" | chpasswd
    echo "KangArie" > pass.txt
    echo "$PASS" >> pass.txt
    tar cf client.tar 1194-client.ovpn pass.txt
    cp client.tar /home/vps/public_html/
    cd
    # install badvpn
    wget -O /usr/bin/badvpn-udpgw "https://raw.github.com/arieonline/autoscript/master/conf/badvpn-udpgw"
    sed -i '$ i\screen -AmdS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7300' /etc/rc.local
    chmod +x /usr/bin/badvpn-udpgw
    screen -AmdS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7300
    # install mrtg
    wget -O /etc/snmp/snmpd.conf "https://raw.github.com/arieonline/autoscript/master/conf/snmpd.conf"
    wget -O /root/mrtg-mem.sh "https://raw.github.com/arieonline/autoscript/master/conf/mrtg-mem.sh"
    chmod +x /root/mrtg-mem.sh
    cd /etc/snmp/
    sed -i 's/TRAPDRUN=no/TRAPDRUN=yes/g' /etc/default/snmpd
    service snmpd restart
    snmpwalk -v 1 -c public localhost 1.3.6.1.4.1.2021.10.1.3.1
    mkdir -p /home/vps/public_html/mrtg
    cfgmaker --zero-speed 100000000 --global 'WorkDir: /home/vps/public_html/mrtg' --output /etc/mrtg.cfg public@localhost
    curl "https://raw.github.com/arieonline/autoscript/master/conf/mrtg.conf" >> /etc/mrtg.cfg
    sed -i 's/WorkDir: \/var\/www\/mrtg/# WorkDir: \/var\/www\/mrtg/g' /etc/mrtg.cfg
    sed -i 's/# Options\[_\]: growright, bits/Options\[_\]: growright/g' /etc/mrtg.cfg
    indexmaker --output=/home/vps/public_html/mrtg/index.html /etc/mrtg.cfg
    if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ]; then mkdir -p /var/log/mrtg ; env LANG=C /usr/bin/mrtg /etc/mrtg.cfg 2>&1 | tee -a /var/log/mrtg/mrtg.log ; fi
    if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ]; then mkdir -p /var/log/mrtg ; env LANG=C /usr/bin/mrtg /etc/mrtg.cfg 2>&1 | tee -a /var/log/mrtg/mrtg.log ; fi
    if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ]; then mkdir -p /var/log/mrtg ; env LANG=C /usr/bin/mrtg /etc/mrtg.cfg 2>&1 | tee -a /var/log/mrtg/mrtg.log ; fi
    cd
    # setting port ssh
    sed -i '/Port 22/a Port 143' /etc/ssh/sshd_config
    sed -i 's/Port 22/Port  22/g' /etc/ssh/sshd_config
    service ssh restart
    # install dropbear
    apt-get -y install dropbear
    sed -i 's/NO_START=1/NO_START=0/g' /etc/default/dropbear
    sed -i 's/DROPBEAR_PORT=22/DROPBEAR_PORT=443/g' /etc/default/dropbear
    sed -i 's/DROPBEAR_EXTRA_ARGS=/DROPBEAR_EXTRA_ARGS="-p 109 -p 110"/g' /etc/default/dropbear
    echo "/bin/false" >> /etc/shells
    service ssh restart
    service dropbear restart
    # install vnstat gui
    cd /home/vps/public_html/
    wget http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz
    tar xf vnstat_php_frontend-1.5.1.tar.gz
    rm vnstat_php_frontend-1.5.1.tar.gz
    mv vnstat_php_frontend-1.5.1 vnstat
    cd vnstat
    sed -i 's/eth0/venet0/g' config.php
    sed -i "s/\$iface_list = array('venet0', 'sixxs');/\$iface_list = array('venet0');/g" config.php
    sed -i "s/\$language = 'nl';/\$language = 'en';/g" config.php
    sed -i 's/Internal/Internet/g' config.php
    sed -i '/SixXS IPv6/d' config.php
    cd
    # install fail2ban
    apt-get -y install fail2ban;service fail2ban restart
    # install squid3
    apt-get -y install squid3
    wget -O /etc/squid3/squid.conf "https://raw.github.com/arieonline/autoscript/master/conf/squid3.conf"
    sed -i $MYIP2 /etc/squid3/squid.conf;
    service squid3 restart
    # install webmin
    cd
    wget "http://prdownloads.sourceforge.net/webadmin/webmin_1.660_all.deb"
    dpkg --install webmin_1.660_all.deb;
    apt-get -y -f install;
    rm /root/webmin_1.660_all.deb
    service webmin restart
    service vnstat restart
    # downlaod script
    cd
    wget -O speedtest_cli.py "https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py"
    wget -O bench-network.sh "https://raw.github.com/arieonline/autoscript/master/conf/bench-network.sh"
    wget -O ps_mem.py "https://raw.github.com/pixelb/ps_mem/master/ps_mem.py"
    wget -O limit.sh "https://raw.github.com/arieonline/autoscript/master/conf/limit.sh"
    curl http://script.jualssh.com/user-login.sh > user-login.sh
    curl http://script.jualssh.com/user-expire.sh > user-expire.sh
    curl http://script.jualssh.com/user-limit.sh > user-limit.sh
    echo "0 0 * * * root /root/user-expire.sh" > /etc/cron.d/user-expire
    sed -i '$ i\screen -AmdS limit /root/limit.sh' /etc/rc.local
    chmod +x bench-network.sh
    chmod +x speedtest_cli.py
    chmod +x ps_mem.py
    chmod +x user-login.sh
    chmod +x user-expire.sh
    chmod +x user-limit.sh
    chmod +x limit.sh
    # finalisasi
    chown -R www-data:www-data /home/vps/public_html
    service nginx start
    service php-fpm start
    service vnstat restart
    service openvpn restart
    service snmpd restart
    service ssh restart
    service dropbear restart
    service fail2ban restart
    service squid3 restart
    service webmin restart
    # info
    clear
    echo "tutorial.koneksidewa.com" | tee log-install.txt
    echo "===============================================" | tee -a log-install.txt
    echo ""  | tee -a log-install.txt
    echo "Service"  | tee -a log-install.txt
    echo "-------"  | tee -a log-install.txt
    echo "OpenVPN  : TCP 1194 (client config : http://$MYIP/client.tar)"  | tee -a log-install.txt
    echo "OpenSSH  : 22, 143"  | tee -a log-install.txt
    echo "Dropbear : 109, 110, 443"  | tee -a log-install.txt
    echo "Squid3   : 8080 (limit to IP SSH)"  | tee -a log-install.txt
    echo "badvpn   : badvpn-udpgw port 7300"  | tee -a log-install.txt
    echo ""  | tee -a log-install.txt
    echo "Script"  | tee -a log-install.txt
    echo "------"  | tee -a log-install.txt
    echo "screenfetch"  | tee -a log-install.txt
    echo "./ps_mem.py"  | tee -a log-install.txt
    echo "./speedtest_cli.py --share"  | tee -a log-install.txt
    echo "./bench-network.sh"  | tee -a log-install.txt
    echo "./user-login.sh"  | tee -a log-install.txt
    echo "./user-expire.sh"  | tee -a log-install.txt
    echo "./user-limit.sh 2"  | tee -a log-install.txt
    echo ""  | tee -a log-install.txt
    echo "Account Default (utk SSH dan VPN)"  | tee -a log-install.txt
    echo "---------------"  | tee -a log-install.txt
    echo "User     : inetsuper"  | tee -a log-install.txt
    echo "Password : $PASS"  | tee -a log-install.txt
    echo ""  | tee -a log-install.txt
    echo "Fitur lain"  | tee -a log-install.txt
    echo "----------"  | tee -a log-install.txt
    echo "Webmin   : https://$MYIP:10000/"  | tee -a log-install.txt
    echo "vnstat   : http://$MYIP/vnstat/"  | tee -a log-install.txt
    echo "MRTG     : http://$MYIP/mrtg/"  | tee -a log-install.txt
    echo "Timezone : Asia/Jakarta"  | tee -a log-install.txt
    echo "Fail2Ban : [on]"  | tee -a log-install.txt
    echo "IPv6     : [off]"  | tee -a log-install.txt
    echo ""  | tee -a log-install.txt
    echo "Log Installasi --> /root/log-install.txt"  | tee -a log-install.txt
    echo ""  | tee -a log-install.txt
    echo "SILAHKAN REBOOT VPS ANDA !"  | tee -a log-install.txt
    echo ""  | tee -a log-install.txt
    echo "==============================================="  | tee -a log-install.txt


    setelah di copy paste script diatas ke dalam notepad ++ simpan dengan nama namafile.sh, disini script merupakan untuk debian 7 maka simpan dengan nama debian7.sh lalu upload ke VPS menggunakan SFTP atau FTP.

    itu cara termudah membuat script auto installer pada VPS debian 7, tanpa perlu pusing lagi memikirkan script-script bash yang agak susah di pelajari bagi para pemula admin Linux
    Note : Script Kredit to Arie Wijayanto



@



14 komentar:

Unknown said...

makasih gan info bermanfaat ini....tapi ane mau requeast script buat dijalankan di windows gan buat jualan ssh. Trimakasih

Unknown said...

Oh ya tolongin ya gan...thanks berat bhismayangagung@gmail.com

Unknown said...

kalau boleh saya mau request buat script centos gan. terima kasih :)

khafid maksum said...

gan ...ane request script auto set adduser beserta set expirednya buat open ssh gan....terimaksih

Unknown said...

cara pakai gimana?

ekajaya.net said...

Scriptnya untuk tiap vps kan beda2 gan, itu klo di kvm kayaknya gak jalan deh, config networknya jg, trus squidnya juga.
Ane dah nyobain gak bisa, msh bnyk yg harus direkonstruksi ulang.

Unknown said...

Hello admin....ada telegram gak.....klau ada pm saya ya @Ewanzack

Sirajul wathani said...

hallo bang......kalo bisa saya minta tolong di jelasin cara up filenya dan cara supaya bisa jualan ssh pake script ini

kamal said...

Pm sy admin...@khat_thuluth di telegram

kamal said...

Pm sy admin...@khat_thuluth di telegram

Orelha said...

como usar?

website403.blogspot.com said...

erorrrrr

Unknown said...

Saya jual script instalasi untuk VPS untuk dagang ssh ada menunya.
Wa aja saya : 085753900736

Anonymous said...

berapa harga script nya gan

Post a Comment - Kembali ke Konten

Membuat Script Auto Installer pada VPS untuk jualan SSH