在一台 VPS 上完成了 WordPress 的迁移与重建,使用 Duplicator 插件导出完整安装包,结合 Apache、MariaDB 及 Certbot SSL 配置,整理了完整的安装步骤与遇到的常见错误及解决方案,供参考。
✅ 基础环境准备
服务器环境基于 Ubuntu。需要安装以下软件包:
sudo apt update
sudo apt upgrade -y
sudo apt install apache2 mariadb-server php php-mysql libapache2-mod-php php-zip unzip -y
sudo systemctl enable apache2 mariadb
sudo systemctl start apache2 mariadb
✅ MariaDB 配置
MariaDB 默认使用 unix_socket 插件进行身份验证,如果需要使用密码进行外部连接,可通过以下 SQL 修改 root 用户配置:
ALTER USER 'root'@'localhost' IDENTIFIED VIA mysql_native_password USING PASSWORD('自定义密码');
FLUSH PRIVILEGES;
随后,创建 WordPress 数据库:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
EXIT;
✅ Apache 虚拟主机配置
创建虚拟主机配置文件 /etc/apache2/sites-available/example.com.conf,内容如下:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com
<Directory /var/www/example.com>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/example_error.log
CustomLog ${APACHE_LOG_DIR}/example_access.log combined
</VirtualHost>
启用站点及 URL 重写功能,并重载 Apache:
sudo a2ensite example.com.conf
sudo a2enmod rewrite
sudo systemctl reload apache2
✅ 上传并解压 Duplicator 包
将 installer.php 和打包好的 .zip 文件上传至 /var/www/example.com/ 目录。
如果浏览器访问安装器时直接显示 PHP 源码,需安装并启用 PHP 模块:
sudo apt install php libapache2-mod-php php-mysql php-zip -y
sudo systemctl restart apache2
✅ 解决 ZipArchive 错误
出现 ZipArchive is not enabled on this server... 报错时,可执行以下命令:
sudo apt install php-zip -y
sudo systemctl restart apache2
如仍无法自动解压,可先手动解压:
cd /var/www/example.com
unzip package_archive.zip
rm wp-content/object-cache.php
然后在安装界面选择「Advanced → Manual Extract」继续。
✅ Redis 缓存错误解决
若提示 Error establishing a Redis connection,可删除 wp-content 目录中的缓存文件:
rm /var/www/example.com/wp-content/object-cache.php
✅ 配置 SSL(Certbot)
执行以下命令配置 HTTPS 证书:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.com
✅ MariaDB 数据库连接
在 Duplicator 安装器界面填写数据库连接信息:
- Host:
localhost - Database:
wordpress - User:
root - Password: 设置的自定义密码
✅ 插件状态与 wp-cli 操作
部分插件(如 Jetpack)迁移后会被自动禁用,可登录后台重新启用,或者使用 wp-cli 操作:
wp plugin list
wp plugin activate jetpack
若未安装 wp-cli,可通过以下方式快速安装:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
php wp-cli.phar --info
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
✅ 数据库 Collation 兼容性提示
迁移过程中,如出现以下提示:
collation isn't supported on current database. "Legacy Collation" will be replaced with default values.
这是因为源服务器使用了较新版本 MySQL(如 MySQL 8.0)中的排序规则(如 utf8mb4_0900_ai_ci 或 utf8mb4_unicode_520_ci),而当前 VPS 上的 MariaDB 并不支持。此时会自动替换为 utf8mb4_general_ci,通常不影响正常运行,可直接继续安装。
若希望严格保留原有 collation,可选择升级数据库到 MySQL 8.0+,或者在备份前将所有表转换为通用 collation(如 utf8mb4_unicode_ci)。但一般情况下,无需特别修改即可正常使用。
✅ 迁移后安全清理
- 删除 Duplicator 安装文件
- 确认自动重定向到 HTTPS 是否生效
- 检查前台与后台访问是否正常
- 核查数据库与插件功能
💬 总结
迁移 WordPress 过程中,主要遇到以下常见问题:
- PHP 未启用导致安装器直接显示源码
- 缺少 ZipArchive 扩展导致无法自动解压
- Redis 缓存配置错误
- 数据库 collation 不兼容提示
通过手动调整 PHP 组件、清理缓存文件以及合理使用 wp-cli,可完整解决迁移中的大部分问题,确保站点顺利上线。