将 XenForo 论坛迁移到 Discourse

刚刚完成了一个拥有百万帖子的 Xenforo 到 Discourse 的迁移,运行在 Digital Ocean 的 Droplet 上。以下是我按步骤操作的成功命令(与之前在另一个 vBulletin 论坛上所做的操作非常相似)。

建议导入时至少使用 4 核 vCPU 和 8GB 内存。

感谢本线程中的每一位帮助我完成这些迁移的人,这几天反复阅读和重读确实是一段有趣的经历。

1 - 安装 Digital Ocean Discourse 一键式 Droplet

2 - 通过 SSH 按照提示完成 Discourse 安装

打开 SSH 控制台
root
(你的 root 密码)
(回车)
(你的域名).com
等等

3 - 登录 SFTP

sftp root@XXX.XXX.XX.XX
y(如果被要求确认)
yes
(你的 root 密码)
put db.sql /var/discourse/shared/standalone/db.sql

4 - 登录网站以设置管理员账户

5 - 登录 SSH - 开始流程

ssh root@XXX.XXX.XX.XX
cd /var/discourse
./launcher start app
docker exec -it app bash
sudo apt-get update
sudo apt-get upgrade
y

6 - 安装 MariaDB(作为 MySQL 的替代品)

apt-get update && apt-get install mariadb-server-10.3 libmariadbd-dev
y

7 - MySQL 数据库设置

service mysql start
mysql -u root -p
密码
create database import_db;
exit;

8 - 导入转储文件到 MySQL 数据库**

mysql -u root -p import_db < /shared/db.sql
密码

9 - GEM 文件

echo "gem 'mysql2'" >> Gemfile
echo "gem 'mysql2', require: false" >> /var/www/discourse/Gemfile
echo "gem 'php_serialize', require: false" >> /var/www/discourse/Gemfile
cd /var/www/discourse
su discourse -c 'bundle install --no-deployment --without test --without development --path vendor/bundle'
(忽略红色的文本结果)

10 - 配置安装脚本

vi /var/www/discourse/script/import_scripts/xenforo.rb

---根据需要对文本文件进行编辑,如数据库名称/密码、前缀等---

(esc)
:wq

11 - Bundle 配置

bundle config set path 'vendor/bundle'
bundle config set without 'development:test'
bundle config unset deployment
su discourse -c 'bundle install'

12 - MySQL 配置(可能可以与上一步合并完成)

mysql --version
sudo mysql -u root -p
密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit

13 - 运行安装脚本

su discourse -c 'bundle exec ruby script/import_scripts/xenforo.rb'
4 个赞