نقل موقع Xenforo الى استضافة هوتسنجر (Hostinger) يدويا خطوة خطوة بالتفصيل

شروحات نقل موقع Xenforo الى استضافة هوتسنجر (Hostinger) يدويا خطوة خطوة بالتفصيل



في عالم المنتديات الحديثة، XenForo 2.3.7 ليس مجرد تحديث تقني، بل هو جيل جديد بالكامل يعيد تنظيم بنية الملفات وآلية التشغيل، ليمنحك أداءً أسرع واستقرارًا أعلى — لكنه بالمقابل يتطلب دقة في كل خطوة من عملية النقل والاستضافة.
الكثير من المستخدمين يقعون في فخ “النقل السريع” ظنًّا أن العملية مجرد نسخ ولصق، لكن مع هذا الإصدار الجديد، المسارات تغيّرت، والتهيئة أصبحت أكثر حساسية، خصوصًا عند استخدام استضافة مثل Hostinger التي تعتمد إعدادات مخصصة للـ PHP وملفات الكرون.

في هذا الدليل العملي، سنبدأ الرحلة من الصفر:
من أخذ نسخة احتياطية كاملة لمنتداك، إلى رفع الملفات واستيراد قاعدة البيانات، وحتى تشغيل المهام التلقائية (Cron Jobs) التي تحافظ على المنتدى نشطًا وسريعًا دون تدخلك.
ستتعلم كيف تنقل منتداك إلى Hostinger بأمان، وتعيد تشغيله كما لو لم يتوقف أبدًا — خطوة بخطوة، وبأسلوب يفهمه المبتدئ ويقدّره المحترف.

استعد لتتعامل مع XenForo 2.3.7 كما يفعل الخبراء: نقل ذكي، إعداد نظيف، وتشغيل تلقائي متكامل.
نقل موقع Xenforo الى استضافة هوتسنجر.webp

بما اننا نتعامل مع XenForo 2.3.7 — وهي نسخة حديثة (2025) تعتمد على هيكلية ملفات جديدة بالكامل مقارنة بالإصدارات السابقة (مثل 1.x و 2.0–2.2).
بالتالي، عملية النقل اليدوي إلى Hostinger تحتاج عناية خاصة لأن بعض المسارات والتكوينات تغيّرت في الإصدار 2.3.

دعنا نبدأ من البداية ونتعامل معها كأننا ننقل منتدى حيّ فعليًا:

🧭 المرحلة 1: التحضير قبل النقل
قبل أي شيء، تأكد من:​
  1. لديك وصول إلى الاستضافة القديمة (cPanel أو SFTP).​
  2. لديك وصول إلى اللوحة الإدارية في XenForo.​
  3. أنت تعرف موقع مجلد المنتدى (عادة public_html/forum أو community).​
  4. تمتلك حسابك الجديد في Hostinger جاهزًا مع نطاقك.​
🧱 المرحلة 2: أخذ نسخة احتياطية كاملة من موقع XenForo 2.3.7
1. نسخ ملفات المنتدى
  • افتح لوحة تحكم الاستضافة القديمة → File Manager.​
  • ادخل إلى مجلد XenForo (المجلد الذي يحتوي على src/ و internal_data/).​
  • اختر جميع الملفات واضغط Compress → ZIP.​
  • بعد الانتهاء، حمّل الملف المضغوط إلى جهازك (وليكن اسمه مثل xenforo_backup.zip).​
📁 يجب أن يتضمن المجلد المضغوط ملفاتك التالية:
كود:
src/
internal_data/
data/
js/
styles/
index.php
.htaccess
config.php (داخل src/)

2. أخذ نسخة من قاعدة البيانات
  • من لوحة التحكم القديمة → phpMyAdmin.​
  • اختر قاعدة بيانات المنتدى (تجد اسمها في src/config.php).​
  • اختر Export → Quick → SQL → Go.​
  • احفظ الملف باسم مثل xenforo_db.sql.​

🧳 المرحلة 3: رفع الملفات إلى Hostinger
1. الدخول إلى Hostinger
  • ادخل إلى hPanel.​
  • اختر موقعك → File Manager.​
2. رفع الملفات
  • ادخل إلى مجلد public_html أو أنشئ مجلد فرعي forum لو أردت بقاء المنتدى في مسار فرعي.​
  • اضغط Upload Files واختر الملف xenforo_backup.zip.​
  • بعد اكتمال الرفع، اضغط عليه واختر Extract.​
⚠️ تأكد أن المجلدات src/, data/, internal_data/ ظهرت بشكل صحيح بعد الاستخراج.​

🗃️ المرحلة 4: إنشاء قاعدة بيانات جديدة في Hostinger
  1. من لوحة hPanel، اذهب إلى Databases → MySQL Databases.​
  2. أنشئ قاعدة جديدة وأدخل القيم التالية (مثال):
    • Database Name: xenforo_db​
    • Username: xenforo_user​
    • Password: كلمة مرور قوية​
  3. اضغط Create.​
  4. بعد الإنشاء، ستجد تفاصيل الاتصال مثل:
    • Host: localhost​
    • User: xenforo_user​
    • Database: xenforo_db​
    • Password: (التي اخترتها)​
