आर्क लिनक्स में LEMP (Nginx, PHP, MariaSQL इंजन के साथ MySQL और PhpMyAdmin) स्थापित करना


अपने रोलिंग रिलीज़ मॉडल के कारण, जो कटिंग सॉफ़्टवेयर सॉफ़्टवेयर आर्क लिनक्स को विश्वसनीय नेटवर्क सेवाओं को प्रदान करने के लिए सर्वर के रूप में चलाने के लिए डिज़ाइन और विकसित नहीं किया गया था क्योंकि इसे रखरखाव, स्थिरांक अपग्रेड और समझदार फ़ाइल कॉन्फ़िगरेशन के लिए अतिरिक्त समय की आवश्यकता होती है।

लेकिन, फिर भी, क्योंकि आर्क लिनक्स न्यूनतम सॉफ्टवेयर पूर्व-स्थापित के साथ सीडी कोर इंस्टॉलेशन के साथ आता है, यह इस समय के अधिकांश लोकप्रिय नेटवर्क सेवाओं को स्थापित करने के लिए एक ठोस आधार स्टार्ट पॉइंट का प्रतिनिधित्व कर सकता है, जिसमें यह भी शामिल है < b> LEMP या LAMP , Apache Web Server, Nginx, PHP, SQL डेटाबेस, Samba, FTP सर्वर, BIND और अन्य, उनमें से कई Arch AUR से लिनक्स आधिकारिक रिपॉजिटरी और अन्य।

यह ट्यूटोरियल SSH का उपयोग करके दूरस्थ रूप से LEMP स्टैक (Nginx, PHP, MySQL with MariaDB इंजन और PhpMyAdmin) को कॉन्फ़िगर और गाइड करेगा।

पिछला आर्क लिनक्स इंस्टॉलेशन गाइड, डीएचसीपी के साथ नेटवर्किंग पर अंतिम भाग को छोड़कर।

चरण 1: नेटवर्क इंटरफेस पर स्टेटिक आईपी असाइन करें

1. न्यूनतम आर्क लिनक्स कोर इंस्टॉलेशन के बाद अपने सर्वर को रिबूट करें, रूट अकाउंट या समकक्ष प्रशासनिक sudo खाते के साथ लॉगिन करें, और आईपी लिंक कमांड का उपयोग करके अपने सिस्टम एनआईसी डिवाइस नामों की पहचान करें।

# ip link

2. स्थैतिक नेटवर्क कॉन्फ़िगरेशन को असाइन करने के लिए हम नेटवर्क कनेक्शन प्रबंधित करने के लिए Netctl पैकेज का उपयोग करने जा रहे हैं। आपके द्वारा सफलतापूर्वक अपने नेटवर्क इंटरफेस नाम कॉपी ईथरनेट-स्टैटिक फ़ाइल टेम्प्लेट को netctl सिस्टम पथ में पहचानने के बाद और उसका नाम एक वर्णनात्मक नामकरण योजना में बदल दें निम्न आदेश जारी करके " स्थिर " स्ट्रिंग का उपयोग NIC के नाम के साथ करें)।

# cp /etc/netctl/examples/ethenet-static  /etc/netctl/static.ens33

3. अगला कदम फाइल के निर्देशों को बदलकर और वास्तव में नेटवर्क सेटिंग्स (इंटरफ़ेस, आईपी/नेटमास्क, गेटवे, ब्रॉडकास्ट, डीएनएस) को नीचे दिए गए अंश की तरह संपादित करके इस नई फ़ाइल को संपादित करना है।

# nano  /etc/netctl/static.ens33
Description='A basic static ethernet connection for ens33'
Interface=ens33
Connection=ethernet
IP=static
Address=('192.168.1.33/24')
Gateway='192.168.1.1'
Brodcast='192.168.1.255'
DNS=('192.168.1.1' '8.8.8.8')

4. अगला चरण है netctl सिस्टम टूल के माध्यम से अपना नेटवर्क कनेक्शन शुरू करना और निम्नलिखित कमांड जारी करके अपने सिस्टम कनेक्टिविटी को सत्यापित करना।

# netctl start static.ens33
# netctl status static.ens33

5. यदि आपको एक सक्रिय ग्रीन एग्जिट स्टेटस मिलता है, तो आपने अपने नेटवर्क इंटरफ़ेस को सफलतापूर्वक कॉन्फ़िगर किया है और इसे सिस्टम वाइड सेवाओं पर स्वचालित रूप से सक्षम करने का समय है। डोमेन नाम के खिलाफ पिंग कमांड चलाकर भी अपने नेटवर्क का परीक्षण करें और नेट-टूल पैकेज स्थापित करें (इस पैकेज की सबसे प्रसिद्ध विशेषता ifconfig कमांड है जो आर्क डेवलपर्स को अपदस्थ माना जाता है और इसे iproute2 ) से बदल दिया जाता है।

