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 । यदि आप सेटअप के दौरान किसी भी समस्या का सामना कर रहे हैं, तो नीचे दिए गए टिप्पणी फ़ॉर्म के माध्यम से अपने प्रश्न पूछें।