🧩 المرحلة 5: استيراد قاعدة البيانات
  1. من Hostinger → افتح phpMyAdmin.​
  2. اختر قاعدة البيانات الجديدة.​
  3. اضغط Import → اختر xenforo_db.sql → Go.​
  4. بعد انتهاء الاستيراد، ستظهر جميع جداول XenForo (xf_user, xf_thread, xf_post ...إلخ).​
⚙️ المرحلة 6: تعديل إعدادات الاتصال بقاعدة البيانات
افتح ملف الإعدادات في XenForo 2.3.7:
كود:
/src/config.php

وابحث عن السطور التالية وعدلها لتتطابق مع بياناتك الجديدة في Hostinger:

PHP:
<?php

$configuration = [
    'db' => [
        'host' => 'localhost',
        'port' => '3306',
        'username' => 'xenforo_user',
        'password' => 'كلمة_المرور_الجديدة',
        'dbname' => 'xenforo_db'
    ],
];

return $configuration;

ثم احفظ التعديلات.

🔒 المرحلة 7: ضبط صلاحيات المجلدات
مجلدان أساسيان يجب أن تكون لهما صلاحيات الكتابة (777):​
  • internal_data/​
  • data/​
افتح File Manager في Hostinger → حدد المجلدين → اختر Permissions → ضع القيمة 0777.

🌍 المرحلة 8: ربط النطاق (Domain) بـ Hostinger
إذا كان نطاقك مسجلًا في مكان آخر (مثل GoDaddy أو Namecheap):​
  1. غيّر Nameservers إلى:​
كود:
ns1.dns-parking.com
ns2.dns-parking.com

انتظر من 6 إلى 24 ساعة حتى يتم التوجيه بالكامل، بعد ذلك، سيبدأ موقعك بالعمل من الاستضافة الجديدة.

🧪 المرحلة 9: اختبار وتشغيل المنتدى
بعد اكتمال الربط:​
  1. افتح موقعك في المتصفح.​
  2. إذا ظهر المنتدى بشكل طبيعي، فهذا يعني أن الاتصال ناجح.​
  3. إذا ظهرت رسالة مثل:

    “The requested page could not be found.”
    تحقق من ملف .htaccess — تأكد أنه لم يتضرر أثناء النقل.​
  4. جرّب الدخول إلى لوحة الإدارة عبر:​
كود:
yourdomain.com/admin.php

🌐 المرحلة 10: تفعيل SSL وتحديث المسارات
  1. من لوحة Hostinger → SSL → فعّل شهادة SSL المجانية.​
  2. داخل XenForo Admin Panel:
    • اذهب إلى Setup → Options → Basic Board Information.​
    • عدّل عنوان الموقع ليبدأ بـ https://.​
  3. أعد حفظ الإعدادات.​
⚡ المرحلة 11: تنظيف الكاش وإصلاح التثبيت
إذا لاحظت بطء أو مشاكل في القوالب أو الصور:​
  1. من لوحة XenForo:
    • اذهب إلى Tools → Rebuild Caches.​
  2. يمكنك أيضًا تنفيذ إصلاح كامل من الرابط:​
كود:
yourdomain.com/install

ثم اختر Repair Installation (لن يعيد التثبيت، فقط يتحقق من الملفات).

💌 المرحلة 12: نقل البريد الإلكتروني (اختياري)
إذا كنت تستخدم بريدًا على نطاقك مثل info@yourdomain.com:​
  • أنشئ بريدًا جديدًا من Email Accounts في Hostinger.​
  • يمكنك بعدها استيراد الرسائل القديمة يدويًا من البريد السابق.​
🧠 نصائح احترافية لمستخدمي XenForo 2.3.7
  • XenForo 2.3 يستخدم نظام job queue & deferred tasks بكثافة، لذا تأكد من ضبط إعدادات PHP cron jobs في Hostinger.​
  • يفضل أن تكون نسخة PHP في Hostinger هي 8.2 أو 8.3 (مدعومة رسميًا من XenForo 2.3).​
  • تحقق من وجود امتدادات PHP التالية مفعلة:
    • mysqli​
    • json​
    • gd​
    • mbstring​
    • zip​
  • فعّل Opcache من Hostinger لتحسين الأداء.​


أوامر أو إعدادات الكرون (CRON Jobs) المناسبة لتشغيل مهام XenForo تلقائيًا في Hostinger (مثل المهام المجدولة والتنظيف اليومي)
الآن ندخل إلى مرحلة متقدمة قليلًا ومهمة جدًا في استضافة XenForo — وهي إعداد الكرون (Cron Jobs) داخل Hostinger لتشغيل المهام التلقائية الخاصة بالمنتدى (مثل تنظيف الكاش، إرسال الإشعارات البريدية، إعادة بناء الفهارس، مهام الإضافات… إلخ).
بدون هذه المهام، المنتدى سيعمل، لكن:​
  • الرسائل المجمّعة لن تُرسل تلقائيًا​
  • التنبيهات لن تتحدث​
  • عمليات الصيانة لن تُنفذ​
  • وقد يتباطأ أداء المنتدى مع الوقت​
