मल्टी साइट Drupal होस्टिंग

आप एक से अधिक Drupal साइट द्वारा चलाए जा रहे हैं, तो आप प्रबंधन को सरल कर सकते हैं और बहु ​​साइट सुविधा का उपयोग करके अपनी साइटों उन्नयन कर सकते हैं। मल्टी साइट से आप एक ही Drupal स्थापना साझा करने देता है कई साइटों के बीच (सहित कोर कोड, मॉड्यूल, और विषयों योगदान)।

इस कोड के प्रबंधन के बाद से प्रत्येक उन्नयन केवल एक बार किया जाना चाहिए के लिए विशेष रूप से उपयोगी है। प्रत्येक साइट अपने स्वयं के डेटाबेस और अपने स्वयं के विन्यास सेटिंग्स होगा, इसलिए प्रत्येक साइट अपने स्वयं के सामग्री, सेटिंग्स, सक्षम मॉड्यूल, और सक्षम विषय होगा। हालांकि, साइटों एक कोड बेस और वेब दस्तावेज़ जड़ साझा कर रहे हैं, इसलिए वहाँ कई व्यवस्थापक के साथ सुरक्षा चिंताओं हो सकता है। (अधिक जानकारी के लिए खंड "सुरक्षा चिंताएं" नीचे)।

मल्टी साइट Drupal कोड बेस और वेब होस्टिंग

प्रक्रिया का अवलोकन

एक साझा Drupal कोड बेस आप निम्न चरणों को पूरा करना होगा का उपयोग कर एक नया साइट बनाने के लिए:

  1. साइट के लिए एक नया डेटाबेस बनाने के लिए (यदि वहाँ पहले से मौजूदा डेटाबेस आप भी स्थापना की प्रक्रिया में एक उपसर्ग को परिभाषित करते हुए इसका उपयोग कर सकते है)।
  2. अपनी नई साइट के नाम के साथ 'साइटों' निर्देशिका का एक नया उप-निर्देशिका बनाएँ। नीचे देखें या कैसे उपनिर्देशिका नाम के लिए के बारे में जानकारी के लिए default.settings.php फ़ाइल में टिप्पणी।
  3. कॉपी फ़ाइल साइटों / डिफ़ॉल्ट / default.settings.php उपनिर्देशिका आप पिछले चरण में बनाया में। settings.php करने के लिए नए फ़ाइल का नाम बदलें।
  4. Drupal 8 के लिए केवल: प्रतिलिपि बनाई जा रही है (और नाम) फ़ाइल साइटों / example.sites.php करने साइटों / sites.php द्वारा बहु-साइट सुविधा को सक्रिय करें। फ़ाइल को संपादित करने जब तक आप साइट उपनाम की जरूरत है कोई जरूरत नहीं है। सामान्य साइट चयन नियम लागू होता है।
  5. नई साइट निर्देशिका की अनुमतियों को समायोजित करें, और विन्यास फाइल (settings.php) पर लिखने की अनुमति देते हैं।
  6. आप इस तरह के रूप में इस तरह subd.example.com example.com/subdir के रूप में और नहीं एक उप डोमेन उप-निर्देशिका का उपयोग कर रहे हैं, तो आप शायद प्रत्येक साइट के लिए एक प्रतीकात्मक लिंक बनाने के लिए की है। उपनिर्देशिका बहु-साइट जानकारी के लिए नीचे अनुभाग देखें।
  7. एक वेब ब्राउज़र में, नई साइट का URL पर नेविगेट और मानक Drupal स्थापना प्रक्रिया के साथ जारी रखने के लिए (यदि आप एक अनंत पुनर्निर्देशन लूप मिलता है, जाँच फ़ाइल install.php दस्तावेज़ जड़ से मौजूद है)।

