Migrare un forum XenForo a Discourse

Ho appena completato una migrazione da Xenforo a Discourse di un forum con un milione di post su un droplet Digital Ocean. Ecco cosa ha funzionato per me, comando per comando (molto simile a quanto appena fatto su un forum vBulletin diverso).

Si consiglia un minimo di 4 vCPU/8 GB per l’importazione.

Grazie a tutti in questa discussione per avermi aiutato a superare queste migrazioni; sono stati senz’altro alcuni giorni divertenti da leggere e rileggere..

1 - Installa il droplet Discourse 1-click di Digital Ocean

2 - Completa l’installazione di Discourse tramite SSH seguendo le istruzioni

Apri la console SSH
root
(la_tua_password_root)
(invio)
(iltuodominio).com
ecc.

3 - Accedi a SFTP

sftp root@XXX.XXX.XX.XX
y (se viene chiesta conferma)
yes
(la_tua_password_root)
put db.sql /var/discourse/shared/standalone/db.sql

4 - Accedi al sito web per configurare l’account amministratore

5 - Accedi a SSH - Avvia il processo

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 - Installa MariaDB (sostituto di mysql)

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

7 - Configurazione del database MySQL

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

8 - Importa il dump → Trasferimento al database MySQL

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

9 - File 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'
(ignora il risultato in rosso)

10 - Configura lo script di installazione

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

---Apporta le modifiche necessarie al file di testo per nome_db/password, prefisso, ecc.---

(esc)
:wq

11 - Configurazione Bundle

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

12 - Configurazione MySQL (potrebbe essere possibile farlo con il passaggio precedente)

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

13 - Script di installazione

su discourse -c 'bundle exec ruby script/import_scripts/xenforo.rb'
4 Mi Piace