Ein XenForo-Forum zu Discourse migrieren

Gerade eine Xenforo → Discourse-Migration einer Million-Beiträge-Community auf einem Digital Ocean Droplet abgeschlossen. Hier ist, was bei mir Befehl für Befehl funktioniert hat (sehr ähnlich zu dem, was ich kürzlich auch auf einer anderen vBulletin-Community gemacht habe).

Empfehlung: Mindestens 4 vCPU/8 GB für den Import.

Danke an alle in diesem Thread, die mir bei diesen Migrationen geholfen haben. Es waren definitiv ein paar spannende Tage mit viel Lesen und Wiederlesen.

1 - Digital Ocean Discourse 1-Klick-Droplet installieren

2 - Discourse-Installation über SSH abschließen, indem Sie den Anweisungen folgen

SSH-Konsole öffnen
root
(IhrRootPasswort)
(Eingabe)
(IhreDomain).com
usw.

3 - An SFTP anmelden

sftp root@XXX.XXX.XX.XX
y (falls nach Bestätigung gefragt wird)
yes
(IhrRootPasswort)
put db.sql /var/discourse/shared/standalone/db.sql

4 - Auf der Website anmelden, um das Admin-Konto einzurichten

5 - An SSH anmelden – Prozess starten

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 installieren (Ersatz für MySQL)

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

7 - MySQL-Datenbank einrichten

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

8 - Dump importieren → MySQL-Datenbankübertragung**

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

9 - GEM-Datei

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'
(rote Textausgabe ignorieren)

10 - Installationsskript konfigurieren

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

---Textdatei bei Bedarf für Datenbankname/Passwort, Präfix usw. bearbeiten---

(Esc)
:wq

11 - Bundle-Konfiguration

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

12 - MySQL-Konfiguration (möglicherweise mit dem vorherigen Schritt kombinierbar)

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

13 - Installationsskript ausführen

su discourse -c 'bundle exec ruby script/import_scripts/xenforo.rb'
4 „Gefällt mir“