logo

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

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

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

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

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

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

स्क्रॉल

मौजूदा साइट पर Composer जोड़ें

06/10/2025, by Ivan

Drupal 8.8.0 में सरल किया गया

ध्यान दें: यदि आपने अपना प्रोजेक्ट Drupal संस्करण 8.8.0 या नए संस्करण से शुरू किया है, तो आपकी साइट पहले से ही सही फ़ाइल संरचना का उपयोग करती है और Composer में परिवर्तित होने के लिए तैयार है।

यह पृष्ठ उन मौजूदा साइटों के लिए एक चरण-दर-चरण मार्गदर्शिका है जो Composer के बिना स्थापित की गई थीं, लेकिन अब Composer समर्थन को मैन्युअल रूप से जोड़ना चाहती हैं। यह गाइड आपके लिए है यदि आपने Drupal 8 को किसी आर्काइव से मैन्युअल रूप से इंस्टॉल किया था या किसी परित्यक्त Composer टेम्पलेट (जैसे drupal/drupal) का उपयोग किया था।

Drupal 8.8.0 या नए संस्करणों पर बनी साइटों के लिए

यदि आपने Drupal 8.8.0 को आर्काइव से भी इंस्टॉल किया है, तो Composer पहले से शामिल था। इसलिए, आप बिना किसी अतिरिक्त परिवर्तन के अपनी साइट को Composer के माध्यम से प्रबंधित कर सकते हैं।

Drupal 8.8.0 से पहले बनी साइटों के लिए

Drupal.org से डाउनलोड किए गए आर्काइव (Drupal 8.8.0 से पहले) के साथ आने वाला composer.json फ़ाइल, Composer-प्रबंधित साइटों के लिए नहीं बना था।

यदि आप Drupal कोर और अतिरिक्त मॉड्यूल की स्थापना और अपडेट के लिए मैन्युअल प्रबंधन से Composer उपयोग पर स्विच करना चाहते हैं, तो आपको पहले अपनी साइट की composer.json फ़ाइल बदलनी होगी।

Composer में आम त्रुटि संदेश जो खराब composer.json फ़ाइल को इंगित कर सकते हैं:

Nothing to install or update (even though updates exist)

Installation request for drupal/drupal No version set (parsed as 1.0.0) -> satisfiable by drupal/drupal[No version set (parsed as 1.0.0)].

don't install drupal/core 8.x.x | remove drupal/drupal No version set (parsed as 1.0.0)

Your requirements could not be resolved to an installable set of packages.

कभी-कभी Composer टेम्पलेट समस्याओं को composer.lock फ़ाइल और vendor/ फ़ोल्डर हटाकर और फिर से अपडेट चलाकर हल किया जा सकता है, लेकिन मौजूदा Drupal 8 साइट को 3.5. Composer का उपयोग करके फाइलें डाउनलोड और अपडेट करें में सुझाए गए Composer टेम्पलेट में परिवर्तित करना अधिक स्थिर समाधान है।

gocomposer और composerize drupal जैसे टूल पुराने साइटों को Composer प्रोजेक्ट में बदलने की प्रक्रिया को स्वचालित करने का प्रयास करते हैं, लेकिन मैन्युअल रूपांतरण काफी सरल है और अधिक समय नहीं लेता।

अंत में, आपका प्रोजेक्ट अनुशंसित डायरेक्टरी संरचना के साथ होगा। Composer कॉन्फ़िगरेशन (composer.json, composer.lock आदि), Drush और vendor डायरेक्टरी आपके webroot के बाहर होंगी। आपकी मूल वेब डायरेक्टरी में एक नया फ़ोल्डर web/ होगा, जिसमें वास्तविक वेबसाइट स्थित होगी। यदि आपकी मौजूदा साइट की संरचना अलग है, तो आपको अपने वेब सर्वर की कॉन्फ़िगरेशन को नए web/ फ़ोल्डर की ओर इंगित करने के लिए अपडेट करना होगा।

