#!/bin/bash # 一键部署WordPress脚本 # 检查是否已经安装 WordPress if [ -f "/var/www/html/wordpress/wp-config.php" ]; then echo -e "\033[32mWordPress 已经安装。\033[0m" echo -e "\033[33m如需重新安装,请先删除 /var/www/html/wordpress 并备份相关数据。\033[0m" exit 0 fi # 使用黄色字体提示用户输入域名 while true; do # 提示用户输入域名 echo -e "\033[33m请输入您的域名(确保已经解析到本机): \033[0m" read DOMAIN # 显示用户输入的域名并要求确认 echo -e "\033[32m您输入的域名是: $DOMAIN\033[0m" echo -e "\033[33m请确认这个域名是否正确 (yes/no): \033[0m" read CONFIRM if [[ "${CONFIRM,,}" == "yes" || "${CONFIRM,,}" == "y" ]]; then echo -e "\033[32m域名确认成功: $DOMAIN\033[0m" break else echo -e "\033[31m请重新输入域名。\033[0m" fi done # 判断操作系统类型 if [ -f /etc/debian_version ]; then DISTRO=$(lsb_release -is) if [ "$DISTRO" = "Ubuntu" ]; then # Ubuntu 系统 echo -e "\033[32m检测到 Ubuntu 系统\033[0m" # 更新系统包 echo -e "\033[32m更新系统包...首次更新可能较慢...请耐心等待。。。\033[0m" sudo add-apt-repository ppa:ondrej/php -y sudo apt update -q # 安装必要的软件包 echo -e "\033[32m安装必要的软件包...首次安装可能较慢...请耐心等待。。。\033[0m" sudo apt install -y -q mariadb-server php8.0 php8.0-mysql php8.0-fpm php8.0-curl php8.0-json php8.0-cgi php8.0-mbstring php8.0-xml php8.0-gd php8.0-xmlrpc php8.0-soap php8.0-intl php8.0-zip wget unzip elif [ "$DISTRO" = "Debian" ]; then # Debian 系统 echo -e "\033[32m检测到 Debian 系统\033[0m" # 更新系统包 echo -e "\033[32m更新系统包...首次更新可能较慢...请耐心等待。。。\033[0m" sudo apt-get install -y gnupg2 curl -fsSL https://packages.sury.org/php/apt.gpg | sudo apt-key add - echo "deb https://packages.sury.org/php/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/php.list sudo apt update -q # 安装必要的软件包 echo -e "\033[32m安装必要的软件包...首次安装可能较慢...请耐心等待。。。\033[0m" sudo apt install -y -q mariadb-server php8.0 php8.0-mysql php8.0-fpm php8.0-curl php8.0-json php8.0-cgi php8.0-mbstring php8.0-xml php8.0-gd php8.0-xmlrpc php8.0-soap php8.0-intl php8.0-zip wget unzip else echo -e "\033[31m不支持的操作系统:$DISTRO\033[0m" exit 1 fi else echo -e "\033[31m未能检测到 Debian 或 Ubuntu 系统\033[0m" exit 1 fi # 启动并启用MariaDB sudo systemctl start mariadb sudo systemctl enable mariadb # MariaDB安全设置 sudo mysql_secure_installation < /dev/null 2>&1 rm latest-zh_CN.tar.gz # 设置文件权限 sudo chown -R www-data:www-data /var/www/html/wordpress sudo find /var/www/html/wordpress/ -type d -exec chmod 750 {} \; sudo find /var/www/html/wordpress/ -type f -exec chmod 640 {} \; # 安装Caddy if [ ! -d /etc/apt/sources.list.d/ ]; then sudo mkdir -p /etc/apt/sources.list.d/ fi sudo apt install -y -q debian-keyring debian-archive-keyring apt-transport-https curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list sudo apt update -q sudo apt install -y -q caddy # 配置Caddy sudo bash -c "cat > /etc/caddy/Caddyfile" <