تخطَّ إلى المحتوى

نقل موقع

يمكن أن تكون تقنية مفيدة جداً لنموذج موقع XOOPS جديد على نظام محلي أو خادم تطوير. يمكن أيضاً أن يكون من الحكمة اختبار ترقية XOOPS على نسخة من موقع الإنتاج الخاص بك أولاً، فقط في حالة حدوث خطأ ما. لإنجاز هذه الأمور، تحتاج إلى أن تكون قادراً على نقل موقع XOOPS من موقع إلى آخر. إليك ما تحتاج إلى معرفته لنقل موقع XOOPS بنجاح.

الخطوة الأولى هي إنشاء بيئة الموقع الجديد. تنطبق نفس العناصر الواردة في القسم الإعدادات المسبقة المتقدمة هنا أيضاً.

في المراجعة، هذه الخطوات هي:

  • الحصول على استضافة، بما في ذلك أي اسم نطاق أو متطلبات بريد
  • الحصول على حساب مستخدم MySQL وكلمة مرور
  • الحصول على قاعدة بيانات MySQL التي لدى هذا المستخدم جميع الامتيازات على

بقية العملية مشابهة جداً للتثبيت الطبيعي، لكن:

  • بدلاً من نسخ الملفات من توزيع XOOPS، ستنسخها من الموقع الموجود
  • بدلاً من تشغيل المثبت، ستستورد قاعدة بيانات مأهولة بالسكان بالفعل
  • بدلاً من إدخال الإجابات في المثبت، ستغير الإجابات السابقة في الملفات وقاعدة البيانات

انسخ ملفات الموقع الموجودة

Section titled “انسخ ملفات الموقع الموجودة”

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

من المهم تذكر تضمين دلائل xoops_data و xoops_lib حتى لو تمت إعادة تسميتها و/أو نقلها.

لجعل الأمور أكثر سلاسة، يجب عليك القضاء على ملفات ذاكرة التخزين المؤقت و Smarty المترجمة من نسختك. ستتم إعادة إنشاء هذه الملفات في بيئتك الجديدة، وقد تسبب مشاكل عند الاحتفاظ بمعلومات خاطئة قديمة إذا لم يتم حذفها. للقيام بذلك، احذف جميع الملفات، باستثناء index.html، في جميع هذه الثلاثة الدلائل:

  • xoops_data/caches/smarty_cache
  • xoops_data/caches/smarty_compile
  • xoops_data/caches/xoops_cache

ملاحظة: حذف smarty_compile مهم بشكل خاص عند نقل موقع إلى أو من XOOPS 2.7.0. يستخدم XOOPS 2.7.0 Smarty 4، وقوالب Smarty 4 المترجمة غير قابلة للتبادل مع قوالب Smarty 3 المترجمة. ترك ملفات مترجمة قديمة في مكانها سيسبب أخطاء النموذج عند تحميل الصفحة الأول على الموقع الجديد.

يدير XOOPS 2.7.0 تبعياته من PHP من خلال Composer، داخل xoops_lib/. يحتوي دليل xoops_lib/vendor/ على مكتبات الجهات الخارجية التي يحتاجها XOOPS في وقت التشغيل (Smarty 4 و PHPMailer و HTMLPurifier وما إلى ذلك). عند نقل موقع، يجب نسخ شجرة xoops_lib/ بأكملها — بما في ذلك vendor/ — إلى المضيف الجديد. لا تحاول إعادة إنشاء vendor/ على المضيف المستهدف ما لم تكن مطوراً قمت بتخصيص composer.json ولديك Composer متاح على المضيف المستهدف.

قم بإعداد البيئة الجديدة

Section titled “قم بإعداد البيئة الجديدة”

تنطبق نفس العناصر الواردة في القسم الإعدادات المسبقة المتقدمة هنا أيضاً. سنفترض هنا أن لديك أياً من الاستضافة التي ستحتاجها للموقع الذي تنقله.

معلومات رئيسية (mainfile.php و secure.php)

Section titled “معلومات رئيسية (mainfile.php و secure.php)”