यह भी Drupal अपाचे की सेटिंग्स ओवरराइड करने के लिए अनुमति देने के लिए अपने वेब सर्वर के विन्यास फाइल (अपाचे के लिए अक्सर नामित httpd.conf) को संशोधित करने के लिए आवश्यक हो सकता है। यह Drupal के सभी प्रतिष्ठानों के लिए सच है और बहु ​​साइट स्थापित करने के लिए विशिष्ट नहीं है। अतिरिक्त जानकारी उत्तम आचरण में उपलब्ध है: स्थापित करें गाइड की एक साझा पर्यावरण अनुभाग में Drupal के लिए अपाचे और PHP का विन्यास।

मेजबानी

प्रक्रिया का विवरण

डोमेन, यूआरएल, और साइटों उपनिर्देशिका नाम

साइटों निर्देशिका के नए उप-निर्देशिका एक ऐसा नाम है जो साइट के URL से निर्मित किया गया है। उदाहरण के लिए, www.example.com के लिए विन्यास साइटों में / example.com / settings.php होगा। आप निर्देशिका नाम के हिस्से के रूप 'www' शामिल करने की जरूरत नहीं है।

Drupal example.com के किसी भी उप डोमेन के लिए एक ही साइटों / example.com निर्देशिका का उपयोग करेगा। , Www सहित जब तक कि वहाँ एक विकल्प है, मिलान उप डोमेन साइटों उपनिर्देशिका। उदाहरण के लिए, यूआरएल sub.example.com / साइटों से sub.example.com दिखाए जाएँगे। यदि वह मौजूद है।

इस तरह के example.com/subdir के रूप में उप-निर्देशिका यूआरएल, के लिए। साइटों उपनिर्देशिका नाम इस प्रकार है: साइटों / example.com.subdir - और उपनिर्देशिका बहु-साइट काम कर रही पर नीचे दिया अनुभाग पढ़ें।

यदि आप एक गैर मानक पोर्ट पर स्थापित कर रहे हैं, तो पोर्ट संख्या उपडोमेन के पहले भाग के रूप में व्यवहार किया जाता है। उदाहरण के लिए, www.example.com:8080 / साइटों से 8080.example.com लोड किया जा सकता है। यदि यह निर्देशिका मौजूद नहीं है, Drupal तो साइटों के लिए / example.com लगेगा। सिर्फ एक असली उप डोमेन की तरह।

साइट-विशिष्ट मॉड्यूल और विषयों

प्रत्येक साइट विन्यास मानक 'मॉड्यूल' और 'विषयों' निर्देशिका में स्थापित उन के अलावा अपनी ही साइट विशिष्ट मॉड्यूल और विषयों हो सकता है। साइट विशिष्ट मॉड्यूल या विषयों का उपयोग करने के लिए बस एक 'मॉड्यूल' या साइट विन्यास निर्देशिका के भीतर 'विषयों' निर्देशिका बनाएँ। उदाहरण के लिए, यदि sub.example.com एक कस्टम थीम और कस्टम मॉड्यूल है कि अन्य साइटों के लिए सुलभ नहीं होना चाहिए है, सेटअप इस प्रकार दिखाई देगा:

दस्तावेज़ जड़

अक्सर भ्रम का एक क्षेत्र है कि एक Drupal एकाधिक स्थापना में वेब सर्वर दस्तावेज़ जड़ सभी साइटों के लिए ही है। निम्नलिखित तीन साइटों के साथ उदाहरण के लिए: example.com, sub.example.com और example.com/site3 वहाँ एक भी Drupal निर्देशिका हो जाएगा और सभी साइटों ही index.php फ़ाइल बुला लिया जाएगा।

कुछ webhosts अपने आप एक नई निर्देशिका (जैसे example.com) जब एक नया डोमेन या उपडोमेन बनाने पैदा करते हैं। इस मामले में यह एक प्रतीकात्मक कड़ी में मुख्य Drupal निर्देशिका के लिए बनाने के लिए, या बेहतर अभी तक डोमेन या उपडोमेन बनाते समय, साइट है जहाँ आप Drupal स्थापित किया है के रूप में एक ही दस्तावेज़ जड़ उपयोग करने के लिए यह सेट आवश्यक है।