# netctl enable static.ens33
# pacman -S net-tools

6. अब आप अपने नेटवर्क इंटरफेस को सत्यापित करने के लिए ifconfig कमांड चला सकते हैं और जांच सकते हैं कि क्या सब कुछ सही तरीके से प्रदर्शित किया गया है, तो रिबूट सुनिश्चित करने के लिए आपका सिस्टम सब कुछ जगह में है और ठीक से कॉन्फ़िगर किया गया है।

# ping linux-console.net

चरण 2: एलईएमपी सॉफ्टवेयर स्थापित करें

जैसा कि इस लेख में बताया गया है LEMP का अर्थ है Linux + Nginx + PHP/PhpMyAdmin + MySQL/MariaDB जो LAMP/b> ( समीकरण में अपाचे के साथ एक ही स्टैक)।

7. वास्तव में LEMP स्टैक स्थापित करने से पहले हमें सिस्टम को अपडेट करना होगा और फिर आर्क लिनक्स सर्वर पर रिमोट कंट्रोल हासिल करना होगा। जैसा कि आप शायद जानते हैं ओपनएसएसएच इस नौकरी के लिए मुख्य उम्मीदवार है इसलिए आगे बढ़ें और इसे स्थापित करें, एसएसएच डेमॉन शुरू करें और इसे सिस्टम चौड़ा करें।

$ sudo pacman -Syu
$ sudo pacman –S openssh
$ sudo systemctl start sshd
$ sudo systemctl status sshd
$ sudo systemctl enable sshd

अब LEMP इंस्टॉलेशन के साथ आगे बढ़ने का समय है। क्योंकि यह ट्यूटोरियल एक व्यापक मार्गदर्शिका के रूप में है, जिसे मैं LEMP स्टैक इंस्टॉलेशन छोटे टुकड़ों में विभाजित करूंगा, चरण दर चरण।

8. पहले Nginx वेब सर्वर स्थापित करें, फिर इसे शुरू करें और निम्न कमांड जारी करके इसकी स्थिति सत्यापित करें।

$ sudo pacman -S nginx
$ sudo systemctl start nginx
$ sudo systemctl status nginx

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

$ sudo pacman -S mysql
$ sudo systemctl start mysqld
$ sudo systemctl status mysqld

10. अगला कदम MySQL रूट खाते के लिए एक अत्यधिक सुरक्षित वातावरण प्रदान करना है, MySQL रूट खाते के लिए एक पासवर्ड प्रदान करके, अनाम उपयोगकर्ता खाते को हटा दें, परीक्षण डेटाबेस और रूट खातों को हटा दें जो स्थानीयहोस्ट के बाहर से सुलभ हैं। MySQL सुरक्षा को बेहतर बनाने के लिए निम्नलिखित कमांड चलाएँ, चालू रूट खाता पासवर्ड के लिए [ दर्ज करें ] दबाएँ, फिर सभी प्रश्नों के लिए हाँ जवाब दें (अपना रूट खाता पासवर्ड भी सेट करें)।

$ sudo mysql_secure_installation

नोट: किसी भी तरह से लिनक्स सिस्टम रूट खाते के साथ MySQL रूट खाते को भ्रमित न करें - वे दो अलग-अलग चीजें हैं - इतने अलग नहीं हैं लेकिन वे विभिन्न स्तरों पर चलते हैं।

mysql -u root -p कमांड सिंटैक्स का उपयोग करके डेटाबेस में MySQL सुरक्षा लॉगिन को सत्यापित करने के लिए, अपना रूट पासवर्ड प्रदान करें फिर डेटाबेस को बाहर निकलें; कमांड के साथ छोड़ दें।

# mysql -u root -p

11. अब यह समय है PHP सर्वर-साइड स्क्रिप्टिंग भाषा को स्थापित करने और जटिल गतिशील वेब एप्लिकेशन चलाने में सक्षम होने के लिए, न केवल HTML/CSS कोड परोसें।

क्योंकि हम एक वेब सर्वर के रूप में Nginx का उपयोग कर रहे हैं, हमें फास्ट कॉमन गेटवे के माध्यम से संचार करने और उत्पन्न डायनामिक सामग्री को बदलने के लिए PHP-FPM समर्थित मॉड्यूल को स्थापित करना होगा। PHP स्क्रिप्ट द्वारा।

