Ich bin erst seit kurzem ein Discourse-Nutzer, daher habe ich nach viel Hin und Her alles oben Genannte in eine vollständige schrittweise Anleitung umgewandelt (danke an @titusca und @enigmaty).
Ich hoffe, das hilft (oder beschleunigt zumindest) anderen Neueinsteigern, den gesamten Prozess von Anfang bis Ende zu durchlaufen. Ich würde dies gerne in den ersten Beitrag aufnehmen, da die Aktualisierungen von MySQL zu MariaDB meiner Meinung nach für viel Verwirrung im Prozess gesorgt haben.
Hintergrund:
- Übertragung von 1,6 Millionen Beiträgen.
- Genutzter Digital Ocean Droplet (CPU-optimiert: 4 vCPU/8 GB)
#1 – Digital Ocean Discourse 1-Klick-Droplet installieren
#2 – Discourse-Installation über SSH abschließen, indem Sie den Aufforderungen folgen
SSH-Konsole öffnen
root
(Ihr Root-Passwort)
(Enter)
(IhreDomain).com
(usw…)
#3 – An SFTP anmelden, um Datenbank-Dump hochzuladen
sftp root@XXX.XXX.XX.XX
y
yes
(Ihr Root-Passwort)
put db.sql /var/discourse/shared/standalone/db.sql
#4 – An der neuen Discourse-Website anmelden, um das Admin-Konto einzurichten
#5 – An SSH anmelden – Prozess beginnen
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 vbulletin;
exit;
#8 – Vbulletin → MySQL-Datenbankübertragung
mysql -u root -p vbulletin < /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’
(Roten Text ignorieren)
#10 – Installationsskript konfigurieren
vi /var/www/discourse/script/import_scripts/vbulletin.rb
#10.a – Textdatei nach Bedarf bearbeiten
DB_HOST ||= ENV[‘DB_HOST’] || “localhost”
DB_NAME ||= ENV[‘DB_NAME’] || “vbulletin”
DB_PW ||= ENV[‘DB_PW’] || “password”
DB_USER ||= ENV[‘DB_USER’] || “root”
TIMEZONE ||= ENV[‘TIMEZONE’] || “America/Los_Angeles”
TABLE_PREFIX ||= ENV[‘TABLE_PREFIX’] || “”
ATTACHMENT_DIR ||= ENV[‘ATTACHMENT_DIR’] || ‘/shared/attachments/’
#10.c – Bearbeitung abschließen
:wq
#11 – Bundle konfigurieren
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 bereits mit dem vorherigen Schritt erledigbar)
mysql --version sudo mysql -u root -p Passwort ALTER USER 'root'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; exit
#13 – Installationsskript ausführen
su discourse -c ‘bundle exec ruby script/import_scripts/vbulletin.rb’
Viel Erfolg!