Je viens de terminer une migration de Xenforo vers Discourse d’un forum d’un million de messages sur un droplet Digital Ocean. Voici ce qui a fonctionné pour moi, commande par commande (très similaire à ce que je viens de faire sur un autre forum vBulletin).
Je recommande un minimum de 4 vCPU/8 Go pour l’importation.
Merci à tous ceux qui ont participé à ce fil pour m’avoir aidé à réaliser ces migrations ; cela a été quelques jours bien remplis à lire et relire…
1 - Installer le droplet Discourse 1-clic de Digital Ocean
2 - Terminer l’installation de Discourse via SSH en suivant les invites
Ouvrir la console SSH
root
(votre_mot_de_passe_root)
(entrer)
(votredomaine).com
etc
3 - Se connecter en SFTP
sftp root@XXX.XXX.XX.XX
y (si une confirmation est demandée)
yes
(votre_mot_de_passe_root)
put db.sql /var/discourse/shared/standalone/db.sql
4 - Se connecter au site web pour configurer le compte administrateur
5 - Se connecter en SSH - Démarrer le processus
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 - Installer MariaDB (remplacement de mysql)
apt-get update && apt-get install mariadb-server-10.3 libmariadbd-dev
y
7 - Configuration de la base de données MySQL
service mysql start
mysql -u root -p
mot_de_passe
create database import_db;
exit;
8 - Importation du dump → Transfert vers la base de données MySQL**
mysql -u root -p import_db < /shared/db.sql
mot_de_passe
9 - Fichier 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'
(ignorer le résultat en rouge)
10 - Configurer le script d’installation
vi /var/www/discourse/script/import_scripts/xenforo.rb
---Apporter les modifications nécessaires au fichier texte pour le nom de la base de données/mot de passe, le préfixe, etc---
(esc)
:wq
11 - Configuration de Bundle
bundle config set path 'vendor/bundle'
bundle config set without 'development:test'
bundle config unset deployment
su discourse -c 'bundle install'
12 - Configuration MySQL (il est peut-être possible de le faire avec l’étape précédente)
mysql --version
sudo mysql -u root -p
mot_de_passe
ALTER USER 'root'@'localhost' IDENTIFIED BY 'mot_de_passe';
FLUSH PRIVILEGES;
exit
13 - Script d’installation
su discourse -c 'bundle exec ruby script/import_scripts/xenforo.rb'