Subdirectory बहु-साइट

आप Drupal बहु-साइट उपडोमेन के बजाय उपनिर्देशिका यूआरएल या अलग डोमेन URL का उपयोग काम कर पाने के प्रयास कर रहे हैं, तो आप समस्याओं का सामना कर सकते हैं। आप ऐसी साइटों / example.com.subdir के रूप में निर्देशिका बनाकर बाहर शुरू करेंगे। और वहाँ एक settings.php फ़ाइल डाल। यह आपके लिए काम करता है, महान! लेकिन यह शायद नहीं होगा।

स्थानीय कार्य केंद्र के लिए स्थानीय होस्ट उर्फ

कई सिस्टम पर यह एक "मेजबान" फ़ाइल में प्रविष्टियों को बनाने के लिए एक स्थानीय कार्य केंद्र के लिए स्थानीय होस्ट नाम के लिए अन्य नाम बना जा सकता है। स्थानीय होस्ट के लिए उपनाम बना कर यह, इस तरह के localdev1.example.com और localdev2.example.com के रूप में नाम बनाने के लिए दोनों को स्थानीय कंप्यूटर के लिए संभव है।

दूसरी ओर आप अपने स्थानीय वेब जड़ में उपनिर्देशिका का उपयोग पर हैं, तो इस तरह की एक प्रतीकात्मक कड़ी बनाने के लिए:

और अपनी साइट फ़ोल्डर localhost.subdir नाम।

डोमेन नाम परिवर्तन

एक बार एक साइट साइटों निर्देशिका के अंतर्गत किसी विशेष उप निर्देशिका में उत्पादन में है, उपनिर्देशिका का नाम बदला नहीं किया जाना चाहिए, भले ही वेब साइट यूआरएल बदल जाता है। इसका कारण यह है कई डेटाबेस तालिकाओं (उदाहरण के लिए: प्रणाली और फ़ाइलें) के संदर्भ शामिल हैं "साइटों / www.mydomain.com।" साइटों निर्देशिका का नाम बदलने के बजाय, आप पुराने एक से नए URL एक सिमलिंक बना सकते हैं। साइटों निर्देशिका पर नेविगेट करें और उसके बाद निम्न आदेश का उपयोग:
$ Ln -s /path/to/drupal/sites/old.domainname.com new.domainname.com

सुरक्षा चिंतायें

आप Drupal की बहु साइट विन्यास का उपयोग कर पुनर्विचार करने के लिए, स्थितियों में, जहां सभी साइटों के लिए प्रशासकों एक ही कोड के आधार से चलाया जा रहा में चाहते हो सकता है या तो एक ही व्यक्ति या आपसी विश्वास की एक उच्च स्तर के साथ एक छोटे से समूह नहीं हैं। कारण यह है कि एक Drupal साइट पर पूर्ण प्रशासनिक विशेषाधिकारों के साथ किसी को भी विभिन्न साधनों के माध्यम उस साइट पर मनमाने ढंग से PHP कोड निष्पादित कर सकते हैं (यहां तक ​​कि साइट के लिए एफ़टीपी उपयोग के बिना) है, और कहा कि मनमाने ढंग से PHP कोड एक साइट से एक और साइट को प्रभावित करने के लिए इस्तेमाल किया जा सकता, दो साइटों एक ही HTTP दस्तावेज़ जड़ में हैं और एक ही Drupal कोड साझा करने हैं।

तो, जब तक आप पूरी तरह से साइटों को आप, जानकार सावधान, और दुर्भावनापूर्ण नहीं होने के लिए एक ही Drupal कोड बेस से चल रहा विचार कर रहे हैं के प्रशासकों के सभी पर भरोसा है, आप वेब सर्वर के पूरी तरह से अलग अलग क्षेत्रों में उनके Drupal साइटों स्थापित करने पर विचार करना चाह सकते हैं कि PHP पटकथा के माध्यम से एक दूसरे को प्रभावित करने में सक्षम नहीं हैं।

