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'