很多站长在Flarum论坛需要更换服务器时会感到棘手,不同于简单的文件数据库迁移,Flarum的插件和依赖使其过程更复杂。本教程将详细说明如何安全、完整地迁移您的Flarum论坛。
这次刚好我新建的flarum论坛,刚好双十一活动,新买了一个RackNerd的3 GB KVM VPS $26.99 /year的VPS(如果你需要VPS也可以去看看RackNerd,他们家价钱是挺便宜的),需要转移我的论坛,虽然是新站,但是插件安装了很多,不想重新安装,所以就问AI教程,结果都没成功,不是这个问题就是那个问题,搞了都想放弃从新装了,但是想想既然要使用flarum,就要熟悉它,找了很多教程,都不是细。后面折腾了很久,既然发现其实备份覆盖回复就这么简单。
核心思路
与其在新服务器上艰难地重现旧环境,不如先在新服务器上完成一个全新的、基础的Flarum安装,然后再用旧网站的文件和数据库进行“覆盖”。这个方法能自动解决大部分扩展依赖和环境配置问题。
迁移前准备(在原服务器操作)
备份网站文件
将Flarum论坛的整个网站根目录打包(例如使用tar或zip)。请务必确保包含了以下关键目录和文件:
public/ (存放所有媒体文件、插件资源及核心程序)
vendor/ (包含所有Composer依赖包,是插件能运行的关键)
storage/ (缓存、日志等)
composer.json 和 composer.lock (定义了所有扩展及其版本)


备份数据库
使用phpMyAdmin、命令行或您喜欢的工具,导出整个Flarum论坛的数据库为一个.sql文件。
记录服务器环境
记下原服务器的PHP版本(如7.4)、数据库类型和版本(如MySQL 5.7.44)、Web服务器类型(如Nginx/Apache)。这能确保新服务器环境兼容。
在新服务器上部署
第一步:准备新服务器环境
购买并设置好新的VPS。
根据原服务器记录的信息,在新服务器上配置完全相同的PHP版本和数据库。
创建一个与原网站完全同名的网站(或虚拟主机) 和一个与原数据库同名的数据库。
第二步:安装全新的Flarum
在新服务器的网站根目录下,按照Flarum官方或我之前发布的安装教程(使用1panel V2面板安装部署Flarum论坛系统),完成一个全新的Flarum安装。
在安装过程中,填写数据库信息时,请使用上一步创建的同名数据库。网站标题等不重要信息可以随意填写,完成后您会得到一个全新的、空白的Flarum论坛。
第三步:覆盖文件与数据(关键步骤)
覆盖网站文件:
将您从旧服务器备份的 public 文件夹、vendor 文件夹、composer.json 和 composer.lock 文件,直接上传到新服务器的网站根目录,并覆盖掉全新安装时产生的文件。
这一步确保了您所有的插件、主题和自定义配置都被完整迁移。
恢复数据库:
将之前备份的旧网站数据库文件(.sql),完全导入并覆盖新服务器上的那个同名数据库。
收尾与故障排查
配置伪静态(至关重要!)
这是迁移后最常见的问题。如果您使用Nginx,请确保网站的配置文件中包含了正确的Flarum重写规则。如果您遗漏这一步,即使网站能正常访问,登录等操作也会失败,并可能出现“请求的资源不存在”的错误。
标准的Nginx伪静态规则如下,请添加到您的网站配置中:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
添加后,重启Nginx服务使其生效。
检查文件权限
确保 storage 和 public/assets 目录有正确的写入权限。
访问网站
完成以上所有步骤后,清除浏览器缓存,访问您的新网站。此时您应该能看到与原论坛一模一样的界面和数据,并且可以正常登录和发帖。
总结
成功迁移Flarum论坛的关键在于:
完整备份旧站的文件和数据库。
在新服务器上通过全新安装来搭建一个“干净”的环境。
用旧数据覆盖新环境,从而“嫁接”所有插件和自定义内容。
切记配置伪静态规则,否则功能会不全。
希望这份整理后的教程能帮助更多遇到同样问题的Flarum站长!

小舅子Blog






评论前必须登录!
注册