فلنجهزها معًا خطوة بخطوة 👇

⚙️ أولاً: ما وظيفة الكرون في XenForo؟
XenForo لا يعتمد على خدمة cron داخل النظام نفسه، بل يستخدم "deferred tasks" — وهي قائمة مهام مؤجلة ينفذها تلقائيًا عبر الكرون كل فترة زمنية محددة.
الكرون ببساطة يفتح رابطًا (URL) يقوم بتنشيط سكربت داخلي داخل XenForo لتشغيل هذه المهام.

🧭 ثانيًا: أين تضبط الكرون في Hostinger؟
  1. ادخل إلى حسابك في hPanel.​
  2. من القائمة الجانبية، اختر:​
كود:
Advanced → Cron Jobs

اضغط على Add Cron Job لإضافة مهمة جديدة.

🧱 ثالثًا: إعداد أمر الكرون (Command)
الأمر الذي ستضيفه هو:

كود:
/usr/local/bin/php -q /home/USERNAME/public_html/path_to_forum/job.php

استبدل:​
  • USERNAME باسم المستخدم الخاص باستضافتك (تجده أعلى لوحة Hostinger أو داخل File Manager).​
  • path_to_forum بمسار مجلد المنتدى إن لم يكن في الجذر.

    مثلًا:​
كود:
/home/saeed/public_html/forum/job.php

🔹 XenForo 2.3.7 يحتوي على ملف job.php داخل مجلد الجذر للمنتدى — هذا الملف هو المسؤول عن تشغيل الـ deferred tasks.

⏰ رابعًا: تحديد تكرار التشغيل
Hostinger يتيح لك تحديد توقيت التشغيل بالتفصيل.
لضمان أداء مثالي، استخدم هذا الجدول:
الغرض​
التكرار​
الإعداد في Hostinger​
تشغيل المهام العامة (الافتراضية)​
كل 5 دقائق​
*/5 * * * *
النسخ الاحتياطي أو المهام الإضافية​
مرة يوميًا​
0 3 * * *
تنظيف الجلسات المؤقتة (optional)​
كل 12 ساعة​
0 */12 * * *


إذن الكرون الرئيسي الأهم هو هذا:

كود:
*/5 * * * * /usr/local/bin/php -q /home/USERNAME/public_html/forum/job.php

✅ خامسًا: اختبار الكرون يدويًا
قبل الاعتماد عليه تلقائيًا، جرّب تشغيله يدويًا:​
  1. افتح متصفحك.​
  2. اكتب في شريط العنوان:​
كود:
https://yourdomain.com/job.php

إذا لم تظهر رسالة خطأ أو ظهرت صفحة فارغة — فهذا يعني أن المهمة تعمل بنجاح ✅.

🔒 سادسًا: حماية ملف job.php من الوصول العام
بما أن هذا الملف يمكن تشغيله عبر الويب، يجب ألا يكون مكشوفًا للعموم.
أضف هذا الكود في ملف .htaccess الموجود في نفس مجلد المنتدى:

كود:
<Files "job.php">
    Order Allow,Deny
    Deny from all
    Allow from 127.0.0.1
</Files>

هذا يسمح بتشغيله فقط من الخادم المحلي (أي الكرون)، وليس من أي زائر.

🧠 ملاحظات إضافية مهمة
  • تأكد أن إصدار PHP المستخدم في الكرون يطابق إصدار موقعك (يفضل PHP 8.2 أو 8.3).​
  • Hostinger يتيح تعديل إصدار PHP لكل مهمة كرون عبر مسار /usr/local/bin/php82 مثلاً.​
  • يمكنك مراقبة نتائج الكرون من خلال البريد الإلكتروني (يوجد خيار “Email output” في نفس صفحة الكرون).​
📊 سابعًا: مهام إضافية (اختيارية متقدمة)
إذا كنت تستخدم إضافات مثل:​
  • XenForo Enhanced Search
  • XenForo Media Gallery
  • Resource Manager
يمكنك إضافة مهام كرون مخصصة لها، وغالبًا ستجد تعليماتها داخل لوحة XenForo في:

كود:
Admin Control Panel → Tools → Cron Entries

يمكنك تعديل تكرار أي مهمة من هناك مباشرة دون الدخول إلى Hostinger.​
 


إعداد مهام Cron لمنتدى XenForo 2.3.7 على Hostinger خطوة بخطوة (مع سكربت جاهز للتنفيذ)

ممتاز جدًا يا صديقي 👨‍💻
بما أنك تستخدم XenForo 2.3.7، سأجهّز لك الآن جدول كرون كامل متكامل خاص بمنتداك على Hostinger، لتضمن أن كل المهام الخلفية تعمل بسلاسة — البريد، التنظيف، إعادة الفهرسة، وأرشفة المحتوى.
ستجد أدناه الأوامر جاهزة للنسخ واللصق مباشرة داخل لوحة Hostinger.

