logo

एक्स्ट्रा ब्लॉक टाइप्स (EBT) - नया लेआउट बिल्डर अनुभव❗

एक्स्ट्रा ब्लॉक टाइप्स (EBT) - स्टाइलिश, कस्टमाइज़ेबल ब्लॉक टाइप्स: स्लाइडशो, टैब्स, कार्ड्स, एकॉर्डियन्स और कई अन्य। बैकग्राउंड, DOM बॉक्स, जावास्क्रिप्ट प्लगइन्स के लिए बिल्ट-इन सेटिंग्स। आज ही लेआउट बिल्डिंग का भविष्य अनुभव करें।

डेमो EBT मॉड्यूल्स EBT मॉड्यूल्स डाउनलोड करें

❗एक्स्ट्रा पैराग्राफ टाइप्स (EPT) - नया पैराग्राफ्स अनुभव

एक्स्ट्रा पैराग्राफ टाइप्स (EPT) - एनालॉजिकल पैराग्राफ आधारित मॉड्यूल्स का सेट।

डेमो EPT मॉड्यूल्स EPT मॉड्यूल्स डाउनलोड करें

स्क्रॉल
04/10/2025, by Ivan

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

हालाँकि, यह ध्यान देना महत्वपूर्ण है कि Aegir होस्टिंग सिस्टम का उपयोग करना अधिक उपयुक्त है। यह आपके लिए सारी जटिल प्रक्रियाओं को स्वचालित रूप से संभालता है, जिसमें Apache और Nginx के लिए वर्चुअल होस्ट सेटअप, HTTPS सपोर्ट जोड़ना, Composer कमांड चलाना आदि शामिल हैं। देखें “प्लेटफ़ॉर्म” सेटअप दस्तावेज़ — Aegir शब्दावली में यह मल्टीसाइट कोडबेस को संदर्भित करता है।

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

1. Drupal 8 का एक इंस्टेंस इंस्टॉल करें जो हमारे मल्टीसाइट सेटअप के लिए “मुख्य साइट” (root site) के रूप में काम करेगा। इस उदाहरण में, रूट साइट का नाम d8multisite होगा, यह d8multisite.com पर उपलब्ध होगी और /var/www/d8multisite में इंस्टॉल की जाएगी।

2. एक मल्टीसाइट साइट बनाएं जिसका नाम site1 हो, जो site1.d8multisite.com पर उपलब्ध हो।

3. site1 को इस तरह कॉन्फ़िगर करें कि उसके अपने मॉड्यूल्स हों, जो रूट साइट से अलग हों।

चरण 1: मुख्य (मास्टर) साइट बनाना

शुरू करने के लिए, अपने सर्वर पर Drupal 8 की एक कॉपी इंस्टॉल करें। यदि आप Drupal इंस्टॉलेशन से परिचित नहीं हैं, तो Drupal 8 इंस्टॉलेशन दस्तावेज़ पढ़ें।

इस उदाहरण में, हम निम्नलिखित चरणों का पालन करके Drupal स्थापित करते हैं:

1.1: मल्टीसाइट रूट साइट के लिए एक डेटाबेस बनाएं, जैसे: d8multisite

1.2: Drupal 8 की एक कॉपी डाउनलोड करें और इसे अपने वेब डायरेक्टरी में एक्सट्रैक्ट करें।

1.3: रूट साइट के लिए एक वर्चुअल होस्ट परिभाषा बनाएं। वर्चुअल होस्ट कॉन्फ़िगरेशन के बारे में पढ़ें। Apache के लिए वर्चुअल होस्ट कॉन्फ़िगरेशन का उदाहरण: Nginx के लिए देखें आधिकारिक गाइड.

<VirtualHost *:80>

  # Drupal 8 मल्टीसाइट रूट साइट के लिए वर्चुअल होस्ट कॉन्फ़िगरेशन

  ServerAdmin me@domain.com
  DocumentRoot /var/www/d8multisite
  ServerName d8multisite.com
  ServerAlias www.d8multisite.com
  
  <Directory />
    Options FollowSymLinks
    AllowOverride None
  </Directory>
  
  <Directory /var/www/d8multisite>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/d8multisite_error.log
  LogLevel warn
  CustomLog ${APACHE_LOG_DIR}/d8multisite_access.log combined

</VirtualHost>

1.4: d8multisite.com पर जाएँ और इंस्टॉलेशन इंटरफ़ेस का पालन करते हुए Drupal स्थापित करें।

चरण 2: पहला मल्टीसाइट सेटअप करें

अब जब हमने रूट साइट सेटअप कर ली है, तो हम अपनी पहली साइट site1 को सेटअप करेंगे। इस प्रक्रिया में निम्न चरण शामिल हैं:

2.1: अपने मल्टीसाइट डायरेक्टरी में site1 के लिए एक फ़ोल्डर बनाएँ: /d8multisite/sites/site1.d8multisite.com

