尼克狐尼克

导航

Ubuntu 上的 WordPress 一键部署脚本

Ubuntu 上的 WordPress 一键部署脚本

这个脚本集成了我们之前讨论的所有步骤,包括:

  1. 环境准备:更新系统并安装 Apache、PHP、MySQL/MariaDB。

  2. 数据库配置:自动创建 WordPress 数据库和用户。

  3. WordPress 部署:下载、解压并配置 WordPress 文件。

  4. 权限设置:为网站目录设置正确的文件权限。

  5. PHP 优化:自动修改 php.ini 以支持更大的文件上传(例如 100MB)。

  6. 安全收尾:清理安装过程中产生的临时文件。


一键部署脚本

请按照以下步骤操作:

第 1 步:创建脚本文件

通过 SSH 登录到你的 Ubuntu 服务器后,执行以下命令创建一个脚本文件:

nano wordpress-install.sh

第 2 步:复制并粘贴脚本内容

将下面的所有代码复制并粘贴到 nano 编辑器中。

#!/bin/bash

# =================================================================
# WordPress 一键部署脚本 (适用于 Ubuntu/Debian 系统)
# 功能: 自动安装 LAMP 环境并部署最新版 WordPress
# =================================================================

# --- 用户配置区 ---
# 请在这里修改你的配置
DB_NAME="wordpress_db"
DB_USER="wordpress_user"
DB_PASSWORD="$(openssl rand -base64 12)" # 自动生成一个12位的随机密码
WP_ADMIN_USER="admin"
WP_ADMIN_EMAIL="your-email@example.com" # 请务必修改为你的邮箱
SITE_TITLE="我的新网站"
UPLOAD_MAX_SIZE="100M" # 设置最大上传文件大小
# --------------------

echo "================================================="
echo "  WordPress 一键部署脚本启动"
echo "================================================="
echo "  数据库名: $DB_NAME"
echo "  数据库用户: $DB_USER"
echo "  数据库密码: $DB_PASSWORD" # 脚本会显示自动生成的密码,请务必保存
echo "  WordPress 管理员: $WP_ADMIN_USER"
echo "  管理员邮箱: $WP_ADMIN_EMAIL"
echo "  网站标题: $SITE_TITLE"
echo "  最大上传大小: $UPLOAD_MAX_SIZE"
echo "================================================="
read -p "请确认以上信息无误,按 Enter 键继续,或按 Ctrl+C 取消..."

# 1. 更新系统并安装必要软件
echo "--- 正在更新系统并安装 LAMP 环境..."
sudo apt update -y
sudo apt upgrade -y
sudo apt install -y apache2 mysql-server php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip wget unzip

# 2. 配置数据库
echo "--- 正在配置 MySQL 数据库..."
sudo mysql -u root <<MYSQL_SCRIPT
CREATE DATABASE IF NOT EXISTS $DB_NAME DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER IF NOT EXISTS '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASSWORD';
GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost';
FLUSH PRIVILEGES;
EXIT;
MYSQL_SCRIPT

# 3. 下载并部署 WordPress
echo "--- 正在下载并部署 WordPress..."
cd /tmp
wget -c https://cn.wordpress.org/latest-zh_CN.tar.gz
tar -xzvf latest-zh_CN.tar.gz
sudo rm -rf /var/www/html/*
sudo cp -r /tmp/wordpress/* /var/www/html/

# 4. 设置文件权限
echo "--- 正在设置文件权限..."
sudo chown -R www-data:www-data /var/www/html/
sudo chmod -R 755 /var/www/html/

# 5. 配置 WordPress 配置文件
echo "--- 正在创建 WordPress 配置文件 (wp-config.php)..."
sudo -u www-data cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
sudo -u www-data sed -i "s/database_name_here/$DB_NAME/" /var/www/html/wp-config.php
sudo -u www-data sed -i "s/username_here/$DB_USER/" /var/www/html/wp-config.php
sudo -u www-data sed -i "s/password_here/$DB_PASSWORD/" /var/www/html/wp-config.php

# 6. 配置 PHP 以支持大文件上传
echo "--- 正在优化 PHP 配置..."
PHP_INI_PATH=$(php -i | grep "Loaded Configuration File" | awk '{print $NF}')
sudo sed -i "s/^upload_max_filesize.*/upload_max_filesize = $UPLOAD_MAX_SIZE/" $PHP_INI_PATH
sudo sed -i "s/^post_max_size.*/post_max_size = $UPLOAD_MAX_SIZE/" $PHP_INI_PATH
sudo sed -i "s/^memory_limit.*/memory_limit = $(echo $UPLOAD_MAX_SIZE | sed 's/M//')M/" $PHP_INI_PATH # 设置内存限制为上传大小的1.2倍

# 7. 重启 Apache 服务
echo "--- 正在重启 Apache 服务..."
sudo systemctl restart apache2

# 8. 清理临时文件
echo "--- 正在清理临时文件..."
rm -rf /tmp/wordpress /tmp/latest-zh_CN.tar.gz

echo "================================================="
echo "  WordPress 部署成功!"
echo "================================================="
echo "  网站地址: http://$(hostname -I | awk '{print $1}')"
echo "  后台地址: http://$(hostname -I | awk '{print $1}')/wp-admin"
echo "  管理员用户名: $WP_ADMIN_USER"
echo "  管理员密码: (首次登录时在网站上设置)"
echo "-------------------------------------------------"
echo "  重要信息 (请妥善保存):"
echo "  数据库名: $DB_NAME"
echo "  数据库用户: $DB_USER"
echo "  数据库密码: $DB_PASSWORD"
echo "================================================="

第 3 步:保存并退出

nano 编辑器中,按 Ctrl + X,然后按 Y 确认保存,最后按 Enter 键。

第 4 步:赋予脚本执行权限

chmod +x wordpress-install.sh

第 5 步:运行脚本

./wordpress-install.sh

脚本会自动执行所有步骤。在执行过程中,它会显示生成的数据库密码,请务必记下它。

第 6 步:完成安装

脚本执行完毕后,访问你的服务器 IP 地址(脚本最后会显示),你将看到 WordPress 的欢迎页面。按照向导设置你的管理员密码,即可完成全部安装。


注意事项

  1. MySQL 安全设置:此脚本为了简化流程,没有运行 mysql_secure_installation。生产环境中,强烈建议在脚本运行后手动执行 sudo mysql_secure_installation 来增强数据库安全性。

  2. 防火墙:如果你的服务器开启了防火墙(如 ufw),请确保允许 HTTP 流量:

    sudo ufw allow 'Apache Full'
    
  3. 数据备份:定期备份你的网站文件和数据库是一个好习惯。

  4. 脚本自定义:你可以根据自己的需求修改脚本开头的用户配置区,比如数据库名、用户名、网站标题和最大上传文件大小等。

posted on 2026-01-06 02:02  CN-尼克狐尼克  阅读(3)  评论(0)    收藏  举报