نقل منتدى XenForo إلى Discourse

لقد انتهيت للتو من عملية نقل من Xenforo إلى Discourse لموقع يحتوي على مليون منشور على خادم Digital Ocean. إليك ما نجح معي خطوة بخطوة (مشابه جدًا لما قمت به مؤخرًا في موقع vBulletin آخر).

يُوصى بحد أدنى من 4 وحدات معالجة مركزية افتراضية وذاكرة عشوائية سعتها 8 جيجابايت للاستيراد.

شكرًا للجميع في هذا الموضوع على مساعدتي في تجاوز عمليات النقل هذه، لقد كانت أيامًا ممتعة حقًا بالقراءة وإعادة القراءة..

1 - تثبيت نسخة 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 - تسجيل الدخول إلى الموقع لإعداد حساب المسؤول

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 import_db;
exit;

8 - استيراد الملف المنسوخ → نقل قاعدة بيانات MySQL

mysql -u root -p import_db < /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/xenforo.rb

---قم بإجراء التعديلات المطلوبة على ملف النص مثل اسم قاعدة البيانات/كلمة المرور/البادئة، إلخ---

(esc)
: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/xenforo.rb'
4 إعجابات