Advertisement
snaptrap013

Debian/Centos Autoscrip Webmin

Jul 21st, 2016
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.88 KB | None | 0 0
  1. !/bin/bash
  2.  
  3. # initialisasi var
  4. OS=`uname -p`;
  5.  
  6. # go to root
  7. cd
  8.  
  9. # disable se linux
  10. echo 0 > /selinux/enforce
  11. sed -i 's/SELINUX=enforcing/SELINUX=disable/g' /etc/sysconfig/selinux
  12.  
  13. # set locale
  14. sed -i 's/AcceptEnv/#AcceptEnv/g' /etc/ssh/sshd_config
  15. service sshd restart
  16.  
  17. # disable ipv6
  18. echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
  19. sed -i '$ i\echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6' /etc/rc.local
  20. sed -i '$ i\echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6' /etc/rc.d/rc.local
  21.  
  22. # install wget and curl
  23. yum -y install wget curl
  24.  
  25.  
  26. # remove unused
  27. yum -y remove sendmail;
  28. yum -y remove httpd;
  29. yum -y remove cyrus-sasl
  30.  
  31. # update
  32. yum -y update
  33.  
  34. # install webserver
  35. yum -y install nginx php-fpm php-cli
  36. service nginx restart
  37. service php-fpm restart
  38. chkconfig nginx on
  39. chkconfig php-fpm on
  40.  
  41. # install essential package
  42. yum -y install rrdtool screen iftop htop nmap bc nethogs openvpn vnstat ngrep mtr git zsh mrtg unrar rsyslog rkhunter mrtg net-snmp net-snmp-utils expect nano bind-utils
  43. yum -y groupinstall 'Development Tools'
  44. yum -y install cmake
  45.  
  46. yum -y --enablerepo=rpmforge install axel sslh ptunnel unrar
  47.  
  48. # matiin exim
  49. service exim stop
  50. chkconfig exim off
  51.  
  52. # setting vnstat
  53. vnstat -u -i eth0
  54. echo "MAILTO=root" > /etc/cron.d/vnstat
  55. echo "*/5 * * * * root /usr/sbin/vnstat.cron" >> /etc/cron.d/vnstat
  56. service vnstat restart
  57. chkconfig vnstat on
  58.  
  59. # install screenfetch
  60. cd
  61. wget https://github.com/KittyKatt/screenFetch/raw/master/screenfetch-dev
  62. mv screenfetch-dev /usr/bin/screenfetch
  63. chmod +x /usr/bin/screenfetch
  64. echo "clear" >> .bash_profile
  65. echo "screenfetch" >> .bash_profile
  66.  
  67. # install webserver
  68. cd
  69. wget -O /etc/nginx/nginx.conf "https://raw.github.com/drcyber96/autoscriptwebmin/master/conf/nginx.conf"
  70. sed -i 's/www-data/nginx/g' /etc/nginx/nginx.conf
  71. mkdir -p /home/vps/public_html
  72. echo "<pre>DRCYBER</pre>" > /home/vps/public_html/index.html
  73. echo "<?php phpinfo(); ?>" > /home/vps/public_html/info.php
  74. rm /etc/nginx/conf.d/*
  75. wget -O /etc/nginx/conf.d/vps.conf "https://raw.github.com/drcyber96/autoscriptwebmin/master/conf/vps.conf"
  76. sed -i 's/apache/nginx/g' /etc/php-fpm.d/www.conf
  77. chmod -R +rx /home/vps
  78. service php-fpm restart
  79. service nginx restart
  80.  
  81. # install openvpn
  82. wget -O /etc/openvpn/openvpn.tar "https://raw.github.com/drcyber96/autoscriptwebmin/master/conf/openvpn-debian.tar"
  83. cd /etc/openvpn/
  84. tar xf openvpn.tar
  85. wget -O /etc/openvpn/1194.conf "https://raw.github.com/drcyber96/autoscriptwebmin/master/conf/1194-centos.conf"
  86. if [ "$OS" == "x86_64" ]; then
  87. wget -O /etc/openvpn/1194.conf "https://raw.github.com/drcyber96/autoscriptwebmin/master/conf/1194-centos64.conf"
  88. fi
  89. wget -O /etc/iptables.up.rules "https://raw.github.com/drcyber96/autoscriptwebmin/master/conf/iptables.up.rules"
  90. sed -i '$ i\iptables-restore < /etc/iptables.up.rules' /etc/rc.local
  91. sed -i '$ i\iptables-restore < /etc/iptables.up.rules' /etc/rc.d/rc.local
  92. MYIP=`curl -s ifconfig.me`;
  93. MYIP2="s/xxxxxxxxx/$MYIP/g";
  94. sed -i $MYIP2 /etc/iptables.up.rules;
  95. sed -i 's/venet0/eth0/g' /etc/iptables.up.rules
  96. iptables-restore < /etc/iptables.up.rules
  97. sysctl -w net.ipv4.ip_forward=1
  98. sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf
  99. service openvpn restart
  100. chkconfig openvpn on
  101. cd
  102.  
  103. # configure openvpn client config
  104. cd /etc/openvpn/
  105. wget -O /etc/openvpn/1194-client.ovpn "https://raw.github.com/drcyber96/autoscriptwebmin/master/conf/1194-client.conf"
  106. sed -i $MYIP2 /etc/openvpn/1194-client.ovpn;
  107. PASS=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 15 | head -n 1`;
  108. useradd -M -s /bin/false drcyber96
  109. echo "drcyber96:$PASS" | chpasswd
  110. echo "drcyber96" > pass.txt
  111. echo "$PASS" >> pass.txt
  112. tar cf client.tar 1194-client.ovpn pass.txt
  113. cp client.tar /home/vps/public_html/
  114. cd
  115.  
  116. # install badvpn
  117. wget -O /usr/bin/badvpn-udpgw "https://raw.github.com/drcyber96/autoscriptwebmin/master/conf/badvpn-udpgw"
  118. if [ "$OS" == "x86_64" ]; then
  119. wget -O /usr/bin/badvpn-udpgw "https://raw.github.com/drcyber96/autoscriptwebmin/master/conf/badvpn-udpgw64"
  120. fi
  121. sed -i '$ i\screen -AmdS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7300' /etc/rc.local
  122. sed -i '$ i\screen -AmdS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7300' /etc/rc.d/rc.local
  123. chmod +x /usr/bin/badvpn-udpgw
  124. screen -AmdS badvpn badvpn-udpgw --listen-addr 127.0.0.1:7300
  125.  
  126. # install mrtg
  127. cd /etc/snmp/
  128. wget -O /etc/snmp/snmpd.conf "https://raw.github.com/drcyber96/autoscriptwebmin/master/conf/snmpd.conf"
  129. wget -O /root/mrtg-mem.sh "https://raw.github.com/drcyber96/autoscriptwebmin/master/conf/mrtg-mem.sh"
  130. chmod +x /root/mrtg-mem.sh
  131. service snmpd restart
  132. chkconfig snmpd on
  133. snmpwalk -v 1 -c public localhost | tail
  134. mkdir -p /home/vps/public_html/mrtg
  135. cfgmaker --zero-speed 100000000 --global 'WorkDir: /home/vps/public_html/mrtg' --output /etc/mrtg/mrtg.cfg public@localhost
  136. curl "https://raw.github.com/drcyber96/autoscriptwebmin/master/conf/mrtg.conf" >> /etc/mrtg/mrtg.cfg
  137. sed -i 's/WorkDir: \/var\/www\/mrtg/# WorkDir: \/var\/www\/mrtg/g' /etc/mrtg/mrtg.cfg
  138. sed -i 's/# Options\[_\]: growright, bits/Options\[_\]: growright/g' /etc/mrtg/mrtg.cfg
  139. indexmaker --output=/home/vps/public_html/mrtg/index.html /etc/mrtg/mrtg.cfg
  140. echo "0-59/5 * * * * root env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg" > /etc/cron.d/mrtg
  141. LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
  142. LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
  143. LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
  144. cd
  145.  
  146. # setting port ssh
  147. sed -i '/Port 22/a Port 143' /etc/ssh/sshd_config
  148. sed -i 's/#Port 22/Port 22/g' /etc/ssh/sshd_config
  149. service sshd restart
  150. chkconfig sshd on
  151.  
  152. # install dropbear
  153. yum -y install dropbear
  154. echo "OPTIONS=\"-p 109 -p 110 -p 443\"" > /etc/sysconfig/dropbear
  155. echo "/bin/false" >> /etc/shells
  156. service dropbear restart
  157. chkconfig dropbear on
  158.  
  159. # install vnstat gui
  160. cd /home/vps/public_html/
  161. wget http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz
  162. tar xf vnstat_php_frontend-1.5.1.tar.gz
  163. rm vnstat_php_frontend-1.5.1.tar.gz
  164. mv vnstat_php_frontend-1.5.1 vnstat
  165. cd vnstat
  166. sed -i "s/\$iface_list = array('eth0', 'sixxs');/\$iface_list = array('eth0');/g" config.php
  167. sed -i "s/\$language = 'nl';/\$language = 'en';/g" config.php
  168. sed -i 's/Internal/Internet/g' config.php
  169. sed -i '/SixXS IPv6/d' config.php
  170. cd
  171.  
  172. # install fail2ban
  173. yum -y install fail2ban
  174. service fail2ban restart
  175. chkconfig fail2ban on
  176.  
  177. # install squid
  178. yum -y install squid
  179. wget -O /etc/squid/squid.conf "https://raw.github.com/drcyber96/autoscriptwebmin/master/conf/squid-centos.conf"
  180. sed -i $MYIP2 /etc/squid/squid.conf;
  181. service squid restart
  182. chkconfig squid on
  183.  
  184. # install webmin
  185. cd
  186. wget http://prdownloads.sourceforge.net/webadmin/webmin-1.670-1.noarch.rpm
  187. rpm -i webmin-1.670-1.noarch.rpm;
  188. rm webmin-1.670-1.noarch.rpm
  189. service webmin restart
  190. chkconfig webmin on
  191.  
  192. # pasang bmon
  193. if [ "$OS" == "x86_64" ]; then
  194. wget -O /usr/bin/bmon "https://raw.github.com/drcyber96/autoscriptwebmin/master/conf/bmon64"
  195. else
  196. wget -O /usr/bin/bmon "https://raw.github.com/drcyber96/autoscriptwebmin/master/conf/bmon"
  197. fi
  198. chmod +x /usr/bin/bmon
  199.  
  200. # downlaod script
  201. cd
  202. wget -O speedtest_cli.py "https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py"
  203. wget -O bench-network.sh "https://raw.github.com/drcyber96/autoscriptwebmin/master/conf/bench-network.sh"
  204. wget -O ps_mem.py "https://raw.github.com/pixelb/ps_mem/master/ps_mem.py"
  205. wget -O limit.sh "https://raw.github.com/drcyber96/autoscriptwebmin/master/conf/limit.sh"
  206. curl http://script.jualssh.com/user-login.sh > user-login.sh
  207. curl http://script.jualssh.com/user-expire.sh > user-expire.sh
  208. curl http://script.jualssh.com/user-limit.sh > user-limit.sh
  209. echo "0 0 * * * root /root/user-expire.sh" > /etc/cron.d/user-expire
  210. sed -i '$ i\screen -AmdS limit /root/limit.sh' /etc/rc.local
  211. sed -i '$ i\screen -AmdS limit /root/limit.sh' /etc/rc.d/rc.local
  212. chmod +x bench-network.sh
  213. chmod +x speedtest_cli.py
  214. chmod +x ps_mem.py
  215. chmod +x user-login.sh
  216. chmod +x user-expire.sh
  217. chmod +x user-limit.sh
  218. chmod +x limit.sh
  219.  
  220.  
  221. # cron
  222. service crond start
  223. chkconfig crond on
  224.  
  225. # set time GMT +8
  226. ln -fs /usr/share/zoneinfo/Asia/Kuala_Lumpur /etc/localtime
  227.  
  228. # finalisasi
  229. chown -R nginx:nginx /home/vps/public_html
  230. service nginx start
  231. service php-fpm start
  232. service vnstat restart
  233. service openvpn restart
  234. service snmpd restart
  235. service sshd restart
  236. service dropbear restart
  237. service fail2ban restart
  238. service squid restart
  239. service webmin restart
  240. service crond start
  241. chkconfig crond on
  242.  
  243. # info
  244. clear
  245. echo "drcyber96" | tee log-install.txt
  246. echo "===============================================" | tee -a log-install.txt
  247. echo "" | tee -a log-install.txt
  248. echo "Service" | tee -a log-install.txt
  249. echo "-------" | tee -a log-install.txt
  250. echo "OpenVPN : TCP 1194 (client config : http://$MYIP/client.tar)" | tee -a log-install.txt
  251. echo "OpenSSH : 22, 143" | tee -a log-install.txt
  252. echo "Dropbear : 109, 110, 443" | tee -a log-install.txt
  253. echo "Squid3 : 8080 (limit to IP SSH)" | tee -a log-install.txt
  254. echo "badvpn : badvpn-udpgw port 7300" | tee -a log-install.txt
  255. echo "" | tee -a log-install.txt
  256. echo "Tools" | tee -a log-install.txt
  257. echo "-----" | tee -a log-install.txt
  258. echo "axel" | tee -a log-install.txt
  259. echo "bmon" | tee -a log-install.txt
  260. echo "htop" | tee -a log-install.txt
  261. echo "iftop" | tee -a log-install.txt
  262. echo "mtr" | tee -a log-install.txt
  263. echo "nethogs" | tee -a log-install.txt
  264. echo "" | tee -a log-install.txt
  265. echo "Script" | tee -a log-install.txt
  266. echo "------" | tee -a log-install.txt
  267. echo "screenfetch" | tee -a log-install.txt
  268. echo "./ps_mem.py" | tee -a log-install.txt
  269. echo "./speedtest_cli.py --share" | tee -a log-install.txt
  270. echo "./bench-network.sh" | tee -a log-install.txt
  271. echo "./user-login.sh" | tee -a log-install.txt
  272. echo "./user-expire.sh" | tee -a log-install.txt
  273. echo "./user-limit.sh 2" | tee -a log-install.txt
  274. echo "" | tee -a log-install.txt
  275. echo "Account Default (utk SSH dan VPN)" | tee -a log-install.txt
  276. echo "---------------" | tee -a log-install.txt
  277. echo "User : drcyber96" | tee -a log-install.txt
  278. echo "Password : $PASS" | tee -a log-install.txt
  279. echo "" | tee -a log-install.txt
  280. echo "Fitur lain" | tee -a log-install.txt
  281. echo "----------" | tee -a log-install.txt
  282. echo "Webmin : http://$MYIP:10000/" | tee -a log-install.txt
  283. echo "vnstat : http://$MYIP/vnstat/" | tee -a log-install.txt
  284. echo "MRTG : http://$MYIP/mrtg/" | tee -a log-install.txt
  285. echo "Timezone : Asia/Kuala_Lumpur" | tee -a log-install.txt
  286. echo "Fail2Ban : [on]" | tee -a log-install.txt
  287. echo "IPv6 : [off]" | tee -a log-install.txt
  288. echo "" | tee -a log-install.txt
  289. echo "Log Installasi --> /root/log-install.txt" | tee -a log-install.txt
  290. echo "" | tee -a log-install.txt
  291. echo "REBOOT VPS ANDA type reboot dan enter keluar putty" | tee -a log-install.txt
  292. echo "DAH REBOOT KELUAR PUTTY DAN VPS ANDA TELAH SIAP UNTUK DIGUNAKAN" | tee -a log-install.txt
  293. echo "===============================================" | tee -a log-install.txt
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement