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'