किसी साइट को स्थानांतरित करना
स्थानीय सिस्टम या विकास सर्वर पर एक नई XOOPS साइट का प्रोटोटाइप बनाना एक बहुत ही उपयोगी तकनीक हो सकती है। कुछ गलत होने की स्थिति में, पहले अपनी उत्पादन साइट की एक प्रति पर XOOPS अपग्रेड का परीक्षण करना भी बहुत विवेकपूर्ण हो सकता है। इन्हें पूरा करने के लिए, आपको अपनी XOOPS साइट को एक साइट से दूसरी साइट पर ले जाने में सक्षम होना चाहिए। अपनी XOOPS साइट को सफलतापूर्वक स्थानांतरित करने के लिए आपको यह जानना आवश्यक है।
पहला कदम अपना नया साइट वातावरण स्थापित करना है। वही आइटम जो अनुभाग अग्रिम तैयारी में शामिल हैं, यहां भी लागू होते हैं।
समीक्षा में, वे चरण हैं:
- किसी भी डोमेन नाम या ईमेल आवश्यकताओं सहित होस्टिंग प्राप्त करें
- MySQL उपयोगकर्ता खाता और पासवर्ड प्राप्त करें
- एक MySQL डेटाबेस प्राप्त करें जिस पर उपरोक्त उपयोगकर्ता के पास सभी विशेषाधिकार हैं
प्रक्रिया का शेष भाग सामान्य इंस्टालेशन के समान ही है, लेकिन:
- XOOPS वितरण से फ़ाइलों की प्रतिलिपि बनाने के बजाय, आप उन्हें मौजूदा साइट से कॉपी करेंगे
- इंस्टॉलर चलाने के बजाय, आप पहले से भरे हुए डेटाबेस को आयात करेंगे
- इंस्टॉलर में उत्तर दर्ज करने के बजाय, आप फ़ाइलों और डेटाबेस में पिछले उत्तरों को बदल देंगे
मौजूदा साइट फ़ाइलों की प्रतिलिपि बनाएँ
Section titled “मौजूदा साइट फ़ाइलों की प्रतिलिपि बनाएँ”अपनी मौजूदा साइट की फ़ाइलों की पूरी प्रतिलिपि अपनी स्थानीय मशीन पर बनाएँ जहाँ आप उन्हें संपादित कर सकें। यदि आप किसी दूरस्थ होस्ट के साथ काम कर रहे हैं, तो आप फ़ाइलों की प्रतिलिपि बनाने के लिए एफ़टीपी का उपयोग कर सकते हैं। भले ही साइट आपकी स्थानीय मशीन पर चल रही हो, आपको काम करने के लिए एक प्रति की आवश्यकता है, बस उस स्थिति में साइट की निर्देशिकाओं की एक और प्रतिलिपि बनाएं।
xoops_data और xoops_lib निर्देशिकाओं को शामिल करना याद रखना महत्वपूर्ण है, भले ही उनका नाम बदला गया हो और/या स्थानांतरित किया गया हो।
चीजों को आसान बनाने के लिए, आपको अपनी कॉपी से कैश और Smarty संकलित टेम्पलेट फ़ाइलों को हटा देना चाहिए। इन फ़ाइलों को आपके नए वातावरण में फिर से बनाया जाएगा, और यदि साफ़ नहीं किया गया तो पुरानी गलत जानकारी बरकरार रहने से समस्याएँ हो सकती हैं। ऐसा करने के लिए, इन तीनों निर्देशिकाओं में index.html को छोड़कर सभी फ़ाइलें हटा दें:
- xoops_data/caches/smarty_cache
- xoops_data/caches/smarty_compile
- xoops_data/caches/xoops_cache
ध्यान दें: किसी साइट को XOOPS 2.7.0 पर या उससे ले जाते समय
smarty_compileको साफ़ करना विशेष रूप से महत्वपूर्ण है। XOOPS 2.7.0 Smarty 4 का उपयोग करता है, और Smarty 4 संकलित टेम्पलेट Smarty 3 संकलित टेम्पलेट के साथ विनिमेय नहीं हैं। पुरानी संकलित फ़ाइलों को यथास्थान छोड़ने से नई साइट पर प्रथम पृष्ठ लोड होने पर टेम्पलेट त्रुटियाँ उत्पन्न होंगी।
xoops_lib और संगीतकार निर्भरताएँ
Section titled “xoops_lib और संगीतकार निर्भरताएँ”XOOPS 2.7.0 अपनी PHP निर्भरता को xoops_lib/ के अंदर कंपोजर के माध्यम से प्रबंधित करता है। xoops_lib/vendor/ निर्देशिका में तृतीय-पक्ष लाइब्रेरी शामिल हैं जिनकी XOOPS को रनटाइम (Smarty 4, PHPMailer, HTMLPurifier, आदि) पर आवश्यकता होती है। किसी साइट को स्थानांतरित करते समय, आपको संपूर्ण xoops_lib/ ट्री - जिसमें vendor/ भी शामिल है - को नए होस्ट में कॉपी करना होगा। लक्ष्य होस्ट पर vendor/ को पुन: उत्पन्न करने का प्रयास न करें जब तक कि आप एक डेवलपर न हों जिसने composer.json को अनुकूलित किया हो और लक्ष्य पर कंपोजर उपलब्ध हो।
नया वातावरण स्थापित करें
Section titled “नया वातावरण स्थापित करें”वही आइटम जो अनुभाग अग्रिम तैयारी में शामिल हैं, यहां भी लागू होते हैं। हम यहां मान लेंगे कि आप जिस साइट पर जा रहे हैं, उसके लिए आपके पास वह होस्टिंग है जिसकी आपको आवश्यकता होगी।
मुख्य जानकारी (मेनफाइल.php और सिक्योर.php)
Section titled “मुख्य जानकारी (मेनफाइल.php और सिक्योर.php)”किसी साइट को सफलतापूर्वक स्थानांतरित करने में पूर्ण फ़ाइल और पथ नाम, URL, डेटाबेस पैरामीटर और एक्सेस क्रेडेंशियल्स के किसी भी संदर्भ को बदलना शामिल है।दो फ़ाइलें, mainfile.php आपकी साइट के वेब रूट में, और data/secure.php आपकी साइट की (नामांकित और/या स्थानांतरित) xoops_data निर्देशिका में, आपकी साइट के बुनियादी मापदंडों को परिभाषित करती हैं, जैसे इसका URL, होस्ट फ़ाइल सिस्टम में कहां बैठता है, और यह डेटाबेस से कैसे जुड़ता है।
आपको यह जानना होगा कि पुरानी प्रणाली में क्या मूल्य हैं और नई प्रणाली में वे क्या होंगे।
मेनफ़ाइल.php
Section titled “मेनफ़ाइल.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/उदाहरण/निजी/xoops_data |
| XOOPS_URL | http://localhost/xoops | https://example.com |
| XOOPS_COOKIE_DOMAIN | लोकलहोस्ट | 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 | | |
अपने संपादक में पुनर्नामित और/या स्थानांतरित xoops_data निर्देशिका में data/secure.php खोलें। उपरोक्त चार्ट में दिखाए गए परिभाषित मानों को पुराने मानों से नई साइट के लिए उपयुक्त मानों में बदलें।
अन्य फ़ाइलें
Section titled “अन्य फ़ाइलें”ऐसी अन्य फ़ाइलें भी हो सकती हैं जिन पर आपकी साइट के स्थानांतरित होने पर ध्यान देने की आवश्यकता हो सकती है। कुछ सामान्य उदाहरण विभिन्न सेवाओं के लिए API कुंजियाँ हैं जो डोमेन से जुड़ी हो सकती हैं, जैसे:
- गूगल मैप्स
- रीकैप्च2
- बटन की तरह
- लिंक शेयरिंग और/या विज्ञापन जैसे शेयरहोलिक या AddThis
इस प्रकार के एसोसिएशन को बदलना आसानी से स्वचालित नहीं किया जा सकता है, क्योंकि पुराने डोमेन के कनेक्शन आमतौर पर सेवा पक्ष पर पंजीकरण का हिस्सा होते हैं। कुछ मामलों में, यह बस सेवा से जुड़े डोमेन को जोड़ या बदल सकता है।
फ़ाइलों को नई साइट पर कॉपी करें
Section titled “फ़ाइलों को नई साइट पर कॉपी करें”अपनी अब संशोधित फ़ाइलों को अपनी नई साइट पर कॉपी करें। तकनीकें वही हैं जो इंस्टॉलेशन के दौरान इस्तेमाल की गई थीं, यानी एफ़टीपी का उपयोग करते हुए।
मौजूदा साइट डेटाबेस की प्रतिलिपि बनाएँ
Section titled “मौजूदा साइट डेटाबेस की प्रतिलिपि बनाएँ”पुराने सर्वर से डेटाबेस का बैकअप लें
Section titled “पुराने सर्वर से डेटाबेस का बैकअप लें”इस चरण के लिए, phpMyAdmin का उपयोग करने की अत्यधिक अनुशंसा की जाती है। अपनी मौजूदा साइट के लिए phpMyAdmin में लॉग इन करें, अपना डेटाबेस चुनें और Export चुनें।
डिफ़ॉल्ट सेटिंग आमतौर पर ठीक होती है, इसलिए बस Quick की “निर्यात विधि” और SQL का “प्रारूप” चुनें।डेटाबेस बैकअप डाउनलोड करने के लिए Go बटन का उपयोग करें।

