डेनवर मध्ये Drupal 8 स्थापित करत आहे. Drupal स्थापित करत आहे. संगीतकार ड्रुपल प्रकल्पातून मानक आवृत्तीवर स्थलांतर

नोकिया 12.03.2019
चेरचर

अधिकाधिक वेळा ते Drupal 8 वर काम देऊ लागले, पण तरीही मी ते स्वीकारले नव्हते. मला विचार करू द्या, सर्व प्रथम, मी माझे प्रोफाइल तयार करेन आणि ब्लॉगला आवृत्ती 8 वर स्विच करेन, कारण आवृत्ती 8.4 नुकतीच प्रकाशित झाली आहे.

मी पारंपारिकपणे स्क्रिप्टपासून सुरुवात करण्याचा निर्णय घेतला स्वयंचलित स्थापना. sh फाईलमध्ये आधीच प्रतिष्ठित ड्रश dl drupal प्रविष्ट केल्यावर, मला आठवले की आठ साठी एक नवीन ड्रश आवश्यक आहे, जो Drupal 7 च्या आवृत्तीशी विसंगत आहे. मी drush.org → डॉक्स → स्थापित करा आणि पहा:

समस्या 1: Drush वापरून Drupal डाउनलोड करता येत नाही

साइटला लक्षात येण्याजोग्या चिन्हासह स्वागत केले आहे:

ड्रश 9 फक्त एका इन्स्टॉल पद्धतीचे समर्थन करते. यासाठी तुमची Drupal 8 साइट कंपोजर आणि ड्रशसह तयार केली जाणे आवश्यक आहे जेणेकरुन अवलंबित्व म्हणून सूचीबद्ध केले जावे.

त्या. ड्रुपल हे कंपोझर वापरून स्थापित केले पाहिजे आणि ड्रश हे स्थानिकरित्या एक अवलंबित्व म्हणून जोडले गेले. जागतिक स्थापनासमर्थित नाही, परंतु उपलब्ध स्वतंत्र उपयुक्तता drush-launcher , जे मूलत: फक्त विक्रेता/bin/drush कडे आदेश पुनर्निर्देशित करते.

मला Drupal Console आठवते:

समस्या 2: आता दोन CLI उपयुक्तता आहेत

ड्रशला ड्रुपल कन्सोल नावाचा पर्याय आहे. सुरुवातीला हे कोड जनरेटर म्हणून अभिप्रेत होते, परंतु आता ते ड्रशचे क्लोन आहे.

काय निवडायचे? माझे ट्विटर फॉलोअर्स Drupal Console ला प्राधान्य द्या. मी कदाचित आता देखील करेल. जरी काहीही आपल्याला दोन्ही स्थापित करण्यापासून प्रतिबंधित करत नाही.

आणि Drupal Console देखील फक्त स्थानिक पातळीवर स्थापित केले जाऊ शकते...

ठीक आहे, पुढे जात आहे. Google "ड्रुपल इन्स्टॉल कंपोजर". दुसरा दुवा अधिकृत दस्तऐवजीकरणाकडे नेतो, जिथे ते खरोखर संगीतकार वापरून Drupal स्थापित करण्याचा सल्ला देतात. पण:

समस्या 3: संगीतकार द्वारे स्थापना तीन वेगवेगळ्या प्रकारे शक्य आहे

Drupal डाउनलोड करण्यासाठी, निवडण्यासाठी तीन पर्याय आहेत:

1. संगीतकार तयार-प्रकल्प drupal-संगीतकार/ड्रुपल-प्रोजेक्ट
2.
3. युटिलिटी वापरणे

तिन्ही पर्यायांनी समान परिणाम दिल्यास ही समस्या होणार नाही, परंतु परिणाम भिन्न असेल.

मुख्य फरक निर्देशिकांच्या संघटनेत आहेत. IN drupal-संगीतकार/ड्रुपल-प्रोजेक्टआणि hussainweb/drupal-composer-initविक्रेता फोल्डर वेब रूटच्या बाहेर हलविले आहे, ज्याची आवश्यकता आहे अतिरिक्त सेटिंग्जसर्व्हर

मी दुसऱ्या पद्धतीवर थांबण्याचे ठरविले (जसे ते नंतर दिसून येते - चुकीने), जेणेकरून परिणाम समान असेल मूळ वितरण drupala मी कन्सोलमध्ये कार्यान्वित करतो संगीतकार तयार-प्रोजेक्ट ड्रुपल/ड्रुपल. Drupal डाउनलोड केले, एक ते एक, वितरण किट प्रमाणे.

हा दृष्टिकोन आपल्याला विसरण्याची परवानगी देतो मॅन्युअल कॉपी करणेकाही मॉड्यूल्सच्या ऑपरेशनसाठी अतिरिक्त लायब्ररी आवश्यक आहेत. संगीतकार स्वतः सर्व अवलंबित्व डाउनलोड/अपडेट करेल. हे करण्यासाठी ड्रश मेक वापरतात.

सँडबॉक्स मॉड्यूल स्थापित करणे इतके सोपे आहे का? नाही:

समस्या 4: सँडबॉक्स मॉड्यूल क्रॅचद्वारे स्थापित केले जातात

Drupal composer-repository packages.drupal.org ला सँडबॉक्सेसबद्दल काहीही माहिती नाही. याचा अर्थ असा की प्रत्येक सँडबॉक्स मॉड्यूल स्थापित करण्यासाठी, तुम्हाला composer.json वर संबंधित गिट रेपॉजिटरी जोडणे आवश्यक आहे:

composer config repositories.modulename git "https://git.drupal.org/sandbox/username/123456.git" संगीतकाराला drupal/modulename आवश्यक आहे

