一键初始化模板-yuu_alpineinit.sh 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #!/bin/sh
  2. echo "======================================================="
  3. echo "Alpine Linux One-Key Initialize for Web Application"
  4. echo "1.4/JAN.07-2023"
  5. echo "(C)Yuu 2023"
  6. echo "======================================================="
  7. echo "[UPDATE]Database"
  8. echo "Progress: 1/10"
  9. apk update
  10. sleep 2s
  11. echo "[UPDATE]Packages"
  12. echo "Progress: 2/10"
  13. apk upgrade
  14. sleep 2s
  15. echo "[INSTALL]Nginx"
  16. echo "Progress: 3/10"
  17. apk add nginx
  18. echo "[INIT]Nginx"
  19. echo "Progress: 4/10"
  20. service nginx restart
  21. rc-update add nginx
  22. sleep 2s
  23. echo "[INSTALL]PHP"
  24. echo "Progress: 5/10"
  25. apk add php81 php81-mysqli php81-pdo_mysql php81-mbstring php81-json php81-zlib php81-gd php81-intl php81-session php81-fpm php81-opcache
  26. echo "[INSTALL]SQLite Support for PHP"
  27. echo "Progress: 6/10"
  28. apk add php81-pdo_sqlite php81-tokenizer php81-ctype
  29. echo "[INIT]PHP"
  30. echo "Progress: 7/10"
  31. rc-update add php-fpm81
  32. service php-fpm81 restart
  33. sleep 2s
  34. echo "[INIT]BBR TCP Congestion Control"
  35. echo "Progress: 8/10"
  36. echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
  37. echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
  38. sysctl -p
  39. sysctl net.ipv4.tcp_available_congestion_control
  40. lsmod | grep bbr
  41. sleep 5s
  42. echo "[INIT]IPTables"
  43. echo "Progress: 9/10"
  44. apk add iptables
  45. rc-update add iptables
  46. iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  47. iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
  48. iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
  49. iptables -A OUTPUT -p tcp --sport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
  50. iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
  51. iptables -A OUTPUT -p tcp --sport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
  52. iptables -A INPUT -p icmp --icmp 8 -j ACCEPT
  53. iptables -A OUTPUT -p icmp --icmp 0 -j ACCEPT
  54. iptables -P INPUT DROP
  55. iptables -P FORWARD DROP
  56. iptables -P OUTPUT DROP
  57. iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
  58. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  59. iptables -A OUTPUT -j ACCEPT
  60. service iptables save
  61. iptables -L -n
  62. sleep 5s
  63. echo "[INIT]Timezone Data and NTP"
  64. echo "Progress: 10/10"
  65. apk add -u tzdata
  66. cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  67. apk add chrony
  68. chronyd
  69. echo "======================================================="
  70. echo "ALL DONE!"
  71. echo "THANK YOU FOR USING THIS SCRIPT!"
  72. echo "YOUR SERVER WILL REBOOT IN 5 SECOND"
  73. echo "======================================================="
  74. sleep 5s
  75. reboot