यदि आपके डेटाबेस में ऐसी तालिकाएँ हैं जो XOOPS या इसके मॉड्यूल से नहीं हैं, और उन्हें स्थानांतरित नहीं किया जाना चाहिए, तो आपको Custom की “निर्यात विधि” का चयन करना चाहिए और अपने डेटाबेस में केवल XOOPS संबंधित तालिकाओं को चुनना चाहिए। (ये “उपसर्ग” से शुरू होते हैं जिसे आपने इंस्टॉल के दौरान निर्दिष्ट किया था। आप अपने डेटाबेस उपसर्ग को xoops_data/data/secure.php फ़ाइल में देख सकते हैं।)
डेटाबेस को नए सर्वर पर पुनर्स्थापित करें
Section titled “डेटाबेस को नए सर्वर पर पुनर्स्थापित करें”अपने नए होस्ट पर, अपने नए डेटाबेस का उपयोग करके, टूल्स जैसे phpMyAdmin में Import टैब (या यदि आवश्यक हो तो bigdump) का उपयोग करके डेटाबेस को पुनर्स्थापित करें।
डेटाबेस में URL और पथ अपडेट करें
Section titled “डेटाबेस में URL और पथ अपडेट करें”अपने डेटाबेस में अपनी साइट के संसाधनों के किसी भी http लिंक को अपडेट करें। यह एक बहुत बड़ा प्रयास हो सकता है, और इसे आसान बनाने के लिए एक टूल है।
इंटरकनेक्ट/इसमें सर्च-रिप्लेस-डीबी नामक एक उत्पाद है जो इसमें मदद कर सकता है। यह अंतर्निहित Wordpress और Drupal वातावरण के बारे में जागरूकता के साथ आता है। वैसे, यह टूल बहुत मददगार हो सकता है, लेकिन यह तब और भी बेहतर है जब यह आपके XOOPS के बारे में जागरूक हो। आप XOOPS जागरूक संस्करण यहां पा सकते हैं [https://github.com/geekwright/srdb]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 के वैकल्पिक दृष्टिकोण”एसआरडीबी टूल के बिना इस चरण को पूरा करने का दूसरा तरीका यह होगा कि आप अपने डेटाबेस को डंप करें, URL और पथों को बदलते हुए टेक्स्ट एडिटर में डंप को संपादित करें, और फिर अपने संपादित डंप से डेटाबेस को फिर से लोड करें। हां, यह प्रक्रिया पर्याप्त रूप से शामिल है और इसमें इतना जोखिम है कि लोगों को सर्च-रिप्लेस-डीबी जैसे विशेष उपकरण बनाने के लिए प्रेरित किया गया।
अपनी स्थानांतरित साइट को आज़माएँ
Section titled “अपनी स्थानांतरित साइट को आज़माएँ”इस बिंदु पर, आपकी साइट अपने नए वातावरण में चलने के लिए तैयार होनी चाहिए!
निःसंदेह, समस्याएँ हमेशा हो सकती हैं। xoops.org फ़ोरम पर कोई भी प्रश्न पोस्ट करने से न डरें।