प्रश्न लगेच उद्भवतो - ही सर्व सामग्री कशी अद्यतनित करावी? एक साधी प्रत सुधारित संगीतकार फायली अधिलिखित करेल आणि शक्यतो साइट क्रॅश करेल. दस्तऐवजीकरण स्पष्ट उत्तर देत नाही; केवळ मॉड्यूल अद्यतनित करण्याची प्रक्रिया वर्णन केली आहे: संगीतकार अद्यतन drupal/modulename --विथ-अवलंबन, बद्दल कर्नल अद्यतन रिक्त आहे. मी Google वर जात आहे. सर्वत्र ते सल्ला देतात संगीतकार अद्यतन drupal/core --with-dependencies. ठीक आहे, मी पुढील गोष्टी करेन:

समस्या 5: बॉक्सच्या बाहेर तुम्ही संगीतकारासह Drupal अपडेट करू शकत नाही

संगीतकार शपथ घेतो:

अद्यतनासाठी सूचीबद्ध केलेले पॅकेज "ड्रुपल/कोर" स्थापित केलेले नाही.

drupal/core पॅकेज composer.json मध्ये बदली विभागात जोडले गेले आहे, त्यामुळे ते composer वापरून अपडेट केले जाऊ शकत नाही. मी एकाच वेळी गुगल करत आहे आणि बॉम्बस्फोट करत आहे. twitter. मला ट्रबलशूटिंग कंपोजर आणि माझी समस्या हा लेख सापडला. composer.json बदलण्याची आणि drupal/core पॅकेज बदली विभागातून आवश्यक विभागात हलवण्याची शिफारस केली जाते. पण:

समस्या 6: संगीतकार बदली विभागातून पॅकेजेस काढू शकत नाही

रिप्लेस सेक्शनमधून पॅकेज काढण्यासाठी कंपोझरमध्ये कोणतीही आज्ञा नाही. केवळ composer.json चे मॅन्युअल संपादन मदत करेल.

स्वहस्ते, स्वहस्ते. मी "ड्रुपल/कोर" हटवतो: "^8.4" . मी संगीतकार चालवत आहे त्यासाठी drupal/core आवश्यक आहे. सर्व काही ठीक आहे, कर्नल आता अद्यतनित केले जाऊ शकते. मुख्य गोष्ट म्हणजे फाइल्स अपडेट केल्यानंतर update.php चालवणे किंवा vendor/bin/drush updb चालवणे विसरू नका.

सर्व काही एकाच वेळी कसे अपडेट करायचे - कर्नल आणि मॉड्यूल? ते drupal.org वर याची शिफारस करत नाहीत, परंतु संगीतकार अद्यतन ही कल्पना आहे. मी देखील करतो:

समस्या 7: "कंपोजर अपडेट" कर्नल अवलंबित्व अद्यतनित करते जरी ते नसावे

कंपोझर अपडेट कर्नल अवलंबित्व अद्यतनित करते जरी कर्नल स्वतः अद्यतनित केले गेले नाही, उदा. त्यांच्याबरोबर त्याची चाचणी केली गेली नाही आणि सैद्धांतिकदृष्ट्या पुनरुत्पादनास कठीण समस्या उद्भवू शकतात.

समस्या 8: कोर फोल्डरच्या बाहेरच्या फायली अद्यतनित केल्या जात नाहीत

Index.php , robots.txt आणि इतर फायली ज्या कोर फोल्डरमध्ये नाहीत त्यांना संगीतकार अपडेट drupal/core किंवा अगदी कंपोझर अपडेट कॉल करताना अपडेट केले जात नाही.

पुढील संगीतकार मॉड्यूल drupal-composer/drupal-scaffold स्थापित करून समस्या सोडवली जाते: संगीतकाराला drupal-composer/drupal-scaffold आवश्यक आहे.

डीफॉल्टनुसार, मॉड्यूल कोर फोल्डरच्या बाहेर असलेल्या वितरणामधून सर्व फायली डाउनलोड करेल, ज्यात robots.txt आणि .htaccess समाविष्ट आहे, जे अवांछित आहे. फाइल्सची सूची मर्यादित करण्यासाठी, तुम्हाला पर्याय बदलण्याची आवश्यकता आहे. संगीतकाराला अतिरिक्त विभागात सेटिंग्ज बदलण्याची आज्ञा आहे, परंतु:

समस्या 9: संगीतकार पर्याय मूल्ये म्हणून ॲरे जतन करू शकत नाही

IN extra.drupal-scaffold.excludesतुम्हाला फाइल्सचा ॲरे सेव्ह करणे आवश्यक आहे. कंपोजर कॉन्फिगरेशन कमांड हे करू शकत नाही.

अतिरिक्त विभागात व्यक्तिचलितपणे जोडा:

"drupal-scaffold": ( "वगळलेले": [ ".htaccess", "robots.txt" ] )

आता, Drupal कोर आवृत्ती अद्यतनित करताना, .htaccess आणि robots.txt वगळता, "स्कॅफोल्ड" फाइल्स अद्यतनित केल्या जातील.

समस्या 10: अद्यतनित करताना संगीतकार विवादांचे निराकरण करू शकत नाही

तुम्ही कंपोझर अपडेट चालवण्याचा प्रयत्न करता तेव्हा ते प्रदर्शित होण्यास सुरुवात होईल

Drupal 8 हे Drupal समुदायाकडून दीर्घ-प्रतीक्षित रिलीझ आहे, शेवटी Drupal ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग, सुधारित सेटिंग्ज व्यवस्थापन, टेम्प्लेट्ससाठी TWIG सादर करून चिंतेचे काटेकोरपणे पृथक्करण, आणि बरेच काही या जगात आले आहे. हा लेख Drupal 8 आणि त्याची स्थापना करण्याचा सर्वात सोपा मार्ग वर्णन करतो प्रारंभिक सेटअपतुमच्या स्थानिक संगणकावर.

स्थानिक HAMPP वातावरण कसे सेट करावे याबद्दल वाचा

Drupal स्थापित करत आहे 8

अधिकृत वेबसाइटवरून Drupal 8 च्या वर्तमान आवृत्तीसाठी वितरण किट डाउनलोड करा: https://www.drupal.org/download. त्यात अनपॅक करा रूट फोल्डरतुमची साइट (उदाहरणार्थ C:\XAMPP\htdocs\eight).