⚙️ أولاً: الوصول إلى صفحة الكرون في Hostinger
اذهب إلى:

hPanel → Advanced → Cron Jobs → Add Cron Job

وهناك ستضيف كل أمر في خانة Command، وتحدد له الجدول الزمني في خانة Schedule (أو Custom إذا لم يظهر).

🧩 ثانياً: جدول الأوامر الكامل لمهام XenForo 2.3.7

🕐 1. المهام العامة (الأساسية)
تشغيل نظام XenForo الداخلي لتحديث جميع المهام (deferred tasks، التنبيهات، الإشعارات...):

كود:
*/5 * * * * /usr/local/bin/php -q /home/USERNAME/public_html/forum/job.php

⏱️ التكرار: كل 5 دقائق
🎯 الغرض: تشغيل جميع المهام المؤجلة تلقائيًا (هو الأهم من بين الكل).

🧹 2. تنظيف الجلسات المؤقتة (Sessions)
يحذف الجلسات المنتهية وملفات الكاش الزائدة لتقليل الضغط على السيرفر:

كود:
0 */12 * * * /usr/local/bin/php -q /home/USERNAME/public_html/forum/src/addons/XF/Cron/clean_sessions.php

⏱️ التكرار: كل 12 ساعة
🎯 الغرض: تقليل الحمل وتحسين الأداء العام.

📬 3. إرسال الرسائل البريدية المجمعة (Newsletters & Notifications)

كود:
*/10 * * * * /usr/local/bin/php -q /home/USERNAME/public_html/forum/src/addons/XF/Cron/mail_queue.php

⏱️ التكرار: كل 10 دقائق
🎯 الغرض: إرسال دفعات البريد الإلكتروني المجدولة (تنبيهات، تفعيل حساب، إشعارات متابعات).

🧾 4. تنظيف السجلات (Logs & Error Logs)

كود:
0 2 * * * /usr/local/bin/php -q /home/USERNAME/public_html/forum/src/addons/XF/Cron/clean_logs.php

⏱️ التكرار: يوميًا الساعة 2 صباحًا
🎯 الغرض: حذف السجلات القديمة وتخفيف قاعدة البيانات.

🗂️ 5. تحسين قاعدة البيانات (Database Optimization)

كود:
0 4 * * 0 /usr/local/bin/php -q /home/USERNAME/public_html/forum/src/addons/XF/Cron/optimize_tables.php

⏱️ التكرار: كل أسبوع (الأحد الساعة 4 صباحًا)
🎯 الغرض: إعادة ترتيب الجداول وتحسين سرعة الاستعلامات في MySQL.

📚 6. تحديث الخرائط (Sitemap Rebuild)

كود:
0 3 * * * /usr/local/bin/php -q /home/USERNAME/public_html/forum/src/addons/XF/Cron/rebuild_sitemap.php

⏱️ التكرار: يوميًا الساعة 3 صباحًا
🎯 الغرض: تحديث ملف sitemap.xml تلقائيًا لتحسين فهرسة المنتدى في محركات البحث.

🧾 7. أرشفة المواضيع القديمة (Optional – إن كانت لديك إضافات إدارة الأرشفة)
إذا تستخدم إضافة أرشفة المواضيع أو تنظيف قديم المحتوى:

كود:
0 1 * * * /usr/local/bin/php -q /home/USERNAME/public_html/forum/src/addons/YourAddon/Cron/archive_threads.php

⏱️ التكرار: يوميًا الساعة 1 صباحًا
🎯 الغرض: نقل المواضيع القديمة إلى الأرشيف تلقائيًا.

🔐 ثالثًا: استبدال USERNAME و path

في كل أمر:

  • استبدل USERNAME باسم المستخدم في Hostinger (مثلاً u1234567 أو iqmaster).
  • استبدل forum بمسار منتداك الفعلي داخل public_html إن كان مختلفًا.
مثال عملي:

كود:
*/5 * * * * /usr/local/bin/php -q /home/iqmaster/public_html/community/job.php

🧰 رابعًا: إعداد الإشعارات والاختبار
في صفحة الكرون بـ Hostinger:
  • فعّل خيار Email output وأدخل بريدك الإلكتروني (لتصلك تقارير عند حدوث خطأ).
  • جرّب تشغيل المهمة الأولى يدويًا (Run now) → إذا لم تظهر أخطاء، فكل شيء مضبوط.
🧠 خامسًا: ملاحظات فنية مهمة
  1. نسخة PHP: استخدم /usr/local/bin/php82 بدل /usr/local/bin/php إذا كان موقعك على PHP 8.2.
    يمكنك التأكد من الإصدار في:
    hPanel → Advanced → PHP Configuration.

    مثال:
