OpenSUSE में LEMP - Nginx, PHP, MariaDB और PhpMyAdmin स्थापित करें


LEMP या लिनक्स , इंजन-एक्स , MySQL और PHP स्टैक एक सॉफ्टवेयर है Nginx HTTP सर्वर और MySQL/MariaDB डेटाबेस प्रबंधन प्रणाली द्वारा संचालित PHP आधारित वेब अनुप्रयोगों को चलाने के लिए लिनक्स ऑपरेटिंग सिस्टम पर स्थापित ओपन सोर्स सॉफ़्टवेयर से बना बंडल।

यह ट्यूटोरियल आपको LEMP स्टैक के साथ Nginx , MariaDB , PHP , स्थापित करने के बारे में मार्गदर्शन करेगा। PHP- FPM और PhpMyAdmin OpenSuse सर्वर/डेस्कटॉप संस्करणों पर।

Nginx HTTP सर्वर स्थापित करना

Nginx एक तेज़ और विश्वसनीय HTTP और प्रॉक्सी सर्वर है जो HTTP अनुरोधों के उच्च भार को संभाल सकता है। यह अनुरोधों को संभालने के लिए एक अतुल्यकालिक घटना-चालित दृष्टिकोण का उपयोग करता है, और इसकी मॉड्यूलर घटना-संचालित वास्तुकला उच्च भार के तहत अधिक अनुमानित प्रदर्शन प्रदान कर सकती है।

OpenSuse पर Nginx स्थापित करने के लिए, निम्न कमांड चलाएँ।

$ sudo zypper install nginx

एक बार Nginx स्थापित होने के बाद, आप अभी के लिए सेवा शुरू कर सकते हैं, फिर इसे बूट समय पर ऑटो-प्रारंभ करने के लिए सक्षम करें और निम्न कमांड चलाकर Nginx की स्थिति सत्यापित करें।

$ sudo systemctl start nginx
$ sudo systemctl enable nginx
$ sudo systemctl status nginx

इस बिंदु पर, नग्नेक्स वेब सर्वर को ऊपर और चलना चाहिए, आप दिखाए गए अनुसार नेटस्टैट कमांड का उपयोग करके स्थिति को भी सत्यापित कर सकते हैं।

$ sudo netstat -tlpn | grep nginx

अब, हमें यह जांचने की आवश्यकता है कि Nginx स्थापना ठीक काम कर रही है या नहीं। अन्य लिनक्स वितरणों के विपरीत, ओपनएसयूएसई , नगनेक्स के पास वेब रूट फ़ोल्डर में एक मानक <कोड> इंडेक्स। दस्तावेज़ नहीं है। हमें रूट वेब निर्देशिका /srv/www/htdocs शो के तहत एक नया index.html फ़ाइल बनाने की आवश्यकता है।

$ echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html

यदि आपने फ़ायरवॉल स्थापित किया है, तो आपको फ़ायरवॉल पर वेब ट्रैफ़िक की अनुमति देने के लिए पोर्ट 80 और 443 खोलना होगा।

$ sudo firewall-cmd --permanent --add-port=80/tcp
$ sudo firewall-cmd --permanent --add-port=443/tcp
$ sudo firewall-cmd --reload

इसके बाद, एक वेब ब्राउज़र खोलें और पता http:/localhost पर नेविगेट करें और Nginx पृष्ठ को सत्यापित करें।

MariaDB डेटाबेस सर्वर को स्थापित करना

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

OpenSuse पर MariaDB स्थापित करने के लिए, निम्न कमांड चलाएँ।

$ sudo zypper install mariadb mariadb-client 

इसके बाद, अब के लिए MariaDB सेवा शुरू करें, फिर इसे बूट समय पर ऑटो-स्टार्ट करने के लिए सक्षम करें और इसकी स्थिति जांचें।

$ sudo systemctl start mariadb 
$ sudo systemctl enable mariadb 
$ sudo systemctl status mariadb 

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

लाल

$ sudo mysql_secure_installation 

स्क्रिप्ट चलाने के बाद, प्रत्येक चरण में विवरण को ध्यान से पढ़ें। आपको एक रूट उपयोगकर्ता पासवर्ड सेट करना चाहिए, अनाम उपयोगकर्ताओं को निकालना, रिमोट रूट एक्सेस को अक्षम करना, परीक्षण डेटाबेस को हटाना और इसे एक्सेस करना और अंत में विशेषाधिकार तालिका को फिर से लोड करना चाहिए।