PHPMyAdmin वापरून डेटाबेस तयार करा. डेटाबेससाठी वापरकर्तानाव (प्रशासक) आणि पासवर्ड लक्षात ठेवा. स्थापनेदरम्यान आपल्याला त्यांची आवश्यकता असेल.

तुमचा ब्राउझर उघडा आणि ॲड्रेस बारतुमच्या नवीन साइटची URL एंटर करा. उदाहरणार्थ, लोकलहोस्ट/आठ.

Drupal 8 स्थापित करणे भाषा निवडण्यापासून सुरू होते. इंग्रजी व्यतिरिक्त इतर भाषांमधील भाषांतरे Drupal भाषांतर साइटवरून डाउनलोड केली जातात. तुम्ही इंटरनेट प्रवेशाशिवाय स्थानिक मशीनवर काम करत असल्यास, निवडा इंग्रजी भाषा(इंग्रजी) इंस्टॉलेशन समस्या टाळण्यासाठी. किंवा भाषांतर फाइल डाउनलोड करा (उदाहरणार्थ, drupal-8.1.0-beta2.ru.po) अधिकृत पृष्ठ https://localize.drupal.org/translate/languages/en आणि फोल्डरमध्ये ठेवा \साइट्स\डिफॉल्ट\फाइल्स\अनुवाद\(अस्तित्वात नसल्यास तयार करा)

भाषा निवडल्यानंतर, बटण दाबा जतन करा आणि चालू ठेवा.

चालू पुढची पायरीप्रतिष्ठापन प्रोफाइल निवडा - मानक. बटणावर क्लिक करा जतन करा आणि सुरू ठेवा.

चेतावणी की तुम्हाला PHP OPcode कॅशिंग सक्षम करणे आवश्यक आहे.

साठी XAMPP स्थापित Windows 10/8/7 OS वर याचे निराकरण केले जाऊ शकते खालीलप्रमाणे: फाइल उघडा \XAMPP\php, आणि त्यात ओळ जोडा:

zend_extension = "C:\XAMPP\php\ext\php_opcache.dll".

जर XAMPP वेगळ्या ड्राइव्ह किंवा निर्देशिकेवर स्थापित केले असेल, तर त्यानुसार लाइन बदला. उदाहरणार्थ "zend_extension = "D:\Local\XAMPP\php\ext\php_opcache.dll"

फाईल सेव्ह करा php.ini.

Apache रीस्टार्ट करा.

तुमच्या Drupal इंस्टॉलेशनवर परत जा आणि लिंकवर क्लिक करा " पुनरावृत्ती प्रयत्न».

त्रुटी सेटिंग्ज xdebug.max_nesting_level वर सेट केली आहे 100 .

फाईल उघडा php.ini फोल्डरमध्ये स्थित आहे\XAMPP\php, आणि त्यात ओळ जोडा:

xdebug.max_nesting_level=256

फाईल सेव्ह करा php.ini.

Apache रीस्टार्ट करा.

तुमच्या Drupal इंस्टॉलेशनवर परत जा आणि “पुन्हा प्रयत्न करा” लिंकवर क्लिक करा.

डेटाबेस कॉन्फिगरेशन

या चरणावर, फॉर्ममध्ये तुमचा डेटाबेस डेटा प्रविष्ट करा: नाव, वापरकर्तानाव, पासवर्ड आणि होस्ट.

आपण साइटवर स्थापित केल्यास आभासी होस्टिंग, नंतर ही माहिती तुमच्या होस्टिंग प्रदात्याकडून मिळवा. होस्टिंग खरेदी करताना ते सहसा संप्रेषित केले जातात.

इंस्टॉलेशन पूर्ण झाल्यावर तुम्हाला दिसेल मुख्यपृष्ठतुमची साइट

image/svg+xml

Drupal 8.1 मध्ये, थर्ड-पार्टी डिपेंडेंसी मॅनेजमेंट कंपोझरकडे वळले आणि कंपोझर आणि ड्रुपलच्या एकत्रीकरणाने विकासाची एक नवीन फेरी प्राप्त केली. तेव्हापासून, अधिकृत वेबसाइटने सुचविल्याप्रमाणे ड्रुपल स्थापित करणे हा एकमेव पर्याय राहिला नाही.

साठी पर्याय या क्षणीस्पष्टपणे आधीच बरेच काही आहे, परंतु मी फक्त दोन हायलाइट करेन:

  • मानक- drupal.org वरून डाउनलोड केलेल्या संग्रहणातून कर्नल स्थापित करण्याची अधिकृत आवृत्ती.
  • संगीतकार Drupal प्रकल्प- संपूर्णपणे संगीतकाराद्वारे कर्नलची स्थापना आणि व्यवस्थापन.

मला याबद्दल का बोलायचे आहे?कारण मला वाटते की नवशिक्यांनाच नव्हे तर इतरांनाही याबद्दल माहिती असावी. हे कर्नल बूट मार्गावर कुठेही सूचित केलेले नाही, परंतु किमान तुम्हाला त्याबद्दल माहिती असणे आवश्यक आहे. कारण अचानक, मानक आवृत्ती तृतीय-पक्षापेक्षा वाईट आहे. ?

Drupal 8 मधील माझा अनुभव मला अतिशय संमिश्र निष्कर्षापर्यंत घेऊन जातो. मानक स्थापना पर्याय अव्यवहार्य आहे, त्याचे तोटे आहेत, विशेषत: नवशिक्यांसाठी आणि संगीतकारासह समस्या. आपल्याला त्याच्याशी अधिक संघर्ष आणि संघर्ष करावा लागेल, परंतु असे कोणतेही फायदे नाहीत.

पर्यायांचे साधक आणि बाधक

