Installa LEMP - Nginx, PHP, MariaDB u PhpMyAdmin f'OpenSUSE


LEMP jew Linux, Engine-x, MySQL u PHP stack huwa pakkett ta 'softwer magħmul minn softwer open source installat fuq is-sistema operattiva Linux għat-tħaddim ta' applikazzjonijiet tal-web ibbażati fuq PHP mħaddma mis-server HTTP Nginx u sistema ta 'ġestjoni tad-database MySQL/MariaDB.

Dan it-tutorja jiggwidak dwar kif tinstalla munzell LEMP b'Nginx, MariaDB, PHP, PHP-FPM u PhpMyAdmin fuq servers OpenSuse/edizzjonijiet desktop.

Installazzjoni ta 'Nginx HTTP Server

Nginx huwa HTTP u proxy server veloċi u affidabbli li jista 'jimmaniġġja tagħbija ogħla ta' talbiet HTTP. Juża approċċ mhux sinkroniku mmexxi mill-avvenimenti għall-immaniġġjar tat-talbiet, u l-arkitettura modulari mmexxija mill-avvenimenti tagħha tista 'tipprovdi prestazzjoni aktar prevedibbli taħt tagħbijiet għoljin.

Biex tinstalla Nginx fuq OpenSuse, mexxi l-kmand li ġej.

$ sudo zypper install nginx

Ladarba l-Nginx installat, tista 'tibda s-servizz għalissa, imbagħad tippermettilu li jibda awtomatikament fil-ħin tal-ibbutjar u tivverifika l-istatus ta' Nginx billi tħaddem il-kmandi li ġejjin.

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

F'dan il-punt, is-server tal-web Nginx għandu jkun qed jaħdem, tista 'wkoll tivverifika l-istatus billi tuża l-kmand netstat kif muri.

$ sudo netstat -tlpn | grep nginx

Issa, irridu nittestjaw jekk l-installazzjoni ta 'Nginx tkunx qed taħdem sew. B'differenza minn distribuzzjonijiet Linux oħra, taħt openSUSE, Nginx m'għandux dokument standard index.html fil-folder tal-għeruq tal-web. Għandna bżonn noħolqu fajl ġdid index.html taħt id-direttorju tal-web għerq \/srv/www/htdocs\ kif jidher.

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

Jekk għandek firewalld installat, għandek bżonn tiftaħ il-port 80 u 443 biex tippermetti t-traffiku tal-web fuq il-firewall.

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

Sussegwentement, iftaħ web browser u naviga għall-indirizz http://localhost u vverifika l-paġna Nginx.

Installazzjoni ta' MariaDB Database Server

MariaDB hija furketta b'xejn u sors miftuħ tas-sistema ta 'ġestjoni tad-database relazzjonali MySQL. Huwa żviluppat mill-iżviluppaturi oriġinali tal-MySQL u maħsub biex jibqa 'sors miftuħ. MariaDB hija veloċi, skalabbli u robusta, b'ekosistema rikka ta 'magni tal-ħażna, plugins u ħafna għodod oħra jagħmluha versatili ħafna għal varjetà wiesgħa ta' każijiet ta 'użu.

Biex tinstalla MariaDB fuq OpenSuse, mexxi l-kmand li ġej.

$ sudo zypper install mariadb mariadb-client 

Sussegwentement, ibda s-servizz MariaDB għalissa, imbagħad ippermettih li jibda awtomatikament fil-ħin tal-ibbutjar u ċċekkja l-istatus tiegħu.

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

Il-pass kritiku li jmiss taħt din it-taqsima huwa li tiżgura l-installazzjoni tas-server MariaDB. Għalhekk mexxi l-iskrittura tas-sigurtà li tintbagħat mal-pakkett MariaDB, kif muri.

Nota: It-tħaddim tal-iskript tas-sigurtà MariaDB u l-partijiet kollha tiegħu huwa rakkomandat ħafna għas-servers kollha MariaDB fil-produzzjoni.

$ sudo mysql_secure_installation 

Wara li tmexxi l-iskrittura, aqra d-deskrizzjoni f'kull pass bir-reqqa. Għandek tissettja password tal-utent tal-għeruq, neħħi utenti anonimi, tiddiżattiva l-aċċess tal-għeruq mill-bogħod, neħħi d-database tat-test u aċċess għaliha u fl-aħħar erġa' tagħbija t-tabella tal-privileġġi.

Installazzjoni u Konfigurazzjoni PHP u PHP-FPM

PHP-FPM (qosor għal PHP FastCGI Process Manager) huwa daemon alternattiv ta 'FastCGI għal PHP b'xi karatteristiċi addizzjonali u ddisinjat biex jimmaniġġja tagħbijiet għoljin. Hija żżomm pools (ħaddiema li jistgħu jirrispondu għal talbiet PHP) biex twettaq dan. Importanti, huwa aktar mgħaġġel minn metodi tradizzjonali bbażati fuq CGI, bħal SUPHP, għal ambjenti PHP b'ħafna utenti.

Biex tinstalla PHP u PHP-FPM flimkien mal-moduli meħtieġa mexxi l-kmand li ġej.

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