कभी कभी, Drupal सुरक्षा कमजोरियों के अधीन है। कीड़े जो Drupal कोर कोड से एक अनाधिकृत उपयोगकर्ता पहुँच अनुमति देते हैं। एक बार एक हैकर अपने मूल कोड की पहुंच है, वे एक हमले के माध्यम से अपने सभी Multisites की पहुंच है। गैर Multisites अलग हमलों है, जो पर्याप्त समय प्रदान कर सकता है के लिए जोखिम सुरक्षित करने की आवश्यकता होती है।

जब एकाधिक साइट के लिए

चाहे एकाधिक इंस्टॉल पर उपयोग करने के लिए या आप यह नहीं कह सकते पर एक सामान्य नियम के रूप में:

  • साइटों को एक ही ग्राहक के लिए कर रहे हैं और यह प्रत्येक साइट के दायरे को आसान बनाने की है, तो यह विचार करें।
  • साइटों की कार्यक्षमता में समान हैं, तो एक ही मॉड्यूल का उपयोग करें या एक ही Drupal वितरण का उपयोग करें, यह विचार करें।
  • आप संसाधनों / स्टाफ, लेकिन बहुत-सी साइट्स सीमित है का प्रबंधन और बनाए रखने के लिए, निश्चित रूप से यह विचार करें।
  • कार्यक्षमता या गुंजाइश भिन्न हैं, तो एकाधिक का उपयोग नहीं करते।
  • आप एक से अधिक वितरण के प्रबंध कर रहे हैं, एकाधिक का उपयोग नहीं करते।
  • ग्राहकों भिन्न हैं, तो एकाधिक का उपयोग नहीं करते।

Drupalcon ऑस्टिन (2014) बातचीत / एकाधिक पर बहस जहां पेशेवरों, विपक्ष, और कुछ सुझाव उपयोगकर्ता दृष्टिकोण के एक व्यापक दर्शकों द्वारा चर्चा कर रहे हैं यूट्यूब पर उपलब्ध है।

जब आप अपनी साइटों Drupal मॉड्यूल सुरक्षा अद्यतन के बारे में संभव के रूप में अप-टू-डेट रहना चाहता हूँ, लेकिन आप विभिन्न कार्यक्षमता है जब, यह करने के लिए है क्योंकि यह स्वतंत्र रूप से प्रत्येक साइट का परीक्षण करने के लिए एक अधिक समय लगता है और अधिक कठिन है एकाधिक लोकप्रिय है। आप एकाधिक कर रहे हैं, तो अद्यतन सभी साइटों जो हमेशा संभव नहीं है के लिए एक ही समय में चलाने की जरूरत है। यह चिंता का विषय है या आप एक बहुत बड़े एकाधिक है, लेकिन अभी भी दृष्टिकोण के पक्ष में हैं, तो आप एक Drush प्लगइन बुलाया DSLM कि एकाधिक प्रबंधन थोड़ा अलग लेकिन एक ही लाभ के साथ व्यवहार करता है की खोज पर विचार कर सकते।

विभिन्न कार्यक्षमता वाली साइटें आमतौर पर आ सकती है क्योंकि प्रत्येक का परीक्षण किया और ऊपर का समर्थन करने की आवश्यकता है अलग अलग समय पर उन्नत किया जा रहा। साइट अद्यतन और बैकअप के साथ या एकाधिक बिना हालांकि @sites लक्ष्य Drush के लिए उपलब्ध Multisites को आदेश के थोक आवेदन को सरल Drush साथ स्वचालित किया जा सकता।

अनुशंसित एकाधिक विन्यास विवरण

ये निर्धारित नियम और कानून नहीं हैं, लेकिन निश्चित रूप से अपने आप को एकाधिक साथ एक कोने में पेंटिंग करने से रोकने में मदद मिलेगी।

तैनाती / साइट उन्नयन का प्रबंधन करने के Drush का प्रयोग करें