मानक पद्धत

  • साधक
    • अधिकृत आणि मानक स्थापना पर्याय. काहींसाठी, हा एक अतिशय महत्त्वाचा निर्णायक घटक असू शकतो.
    • कोणतेही अतिरिक्त ज्ञान किंवा प्रशिक्षण आवश्यक नाही. तुम्हाला फक्त आर्काइव्ह डाउनलोड करायचं आहे, ते प्रोजेक्टच्या वेबरूटमध्ये अनपॅक करा आणि इन्स्टॉलेशन चालवा. तुम्ही इतर CMS मधून Drupal वर आल्यास, हे तुमच्यासाठी परिचित असेल.
    • समस्या आणि अतिरिक्त गोष्टींशिवाय कर्नल स्थापित करण्यासाठी हा पर्याय. सेटिंग्ज सर्व प्रकारच्या होस्टिंग आणि VPS मध्ये हस्तांतरित केल्या जातात. पुन्हा, बहुतेक CMS साठी मानक वर्तन, सर्वच नसल्यास.

Drupal, किमान आवृत्ती 7 पासून, CMF उपाय म्हणून स्थानबद्ध आहे. म्हणजेच हे काही आहे सोनेरी अर्थ CMS आणि शुद्ध फ्रेमवर्क दरम्यान. जर Drupal 7 चे CMS कडे पूर्वाग्रह असेल, तर Drupal 8 स्वतःला फ्रेमवर्कच्या दिशेने अधिक पक्षपाती करते. आणि सिम्फनीवरील थर्ड-पार्टी अवलंबित्व त्याला आणखी पुढे ढकलतात. यावर आधारित, मी खालील तोटे हायलाइट करतो.

  • बाधक
    • सर्वात घातक दोष, जो सर्व समस्या आणि इतर गैरसोयींचा परिणाम आहे, तो म्हणजे ड्रुपल 8, ड्रुपल 8.1 मध्ये रिलीज झाल्यानंतर संगीतकाराची ओळख झाली. असे दिसून आले की प्रकल्पाची रचना आधीच तयार झाली आहे आणि लोक आधीच 8 वर उत्पादन साइट चालवत आहेत. पण ही रचनापूर्णपणे वाईट निर्णय CMS च्या या स्तरासाठी. त्यामुळे संगीतकाराच्या सर्व समस्या सुरू आहेत हा पर्यायआणि उठणे. आवृत्ती संघर्ष, अवलंबित्व समस्या, हरवलेल्या फायली- हे सर्व येथून आले आहे, कारण सर्व काही ढिगाऱ्यात आहे.
    • CMS च्या या स्तराची रचना फक्त गैरसोयीची आहे. Drupal 8 ने आम्हाला आवृत्तीमध्ये फक्त एक नवीन नंबर आणला नाही? आणि काही API आणि वैशिष्ट्ये, हे Drupal 7 च्या तुलनेत Drupal वर साइट विकसित करण्याच्या प्रक्रियेत पूर्णपणे बदल करते आणि त्याच वेळी, कॉस्मेटिक बदलांसह रचना समान राहते.
    • Drupal 8 पूर्णपणे कॉन्फिगरेशनभोवती फिरते. कॉन्फिगरेशन्स सहजपणे कोड बेस म्हणून वर्गीकृत केल्या जाऊ शकतात. या सर्वात सामान्य YAML फायली आहेत, परंतु त्याच वेळी, त्यामध्ये बरीच महत्त्वाची आणि खाजगी माहिती असते. विनंती केल्यावर अशा फाइल्स कोणत्याही परिस्थितीत ऑनलाइन उपलब्ध करून देऊ नयेत. दुर्दैवाने, या दृष्टिकोनाची रचना हा क्षण अत्यंत असुरक्षित बनवते. कॉन्फिग्स, तुम्ही त्यांना कसेही वळवले तरी ते प्रोजेक्टच्या वेबरूटमध्येच असतील, सर्व आशा आहे की .htaccess योग्यरित्या कार्य करेल आणि तुम्ही ते गमावणार नाही, आणि जर तुमच्याकडे NGINX असेल, तर सर्वसाधारणपणे, जर तुम्ही नियंत्रित केले नाही तर ते स्वतः, ते तुमच्या बॉक्समधून डाउनलोड करतील. अशा फायली वेबरूटमध्ये आणि पदानुक्रमात कमी ठेवण्याची गरज नाही. पण इथे आम्हाला पर्याय नाही.
      • ? तुम्ही ते स्वतः तपासू शकता. थेट विनंतीसह प्रकल्पातील कोणत्याही कॉन्फिगरेशन फाइलची विनंती करण्याचा प्रयत्न करा: http://example.com/sites/default/files/config_XYZ/sync/automated_cron.settings.yml (XYZ ला तुमच्या हॅशने बदला, आणि जर तुमची कॉन्फिग्स निर्यात केली गेली नाहीत तर sites/ default/files/config_XYZ वर, चालू नवीन मार्ग). तुम्ही ते डाउनलोड केले आहे का? हा एक अतिशय चिंताजनक कॉल आहे. जर हे XYZ तृतीय पक्षाद्वारे ओळखले गेले तर? आपण काही साइट्स/डिफॉल्ट/कॉन्फिग/सिंकचा मार्ग बदलल्यास, जिथे आपल्याला XYZ माहित असणे देखील आवश्यक नाही? आणि कॉन्फिग निर्यात करण्याचा हा एक अतिशय लोकप्रिय मार्ग आहे. कॉन्फिगमध्ये सर्व साइट्ससाठी मानक नामांकन असते आणि तुमच्याकडे स्टोअर असल्यास, उदाहरणार्थ, काही साइट्समधून कॉन्फिगचे नाव समायोजित करा पेमेंट सिस्टमकिंवा इतर सेवा, आणि तडजोड आपल्या API की, कठीण होणार नाही. बरेच ifs, आणि लोडिंगसाठी उघडे ठेवण्याचे एकच कारण नाही, काहीही नाही.
    • संगीतकार अवलंबनांसाठीही तेच आहे. विक्रेता निर्देशिका प्रकल्पाच्या वेबरूटमध्ये स्थित आहे. डीफॉल्टनुसार, ते चांगले संरक्षित आहे आणि स्थापनेदरम्यान काही फायली तेथून हटवल्या जातात. परंतु तृतीय-पक्ष अवलंबित्व स्वहस्ते नियंत्रित केले पाहिजे आणि आंधळेपणाने विश्वास ठेवला पाहिजे किंवा व्यक्तिचलितपणे तपासला गेला पाहिजे. परंतु तुम्ही स्वतः यावर विश्वास ठेवता की, तुम्ही प्रकल्पाच्या विकासादरम्यान तुमच्याकडून डाउनलोड केलेल्या सर्व अवलंबनांचे सुरक्षा ऑडिट कराल, तुमच्याद्वारे आणि योगदान देणाऱ्या मॉड्यूल्स इ. तेथे अवलंबनांची साखळी आहे? हे सर्व हॅक करण्याचे पूर्णपणे अस्पष्ट मार्ग असू शकतात, कमीतकमी, माहितीशी तडजोड करतात अंतर्गत रचनाप्रकल्प आणि पुन्हा, त्यांना वेबवर उघडे ठेवण्याचे कारण नाही. माझ्या मते ही वाईट प्रथा आहे. Symfony किंवा Laravel प्रकल्पाची रचना पहा. आणि हे, एका क्षणासाठी, काही शीर्ष फ्रेमवर्क आहेत ज्यांचे अवलंबित्व व्यवस्थापन देखील संगीतकारावर तयार केलेले आहे आणि ते सक्रियपणे YAML कॉन्फिगरेशन वापरतात. त्यांच्याकडे index.php कुठे आहे आणि कॉन्फिगन्स आणि विक्रेता कुठे आहेत ते तुम्ही पाहता का? जर तुम्हाला त्याची पुनरावृत्ती करायची असेल तर ते कार्य करेल संगीतकार drupalप्रकल्प
    • कदाचित तुम्ही वापरत आहात किंवा वापरणार आहात ही पद्धतसंगीतकाराशी संवाद टाळण्याचा किंवा कमी करण्याचा मार्ग म्हणून. कदाचित तुम्ही सुरुवातीला मिसळाल. परंतु जेव्हा आपणास समस्या आणि आवृत्ती विरोधाभास सुरू होतात, तेव्हा आपण समस्यांचे निराकरण करण्यात आणि त्यात छेडछाड करण्यात अधिक वेळ घालवाल. तुम्ही संगीतकारापासून सुटू शकत नाही.