PHP और PHP-FPM को स्थापित और कॉन्फ़िगर करना

PHP-FPM ( PHP FastCGI प्रोसेस मैनेजर के लिए संक्षिप्त) एक वैकल्पिक FastCGI डेमॉन है PHP जिसके लिए अतिरिक्त सुविधाएँ हैं और उच्च भार को संभालने के लिए डिज़ाइन किया गया। इसे पूरा करने के लिए यह पूल ( श्रमिक जो PHP अनुरोधों का जवाब दे सकता है) को बनाए रखता है। महत्वपूर्ण रूप से, यह बहु-उपयोगकर्ता PHP वातावरणों के लिए पारंपरिक CGI- आधारित विधियों, जैसे SUPHP से अधिक तेज़ है।

स्थापित करने के लिए PHP और PHP-FPM आवश्यक मॉड्यूल के साथ निम्नलिखित कमांड चलाते हैं।

$ sudo zypper install php php-mysql php-fpm php-gd php-mbstring

इससे पहले कि हम PHP-FPM सेवा शुरू करने के लिए आगे बढ़ें, हमें स्थापना के दौरान प्रदान की गई डिफ़ॉल्ट फ़ाइलों से आवश्यक कॉन्फ़िगरेशन फ़ाइलों को बनाने और संचालन के लिए तैयार सेवा को कॉन्फ़िगर करना होगा।

$ sudo cp /etc/php7/fpm/php-fpm.conf.default  /etc/php7/fpm/php-fpm.conf 
$ sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf

फिर संपादन के लिए मुख्य php-fpm.conf कॉन्फ़िगरेशन फ़ाइल खोलें।

$ sudo vim /etc/php7/fpm/php-fpm.conf 

दिखाए गए अनुसार पंक्ति संख्या 24 पर निम्न पंक्ति को हटाएं।

error_log = log/php-fpm.log

फ़ाइल को सहेजें और बंद करें।

अगला, हमें www.conf कॉन्फ़िगरेशन फ़ाइल में कॉन्फ़िगर किए गए पूल के लिए सही सेटिंग्स को परिभाषित करने की आवश्यकता है।

$ sudo vim /etc/php7/fpm/php-fpm.d/www.conf

सबसे पहले, यूनिक्स के मालिक और प्रक्रियाओं के समूह के मालिक को Nginx उपयोगकर्ता और समूह में कॉन्फ़िगर करें। none से nginx के उपयोगकर्ता और समूह मापदंडों के मूल्यों को बदलकर ऐसा करें।

user = nginx
group = nginx

अब फ़ाइल में परिवर्तन सहेजें और इसे से बाहर निकलें।

इसके अतिरिक्त, प्रदर्शन करने के लिए एक और महत्वपूर्ण कॉन्फ़िगरेशन है, जो /etc/php/cli/php.ini फ़ाइल में PHP-FPM को सुरक्षित करता है।

$ sudo vim /etc/php7/cli/php.ini

लाइन ; cgi.fix_pathinfo = 1 के लिए खोज करें और इसे बदल दें।

cgi.fix_pathinfo=0

फ़ाइल में परिवर्तन सहेजें और बाहर निकलें।

अगला, अभी के लिए PHP-FPM सेवा शुरू करें, फिर इसे बूट समय पर ऑटो-स्टार्ट करने में सक्षम करें और अपनी स्थिति जांचें।

$ sudo systemctl start php-fpm
$ sudo systemctl enable php-fpm
$ sudo systemctl status php-fpm

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

इस बिंदु पर, हमें डिफ़ॉल्ट Nginx कॉन्फ़िगरेशन फ़ाइल में PHP-FPM के साथ काम करने के लिए Nginx कॉन्फ़िगर करने की आवश्यकता है।

$ sudo vim /etc/nginx/nginx.conf

फिर निम्नलिखित अनुभाग की तलाश करें, और अपेक्षित सूचकांक फ़ाइलों की सूची में index.php जोड़ें।

location / { 
           root   /srv/www/htdocs/; 
           index  index.php index.html index.htm ; 
       }

