نقل موقع
يمكن أن تكون تقنية مفيدة جداً لنموذج موقع 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_lib و Composer Dependencies
Section titled “xoops_lib و Composer Dependencies”يدير 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
Section titled “mainfile.php”| الاسم | القيمة القديمة في 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_PATH | c:/wamp/xoopscore27/htdocs | /home8/example/public_html |
| XOOPS_PATH | c:/wamp/xoopscore27/htdocs/xoops_lib | /home8/example/private/xoops_lib |
| XOOPS_VAR_PATH | c:/wamp/xoopscore27/htdocs/xoops_data | /home8/example/private/xoops_data |
| XOOPS_URL | http://localhost/xoops | https://example.com |
| XOOPS_COOKIE_DOMAIN | localhost | example.com |
بعد تغيير mainfile.php، احفظه.
من الممكن أن تحتوي بعض الملفات الأخرى على مراجع مشفرة بحرفية لعنوان URL الخاص بك أو حتى المسارات. هذا أكثر احتمالاً في المواضيع والقوائم المخصصة، لكن باستخدام محررك، يمكنك البحث عبر جميع الملفات، فقط للتأكد.
في محررك، ابحث عبر الملفات في نسختك، وابحث عن قيمة XOOPS_URL القديمة، واستبدلها بالقيمة الجديدة.
افعل الشيء نفسه بالنسبة لقيمة XOOPS_ROOT_PATH القديمة، واستبدل جميع الحالات بالقيمة الجديدة.
احتفظ بملاحظاتك، لأننا سنضطر إلى استخدامها مرة أخرى لاحقاً مع نقل قاعدة البيانات.
data/secure.php
Section titled “data/secure.php”| الاسم | القيمة القديمة في data/secure.php | القيمة الجديدة في data/secure.php |
|---|---|---|
| XOOPS_DB_HOST | ||
| XOOPS_DB_USER | ||
| XOOPS_DB_PASS | ||
| XOOPS_DB_NAME |
افتح data/secure.php في اسم النطاق المعاد تسميته و/أو المنقول دليل xoops_data في محررك. غيّر القيم للتعريفات الموضحة في الرسم البياني أعلاه من القيم القديمة، إلى القيم المناسبة للموقع الجديد.
ملفات أخرى
Section titled “ملفات أخرى”قد يكون هناك ملفات أخرى قد تحتاج إلى الانتباه عند نقل الموقع الخاص بك. بعض الأمثلة الشائعة هي مفاتيح API لخدمات مختلفة قد تكون مرتبطة بالنطاق، مثل:
- خرائط Google
- Recaptch2
- أزرار مثل
- مشاركة الارتباط و/أو الإعلانات مثل Shareaholic أو AddThis
لا يمكن أتمتة تغيير هذه الأنواع من الجمعيات بسهولة، لأن الاتصالات بالمجال القديم عادة ما تكون جزءاً من التسجيل على جانب الخدمة. في بعض الحالات، قد يكون ببساطة إضافة أو تغيير النطاق المرتبط بالخدمة.
انسخ الملفات إلى الموقع الجديد
Section titled “انسخ الملفات إلى الموقع الجديد”انسخ الملفات المعاد تعديلها الآن إلى موقعك الجديد. التقنيات هي نفسها المستخدمة أثناء التثبيت، أي استخدام FTP.
انسخ قاعدة بيانات الموقع الموجودة
Section titled “انسخ قاعدة بيانات الموقع الموجودة”نسخ احتياطي من قاعدة البيانات من الخادم القديم
Section titled “نسخ احتياطي من قاعدة البيانات من الخادم القديم”لهذه الخطوة، يُنصح باستخدام phpMyAdmin بشدة. تسجيل الدخول إلى phpMyAdmin لموقعك الموجود، وحدد قاعدة البيانات الخاصة بك، واختر Export.
الإعدادات الافتراضية عادة ما تكون جيدة، لذا فقط حدد “طريقة التصدير” من Quick و “التنسيق” من SQL.
استخدم زر Go لتنزيل النسخة الاحتياطية من قاعدة البيانات.

إذا كان لديك جداول في قاعدة البيانات الخاصة بك التي لا تأتي من 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

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

كرر العملية باستخدام القيم القديمة والجديدة لـ XOOPS_ROOT_PATH.
نهج بديل بدون SRDB
Section titled “نهج بديل بدون SRDB”هناك طريقة أخرى لإنجاز هذه الخطوة بدون أداة srdb ستكون بتفريغ قاعدة البيانات، تحرير التفريغ في محرر نصوص تغيير عناوين URL والمسارات، ثم إعادة تحميل قاعدة البيانات من التفريغ المحرر. نعم، هذه العملية مشتركة بما يكفي وتنطوي على مخاطر كافية أن الناس تم تحفيزهم على إنشاء أدوات متخصصة مثل Search-Replace-DB.
جرّب الموقع المنقول الخاص بك
Section titled “جرّب الموقع المنقول الخاص بك”في هذه النقطة، يجب أن يكون موقعك جاهزاً للتشغيل في بيئته الجديدة!
بالطبع، يمكن أن تكون هناك دائماً مشاكل. لا تخف من نشر أي أسئلة على منتديات xoops.org.