كود:
*/5 * * * * /usr/local/bin/php82 -q /home/saeed/public_html/forum/job.php

  1. صلاحيات الملفات:
    تأكد أن الملفات المشار إليها (مثل job.php) قابلة للتنفيذ (Permission 644 على الأقل).
  2. أداء السيرفر:
    لا تضع مهام كثيرة تعمل في نفس الدقيقة. وزّعها عبر اليوم (كما في الجدول أعلاه).

🧩 سادسًا: جدول نهائي منظم (نسخه جاهزة)


المهمةالكودالتكرار
المهام العامة/usr/local/bin/php -q /home/USERNAME/public_html/forum/job.phpكل 5 دقائق
تنظيف الجلسات/usr/local/bin/php -q /home/USERNAME/public_html/forum/src/addons/XF/Cron/clean_sessions.phpكل 12 ساعة
إرسال البريد/usr/local/bin/php -q /home/USERNAME/public_html/forum/src/addons/XF/Cron/mail_queue.phpكل 10 دقائق
تنظيف السجلات/usr/local/bin/php -q /home/USERNAME/public_html/forum/src/addons/XF/Cron/clean_logs.phpيوميًا 2 ص
تحسين الجداول/usr/local/bin/php -q /home/USERNAME/public_html/forum/src/addons/XF/Cron/optimize_tables.phpأسبوعيًا 4 ص (الأحد)
تحديث sitemap/usr/local/bin/php -q /home/USERNAME/public_html/forum/src/addons/XF/Cron/rebuild_sitemap.phpيوميًا 3 ص


ملف جاهز بصيغة.sh يحتوي على كل أوامر الكرون مع ترتيبها، بحيث يمكنك رفعه إلى Hostinger مباشرة أو نسخه في سطر واحد عبر SSH
بهذا الشكل تكون قادرًا على إعداد كل الكرونات في أقل من دقيقة.

PHP:
#!/bin/bash
# ============================================
# XenForo 2.3.7 – Automated Cron Setup Script
# Environment: Hostinger hPanel (PHP 8.2+)
# Author: Abu Naya (AI Command Architect)
# ============================================

# ⚙️ إعداد المتغيرات الأساسية
USERNAME="u1234567"          # ← غيّر هذا إلى اسم المستخدم في Hostinger
FORUM_PATH="public_html/forum"  # ← غيّر هذا إلى مسار المنتدى داخل الاستضافة
PHP_PATH="/usr/local/bin/php82" # ← استخدم php82 أو php83 حسب إعدادك

# 🧩 1. المهام العامة – تشغيل المهام المؤجلة
echo "*/5 * * * * $PHP_PATH -q /home/$USERNAME/$FORUM_PATH/job.php" >> xenforo_cron.txt

# 🧹 2. تنظيف الجلسات المؤقتة
echo "0 */12 * * * $PHP_PATH -q /home/$USERNAME/$FORUM_PATH/src/addons/XF/Cron/clean_sessions.php" >> xenforo_cron.txt

# 📬 3. إرسال البريد الإلكتروني المجمّع
echo "*/10 * * * * $PHP_PATH -q /home/$USERNAME/$FORUM_PATH/src/addons/XF/Cron/mail_queue.php" >> xenforo_cron.txt

# 🧾 4. تنظيف السجلات (Logs)
echo "0 2 * * * $PHP_PATH -q /home/$USERNAME/$FORUM_PATH/src/addons/XF/Cron/clean_logs.php" >> xenforo_cron.txt

# 🗂️ 5. تحسين قاعدة البيانات (أسبوعيًا)
echo "0 4 * * 0 $PHP_PATH -q /home/$USERNAME/$FORUM_PATH/src/addons/XF/Cron/optimize_tables.php" >> xenforo_cron.txt

# 📚 6. تحديث خرائط الموقع (Sitemap)
echo "0 3 * * * $PHP_PATH -q /home/$USERNAME/$FORUM_PATH/src/addons/XF/Cron/rebuild_sitemap.php" >> xenforo_cron.txt

# ✅ طباعة ملخص
echo "تم إنشاء ملف xenforo_cron.txt بنجاح يحتوي على جميع أوامر الكرون."
echo "يمكنك نسخه ولصقه في صفحة Cron Jobs في Hostinger."

# ============================================
# ملاحظات:
# - غيّر المتغيرات الثلاثة بالأعلى حسب إعدادك الفعلي.
# - بعد التعديل، يمكنك تشغيل الملف داخل SSH بالأمر:
#       bash xenforo_cron_setup.sh
# - سيُنتج ملف نصي اسمه xenforo_cron.txt يحوي كل الأوامر الجاهزة.
# ============================================

🧭 طريقة الاستخدام

الخيار 1: تشغيل عبر SSH (إذا متاح)
  1. أنشئ ملف باسم xenforo_cron_setup.sh في جذر حسابك.
  2. انسخ الكود أعلاه بداخله.
  3. غيّر الأسطر الثلاثة الأولى (USERNAME، FORUM_PATH، PHP_PATH).
  4. افتح SSH في Hostinger واكتب:
كود:
bash xenforo_cron_setup.sh