संगीतकार Drupal प्रकल्प

  • साधक
    • तुम्ही संगीतकारापासून पळून जाऊ शकत नाही, तो तुम्हाला पकडेल. आणि Drupal आणि Composer चे पुढील एकत्रीकरण फक्त वाढेल. हे अपरिहार्य असल्यास, त्यावर संपूर्णपणे प्रकल्प त्वरित आयोजित करणे सोपे आहे. यामुळे भविष्यात समस्या सुटतील आणि वर्तमान समस्या. जेव्हा काही मॉड्यूल्स drupal.org वरून स्वहस्ते स्थापित केले जातात किंवा त्यासारखे काहीतरी आणि इतर संगीतकाराद्वारे स्थापित केले जातात तेव्हा तुम्हाला गोंधळ होणार नाही. संगीतकारात सर्वकाही करणे सोपे आहे, तुम्हाला प्रकल्पावर अशा गोंधळाची आवश्यकता का आहे? आणि मी स्वतः संगीतकाराचे साइड फायदे विचारात घेत नाही, जसे की आवृत्ती लॉकिंग, ऑटो-पॅचिंग आणि कस्टम मॉड्यूल्स अपडेट करण्यासाठी तुमचे खाजगी टर्निप्स कनेक्ट करण्याची क्षमता.
    • येथील फाइलची रचना मूळपेक्षा थोडी वेगळी आहे. येथे फक्त एक दिसते नवीन पातळीपदानुक्रमात आणि ते ठरवते सर्वमानक पद्धतीचे तोटे. येथे विक्रेता आणि कॉन्फिगरेशन प्रकल्पाच्या वेबरूटच्या बाहेर स्थित आहेत आणि म्हणून या फायली कोणत्याही प्रकारे, थेट विनंतीवर उपलब्ध नाहीत. जोपर्यंत तुम्ही स्वतः कंट्रोलर लिहू नका जो त्यांना पाठवेल. आणि तुमच्याकडे Apache किंवा Nginx आहे की नाही हे काही फरक पडत नाही, तुम्ही तुमच्या .htaccess फाइल्स गमावल्या आहेत किंवा नाही, तुम्ही त्यांच्यापर्यंत शारीरिकरित्या पोहोचू शकत नाही. वरील सत्यापन उदाहरण लक्षात ठेवा? येथे एक उदाहरण देखील असू शकत नाही, कारण या फायली वेबरूटपेक्षा उच्च पातळीवर स्थित आहेत. असे काहीतरी लिहिणे शक्य असल्यास, ते असे असेल: http://example/../config/sync/automated_cron.settings.yml. परंतु अशी कोणतीही शक्यता नाही आणि म्हणूनच आपण टाकीसारखे आहात.
    • जर तुम्हाला खाजगी फाइल सिस्टम बनवायची असेल तर ही रचना देखील खूप छान आहे. पुन्हा, ते प्रकल्पाच्या मुळाशी ठेवता येते आणि ते थेट विनंत्यांपासून आपोआप संरक्षित केले जाते. वेबरूटच्या बाहेर खाजगी फाइल सिस्टम हलविण्याची शिफारस केली जाते; येथे ती प्रकल्पाच्या बाहेर आणि आत असेल. एका मानक प्रकल्पावर, 99.999% संभाव्यतेसह ते तुमच्याकडे वेबरूटमध्ये असेल. मग ते पलीकडे कसे न्यायचे? हे खूप मजेदार आहे आणि तुम्हाला खूप समस्या देईल. आणि पुन्हा, थेट विनंती केल्यावर तेथून फायली डाउनलोड करणे सुरू होणार नाही याची काळजी घ्यावी लागेल. आणि मग त्यांनी ते तयार केले आणि ते विसरले. ते फक्त कार्य करते.
    • प्रकल्प भांडार शक्य तितके स्वच्छ आहे. या संरचनेमुळे आणि ते संगीतकारासह कमीतकमी समस्या सोडवते या वस्तुस्थितीमुळे. तुम्हाला ड्रुपल कर्नल रेपॉजिटरीमध्ये ठेवावे लागणार नाही, जे तुम्हाला स्टँडर्ड पध्दतीचा वापर करून खूप उच्च संभाव्यतेसह करावे लागेल, कारण संगीतकार नशीबानुसार मानक दृष्टिकोन वापरून कर्नल डाउनलोड करतो. परिणामी, तुमच्या रेपॉजिटरीमध्ये केवळ सानुकूल थीम, मॉड्यूल, तसेच तुम्ही ठेवलेल्या फाइल्स, वातावरण, डॉकर फाइल्स आणि एवढेच समाविष्ट असेल. तेथे कोणतेही योगदान, कर्नल किंवा अवलंबित्व असणार नाही.
  • बाधक
    • सर्वात वाईट वजा. ? वेबरूट खालच्या स्तरावर स्थित आहे या वस्तुस्थितीमुळे, नंतर होस्टिंग आणि VPS वर, 99% संभाव्यतेसह आपल्याला आवश्यक असेल सोपे सेटअप. नियमानुसार, साइट\डोमेन सेटिंग्जमधील फाइल अनुक्रमणिका सेटिंग index.php वरून web/index.php वर बदला. व्यवसाय, एका वेळी 5 मिनिटांपेक्षा जास्त नाही.
    • हे एक वजा नाही, एक शिफारस अधिक आहे. या दृष्टिकोनासह, बदल उपयोजित करण्यासाठी git वापरणे सुरू करणे खूप चांगले आहे. अन्यथा तुम्ही यातून जास्तीत जास्त फायदा मिळवू शकणार नाही. अशा संरचनेवर git आणि composer सह बदल तैनात करणे हा एक थरार आहे.

