أنا مجرد محوّل حديث إلى نظام Discourse، لذا بعد الكثير من التجربة والخطأ، جمّعت كل ما سبق في قائمة كاملة خطوة بخطوة (شكرًا لك @titusca و@enigmaty).
أتمنى أن يساعد هذا (أو على الأقل يسرّع) المبتدئين الآخرين في الانتقال من البداية إلى النهاية. أود دمج هذا في المنشور الأول نظرًا للتحديثات التي طرأت على التحويل من MySQL إلى MariaDB، والتي أعتقد أنها أضافت الكثير من الارتباك إلى العملية.
الخلفية:
- نقل 1.6 مليون منشور.
- استُخدمت Droplet من Digital Ocean (محسّنة للـ CPU: 4 vCPU / 8GB)
#1 - تثبيت Droplet Discourse من Digital Ocean بنقرة واحدة
#2 - إكمال تثبيت Discourse عبر SSH باتباع التعليمات
افتح وحدة تحكم SSH
root
(كلمة مرور الجذر الخاصة بك)
(إدخال)
(نطاقك).com
(إلخ…)
#3 - تسجيل الدخول إلى SFTP لرفع نسخة قاعدة البيانات
sftp root@XXX.XXX.XX.XX
y
yes
(كلمة مرور الجذر الخاصة بك)
put db.sql /var/discourse/shared/standalone/db.sql
#4 - تسجيل الدخول إلى موقع Discourse الجديد لإعداد حساب المسؤول
#5 - تسجيل الدخول إلى SSH - ابدأ العملية
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 (بديل لـ MySQL)
apt-get update && apt-get install mariadb-server-10.3 libmariadbd-dev
y
#7 - إعداد قاعدة بيانات MySQL
service mysql start
mysql -u root -p
كلمة المرور
create database vbulletin;
exit;
#8 - نقل قاعدة بيانات Vbulletin إلى MySQL
mysql -u root -p vbulletin < /shared/db.sql
كلمة المرور
#9 - ملف 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’
(تجاهل النتيجة باللون الأحمر)
#10 - تكوين ملف التثبيت
vi /var/www/discourse/script/import_scripts/vbulletin.rb
#10.a - قم بتعديلات على ملف النص حسب الحاجة
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 - إنهاء التعديلات
:wq
#11 - تكوين Bundle
bundle config set path ‘vendor/bundle’
bundle config set without ‘development:test’
bundle config unset deployment
su discourse -c ‘bundle install’
#12 - تكوين MySQL (قد يكون من الممكن القيام بذلك مع الخطوة السابقة)
mysql --version sudo mysql -u root -p كلمة المرور ALTER USER 'root'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; exit
#13 - تشغيل سكريبت التثبيت
su discourse -c ‘bundle exec ruby script/import_scripts/vbulletin.rb’
حظًا موفقًا!