سيُنتج ملف xenforo_cron.txt يحتوي على كل الأوامر الجاهزة، ثم انسخها وضعها في hPanel → Advanced → Cron Jobs.

الخيار 2: بدون SSH (الطريقة اليدوية)
  1. أنشئ ملفًا باسم xenforo_cron.txt على جهازك.
  2. انسخ محتوى الأوامر الناتجة (التي تبدأ بـ /usr/local/bin/php...).
  3. افتح صفحة Cron Jobs في Hostinger.
  4. أضف كل أمر على حدة واضبط الجدول الزمني كما هو موضح.
وبهذا يكون كل شي جاهز وواضح وقابل للتنفيذ بكل سهولة.
 


كيفية استيراد قاعدة بيانات ضخمة إلى Hostinger خطوة بخطوة بدون أخطاء

بما أن قاعدة بيانات XenForo عندك تتجاوز 3 جيجابايت، فلن تستطيع رفعها عبر phpMyAdmin مباشرة لأن Hostinger (وبمعظم الشركات) يضع حدًا أقصى لحجم التحميل (غالبًا 256MB إلى 512MB فقط).

لكن لا تقلق، سأشرح لك كل الطرق الممكنة لرفع قاعدة بيانات ضخمة بهذه الحجم إلى موقعك الجديد على Hostinger — خطوة بخطوة وبأسلوب عملي.

🎯 الهدف:
استيراد قاعدة بيانات MySQL كبيرة جدًا (3GB أو أكثر) من الاستضافة القديمة إلى Hostinger دون انقطاع أو فشل.
استيراد قاعدة بيانات ضخمة إلى Hostinger.webp

🧱 الطريقة الأولى: باستخدام باستخدام SSH + أمر MySQL Import
(الأفضل والأكثر احترافية والأسرع)

✅ المتطلبات:
  • استضافة Hostinger Business أو Cloud (لأنها تدعم SSH).​
  • قاعدة البيانات الجديدة التي أنشأتها سابقًا في Hostinger.​
  • ملف قاعدة البيانات (.sql أو .sql.gz) موجود على جهازك أو مرفوع مسبقًا عبر File Manager.​
🪄 الخطوات بالتفصيل:
1. رفع ملف قاعدة البيانات إلى Hostinger
  • من File Manager في hPanel:
    ادخل إلى مجلد مثل /home/username/ (جذر الاستضافة).​
  • اضغط Upload واختر ملفك الكبير database.sql.gz أو database.sql.

    الأفضل ضغطه بصيغة .gz لتسريع النقل (يوفّر 60–80% من الحجم).​
2. تفعيل SSH (مرة واحدة فقط)
  • من لوحة hPanel → قسم Advanced → SSH Access.​
  • فعّل الوصول إذا لم يكن مفعلاً، وسجّل بيانات الاتصال (host, port, username, password).​
3. الاتصال بالـ SSH

من جهازك:​
  • على macOS/Linux: افتح الـ Terminal​
  • على Windows: استخدم أداة PuTTY أو Hostinger SSH Console
ثم اكتب:

كود:
ssh username@yourdomain.com -p 65002

(استبدل username و yourdomain.com و port بما في Hostinger)

4. تنفيذ أمر الاستيراد
بمجرد دخولك، نفذ هذا الأمر:​

إذا كانت القاعدة بصيغة SQL عادية:​


كود:
mysql -u DB_USER -p DB_NAME < /home/username/database.sql

إذا كانت مضغوطة بصيغة .gz:

كود:
gunzip < /home/username/database.sql.gz | mysql -u DB_USER -p DB_NAME

ثم سيطلب منك كلمة مرور قاعدة البيانات (التي أنشأتها في Hostinger).

💡 DB_USER و DB_NAME هما الموجودان في لوحة Hostinger داخل قسم Databases.

مثال عملي:

كود:
gunzip < /home/u5683945/xenforo_backup.sql.gz | mysql -u u5683945_forum -p u5683945_forumdb

5. انتظر حتى تكتمل العملية​

  • استيراد قاعدة بيانات 3GB قد يستغرق من 10 إلى 30 دقيقة حسب سرعة الخادم.​
  • عند انتهاء التنفيذ، سيعود المؤشر إلى السطر الجديد دون أخطاء.​
  • يمكنك التأكد عبر phpMyAdmin بأن الجداول ظهرت جميعها.​
🧰 الطريقة الثانية: تقسيم قاعدة البيانات إلى أجزاء (في حال لم يتوفر SSH)
إذا كانت خطتك في Hostinger لا تدعم SSH، استخدم أداة تقسيم مثل:

🔹 برنامج BigDump (حل ذكي وعملي)
هو سكربت PHP بسيط يسمح لك برفع قاعدة بياناتك الكبيرة مجزأة واستيرادها من داخل الموقع نفسه.

الخطوات:
  1. من جهازك، قم بتقسيم قاعدة البيانات إلى ملفات صغيرة (كل ملف أقل من 200MB) باستخدام أداة مثل:
    • SQLDumpSplitter - أو​
    • split في النظام (إن كنت تستخدم Linux أو macOS):​