निष्कर्ष

आणि आता माझा छोटासा निष्कर्ष: मला विश्वास आहे की संगीतकाराद्वारे कर्नल स्थापित करण्याची पद्धत, प्रत्यक्षात, Drupal 8, सिम्फनी प्रमाणेच एकच असावी. तुम्ही त्यांच्या अधिकृत वेबसाइटवर कोठेही फ्रेमवर्कसह संग्रह डाउनलोड करणार नाही. परंतु स्पष्ट कारणांमुळे, हे करणे केवळ अशक्य आहे, मला आशा आहे की ते ड्रुपल 9 च्या प्रकाशनासह असे पाऊल उचलण्याचा निर्णय घेतील. येथे आपण संगीतकार आवडतो की नाही यावर बराच काळ चर्चा करू शकता, परंतु वस्तुस्थिती आहे जर तुम्ही Drupal 8 वापरायचे ठरवले, तर composer de facto अनिवार्य होईल, म्हणून, तो अगदी सुरुवातीपासूनच आणि त्यात समाविष्ट असलेल्या सर्व कामांसाठी वापरणे चांगले आहे, आणि जिथे तुमची निराशाजनक परिस्थिती आहे तिथे निवडकपणे नाही.

उदाहरणार्थ, स्विफ्ट मेलर मॉड्यूल यासाठी वापरले जाते html पाठवत आहेअक्षरे, अतिशय उपयुक्त आणि आवश्यक. ते स्थापित करण्याचा प्रयत्न करा आणि संगीतकाराशिवाय चालवा. खरं तर, तुम्ही ते इन्स्टॉल करू शकता, पण बहुधा यास प्रथमच काही तास लागतील आणि नंतर, संगीतकार किंवा मॉड्युलमधील कोणतेही अपडेट/बदल हे पुन्हा नरकाचे सात वर्तुळ आहेत आणि हे काही मिनिटांच्या जवळपासही नाही. अनुभवासह. किंवा Drupal Commerce. सर्वसाधारणपणे, तुम्ही त्याकडे कसे पहात असाल तरीही संगीतकार तुमच्याशी संपर्क साधेल आणि तुम्हाला इतके लाथ मारेल की तुम्ही स्वतः आनंदी होणार नाही. म्हणूनच अनेक नवशिक्या याकडे पाहून म्हणतील, "ड्रुपल शोषक आहे!" दुर्दैवाने, त्यांना इतक्या समस्या का आहेत हे समजत नाही. आणि इथे कारण संगीतकारात नाही आणि नवशिक्यांमध्ये नाही.

संगीतकार छान आणि सोयीस्कर आहे, परंतु तो ज्या पद्धतीने कार्य करतो आणि बॉक्सच्या बाहेर कर्नलमध्ये तयार केला जातो त्यामुळे मला त्याचा तिरस्कार वाटतो. आपण काहीतरी चुकीचे करत आहात ही कल्पना कालांतराने आपल्या डोक्यात वाढू लागेल, अंशतः ही कर्नल समस्या आहे आणि Drupal प्रकल्प स्थापित करण्यासाठी किंवा चालविण्यासाठी इतर पर्याय शोधण्याचा निर्णय हा पूर्णपणे गैर-स्पष्ट निर्णय असू शकतो. , विशेषतः नवशिक्यांसाठी. म्हणून, ही सामग्री अस्तित्वात आहे, आणि एक संगीतकार ड्रुपल प्रकल्प देखील आहे.

