近期在一台 VPS 上完成了 WordPress 的迁移及重建,使用 Duplicator 插件导出的完整包,结合 Apache、MySQL 和 Certbot 配置,整理了详细操作流程与遇到的错误解决方案,供参考。
✅ 基础环境准备
服务器环境:Ubuntu 系统
sudo apt update
sudo apt upgrade -y
sudo apt install apache2 mysql-server php php-mysql libapache2-mod-php php-zip unzip -y
sudo systemctl enable apache2 mysql
✅ MySQL 配置
MySQL 在新版中默认通过 auth_socket 登录,无需密码。如果需要使用密码登录,可执行以下 SQL:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '自定义密码';
FLUSH PRIVILEGES;
创建数据库:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
如需使用 root 用户连接,可直接在 wp-config.php 配置中填写 root 账户及对应密码。
✅ Apache 虚拟主机配置
编辑配置文件 /etc/apache2/sites-available/example.com.conf:
apacheCopyEdit<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>
启用站点并重载 Apache:
sudo a2ensite example.com.conf
sudo a2enmod rewrite
sudo systemctl reload apache2
✅ 上传并解压 Duplicator 包
在 /var/www/example.com 中上传 installer.php 及 .zip 文件。
常见错误:
If you're seeing this text when browsing to the installer, it means your web server is not set up properly. Please contact your host and ask them to enable "PHP" processing on your account.
解决方案:安装并启用 PHP 模块
sudo apt install php libapache2-mod-php php-mysql php-zip -y
sudo systemctl restart apache2
✅ ZipArchive 扩展问题
错误提示:
NOTICE: 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 /var/www/example.com/wp-content/object-cache.php
在 Duplicator 安装器中选择「Advanced → Manual Extract」继续恢复流程。
✅ Redis 缓存报错
错误提示:
Error establishing a Redis connection
To disable Redis, delete the object-cache.php file in the /wp-content/ directory.
解决方案:删除 object-cache.php 文件即可。
rm /var/www/example.com/wp-content/object-cache.php
✅ Certbot 安装 SSL
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.com
✅ 插件禁用(Jetpack 等)
如果遇到提示:
Plugin Jetpack disabled by default
可在 WordPress 后台插件管理中重新启用。
使用 wp-cli 查看和操作插件状态:
wp plugin list
wp plugin activate jetpack
wp-cli 实际会修改数据库中的 wp_options 表,active_plugins 项目保存了所有激活的插件列表。
✅ 迁移完成后安全清理
- 登录后台后确认删除 Duplicator 安装文件
- 检查是否开启自动重定向到 HTTPS
- 确认站点首页与后台均正常访问
💬 总结
此次 VPS 上的 WordPress 迁移过程中,主要遇到以下几个典型问题:
- PHP 未启用导致安装器直接显示代码
- 缺少 ZipArchive 扩展导致无法自动解压
- Redis 缓存未配置导致连接错误
- 插件自动禁用需要手动重新启用
通过一系列详细的排查与命令配置,最终完成了迁移并上线。