Ubuntu 20.04 में PhpMyAdmin के साथ LEMP स्टैक कैसे स्थापित करें


आप में से जो लोग LEMP नहीं जानते हैं, उनके लिए - यह सॉफ्टवेयर पैकेजों का एक संयोजन है - लिनक्स, Nginx (स्पष्ट EngineX), मारियाबीडी और PHP।

आप LAMP या Yii, या वर्डप्रेस, Drupal, या Joomla जैसे सामग्री प्रबंधन प्रणालियों के PHP फ्रेमवर्क का उपयोग करके वेब अनुप्रयोगों को तैनात करने के लिए परीक्षण उद्देश्यों के लिए या वास्तविक उत्पादन वातावरण के लिए LEMP का उपयोग कर सकते हैं।

आपको आश्चर्य हो सकता है कि LAMP और LEMP के बीच क्या अंतर है। खैर, एकमात्र अंतर वेब सर्वर है जिसमें शामिल है - Apache (LAMP में) और Nginx (LEMP में)। दोनों वेब सर्वर बहुत अच्छे हैं और जबकि Apache सबसे अधिक उपयोग किया जाने वाला एक है, Nginx किसी भी तरह से वापस नहीं करता है।

LEMP स्टैक के साथ सामान्य रूप से स्थापित एक और व्यापक रूप से उपयोग किया जाने वाला एप्लिकेशन है PhpMyAdmin - एक वेब ब्राउज़र से MySQL/MariaDB डेटाबेस सर्वर को प्रशासित करने के लिए PHP वेब-आधारित टूल है।

यदि आप अपने Ubuntu 20.04 के लिए एक LAMP सेटअप की तलाश कर रहे हैं, तो आपको Ubuntu 20.04 पर हमारे LAMP सेटअप गाइड को पढ़ना चाहिए।

  1. Ubuntu 20.04 सर्वर इंस्टॉलेशन गाइड

इस आलेख में, आप सीखेंगे कि Ubuntu 20.04 सर्वर में PhpMyAdmin के साथ LEMP स्टैक को कैसे स्थापित और कॉन्फ़िगर किया जाए।

चरण 1: उबंटू 20.04 पर Nginx स्थापित करना

1. नग्नेक्स एक तेज़ आधुनिक वेब सर्वर है जिसे बहुत अधिक सर्वर संसाधनों का उपभोग किए बिना कई समवर्ती कनेक्शन सर्वर के लिए डिज़ाइन किया गया है। यही कारण है कि यह अक्सर उद्यम वातावरण में पसंदीदा विकल्प है।

NGINX को आमतौर पर लोड बैलेंसर और वेब कंटेंट कैश के रूप में भी उपयोग किया जाता है। यह नाम-आधारित और IP- आधारित वर्चुअल सर्वर (Apache में वर्चुअल होस्ट के अनुरूप) का समर्थन करता है।

आप निम्न कमांड चलाकर अपने Ubuntu 20.04 डेस्कटॉप या सर्वर पर Nginx स्थापित कर सकते हैं।

$ sudo apt update
$ sudo apt install nginx

Nginx कॉन्फ़िगरेशन फ़ाइलों को/etc/nginx निर्देशिका के अंतर्गत संग्रहीत किया जाता है और इसकी मुख्य कॉन्फ़िगरेशन फ़ाइल /etc/nginx/nginx.conf है। महत्वपूर्ण रूप से, आपकी वेब फ़ाइलों को संग्रहीत करने के लिए इसका डिफ़ॉल्ट दस्तावेज़ रूट/usr/share/nginx/html/है। लेकिन आप मानक/var/www/html का उपयोग कर सकते हैं जिसे आपकी वेबसाइट या एप्लिकेशन के सर्वर ब्लॉक कॉन्फ़िगरेशन फ़ाइल में कॉन्फ़िगर किया जाना चाहिए।