كود:
split -b 200M database.sql part_
  • نزّل سكربت BigDump من الموقع الرسمي ozerov.de/bigdump.​
  • عدّل ملف الإعداد bigdump.php وضع به بيانات قاعدة البيانات الجديدة (host, user, password, dbname).​
  • ارفع bigdump.php مع ملفات أجزاء القاعدة (part_aa, part_ab...) إلى مجلد داخل موقعك في Hostinger (مثل /importdb).​
  • افتح الرابط:​
كود:
https://yourdomain.com/importdb/bigdump.php

سيظهر لك واجهة بسيطة لاستيراد الأجزاء واحدًا تلو الآخر.​
✅ هذه الطريقة آمنة جدًا ولا تعتمد على حدود phpMyAdmin.​

🧮 الطريقة الثالثة (الأبطأ): رفع جزئي يدويًا عبر phpMyAdmin

يمكنك إذا أردت استيراد الأجزاء يدويًا واحدة تلو الأخرى:​
  1. افتح قاعدة البيانات الجديدة في phpMyAdmin.​
  2. اختر Import → ملف جزئي (مثلاً part1.sql).​
  3. بعد اكتماله، استورد part2.sql وهكذا حتى النهاية.
    لكنها متعبة جدًا لقاعدة 3GB — استخدمها فقط إذا كانت القاعدة مجزأة مسبقًا.​
🚀 الطريقة الرابعة (الأذكى): ضغط واستيراد عبر Hostinger File Manager
إذا كانت سرعة SSH بطيئة، يمكنك رفع الملف عبر File Manager ثم تنفيذ الاستيراد من داخل phpMyAdmin → Import from server.

الخطوات:
  1. ارفع الملف database.sql إلى المسار /home/username/.​
  2. افتح phpMyAdmin من Hostinger.​
  3. اختر قاعدة البيانات.​
  4. من الأعلى → Import → في الأسفل ستجد خيار "Import from Server"​
  5. أدخل المسار:​
كود:
/home/username/database.sql
اضغط Go.

💡 هذه الميزة لا تظهر دائمًا في كل الخطط، لكنها موجودة في بعض الإصدارات الحديثة من Hostinger’s phpMyAdmin.

🧠 نصائح ذهبية قبل وأثناء الاستيراد
  • اضغط ملفك بصيغة .sql.gz لتقليل الحجم وتسريع النقل.​
  • تأكد أن قاعدة البيانات الجديدة فارغة تمامًا قبل الاستيراد.​
  • ارفع الملف في نفس موقع MySQL حتى لا يتباطأ النقل.​
  • استخدم screen أو nohup إذا كانت الجلسة عبر SSH طويلة (حتى لا تنقطع).​
  • بعد النقل، ادخل إلى لوحة XenForo → Tools → Rebuild Caches لتحديث الفهارس.​
طريقة استخدام سكربت على macOS
BigDump يعمل تمامًا على macOS، لأنّه ليس برنامجًا لتثبيته على النظام، بل سكربت PHP يُشغَّل من داخل موقعك على السيرفر، وليس من جهازك الشخصي.

بمعنى آخر:
هو لا يهتم إن كنت تستخدم Mac أو Windows أو Linux، لأن التنفيذ كله يتم عبر متصفح الويب و خادم Hostinger نفسه.

دعني أشرح لك بشكل عملي كيف تستخدمه على macOS تحديدًا 👇

🍏 الخطوات لتشغيل BigDump على macOS
1. حمّل السكربت
من الموقع الرسمي:
👉 www.ozerov.de

سيُحمّل ملف bigdump.zip (حوالي 12 كيلوبايت فقط).

2. فك الضغط على الماك
  • انقر مرتين على الملف bigdump.zip​
  • سيتولد مجلد باسم bigdump يحتوي ملفًا رئيسيًا:​
كود:
bigdump.php

3. عدّل إعدادات الاتصال بقاعدة البيانات

افتح الملف bigdump.php ببرنامج TextEdit أو Visual Studio Code.
ثم في أعلى الملف ستجد الأسطر التالية 👇

كود:
$db_server   = 'localhost';
$db_name     = 'your_database_name';
$db_username = 'your_database_user';
$db_password = 'your_database_password';

عدّلها لتطابق بيانات قاعدة البيانات في Hostinger.
(نفس البيانات التي تستخدمها في XenForo.)

احفظ الملف بعد التعديل.

4. ارفع الملفات إلى Hostinger
من File Manager أو FTP، أنشئ مجلدًا باسم importdb مثلاً داخل موقعك:

كود:
/public_html/importdb/

ثم ارفع إلى هذا المجلد:​
  • ملف bigdump.php​
  • ملف قاعدة البيانات الكبيرة (مثلاً xenforo_backup.sql أو xenforo_backup.sql.gz)​
5. شغّل BigDump من متصفحك
افتح في متصفحك (Safari أو Chrome على الماك):

كود:
https://yourdomain.com/importdb/bigdump.php

