Я только недавно перешел на Discourse, поэтому после множества проб и ошибок я объединил всё вышеперечисленное в полный пошаговый список (спасибо @titusca и @enigmaty).
Надеюсь, это поможет (или хотя бы ускорит) другим новичкам пройти путь от начала до конца. Хотел бы включить это в первый пост, учитывая обновления с переходом от MySQL к MariaDB, которые, как мне кажется, внесли много путаницы в процесс.
Предпосылки:
- Перенос 1,6 миллиона постов.
- Использовался Droplet от Digital Ocean (оптимизированный по CPU: 4 vCPU/8 ГБ).
#1 — Установка Droplet Discourse в один клик от Digital Ocean
#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 — Вход на новый сайт Discourse для настройки учетной записи администратора
#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 vbulletin;
exit;
#8 — Перенос базы данных из vBulletin в MySQL
mysql -u root -p vbulletin < /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/vbulletin.rb
#10.a — Внесите необходимые правки в текстовый файл
DB_HOST ||= ENV[‘DB_HOST’] || “localhost”
DB_NAME ||= ENV[‘DB_NAME’] || “vbulletin”
DB_PW ||= ENV[‘DB_PW’] || “пароль”
DB_USER ||= ENV[‘DB_USER’] || “root”
TIMEZONE ||= ENV[‘TIMEZONE’] || “America/Los_Angeles”
TABLE_PREFIX ||= ENV[‘TABLE_PREFIX’] || “”
ATTACHMENT_DIR ||= ENV[‘ATTACHMENT_DIR’] || ‘/shared/attachments/’
#10.c — Завершение редактирования
: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/vbulletin.rb’
Удачи!