PHP-FPM सेवा स्थापित करने के लिए निम्न कमांड लाइन जारी करें, फिर डेमॉन शुरू करें और स्थिति सत्यापित करें।

$ sudo pacman –S php php-fpm
$ sudo systemctl start php-fpm
$ sudo systemctl status php-fpm

सभी उपलब्ध PHP मॉड्यूल को सूचीबद्ध करने के लिए निम्नलिखित कमांड जारी करें।

$ sudo pacman –S php[TAB]
$ sudo pacman –Ss | grep php

12. अंतिम चरणों में से एक MySQL डेटाबेस के लिए PhpMyAdmin Web Interface इंस्टॉल करना है। PhpMyAdmin को अपने PHP आवश्यक मॉड्यूल के साथ स्थापित करने के लिए निम्नलिखित कमांड जारी करें फिर Nginx डिफ़ॉल्ट रूट पथ के लिए PhpMyaAdmin सिस्टम पथ के लिए एक प्रतीकात्मक लिंक बनाएं।

$ pacman -S phpmyadmin php-mcrypt
$ sudo ln -s /usr/share/webapps/phpMyAdmin   /usr/share/nginx/html

13. इसके बाद PhpMyAdmin एप्लिकेशन द्वारा आवश्यक आवश्यक एक्सटेंशन शामिल करने के लिए php.ini फ़ाइल कॉन्फ़िगर करें।

$ sudo nano /etc/php/php.ini

निम्नलिखित रेखाओं के साथ [ CTRL + W ] कुंजियाँ और असहजता (निकालें ; )।

extension=mysqli.so
extension=mysql.so
extension=mcrypt.so
mysqli.allow_local_infile = On

एक ही फ़ाइल का पता लगाने और open_badeir को निम्न शामिल निर्देशिकाओं के साथ मिलाने का निर्देश देते हैं।

open_basedir= /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/

14. अगला कदम लोकलहोस्ट नेग्नेक्स निर्देश पर PHP-FPM FastCGI को सक्षम करना है। अगला कमांड बैकअप के लिए जारी करें nginx.conf वेब सर्वर फ़ाइल कॉन्फ़िगरेशन तब इसे निम्न सामग्री से बदलें।

$ sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
$ sudo nano /etc/nginx/nginx.conf

Nginx.conf पर संपूर्ण निम्न सामग्री जोड़ें।

#user html;
worker_processes  2;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    gzip  on;

    server {
        listen       80;
        server_name  localhost;
            root   /usr/share/nginx/html;
        charset koi8-r;
        location / {
        index  index.php index.html index.htm;
                                autoindex on;
                                autoindex_exact_size off;
                                autoindex_localtime on;
        }

                                location /phpmyadmin {
        rewrite ^/* /phpMyAdmin last;
    }

 error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }

    location ~ \.php$ {
        #fastcgi_pass 127.0.0.1:9000; (depending on your php-fpm socket configuration)
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
    }

        location ~ /\.ht {
            deny  all;
        }
    }         
}

15. सभी फ़ाइल कॉन्फ़िगरेशन किए जाने के बाद, आपको बस इतना करना है कि Nginx और PHP-FPM सेवाओं को पुनरारंभ करें और अपने ब्राउज़र को http:/पर इंगित करें। localhost/phpmyadmin URL से स्थानीय नोड या http:/arch_IP/phpmyadmin एक और कंप्यूटर बनाते हैं।

$ sudo systemctl restart php-fpm
$ sudo systemctl restart nginx

16. यदि अंतिम चरण के अनुसार सब कुछ चलता है, तो निम्नलिखित कमांड के साथ LEMP सिस्टम को सक्षम करना है।

$ sudo systemctl enable php-fpm
$ sudo systemctl enable nginx
$ sudo systemctl enable mysqld

बधाई! आपने आर्क लिनक्स पर LEMP स्थापित और कॉन्फ़िगर किया है, अब, आपके पास वेब एप्लिकेशन शुरू करने और विकसित करने के लिए एक पूर्ण गतिशील इंटरफ़ेस है।

यद्यपि आर्क लिनक्स अपने समुदाय उन्मुख रोलिंग रिलीज मॉडल के कारण उत्पादन सर्वर पर चलने के लिए सबसे अच्छा अनुकूल प्रणाली नहीं है, यह छोटे गैर-महत्वपूर्ण उत्पादन वातावरण के लिए बहुत तेज़ और विश्वसनीय स्रोत हो सकता है।