Soy solo un converso reciente de Discourse, así que tras mucho ensayo y error he combinado todo lo anterior en una lista completa de comandos paso a paso (gracias a @titusca y @enigmaty).
Espero que esto ayude (o al menos acelere) a que otros recién llegados pasen del inicio al final. Me gustaría incorporar esto en el primer puesto, dado las actualizaciones de mysql->mariadb que, creo, han generado mucha confusión en el proceso.
Antecedentes:
- Transferencia de 1,6 millones de publicaciones.
- Se utilizó un Droplet de Digital Ocean (CPU Optimizada: 4 vCPU/8GB)
#1 - Instalar el Droplet de Discourse de un clic de Digital Ocean
#2 - Finalizar la instalación de Discourse mediante SSH siguiendo las indicaciones
Abrir consola SSH
root
(tu_contraseña_root)
(enter)
(tudominio).com
(etc…)
#3 - Iniciar sesión en SFTP para subir el volcado de la base de datos
sftp root@XXX.XXX.XX.XX
y
yes
(tu_contraseña_root)
put db.sql /var/discourse/shared/standalone/db.sql
#4 - Iniciar sesión en el nuevo sitio web de Discourse para configurar la cuenta de administrador
#5 - Iniciar sesión en SSH - comenzar el proceso
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 - Instalar MariaDB (reemplazo de mysql)
apt-get update && apt-get install mariadb-server-10.3 libmariadbd-dev
y
#7 - Configuración de la base de datos Mysql
service mysql start
mysql -u root -p
contraseña
create database vbulletin;
exit;
#8 - Transferencia de base de datos Vbulletin → Mysql
mysql -u root -p vbulletin < /shared/db.sql
contraseña
#9 - Archivo 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’
(Ignorar el resultado en texto rojo)
#10 - Configurar el script de instalación
vi /var/www/discourse/script/import_scripts/vbulletin.rb
#10.a - Realizar las ediciones necesarias en el archivo de texto
DB_HOST ||= ENV[‘DB_HOST’] || “localhost”
DB_NAME ||= ENV[‘DB_NAME’] || “vbulletin”
DB_PW ||= ENV[‘DB_PW’] || “password”
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 - Finalizar ediciones
:wq
#11 - Configuración de Bundle
bundle config set path ‘vendor/bundle’
bundle config set without ‘development:test’
bundle config unset deployment
su discourse -c ‘bundle install’
#12 - Configuración de Mysql (quizás sea posible hacerlo con el paso anterior)
mysql --version sudo mysql -u root -p contraseña ALTER USER 'root'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; exit
#13 - Script de instalación
su discourse -c ‘bundle exec ruby script/import_scripts/vbulletin.rb’
¡Buena suerte!