2. उबंटू पैकेज इंस्टॉलर नग्नेक्स सेवा को शुरू करने के लिए सिस्टम को चालू करता है और सर्वर को रिबूट होने पर हर बार स्वचालित रूप से शुरू करने में सक्षम करता है। सेवा चल रही है और सक्षम है, यह पुष्टि करने के लिए निम्न systemctl कमांड का उपयोग करें।

$ sudo systemctl status nginx 
$ sudo systemctl is-enabled nginx

3. अब यह जांचने का समय है कि क्या सर्वर आईपी पते का उपयोग करके ब्राउज़र के माध्यम से नेग्नेक्स पेज को कॉल करके Nginx इंस्टॉलेशन सफल हुआ था।

http://SERVER_IP

यदि आपको अपना सर्वर IP पता नहीं है, तो आप दिखाए गए अनुसार IP कमांड का उपयोग कर सकते हैं।

$ ip addr show

NGINX डिफ़ॉल्ट वेब पेज को निम्न स्क्रीनशॉट में दिखाए अनुसार लोड करना चाहिए, जो सही स्थापना और संचालन की पुष्टि करता है।

चरण 2: उबंटू 20.04 पर मारियाडीबी डेटाबेस स्थापित करना

4. मारबाडी एक अपेक्षाकृत नई संबंधपरक डेटाबेस प्रबंधन प्रणाली है जिसे ओरेकल के अधिग्रहण के बाद MySQL के सामुदायिक कांटे के रूप में डिजाइन किया गया था।

MariaDB की स्थापना सरल है और इसे कमांड के साथ शुरू किया जा सकता है:

$ sudo apt install mariadb-server mariadb-client

5. MariaDB सेवा भी स्वचालित रूप से शुरू हो गई है और हमेशा सिस्टम बूट पर शुरू करने में सक्षम है और आप निम्न आदेशों का उपयोग करके इसकी पुष्टि कर सकते हैं।

$ sudo systemctl status mariadb
$ sudo systemctl is-enabled mariadb

6. यदि आप MariaDB सुरक्षा में सुधार करना चाहते हैं, तो आप mysql_secure_installation कमांड चला सकते हैं, जो कॉन्फ़िगर करने के लिए कुछ बुनियादी, महत्वपूर्ण विकल्प प्रदान करेगा:

$ sudo mysql_secure_installation

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

  • रूट के लिए वर्तमान पासवर्ड दर्ज करें (कोई नहीं दर्ज करें): दर्ज करें
  • रूट पासवर्ड सेट करें? [Y/n] <कोड> y
  • अनाम उपयोगकर्ताओं को निकालें? [Y/n] <कोड> y
  • दूरस्थ लॉगिन को अस्वीकृत करें? [Y/n] <कोड> y
  • परीक्षण डेटाबेस निकालें और उस तक पहुंच प्राप्त करें? [Y/n] <कोड> y
  • अब विशेषाधिकार तालिका पुनः लोड करें? [Y/n] <कोड> y

7. डेटाबेस संचालन बनाने, प्रबंधित करने और प्रदर्शन करने के लिए, आपको उपयोगकर्ता नाम और कूटशब्द निर्दिष्ट करने के लिए -u ध्वज के साथ mysql शेल कमांड की आवश्यकता है, ताकि उपयोगकर्ता का पासवर्ड प्रदान किया जा सके ।

रूट उपयोगकर्ता के रूप में कनेक्ट करने के लिए, sudo कमांड (यहां तक कि -p ध्वज के बिना) का उपयोग करें अन्यथा आपको निम्न स्क्रीनशॉट में हाइलाइट की गई त्रुटि प्राप्त होगी।

$ mysql -u root -p
$ sudo mysql -u root

चरण 3: Ubuntu में स्थापित करना 20.04

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

PHP स्क्रिप्ट को प्रोसेस करने के लिए NGINX FPM (FastCGI Process Manager) या PHP-FPM का उपयोग करता है। PHP-FPM एक व्यापक रूप से उपयोग किया जाने वाला वैकल्पिक PHP FastCGI कार्यान्वयन है जो कई अतिरिक्त सुविधाओं के साथ जहाजों का उपयोग करता है और इसका उपयोग उच्च-ट्रैफ़िक साइटों/वेब अनुप्रयोगों को शक्ति प्रदान करने के लिए किया जाता है।