ستظهر لك واجهة بسيطة جدًا فيها زر Start Import.
اضغط عليه، وسيبدأ السكربت باستيراد قاعدة البيانات على شكل دفعات صغيرة (chunks).
كل دفعة تُنفَّذ ثم يعيد السكربت تحميل الصفحة ليكمل من حيث توقف — لذلك لن تواجه مشكلة في الوقت المسموح للتنفيذ أو في حجم القاعدة الكبير.

6. بعد اكتمال الاستيراد
ستظهر رسالة:

كود:
Congratulations! The database import is successfully finished!

الآن قاعدة بياناتك الضخمة أصبحت داخل Hostinger بالكامل. 🎉

🧠 ملاحظات مهمة
  • لا تُغلق المتصفح أثناء عمل BigDump — دعه يكمّل حتى النهاية.​
  • تأكد أن ملف القاعدة وملف bigdump في نفس المجلد.​
  • يفضَّل أن تضغط قاعدة البيانات إلى .sql.gz لتسريع العملية.​
  • يمكنك حذف bigdump.php بعد الانتهاء لأسباب أمنية.​
باختصار:
✅ يعمل على أي نظام تشغيل، لأن التنفيذ يتم داخل السيرفر وليس داخل الماك.
🍏 كل ما تحتاجه على الماك هو رفع الملفات وفتح المتصفح فقط.​
 


ملحق2: شرح Terminal في macOS للمبتدئين خطوة بخطوة

دعنا نبدأ من الأساس، لأن فهم التعامل مع Terminal في macOS خطوة بخطوة سيسهّل عليك كل أوامر نقل القاعدة لاحقًا.
سأشرح لك بالترتيب:
  1. كيف تفتح التيرمنال.
  2. كيف تعرف مكان الملف (المسار الكامل).
  3. كيف تجعل التيرمنال "يرى" الملف ويعمل عليه.

🧭 أولًا: فتح Terminal في macOS
  1. افتح Spotlight Search بالضغط على:
كود:
⌘ (Command) + Space

اكتب كلمة:
كود:
Terminal
اضغط Enter — سيفتح لك نافذة سوداء تشبه سطر الأوامر.

📂 ثانيًا: معرفة مكان الملف (المسار Path)
افترض أنك حفظت ملف قاعدة البيانات على سطح المكتب (Desktop)، اسمه مثلاً:

كود:
database.sql

على macOS، سطح المكتب موجود في المسار التالي:
كود:
/Users/اسم_المستخدم/Desktop/

لمعرفة اسم المستخدم، اكتب هذا في التيرمنال:
كود:
whoami

مثلاً النتيجة:
كود:
iraqmaster

إذن المسار الكامل للملف سيكون:
كود:
/Users/iraqmaster/Desktop/database.sql

🧩 ثالثًا: التنقل إلى مجلد الملف من التيرمنال
اكتب:
كود:
cd ~/Desktop

الرمز ~ يعني مجلد المستخدم (Users/اسمك).
الآن أنت داخل مجلد Desktop.

تحقق بالأمر:
كود:
ls

سيعرض الملفات الموجودة على سطح المكتب، وتجد من ضمنها:
كود:
database.sql

💾 رابعًا: تنفيذ الأوامر على الملف
الآن بما أن التيرمنال "داخل" مجلد Desktop، يمكنك تنفيذ أي أمر على الملف مباشرة.

1. فحص الحجم
كود:
du -h database.sql

سيُظهر مثلًا:
كود:
3.1G    database.sql

2. ضغط الملف لتصغير حجمه
كود:
gzip -9 database.sql

سيُنشئ ملفًا جديدًا اسمه:
كود:
database.sql.gz

ويحذف الأصلي تلقائيًا (يمكنك استعادته بإنشاء نسخة مسبقًا إن أردت).

تحقق من وجوده:
كود:
ls

📦 خامسًا: التحقق من المسار الكامل (مفيد لاحقًا)
لتعرف المسار الكامل لأي ملف، استخدم:
كود:
pwd

سيعرض المسار الحالي مثل:
كود:
/Users/iraqmaster/Desktop

إذن المسار الكامل للملف الآن هو:
كود:
/Users/iraqmaster/Desktop/database.sql.gz

هذا هو المسار الذي تضعه لاحقًا في أوامر SSH أو MySQL.

🚀 سادسًا: مثال تطبيقي كامل
لنقل أنك تريد تقسيم الملف المضغوط إلى أجزاء كل 200MB:
كود:
split -b 200m database.sql.gz part_

بعدها اكتب:
كود:
ls

سترى:
كود:
part_aa  part_ab  part_ac  ...

💡 سابعًا: نصيحة احترافية
إذا كان الملف في مجلد مختلف (Documents مثلًا)، فاستخدم ميزة السحب والإفلات في التيرمنال!
اكتب في التيرمنال كلمة:

كود:
cd

الآن أنت داخل المجلد الصحيح، وجاهز لتنفيذ الأوامر.
انتهى ..
 
Similar content الأكثر مشاهدة عرض المزيد
عودة
أعلى أسفل