Settu upp LEMP - Nginx, PHP, MariaDB og PhpMyAdmin í OpenSUSE


LEMP eða Linux, Engine-x, MySQL og PHP stafla er hugbúnaðarbúnt sem samanstendur af opnum hugbúnaði sem er settur upp á Linux stýrikerfinu til að keyra PHP byggð vefforrit knúin af Nginx HTTP netþjóninum og MySQL/MariaDB gagnagrunnsstjórnunarkerfinu.

Þessi kennsla mun leiðbeina þér um hvernig á að setja upp LEMP stafla með Nginx, MariaDB, PHP, PHP-FPM og PhpMyAdmin á OpenSuse miðlara/skrifborðsútgáfum.

Setur upp Nginx HTTP Server

Nginx er fljótur og áreiðanlegur HTTP- og proxy-þjónn sem getur séð um meira álag af HTTP beiðnum. Það notar ósamstillta atburðadrifna nálgun við meðhöndlun beiðna og mátadrifið arkitektúr þess getur veitt fyrirsjáanlegri frammistöðu við mikið álag.

Til að setja upp Nginx á OpenSuse skaltu keyra eftirfarandi skipun.

$ sudo zypper install nginx

Þegar Nginx hefur verið sett upp geturðu ræst þjónustuna í bili, síðan virkjað hana til að ræsast sjálfkrafa við ræsingu og staðfesta stöðu Nginx með því að keyra eftirfarandi skipanir.

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

Á þessum tímapunkti ætti Nginx vefþjónninn að vera í gangi, þú getur líka staðfest stöðuna með netstat skipuninni eins og sýnt er.

$ sudo netstat -tlpn | grep nginx

Nú þurfum við að prófa hvort Nginx uppsetningin virkar vel. Ólíkt öðrum Linux dreifingum, undir openSUSE, hefur Nginx ekki staðlað index.html skjal í rótarmöppunni á vefnum. Við þurfum að búa til nýja index.html skrá undir rótarvefskránni \/srv/www/htdocs\ eins og sýnt er.

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

Ef þú ert með eldvegg uppsettan þarftu að opna port 80 og 443 til að leyfa vefumferð á eldvegg.

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

Næst skaltu opna vafra og fletta að heimilisfanginu http://localhost og staðfesta Nginx síðuna.

Að setja upp MariaDB gagnagrunnsþjón

MariaDB er ókeypis og opinn uppspretta gaffli MySQL tengslagagnagrunnsstjórnunarkerfisins. Það er þróað af upprunalegu hönnuðum MySQL og ætlað að vera opinn uppspretta. MariaDB er hratt, stigstærð og öflugt, með ríkulegu vistkerfi af geymsluvélum, viðbótum og mörgum öðrum verkfærum sem gera það mjög fjölhæft fyrir margs konar notkunartilvik.

Til að setja upp MariaDB á OpenSuse skaltu keyra eftirfarandi skipun.

$ sudo zypper install mariadb mariadb-client 

Næst skaltu ræsa MariaDB þjónustuna í bili, virkjaðu hana til að ræsast sjálfkrafa við ræsingu og athuga stöðu hennar.

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

Næsta mikilvæga skrefið undir þessum hluta er að tryggja uppsetningu MariaDB netþjónsins. Keyrðu því öryggisforskriftina sem fylgir MariaDB pakkanum, eins og sýnt er.

Athugið: Það er mjög mælt með því að keyra MariaDB öryggisforskrift og alla hluta þess fyrir alla MariaDB netþjóna í framleiðslu.

$ sudo mysql_secure_installation 

Eftir að hafa keyrt handritið skaltu lesa lýsinguna á hverju skrefi vandlega. Þú ættir að stilla lykilorð fyrir rótarnotanda, fjarlægja nafnlausa notendur, slökkva á ytri rótaraðgangi, fjarlægja prófunargagnagrunninn og aðgang að honum og að lokum endurhlaða forréttindatöfluna.

Uppsetning og uppsetning PHP og PHP-FPM

PHP-FPM (stutt fyrir PHP FastCGI Process Manager) er annar FastCGI púki fyrir PHP með nokkrum viðbótareiginleikum og hannaður til að takast á við mikið álag. Það heldur úti laugum (starfsmönnum sem geta svarað PHP beiðnum) til að ná þessu. Mikilvægt er að það er hraðari en hefðbundnar CGI-undirstaða aðferðir, svo sem SUPHP, fyrir fjölnotenda PHP umhverfi.

Til að setja upp PHP og PHP-FPM ásamt nauðsynlegum einingum skaltu keyra eftirfarandi skipun.

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