संक्षिप्त रूप में (TL; DR?)

  1. वर्तमान Composer टेम्पलेट का उपयोग करके एक नया Drupal साइट इंस्टॉल करें
  2. सभी कस्टम थीम, मॉड्यूल, फाइलें और सेटिंग्स नए प्रोजेक्ट में कॉपी करें।
  3. पुरानी सेटिंग्स को नए प्रोजेक्ट में स्थानांतरित करें।
  4. सभी मॉड्यूल को नए composer.json में जोड़ें और composer install चलाएं।
  5. डेटाबेस अपडेट करें और कैश साफ़ करें (drush updb; drush cr)
  6. वेब सर्वर कॉन्फ़िगरेशन अपडेट करें।

शुरू करने से पहले

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

1. नया Drupal साइट स्थापित करें

cd /var/www/sites
composer create-project drupal/recommended-project:~8.8.0 new_html --stability dev --no-interaction

यह /var/www/sites/new_html/ डायरेक्टरी बनाएगा, जिसमें vendor और web (webroot) डायरेक्टरी तथा composer.json फ़ाइलें होंगी।

2. फ़ाइलें नए Composer प्रोजेक्ट में कॉपी करें

यदि आपका प्रोजेक्ट Drupal 8.8.0 से पहले का है, तो अपने कस्टम मॉड्यूल, थीम और लाइब्रेरी पुराने प्रोजेक्ट से नए प्रोजेक्ट में कॉपी करें। सुनिश्चित करें कि वे सही फ़ोल्डरों में हैं:

  • थीम्स: /web/themes/custom/
  • मॉड्यूल: /web/modules/custom/
  • लाइब्रेरीज़: /web/libraries/
  • अपलोड की गई फाइलें: /web/sites/default/files/

सुनिश्चित करें कि वेब सर्वर को files डायरेक्टरी पर लिखने की अनुमति है:

sudo chown -R vftp:www-data /var/www/sites/new_html/web/sites/default/files
sudo find /var/www/sites/new_html/web/sites/default/files -type d -exec chmod u=rwx,g=rwx,o= '{}' \;
sudo find /var/www/sites/new_html/web/sites/default/files -type f -exec chmod u=rw,g=rw,o= '{}' \;

3. settings.php को स्थानांतरित करें

पुराने settings.php से अपने डेटाबेस कनेक्शन और अन्य सेटिंग्स को नए प्रोजेक्ट में कॉपी करें — विशेष रूप से $databases['default']['default'], $settings['hash_salt'], और $settings['trusted_host_patterns']।

4. Composer कॉन्फ़िग में मॉड्यूल जोड़ें

सभी आवश्यक मॉड्यूल को composer.json में जोड़ें, या इस कमांड का उपयोग करें:

composer require drupal/modulename

डेवलपमेंट मॉड्यूल के लिए:

composer require --dev drupal/modulename

5. डेटाबेस अपडेट करें और कैश साफ़ करें

drush updb
drush cr

6. वेब सर्वर कॉन्फ़िगरेशन अपडेट करें

अपने सर्वर को नए webroot (उदाहरण: /var/www/sites/new_html/web/) की ओर इंगित करें और PHP-FPM सेटिंग्स को भी अपडेट करें।

7. समस्या निवारण

7.1 चेतावनियाँ या त्रुटियाँ

रिपोर्ट पेज पर किसी भी त्रुटि या चेतावनी की जाँच करें और आवश्यकतानुसार उन्हें ठीक करें।

7.2 Missing Hash Salt

यदि आपको “Missing $settings['hash_salt'] in settings.php” त्रुटि दिखाई देती है, तो यह कमांड चलाकर नया hash salt जनरेट करें:

drush php-eval 'echo \Drupal\Component\Utility\Crypt::randomBytesBase64(55) . "\n"'

और आउटपुट को settings.php में पेस्ट करें।