ينطوي نقل موقع بنجاح على تغيير أي مراجع لأسماء الملفات والمسارات المطلقة وعناوين URL ومعاملات قاعدة البيانات بيانات الاعتماد الوصول.

ملفان، mainfile.php في جذر موقعك على الويب، و data/secure.php في موقعك (أعيدت تسميته و/أو نقله) دليل xoops_data تحدد معاملات الموقع الأساسية، مثل عنوان URL الخاص به، حيث يجلس في نظام الملفات للمضيف، وكيفية الاتصال بقاعدة البيانات.

سيتعين عليك معرفة كل من القيم الموجودة في النظام القديم، والقيم التي ستكون عليها في النظام الجديد.

الاسمالقيمة القديمة في mainfile.phpالقيمة الجديدة في mainfile.php
XOOPS_ROOT_PATH
XOOPS_PATH
XOOPS_VAR_PATH
XOOPS_URL
XOOPS_COOKIE_DOMAIN

افتح mainfile.php في محررك. غيّر القيم للتعريفات الموضحة في الرسم البياني أعلاه من القيم القديمة، إلى القيم المناسبة للموقع الجديد.

احتفظ بملاحظات القيم القديمة والجديدة، لأننا سنحتاج إلى إجراء تغييرات مماثلة في أماكن أخرى في بعض الخطوات اللاحقة.

على سبيل المثال، إذا كنت تنقل موقعاً من جهاز الكمبيوتر الشخصي الخاص بك إلى خدمة استضافة تجارية، قد تبدو قيمك مثل هذا:

الاسمالقيمة القديمة في mainfile.phpالقيمة الجديدة في mainfile.php
XOOPS_ROOT_PATHc:/wamp/xoopscore27/htdocs/home8/example/public_html
XOOPS_PATHc:/wamp/xoopscore27/htdocs/xoops_lib/home8/example/private/xoops_lib
XOOPS_VAR_PATHc:/wamp/xoopscore27/htdocs/xoops_data/home8/example/private/xoops_data
XOOPS_URLhttp://localhost/xoopshttps://example.com
XOOPS_COOKIE_DOMAINlocalhostexample.com

بعد تغيير mainfile.php، احفظه.

من الممكن أن تحتوي بعض الملفات الأخرى على مراجع مشفرة بحرفية لعنوان URL الخاص بك أو حتى المسارات. هذا أكثر احتمالاً في المواضيع والقوائم المخصصة، لكن باستخدام محررك، يمكنك البحث عبر جميع الملفات، فقط للتأكد.

في محررك، ابحث عبر الملفات في نسختك، وابحث عن قيمة XOOPS_URL القديمة، واستبدلها بالقيمة الجديدة.

افعل الشيء نفسه بالنسبة لقيمة XOOPS_ROOT_PATH القديمة، واستبدل جميع الحالات بالقيمة الجديدة.

احتفظ بملاحظاتك، لأننا سنضطر إلى استخدامها مرة أخرى لاحقاً مع نقل قاعدة البيانات.

الاسمالقيمة القديمة في data/secure.phpالقيمة الجديدة في data/secure.php
XOOPS_DB_HOST
XOOPS_DB_USER
XOOPS_DB_PASS
XOOPS_DB_NAME

افتح data/secure.php في اسم النطاق المعاد تسميته و/أو المنقول دليل xoops_data في محررك. غيّر القيم للتعريفات الموضحة في الرسم البياني أعلاه من القيم القديمة، إلى القيم المناسبة للموقع الجديد.

قد يكون هناك ملفات أخرى قد تحتاج إلى الانتباه عند نقل الموقع الخاص بك. بعض الأمثلة الشائعة هي مفاتيح API لخدمات مختلفة قد تكون مرتبطة بالنطاق، مثل:

  • خرائط Google
  • Recaptch2
  • أزرار مثل
  • مشاركة الارتباط و/أو الإعلانات مثل Shareaholic أو AddThis

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

انسخ الملفات إلى الموقع الجديد