मी तुमच्यावर संगीतकार ड्रुपल प्रकल्पाची सक्ती करत नाही, परंतु मी शिफारस करतो की तुम्ही किमान ते करून पहा. Drupal सोबत काम करण्याचा हा पूर्णपणे वेगळा अनुभव आहे आणि माझ्यासाठी तो सकारात्मक दिशेने होता, जो मी मानक पर्यायाबद्दल सांगू शकत नाही.

स्थापना

मानक पद्धत

  1. आम्ही कोरसह पृष्ठावर जातो.
  2. डाउनलोड करा वर्तमान आवृत्तीसंग्रहण स्वरूपात.
  3. तुमच्या प्रोजेक्टच्या वेबरूटमध्ये ते अनपॅक करा.
  4. आम्ही स्थापित करतो.

प्रकल्पाचे मूळ, उर्फ ​​वेब्रूट, असे दिसते.



आणि आता लहान पुनरावलोकन, त्यांच्यात काय फरक आहे. खरं तर, सर्वकाही वेगळे आहे मानक दृष्टीकोनकंपोजर ड्रुपल प्रोजेक्ट वरून असे आहे की जे कंपोझर ड्रुपल प्रोजेक्ट मध्ये आहे ते वेब मध्ये आहे, प्रोजेक्ट रूट मध्ये स्टँडर्ड व्हर्जन मध्ये आहे. index.php आणि विनंत्या वेब/फोल्डरवरून प्रक्रिया केल्या जातील. आणि पदानुक्रमात त्यापेक्षा जास्त असलेली प्रत्येक गोष्ट थेट विनंतीद्वारे नेटवर्कवरून प्रवेश करण्यायोग्य नाही आणि या ड्रश, स्क्रिप्ट्स, विक्रेता निर्देशिका आहेत, भविष्यात कॉन्फिगसाठी कॉन्फिगरेशन निर्देशिका असतील आणि खाजगीसाठी काही प्रकारचे फोल्डर असतील. फाइल सिस्टमआवश्यक असल्यास.

तुमच्या प्रकल्पाचे मूळ जेथे composer.json आहे आणि वेबरूट वेबमध्ये आहे. हा संपूर्ण फरक आहे. कोणतीही जादू नाही, सर्वकाही सोपे आणि स्पष्ट आहे. वेबवर तुमच्याकडे Drupal वर सारखीच साइट संरचना असेल मानक स्थापना. येथे फक्त संभाव्य धोकादायक फोल्डर एक पातळी वर आहेत. आणि हे सर्व संगीतकार आणि सुरक्षा समस्यांचे निराकरण करते.

  • हा प्रकल्प डीफॉल्टनुसार ड्रशद्वारे मॉड्यूल आणि थीम डाउनलोड करण्यास प्रतिबंधित करते; हा प्रकल्पसंगीतकाराने देखरेख केली आहे, आणि PROJECTNAME डाउनलोड करण्यासाठी तुम्हाला संगीतकार वापरणे आवश्यक आहे drupal/PROJECTNAME.
  • तुमच्या सोयीसाठी composer.json मध्ये थोडासा बदल करण्यात आला आहे. ते index.php, robots.txt, update.php आणि इतर फाइल्स स्टँडर्ड इन्स्टॉलेशनच्या रूटपासून वेब डिरेक्टरीमध्ये डाउनलोड करू शकतात. बॉक्सच्या बाहेर कर्नल काय करू शकत नाही! ? आणि हे सर्व सानुकूल करण्यायोग्य आहे! अगदी वेब फोल्डरपर्यायी, composer.json संपादित करा जेथे वेब, उदाहरणार्थ, सार्वजनिक, आणि सर्वकाही तेथे असेल. फक्त कंपोझर अपडेट लिहायला विसरू नका आणि प्रोजेक्ट आधीच काम करत असल्यास कस्टम फाइल्स ट्रान्सफर करा.
  • काही मॉड्यूल्स Drupal-library सारख्या संगीतकाराद्वारे लायब्ररी निर्दिष्ट करतात. मानक स्थापना पर्याय त्यांना ओळखत नाही, परंतु हे वेब/लायब्ररी/(नाव) मध्ये स्थापित केले जाईल.
  • हा पर्याय स्थापित केल्यानंतर, तो आपोआप तुमच्यासाठी settings.php तयार करेल आणि ../config/sync मध्ये कॉन्फिगरेशन सेट करेल. म्हणजे प्रकल्पाच्या मुळात, पण वेबरूटच्या बाहेर, विक्रेत्यासारखे.

त्यांच्या स्थापनेत आणि संरचनेत इतकाच फरक आहे. हे क्षुल्लक वाटतं, पण त्यांच्या वागण्यात आणि तुमच्या सोयीत काय फरक पडतो! स्वर्ग आणि पृथ्वी. एकदा वापरून पहा, 5 मिनिटे काहीही नाही, जर तुम्हाला ते आवडत असेल तर ते संगीतकाराशी भांडण्याचे तास वाचवेल.

एका पर्यायातून दुसऱ्या पर्यायात स्थलांतर

हे स्पष्टपणे दर्शविलेले व्हिडिओ पाहणे चांगले. वेळ कोड: 52:02 आणि 1:02:29.

सावधगिरी बाळगा, बॅकअप घेण्यास विसरू नका.

एका पर्यायातून दुसऱ्या पर्यायामध्ये स्थलांतर करणे खूप समान आहे, प्रकल्प कोठून आणि कोठे हस्तांतरित केला जात आहे यावर अवलंबून, आपल्याला पर्यायांची वैशिष्ट्ये विचारात घेणे आवश्यक आहे.