PHP और PHP-FPM स्थापित करने के लिए, निम्न कमांड चलाएं जो कुछ आवश्यक अतिरिक्त पैकेज भी स्थापित करेगा।

$ sudo apt install php php-mysql php-fpm

चूंकि Ubuntu 7.4 उबंटू 20.04 में PHP का डिफ़ॉल्ट संस्करण है, इसलिए PHP कॉन्फ़िगरेशन फाइलें /etc/php/7.4/ में स्थित हैं और PHP-FPM कॉन्फ़िगरेशन फाइलें /etc/php/7.4/fpm के तहत संग्रहीत की जाती हैं।

9. अगला, जांचें कि क्या php7.4-fpm सेवा ऊपर और चल रही है और क्या यह निम्न कमांड के साथ सक्षम है।

$ sudo systemctl status php7.4-fpm
$ sudo systemctl is-enabled php7.4-fpm

चरण 4: PHP-FPM के साथ काम करने के लिए Nginx को कॉन्फ़िगर करना

10. अब आपको NGINX को प्रॉक्सी क्लाइंट अनुरोधों को PHP-FPM में कॉन्फ़िगर करने की आवश्यकता है, जो कि डिफ़ॉल्ट रूप से UNIX सॉकेट पर सुनने के लिए कॉन्फ़िगर किया गया है जैसा कि /etc/php/7.4/fpm/pool.d/www में सुनो पैरामीटर द्वारा परिभाषित किया गया है। .conf डिफ़ॉल्ट पूल कॉन्फ़िगरेशन फ़ाइल।

$ sudo vi /etc/php/7.4/fpm/pool.d/www.conf 

11. डिफ़ॉल्ट सर्वर ब्लॉक कॉन्फ़िगरेशन फ़ाइल (/ etc/nginx/साइट्स-उपलब्ध/डिफ़ॉल्ट) में, निम्न स्क्रीनशॉट में दिखाए गए जैसे दिखने के लिए PHP अनुरोधों को संसाधित करने के लिए स्थान निर्देश को अनइंस्टॉल करें।

$ sudo vi /etc/nginx/sites-available/default

फ़ाइल सहेजें और बाहर निकलें।

12. फिर शुद्धता के लिए NGINX कॉन्फ़िगरेशन सिंटैक्स का परीक्षण करें। यदि यह ठीक है, तो नए परिवर्तनों को लागू करने के लिए Nginx सेवा को पुनरारंभ करें।

$ sudo nginx -t
$ sudo systemctl restart nginx

13. अब परीक्षण करें कि क्या NGINX PHP अनुरोधों को संसाधित करने के लिए PHP-FPM के साथ मिलकर काम कर सकता है। डॉक्यूमेंट रूट डायरेक्टरी के अंतर्गत एक साधारण जानकारी .php पेज बनाएँ।

$ echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

14. अपने ब्राउज़र में, निम्नलिखित पते का उपयोग करके नेविगेट करें। PHP कॉन्फ़िगरेशन पृष्ठ को निम्न स्क्रीनशॉट में दिखाए अनुसार लोड करना चाहिए।

http://SERVER_IP/info.php

चरण 5: Ubuntu 20.04 में PhpMyAdmin की स्थापना

15. PhpMyAdmin एक निशुल्क और ओपन-सोर्स वेब-आधारित PHP एप्लिकेशन है जो विशेष रूप से एक वेब ब्राउज़र के माध्यम से MySQL/MariaDB डेटाबेस सर्वर के प्रशासन के लिए बनाया गया है। यह एक सहज ज्ञान युक्त ग्राफिकल इंटरफ़ेस प्रदान करता है और डेटाबेस प्रशासन कार्यों के लिए सामान्य सुविधाओं की एक विस्तृत श्रृंखला का समर्थन करता है।

