| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #!/bin/sh
- echo "======================================================="
- echo "Alpine Linux One-Key Initialize for Web Application"
- echo "1.4/JAN.07-2023"
- echo "(C)Yuu 2023"
- echo "======================================================="
- echo "[UPDATE]Database"
- echo "Progress: 1/10"
- apk update
- sleep 2s
- echo "[UPDATE]Packages"
- echo "Progress: 2/10"
- apk upgrade
- sleep 2s
- echo "[INSTALL]Nginx"
- echo "Progress: 3/10"
- apk add nginx
- echo "[INIT]Nginx"
- echo "Progress: 4/10"
- service nginx restart
- rc-update add nginx
- sleep 2s
- echo "[INSTALL]PHP"
- echo "Progress: 5/10"
- apk add php81 php81-mysqli php81-pdo_mysql php81-mbstring php81-json php81-zlib php81-gd php81-intl php81-session php81-fpm php81-opcache
- echo "[INSTALL]SQLite Support for PHP"
- echo "Progress: 6/10"
- apk add php81-pdo_sqlite php81-tokenizer php81-ctype
- echo "[INIT]PHP"
- echo "Progress: 7/10"
- rc-update add php-fpm81
- service php-fpm81 restart
- sleep 2s
- echo "[INIT]BBR TCP Congestion Control"
- echo "Progress: 8/10"
- echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
- echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
- sysctl -p
- sysctl net.ipv4.tcp_available_congestion_control
- lsmod | grep bbr
- sleep 5s
- echo "[INIT]IPTables"
- echo "Progress: 9/10"
- apk add iptables
- rc-update add iptables
- iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
- iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
- iptables -A OUTPUT -p tcp --sport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
- iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
- iptables -A OUTPUT -p tcp --sport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
- iptables -A INPUT -p icmp --icmp 8 -j ACCEPT
- iptables -A OUTPUT -p icmp --icmp 0 -j ACCEPT
- iptables -P INPUT DROP
- iptables -P FORWARD DROP
- iptables -P OUTPUT DROP
- iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
- iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- iptables -A OUTPUT -j ACCEPT
- service iptables save
- iptables -L -n
- sleep 5s
- echo "[INIT]Timezone Data and NTP"
- echo "Progress: 10/10"
- apk add -u tzdata
- cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- apk add chrony
- chronyd
- echo "======================================================="
- echo "ALL DONE!"
- echo "THANK YOU FOR USING THIS SCRIPT!"
- echo "YOUR SERVER WILL REBOOT IN 5 SECOND"
- echo "======================================================="
- sleep 5s
- reboot
|