Migrate a XenForo forum to Discourse

Только что завершил миграцию с Xenforo на Discourse форума с миллионом постов на Digital Ocean droplet. Вот что сработало для меня по шагам (очень похоже на то, что я только что сделал с другим форумом на vbulletin).

Рекомендуется минимум 4 vCPU / 8 ГБ для импорта.

Спасибо всем в этой теме за помощь в прохождении этих миграций, определенно было несколько веселых дней чтения и перечитывания..

1 — Установка Digital Ocean Discourse через 1-клик droplet

2 — Завершение установки Discourse через SSH, следуя подсказкам

Откройте консоль SSH
root
(ваш пароль root)
(enter)
(ваш домен).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 'пароль';
FLUSH PRIVILEGES;
exit

13 — Запуск скрипта импорта

su discourse -c 'bundle exec ruby script/import_scripts/xenforo.rb'
4 лайка