Drush एक शक्तिशाली CLI कि Drupal साइटों के खिलाफ पटकथा आदेश के लिए अनुमति देता है। जब Multisites के साथ संयुक्त, वे बहुत आसानी से प्रबंधित पैमाने पर हो गया है। Drush उपनाम (जो साइटों के समूह को संदर्भित अनुमति देते हैं / एकल आदेशों के साथ लक्ष्य) महत्वपूर्ण हैं सफलतापूर्वक बड़े एकाधिक तैनाती के प्रबंधन के लिए। उदाहरण के लिए, कई शिक्षण संस्थानों में अच्छी तरह से 100 1000 से अधिक करने के लिए साइटों के लिए एक एकल एकाधिक बंद चल रहा है के साथ Multisites चलाते हैं।

साइटों का प्रबंधन करने के sites.php का प्रयोग करें

आधारित पते के बजाय किसी एकाधिक में साइटों को संदर्भित करने के लिए शामिल साइटों / sites.php (Drupal 7.x) या साइटों / sites.example.php (Drupal 8.x.x) का प्रयोग करें। यह आपको (जैसे। देव, मंच, prod) की तैनाती के बीच स्थानांतरित करने के लिए और अधिक आसानी से की अनुमति देगा। पारंपरिक एकाधिक विन्यास आप साइटों / my.new.domain.address / settings.php तरह निर्देशिकाएं बनाएं होता है, लेकिन आप के रूप में फ़ोल्डर नाम डोमेन का उपयोग करना यह काम करने के लिए जरूरत नहीं है। sites.php में आप की तरह 'my.new.domain.address' => 'परियोजना / version1' एक संदर्भ बना सकते हैं। ऐसा करने से, आप यह संभव देव है कि और अधिक our.dev.address की तरह लग रहे पर sites.php मैपिंग उपयोग करने के लिए बनाने के लिए और अभी भी यह परियोजना के लिए / अपने लक्ष्य के रूप में version1 बात की है।

संबंधित आलेख

कई साइटों होस्टिंग Drupal साइटोंकई कारण एक सिस्टम व्यवस्थापक या डेवलपर एक एकाधिक विन्यास में एक ही सर्वर पर कई साइटों की मेजबानी के लिए चुन सकते हैं कर रहे हैं। उदाहरण के लिए, इस तरह के एक विन्यास किए जा सकेंगे: ...
मल्टी साइटों Drupal होस्टिंगआप एक से अधिक Drupal साइट द्वारा चलाए जा रहे हैं, तो आप प्रबंधन को सरल कर सकते हैं और बहु ​​साइट सुविधा का उपयोग करके अपनी साइटों उन्नयन कर सकते हैं। मल्टी साइट से आप एक ही Drupal साझा करने के लिए अनुमति देता है ...
Justhost बहु होस्टिंग साइट वर्डप्रेसएकाधिक एक वर्डप्रेस है जो उपभोक्ता को एक भी वर्डप्रेस स्थापना पर साइटों की एक नेटवर्क बनाने के लिए अनुमति देता है। वर्डप्रेस 3.0 संस्करण के बाद से उपलब्ध है, एकाधिक WPMU के एक निरंतरता है ...
कई साइटों होस्टिंग वर्डप्रेस बनाम Drupalआप एक से अधिक Drupal साइट द्वारा चलाए जा रहे हैं, तो आप प्रबंधन को सरल कर सकते हैं और बहु ​​साइट सुविधा का उपयोग करके अपनी साइटों उन्नयन कर सकते हैं। मल्टी साइट से आप एक ही Drupal साझा करने के लिए अनुमति देता है ...
साइटें सभी मॉड्यूल Drupal होस्टिंगकई कारण एक सिस्टम व्यवस्थापक या डेवलपर एक एकाधिक विन्यास में एक ही सर्वर पर कई साइटों की मेजबानी के लिए चुन सकते हैं कर रहे हैं। उदाहरण के लिए, इस तरह के एक विन्यास किए जा सकेंगे: ...