Áður en við höldum áfram að hefja PHP-FPM þjónustuna þurfum við að búa til nauðsynlegar stillingarskrár úr sjálfgefnum skrám sem gefnar eru upp við uppsetninguna og stilla þjónustuna tilbúna til notkunar.

$ 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

Opnaðu síðan helstu php-fpm.conf stillingarskrána til að breyta.

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

Afskrifaðu eftirfarandi línu við línu númer 24 eins og sýnt er.

error_log = log/php-fpm.log

Vistaðu og lokaðu skránni.

Næst þurfum við að skilgreina réttar stillingar fyrir stilltu laugarnar í www.conf stillingarskránni.

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

Fyrst skaltu stilla Unix eiganda og hópeiganda ferla fyrir Nginx notandann og hópinn. Gerðu þetta með því að breyta gildum notandans og hópbreytu úr enginn í nginx.

user = nginx
group = nginx

Vistaðu nú breytingarnar á skránni og farðu úr henni.

Að auki er enn mikilvæg uppsetning til að framkvæma, sem tryggir PHP-FPM í /etc/php/cli/php.ini skránni.

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

Leitaðu að línunni ;cgi.fix_pathinfo=1 og breyttu henni í.

cgi.fix_pathinfo=0

Vistaðu breytingarnar í skránni og lokaðu.

Næst skaltu ræsa PHP-FPM þjónustuna í bili, gera hana síðan kleift að ræsast sjálfkrafa við ræsingu og athuga stöðu hennar.

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

Stilla Nginx til að vinna með PHP-FPM

Á þessum tímapunkti þurfum við að stilla Nginx til að vinna með PHP-FPM í sjálfgefna Nginx stillingarskránni.

$ sudo vim /etc/nginx/nginx.conf

Leitaðu síðan að eftirfarandi hluta og bættu index.php við listanum yfir væntanlegar vísitöluskrár.

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

Finndu líka eftirfarandi hluta (sem ætti að gera athugasemdir við) og afskrifaðu hann. Þessi hluti er notaður til að senda PHP forskriftirnar til FastCGI miðlara sem hlustar á 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; 
       }

Vistaðu breytingarnar í skránni og lokaðu.

Að prófa Nginx og PHP-FPM

Næsta skref er að prófa hvort Nginx virkar vel í tengslum við PHP-FPM með því að búa til nýja PHP prófunarskrá undir DocumentRoot skránni eins og sýnt er.

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

Nú þurfum við að athuga hvort Nginx stillingar séu réttar sem hér segir, áður en við höldum áfram að endurræsa þjónustuna.

$ sudo nginx -t

Ef setningafræði Nginx stillingar er í lagi skaltu halda áfram og endurræsa Nginx og PHP-FPM þjónusturnar til að nýlegar breytingar taki gildi.

$ sudo systemctl restart nginx php-fpm

Opnaðu nú vafra og farðu að heimilisfanginu http://localhost/info.php til að staðfesta PHP stillinguna eins og sýnt er á eftirfarandi skjámynd.

Uppsetning og uppsetning PhpMyAdmin

phpMyAdmin er ókeypis, einfalt, auðvelt í notkun og vinsælt tól skrifað í PHP, byggt til að stjórna MySQL netþjóni á vefnum. Það býður upp á fjölbreytt úrval aðgerða á MySQL og MariaDB.

Til að setja upp phpMyAdmin á OpenSuse skaltu keyra eftirfarandi skipun.

$ sudo zypper install phpMyAdmin

Þegar uppsetningunni er lokið skaltu búa til nýja vhost stillingarskrá til að fá aðgang að phpMyAdmin eins og sýnt er.

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

Bættu þessum eftirfarandi stillingum við skrána.

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; 
   } 
} 

Vistaðu breytingarnar og lokaðu skránni. Endurræstu síðan Nginx þjónustuna með eftirfarandi skipun.

$ sudo systemctl restart nginx

Farðu nú í vafrann þinn og sláðu inn heimilisfangið http://localhost/phpMyAdmin. Innskráningarsíða phpMyAdmin ætti að birtast eins og sýnt er á eftirfarandi skjámynd. Sláðu inn gagnagrunnsrót notanda innskráningarskilríki og smelltu á Fara.

Það er allt og sumt! Í þessari kennslu höfum við útskýrt hvernig þú setur upp LEMP stafla með Nginx, MariaDB, PHP, PHP-FPM og PhpMyAdmin á OpenSuse miðlara/skrifborðsútgáfum. Ef þú lendir í vandræðum við uppsetningu skaltu spyrja spurninga þinna í gegnum athugasemdareyðublað hér að neðan.