2.2: साइट 1 के लिए एक डेटाबेस बनाएँ, जैसे: d8multisite_site1

2.3: /d8multisite/sites/example.sites.php की कॉपी बनाएँ और उसे /d8multisite/sites/sites.php नाम दें।

2.4: sites.php को संपादित करें ताकि इसकी अंतिम पंक्ति इस तरह दिखे:

# रूट Drupal साइट को site1 के बारे में सूचित करें:
$sites['site1.d8multisite.com'] = 'site1.d8multisite.com';

2.5: site1 के लिए एक वर्चुअल होस्ट बनाएँ। ध्यान दें कि यह वर्चुअल होस्ट रूट साइट की ओर इशारा करना चाहिए, उसके सबफ़ोल्डर की ओर नहीं। आप चाहें तो नई साइट को रूट साइट के ServerAlias के रूप में भी जोड़ सकते हैं। लेकिन इस उदाहरण में हम Apache के लिए site1 का एक अलग वर्चुअल होस्ट बनाएँगे:

<VirtualHost *:80>
  ServerAdmin me@domain.com
  DocumentRoot /var/www/d8multisite
  ServerName site1.d8multisite.com
  
  <Directory />
    Options FollowSymLinks
    AllowOverride None
  </Directory>
  
  <Directory /var/www/d8multisite>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/site1-d8multisite_error.log
  LogLevel warn
  CustomLog ${APACHE_LOG_DIR}/site1-d8multisite_error.log combined

</VirtualHost>

2.6: रूट फ़ोल्डर से sites/default/default.settings.php की कॉपी करें और उसे नई साइट डायरेक्टरी में settings.php नाम से रखें:

#from the drupal root folder
cp sites/default/default.settings.php sites/site1.d8multisite.com/settings.php

2.7: साइट के डोमेन पर जाकर Drupal इंस्टॉलेशन प्रक्रिया पूरी करें।

आप हर बार जब नई साइट बनाना चाहें, इन चरणों को दोहरा सकते हैं। आप example.com और site1.anotherdomain.com जैसे अलग-अलग डोमेन भी उपयोग कर सकते हैं। डोमेन, URL और साइट सबडायरेक्टरी नामों के बारे में अधिक जानकारी के लिए देखें।

चरण 3: प्रत्येक साइट के लिए मॉड्यूल सक्षम करें

कुछ मामलों में, आप चाह सकते हैं कि आपके मल्टीसाइट में से किसी एक साइट में अपने स्वयं के मॉड्यूल हों। इसे सक्षम करने के लिए, आपको लक्षित साइट की फ़ोल्डर में उपयुक्त डायरेक्टरीज़ बनानी होंगी। देखें Drupal 8 में मल्टीसाइट फ़ोल्डर संरचना.

इस उदाहरण में, हम site1 को अपने स्वयं के मॉड्यूल्स की अनुमति देंगे:

1. modules नामक फ़ोल्डर बनाएँ: /d8multisite/sites/site1.d8multisite.com/modules

2. Apache को इस फ़ोल्डर में लिखने की अनुमति दें: chown www-data /d8multisite/sites/site1.d8multisite.com/modules

3. इसकी जाँच करें:
1) site1 सबफ़ोल्डर से बाहर जाएँ (यानी रूट साइट पर) और Drush से Pathauto मॉड्यूल इंस्टॉल करें: drush dl pathauto
2) site1 सबफ़ोल्डर में जाएँ और Display Suite मॉड्यूल इंस्टॉल करें: drush dl ds
3) दोनों साइटों पर जाएँ और पुष्टि करें:
- Pathauto दोनों साइटों पर उपलब्ध है
- Display Suite केवल site1 पर उपलब्ध है

नोट: आप यही तरीका थीम्स, लाइब्रेरीज़ और फ़ाइलों के लिए भी लागू कर सकते हैं। इसके लिए अतिरिक्त परीक्षण और दस्तावेज़ आवश्यक हैं।

मल्टीसाइट में Drush का उपयोग

आप -l विकल्प का उपयोग कर सकते हैं:

drush -l example.com command

या साइट उपनाम (alias):

drush @alias command

यह देखने के लिए कि कौन से उपनाम उपयोग में हैं, चलाएँ:

drush site:alias

इसका आउटपुट कुछ इस प्रकार हो सकता है:

@sub1.dev :
   root: /var/www/mydomain.com/web
   uri: «https://sub1.mydomain.com»
@default.dev :
   root: /var/www/mydomain.com/web
   uri: «https://sub2.mydomain.com/»
@third.dev :
   root: /var/www/mydomain.com/web
   uri: «https://thirddomain.com»

और सही Drush कमांड इस प्रकार होगी:

drush @sub1 updb

नोट: हम उपनाम में “.dev” का उपयोग नहीं करते हैं।