Только что завершил миграцию с 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'