Qabel ma nipproċedu biex nibdew is-servizz PHP-FPM, irridu noħolqu l-fajls ta 'konfigurazzjoni meħtieġa mill-fajls default ipprovduti waqt l-installazzjoni, u kkonfigurat is-servizz lest għall-operazzjonijiet.

$ 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

Imbagħad iftaħ il-fajl ewlieni tal-konfigurazzjoni php-fpm.conf għall-editjar.

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

Neħħi l-kumment tal-linja li ġejja fil-linja numru 24 kif muri.

error_log = log/php-fpm.log

Issejvja u agħlaq il-fajl.

Sussegwentement, għandna bżonn niddefinixxu s-settings korretti għall-pools konfigurati fil-fajl ta 'konfigurazzjoni www.conf.

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

L-ewwel, ikkonfigura s-sid Unix u s-sid tal-grupp tal-proċessi għall-utent u l-grupp Nginx. Agħmel dan billi tbiddel il-valuri tal-parametri tal-utent u tal-grupp minn ħadd għal nginx.

user = nginx
group = nginx

Issa ssejvja l-bidliet fil-fajl u oħroġ minnu.

Barra minn hekk, hemm konfigurazzjoni waħda aktar importanti biex twettaq, li tassigura PHP-FPM fil-fajl /etc/php/cli/php.ini.

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

Fittex il-linja ;cgi.fix_pathinfo=1 u biddel għal.

cgi.fix_pathinfo=0

Issejvja l-bidliet fil-fajl u oħroġ.

Sussegwentement, ibda s-servizz PHP-FPM għalissa, imbagħad ippermettih li jibda awtomatikament fil-ħin tal-ibbutjar u ċċekkja l-istatus tiegħu.

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

Konfigurazzjoni ta 'Nginx biex taħdem ma' PHP-FPM

F'dan il-punt, irridu nikkonfiguraw Nginx biex jaħdem ma 'PHP-FPM fil-fajl ta' konfigurazzjoni default Nginx.

$ sudo vim /etc/nginx/nginx.conf

Imbagħad fittex it-taqsima li ġejja, u żid il-index.php fil-lista tal-fajls tal-indiċi mistennija.

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

Sib ukoll it-taqsima li ġejja (li għandha tiġi kkummentata) u neħħi l-kumment tagħha. Din it-taqsima tintuża biex tgħaddi l-iskripts PHP lis-server FastCGI li jisma fuq 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; 
       }

Issejvja l-bidliet fil-fajl u oħroġ.

Ittestjar Nginx u PHP-FPM

Il-pass li jmiss huwa li tittestja jekk Nginx huwiex qed jaħdem tajjeb flimkien ma 'PHP-FPM billi toħloq fajl ġdid ta' test PHP taħt id-direttorju DocumentRoot kif muri.

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

Issa rridu niċċekkjaw jekk il-konfigurazzjoni Nginx hijiex korretta kif ġej, qabel ma nipproċedu biex nibdew mill-ġdid is-servizz.

$ sudo nginx -t

Jekk is-sintassi tal-konfigurazzjoni ta 'Nginx hija ok, kompli u terġa' tibda s-servizzi Nginx u PHP-FPM biex il-bidliet riċenti jieħdu effett.

$ sudo systemctl restart nginx php-fpm

Issa tiftaħ web browser u naviga għall-indirizz http://localhost/info.php biex tivverifika l-konfigurazzjoni PHP kif muri fil-screenshot li ġej.

Installazzjoni u Konfigurazzjoni PhpMyAdmin

phpMyAdmin hija għodda b'xejn, sempliċi faċli biex tużah u popolari miktuba fil-PHP, mibnija għall-amministrazzjoni tas-server MySQL fuq il-Web. Huwa jisporta firxa wiesgħa ta 'operazzjonijiet fuq MySQL u MariaDB.

Biex tinstalla phpMyAdmin fuq OpenSuse, mexxi l-kmand li ġej.

$ sudo zypper install phpMyAdmin

Ladarba l-installazzjoni tkun kompluta, oħloq fajl ta 'konfigurazzjoni ta' vhost ġdid biex taċċessa phpMyAdmin kif muri.

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

Żid dawn il-konfigurazzjonijiet li ġejjin fil-fajl.

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

Issejvja l-bidliet u agħlaq il-fajl. Imbagħad erġa ibda s-servizz Nginx bil-kmand li ġej.

$ sudo systemctl restart nginx

Issa mur fil-web browser tiegħek u ittajpja l-indirizz http://localhost/phpMyAdmin. Paġna ta 'login ta' phpMyAdmin għandha tidher kif muri fil-screenshot li ġej. Daħħal il-kredenzjali tal-login tal-utent root tad-database tiegħek u kklikkja Mur.

Dak kollox! F'dan it-tutorja, spjegajnek kif tinstalla munzell LEMP b'Nginx, MariaDB, PHP, PHP-FPM u PhpMyAdmin fuq servers OpenSuse/edizzjonijiet desktop. Jekk qed tiffaċċja xi kwistjonijiet waqt is-setup, staqsi l-mistoqsijiet tiegħek permezz ta 'formola ta' kumment hawn taħt.