$ sudo apt install phpmyadmin

16. पैकेज की स्थापना के दौरान, आपको PhpMyAdmin पैकेज के कई पहलुओं को कॉन्फ़िगर करने के लिए कहा जाएगा। सबसे पहले, इसे चलाने के लिए डिफ़ॉल्ट वेब सर्वर चुनने के लिए प्रेरित किया जाएगा। Esc दबाएँ क्योंकि NGINX दी गई सूची में नहीं है।

17. अगला, PhpMyAdmin के साथ काम करने के लिए एक डेटाबेस की आवश्यकता होती है। इस पैकेज कॉन्फ़िगरेशन प्रॉम्प्ट में, dbconfig-common पैकेज के साथ PhpMyAdmin के डेटाबेस को कॉन्फ़िगर करने के लिए Yes चुनें।

18. अगले प्रॉम्प्ट में, आपको PhpMyAdmin को MariaDB डेटाबेस के साथ पंजीकरण करने के लिए एक पासवर्ड प्रदान करना होगा। एक सुरक्षित पासवर्ड डालें और एंटर पर क्लिक करें।

चरण 6: PhpMyAdmin साइट पर NGINX को कॉन्फ़िगर करना

19. NGINX को सक्षम करने के लिए/usr/share/phpmyadmin पर स्थित PhpMyAdmin साइट की सेवा करने के लिए, दस्तावेज़ रूट के तहत इस निर्देशिका के लिए एक सिमलिंक बनाएं, फिर निम्न अनुमतियों और PHPMyAdmin निर्देशिका पर स्वामित्व को निम्नानुसार सेट करें।

$ sudo ln -s  /usr/share/phpmyadmin /var/www/html/phpmyadmin
$ sudo chmod 775 -R /usr/share/phpmyadmin/
$ sudo chown root:www-data -R /usr/share/phpmyadmin/

20. इसके अलावा, सुनिश्चित करें कि डिफ़ॉल्ट सर्वर ब्लॉक कॉन्फ़िगरेशन (/ etc/nginx/साइट्स-उपलब्ध/डिफ़ॉल्ट) फ़ाइल में इंडेक्स निर्देश में निम्न स्क्रीनशॉट में दिखाए अनुसार index.php शामिल है।

21. इसके बाद, उपरोक्त परिवर्तनों को लागू करने के लिए एक बार फिर से Nginx सेवा को फिर से शुरू करें।

$ sudo systemctl restart nginx

22. अब निम्नलिखित पते का उपयोग करके ब्राउज़र से PhpMyAdmin साइट तक पहुँचें।

http://SERVER_IP/phpmyadmin

लॉगिन पृष्ठ पर, PHPMyAdmin उपयोगकर्ता नाम और पासवर्ड के साथ प्रमाणित करें। याद रखें कि रिमोट रूट यूजर लॉगिन तब तक अक्षम है जब तक आप लोकलहोस्ट पर PHPMyAdmin एक्सेस नहीं कर रहे हैं जहां MariaDB डेटाबेस इंस्टॉल है, रूट एक्सेस काम नहीं करेगा।

अंतिम लेकिन कम से कम, हमारे गाइड का उपयोग करके अपने PhpMyAdmin इंस्टॉलेशन को सुरक्षित करें: PhpMyAdmin वेब इंटरफ़ेस को सुरक्षित करने के लिए 4 उपयोगी टिप्स।

निष्कर्ष

आपका एलईएमपी सेटअप अब पूरा हो गया है और आप अपने वेब अनुप्रयोगों का निर्माण शुरू कर सकते हैं या बस आपके द्वारा स्थापित किए गए नग्नेक्स और मारियाबीडी सेवाओं के साथ खेल सकते हैं। इनका व्यापक रूप से उपयोग किया जाता है और उनमें अधिक ज्ञान प्राप्त करना सिस्टम प्रशासकों के लिए अत्यधिक अनुशंसित है।