एका पर्यायातून दुसऱ्या पर्यायावर स्थलांतरित करण्यासाठी काय आवश्यक आहे (दोन्ही प्रकरणांमध्ये):

  1. सर्वसाधारणपणे, कोड बेसचा बॅकअप घ्या स्वतंत्र प्रतसोयीसाठी. आम्ही त्यातून वर्तमान प्रोजेक्ट फोल्डरमध्ये कॉपी करू.
  2. वर्तमान हटवा कोड बेसप्रकल्प डेटाबेसला स्पर्श करण्याची आवश्यकता नाही, सर्व काही एकसारखे आहे.
  3. स्थलांतरित करण्याच्या पर्यायासाठी स्वच्छ कर्नल अपलोड करा.
  4. composer.json संपादित करा - सर्वात महत्त्वाचा आवश्यक विभाग, तसेच मॅन्युअली जोडलेली प्रत्येक गोष्ट: पॅचेस, रेपॉजिटरीज, प्लगइन सेटिंग्ज, स्क्रिप्ट, कमांड.
  5. फाइल्स/साइट्स/डिफॉल्ट/फाईल्स ट्रान्सफर करा
  6. सर्व सानुकूल मॉड्यूल आणि थीम येथे हस्तांतरित करा नवीन प्रकल्प. योगदान मॉड्यूल आणि विषय व्यक्तिचलितपणे स्थापित केले असल्यास, ते व्यक्तिचलितपणे हस्तांतरित करा.
  7. settings.php हलवा आणि कॉन्फिगरेशनचा मार्ग समायोजित करा.

मानक आवृत्तीमधून संगीतकार ड्रुपल प्रकल्पात स्थलांतर

  1. कोणताही पर्याय वापरून संगीतकार ड्रुपल प्रकल्प डाउनलोड करा.
  2. composer.json संपादित करा. हे करण्यासाठी, आपण जोडलेल्या सर्व गोष्टी तसेच आवश्यकतेपासून सर्व अवलंबित्व हस्तांतरित करा. प्रत्येक गोष्ट कॉपी-पेस्ट करण्याची गरज नाही, फायली खूप वेगळ्या आहेत.
  3. फाइल्स /sites/default/files वरून /web/sites/default/files वर हलवा.
  4. सर्व सानुकूल मॉड्यूल आणि थीम अनुक्रमे /web/modules/custom आणि /web/themes/custom वर हलवा. योगदान मॉड्यूल्स आधी हाताने डाउनलोड केले असल्यास, संगीतकाराद्वारे त्यांची विनंती करा: संगीतकार आवश्यक आहे drupal/PROJECTNAME . आपण हा पर्याय वापरून प्रकल्प आयोजित करण्याचा निर्णय घेतल्यास, फक्त या मार्गाने, आणि इतर कोणताही मार्ग नाही.
  5. /sites/default/settings.php/web/sites/default/settings.php वर कॉपी करा. मग शोधा जुनी आवृत्ती$config_directories["sync"] आणि "../config/sync" वर मूल्य सेट करा.

आता आपण साइटवर जाऊ शकता आणि सर्वकाही कार्य करेल. सुरक्षित राहण्यासाठी, तुम्ही कॅशे रीसेट करू शकता.

संगीतकार ड्रुपल प्रकल्पातून मानक आवृत्तीवर स्थलांतर

  1. करा पूर्ण बॅकअपकोड बेस.
  2. प्रोजेक्ट फोल्डरमधील सर्व काही हटवा.
  3. कर्नलसह संग्रहण डाउनलोड करा आणि ते प्रकल्पाच्या रूटवर अनपॅक करा.
  4. composer.json संपादित करा.
    1. हे करण्यासाठी, आपण जोडलेल्या सर्व गोष्टी तसेच आवश्यकतेपासून सर्व अवलंबित्व हस्तांतरित करा. प्रत्येक गोष्ट कॉपी-पेस्ट करण्याची गरज नाही, फायली खूप वेगळ्या आहेत.
    2. संगीतकार drupal प्रकल्प तुमच्यासाठी ठेवत असलेली अवलंबित्व काढून टाका किंवा सोडा: cweagans/composer-patches , drupal-composer/drupal-scaffold , drupal/console , Drupal/core (मानक इंस्टॉलेशनमध्ये ते आवश्यक नसावे), drush/drush , vlucas/phpdotenv , webflo/drupal-finder , webmozart/path-util . खरं तर, संगीतकार-पॅच वगळता सर्व काही सुरक्षितपणे हटविले जाऊ शकते. तुम्ही Drush आणि Drupal Console कसे वापरता यावर अवलंबून, ते ठेवायचे की नाही हे तुम्ही स्वतः ठरवू शकता.
    3. तुम्हाला extra.installer-paths सेटिंग "web/libraries/($name)": ["type:drupal-library"] हलवावी लागेल, फक्त "libraries/($name)": ["चा मार्ग बदला. प्रकार: drupal-library"] . जर तुमच्याकडे तुमच्या प्रकल्पावर अशी अवलंबित्व असण्याची वेळ नसेल तर, तत्त्वतः, तुम्हाला ते जोडण्याची गरज नाही. ते कर्नलमध्ये नाही.
  5. फाइल्स /web/sites/default/files वरून /sites/default/files वर हलवा
  6. सर्व सानुकूल मॉड्यूल आणि थीम अनुक्रमे /web/modules/custom आणि /web/themes/custom वर हलवा. तुम्ही संगीतकाराद्वारे योगदान मॉड्यूल आणि थीम व्यवस्थापित करणे सुरू ठेवू शकता. स्वतःसाठी निर्णय घ्या. तुम्ही अशा अवलंबित्व काढून टाकू शकता आणि त्यांना व्यक्तिचलितपणे जोडू शकता. मुख्य गोष्ट म्हणजे केवळ संगीतकाराद्वारे स्थापित केलेल्या मॉड्यूल्सचे नुकसान करणे नाही.
  7. /web/sites/default/settings.php/sites/default/settings.php वर कॉपी करा. नंतर $config_directories["sync"] ची जुनी आवृत्ती शोधा आणि "sites/default/files/config_XYZ" वर मूल्य सेट करा, जिथे XYZ ऐवजी काही लांब हॅश टाका. किंवा तुम्हाला पाहिजे तेथे ते कॉन्फिगर करा, फक्त हे फोल्डर संरक्षित करण्याची काळजी घेणे विसरू नका.


आम्ही वाचण्याची शिफारस करतो

वर