Section titled “انسخ الملفات إلى الموقع الجديد”

انسخ الملفات المعاد تعديلها الآن إلى موقعك الجديد. التقنيات هي نفسها المستخدمة أثناء التثبيت، أي استخدام FTP.

انسخ قاعدة بيانات الموقع الموجودة

Section titled “انسخ قاعدة بيانات الموقع الموجودة”

نسخ احتياطي من قاعدة البيانات من الخادم القديم

Section titled “نسخ احتياطي من قاعدة البيانات من الخادم القديم”

لهذه الخطوة، يُنصح باستخدام phpMyAdmin بشدة. تسجيل الدخول إلى phpMyAdmin لموقعك الموجود، وحدد قاعدة البيانات الخاصة بك، واختر Export.

الإعدادات الافتراضية عادة ما تكون جيدة، لذا فقط حدد “طريقة التصدير” من Quick و “التنسيق” من SQL.

استخدم زر Go لتنزيل النسخة الاحتياطية من قاعدة البيانات.

تصدير قاعدة بيانات باستخدام phpMyAdmin

إذا كان لديك جداول في قاعدة البيانات الخاصة بك التي لا تأتي من XOOPS أو وحدة الخاصة بها، وليس من المفترض نقلها، يجب عليك تحديد “طريقة التصدير” من Custom واختيار فقط جداول XOOPS ذات الصلة في قاعدة البيانات الخاصة بك. (تبدأ هذه بـ “البادئة” التي حددتها أثناء التثبيت. يمكنك البحث عن بادئة قاعدة البيانات الخاصة بك في xoops_data/data/secure.php ملف.)

استعد قاعدة البيانات إلى الخادم الجديد

Section titled “استعد قاعدة البيانات إلى الخادم الجديد”

على المضيف الجديد، باستخدام قاعدة البيانات الجديدة، استعيد قاعدة البيانات باستخدام أدوات مثل علامة التبويب Import في phpMyAdmin (أو bigdump إذا لزم الأمر.)

تحديث عناوين URL والمسارات في قاعدة البيانات

Section titled “تحديث عناوين URL والمسارات في قاعدة البيانات”

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

يمتلك Interconnect/it منتج يسمى Search-Replace-DB والذي يمكن أن يساعد مع هذا. يأتي مع الوعي ببيئات Wordpress و Drupal مدمجة. كما هو الحال، هذه الأداة يمكن أن تكون مفيدة جداً، لكنها حتى أفضل عندما تكون على دراية XOOPS الخاصة بك. يمكنك العثور على إصدار يدرك XOOPS على https://github.com/geekwright/srdb

اتبع التعليمات في ملف README.md لتنزيل وتثبيت هذه الأداة مؤقتاً على موقعك. في وقت سابق، غيرنا تحديد XOOPS_URL. عند تشغيل هذه الأداة، تريد استبدال تعريف XOOPS_URL الأصلي بالتعريف الجديد، أي استبدال http://localhost/xoops مع https://example.com

استخدام Search and Replace DB

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

مراجعة التغييرات في SRDB

كرر العملية باستخدام القيم القديمة والجديدة لـ XOOPS_ROOT_PATH.

هناك طريقة أخرى لإنجاز هذه الخطوة بدون أداة srdb ستكون بتفريغ قاعدة البيانات، تحرير التفريغ في محرر نصوص تغيير عناوين URL والمسارات، ثم إعادة تحميل قاعدة البيانات من التفريغ المحرر. نعم، هذه العملية مشتركة بما يكفي وتنطوي على مخاطر كافية أن الناس تم تحفيزهم على إنشاء أدوات متخصصة مثل Search-Replace-DB.

جرّب الموقع المنقول الخاص بك

Section titled “جرّب الموقع المنقول الخاص بك”

في هذه النقطة، يجب أن يكون موقعك جاهزاً للتشغيل في بيئته الجديدة!

بالطبع، يمكن أن تكون هناك دائماً مشاكل. لا تخف من نشر أي أسئلة على منتديات xoops.org.