निम्न अनुभाग (जिसमें टिप्पणी की जानी चाहिए) को ढूंढें और इसे अनलॉकर करें। इस खंड का उपयोग PHP स्क्रिप्ट को FastCGI सर्वर पर 127.0.0.1:9000 सुनने के लिए किया जाता है।

location ~ \.php$ { 
       root           /srv/www/htdocs/; 
       fastcgi_pass   127.0.0.1:9000; 
       fastcgi_index  index.php; 
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
       include        fastcgi_params; 
       }

फ़ाइल में परिवर्तन सहेजें और बाहर निकलें।

Nginx और PHP-FPM का परीक्षण

अगला कदम यह है कि अगर डॉक्यूमेंटटूट डायरेक्टरी के तहत एक नई PHP टेस्ट फाइल बनाकर Nginx के साथ मिलकर काम कर रहा है तो PHP-FPM के साथ मिलकर काम करें। दिखाया गया है।

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

अब हमें यह जांचने की आवश्यकता है कि क्या हम सेवा को पुनः आरंभ करने से पहले Nginx कॉन्फ़िगरेशन सही है।

$ sudo nginx -t

यदि Nginx कॉन्फ़िगरेशन सिंटैक्स ठीक है, तो आगे जाएँ और हाल के परिवर्तनों के लिए Nginx और PHP-FPM सेवाओं को फिर से शुरू करें।

$ sudo systemctl restart nginx php-fpm

अब वेब ब्राउजर खोलें और एड्रेस को कोड करें। निम्न स्क्रीनशॉट में दिखाए अनुसार PHP कॉन्फ़िगरेशन को सत्यापित करने के लिए http: //localhost/info.php पर जाएं।

PhpMyAdmin स्थापित करना और कॉन्फ़िगर करना

phpMyAdmin वेब में MySQL सर्वर को प्रशासित करने के लिए बनाया गया PHP में लिखा गया एक नि: शुल्क, सरल आसान उपयोग और लोकप्रिय उपकरण है। यह MySQL और MariaDB पर संचालन की एक विस्तृत श्रृंखला को समाप्त करता है।

OpenSuse पर phpMyAdmin स्थापित करने के लिए, निम्न कमांड चलाएँ।

$ sudo zypper install phpMyAdmin

एक बार इंस्टॉलेशन पूरा होने के बाद, दिखाए गए अनुसार phpMyAdmin तक पहुंचने के लिए एक नई vhost कॉन्फ़िगरेशन फ़ाइल बनाएं।

$ sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf

फ़ाइल के लिए निम्नलिखित कॉन्फ़िगरेशन जोड़ें।

server { 
   listen 80; 

   server_name localhost/phpMyAdmin; 

  root /srv/www/htdocs/phpMyAdmin; 

   location / { 
       try_files $uri /index.php?$args; 
   } 

   location ~ \.php$ { 
       try_files $uri =404; 
       fastcgi_pass 127.0.0.1:9000; 
       fastcgi_index index.php; 
       include fastcgi_params; 
   } 
} 

परिवर्तनों को सहेजें और फ़ाइल को बंद करें। फिर निम्नलिखित कमांड के साथ Nginx सेवा को पुनरारंभ करें।

$ sudo systemctl restart nginx

अब अपने वेब ब्राउजर पर जाएं और एड्रेस टाइप करें http:/localhost/phpMyAdmin । निम्न स्क्रीनशॉट में दिखाए अनुसार phpMyAdmin लॉगिन पृष्ठ प्रदर्शित होना चाहिए। अपना डेटाबेस रूट उपयोगकर्ता लॉगिन क्रेडेंशियल दर्ज करें और जाएं क्लिक करें।

बस इतना ही! इस ट्यूटोरियल में, हमने आपको समझाया है कि NEMx , MariaDB , PHP , के साथ LEMP कैसे स्थापित करें। OpenSuse सर्वर/डेस्कटॉप संस्करण पर मजबूत> PHP-FPM और PhpMyAdmin । यदि आप सेटअप के दौरान किसी भी समस्या का सामना कर रहे हैं, तो नीचे दिए गए टिप्पणी फ़ॉर्म के माध्यम से अपने प्रश्न पूछें।