Asenna LEMP - Nginx, PHP, MariaDB ja PhpMyAdmin OpenSUSEen


LEMP tai Linux, Engine-x, MySQL ja PHP pino on ohjelmisto paketti, joka koostuu Linux-käyttöjärjestelmään asennetuista avoimen lähdekoodin ohjelmistoista PHP-pohjaisten verkkosovellusten suorittamiseen, jotka toimivat Nginx HTTP -palvelimella ja MySQL/MariaDB-tietokannan hallintajärjestelmällä.

Lue myös: Asenna LAMP – Apache, PHP, MariaDB ja PhpMyAdmin OpenSUSEen

Tämä opetusohjelma opastaa sinua asentamaan LEMP-pinon, jossa on Nginx, MariaDB, PHP, PHP-FPM ja PhpMyAdmin OpenSuse-palvelin- tai työpöytäversioissa.

Nginx HTTP Serverin asentaminen

Nginx on nopea ja luotettava HTTP- ja välityspalvelin, joka pystyy käsittelemään suurempia HTTP-pyyntöjä. Se käyttää asynkronista tapahtumalähtöistä lähestymistapaa pyyntöjen käsittelyyn, ja sen modulaarinen tapahtumaohjattu arkkitehtuuri voi tarjota ennustettavamman suorituskyvyn suurissa kuormissa.

Asenna Nginx OpenSusele suorittamalla seuraava komento.

sudo zypper install nginx

Kun Nginx on asennettu, voit käynnistää palvelun toistaiseksi, ottaa sen käyttöön automaattisesti käynnistyksen yhteydessä ja tarkistaa Nginxin tilan suorittamalla seuraavat komennot.

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

Lue myös: 10 eniten käytettyä Nginx-komentoa jokaisen Linux-käyttäjän on tiedettävä

Tässä vaiheessa Nginx-verkkopalvelimen pitäisi olla käynnissä, voit myös tarkistaa tilan netstat-komennolla kuvan mukaisesti.

sudo netstat -tlpn | grep nginx

Nyt meidän on testattava, toimiiko Nginx-asennus hyvin. Toisin kuin muissa Linux-jakeluissa, openSUSEssa Nginxillä ei ole tavallista index.html-asiakirjaa verkkojuurikansiossa. Meidän on luotava uusi index.html-tiedosto verkkojuurihakemistoon "/srv/www/htdocs" kuten kuvassa.

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

Jos sinulla on palomuuri asennettuna, sinun on avattava portit 80 ja 443, jotta verkkoliikenne sallitaan palomuurissa.

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

Avaa seuraavaksi verkkoselain ja siirry osoitteeseen http://localhost ja vahvista Nginx-sivu.

MariaDB-tietokantapalvelimen asentaminen

MariaDB on MySQL-relaatiotietokannan hallintajärjestelmän ilmainen avoimen lähdekoodin haarukka. Sen ovat kehittäneet alkuperäiset MySQL:n kehittäjät ja sen on tarkoitus pysyä avoimena lähdekoodina. MariaDB on nopea, skaalautuva ja vankka, ja sen runsas tallennusmoottoreiden, laajennusten ja monien muiden työkalujen ekosysteemi tekee siitä erittäin monipuolisen monenlaisiin käyttötarkoituksiin.

Asenna MariaDB OpenSusele suorittamalla seuraava komento.

sudo zypper install mariadb mariadb-client 

Käynnistä seuraavaksi MariaDB-palvelu toistaiseksi, ota se käyttöön automaattisesti käynnistyksen yhteydessä ja tarkista sen tila.

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

Seuraava kriittinen vaihe tässä osiossa on MariaDB-palvelimen asennuksen turvaaminen. Suorita siksi suojausskripti, joka toimitetaan MariaDB-paketin mukana, kuten kuvassa.

Huomaa: MariaDB-suojausohjelman ja sen kaikkien osien suorittamista suositellaan kaikille tuotannossa oleville MariaDB-palvelimille.

sudo mysql_secure_installation 

Kun olet suorittanut skriptin, lue kunkin vaiheen kuvaus huolellisesti. Sinun tulee asettaa pääkäyttäjän salasana, poistaa anonyymit käyttäjät, poistaa etäpääkäyttäjän käyttöoikeudet, poistaa testitietokanta ja pääsy siihen ja lopuksi ladata käyttöoikeustaulukko uudelleen.

PHP:n ja PHP-FPM:n asennus ja konfigurointi

PHP-FPM (lyhenne sanoista PHP FastCGI Process Manager) on vaihtoehtoinen FastCGI-daemon PHP:lle, jossa on joitain lisäominaisuuksia. ja suunniteltu kestämään suuria kuormia. Se ylläpitää pooleja (työntekijöitä, jotka voivat vastata PHP-pyyntöihin) tämän saavuttamiseksi. Tärkeää on, että se on nopeampi kuin perinteiset CGI-pohjaiset menetelmät, kuten SUPHP, usean käyttäjän PHP-ympäristöissä.

Asenna PHP ja PHP-FPM sekä tarvittavat moduulit suorittamalla seuraava komento.

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

Ennen kuin jatkamme PHP-FPM-palvelun käynnistämistä, meidän on luotava tarvittavat määritystiedostot asennuksen aikana toimitetuista oletustiedostoista ja määritettävä palvelu valmiiksi toimintaan.

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

Avaa sitten tärkein php-fpm.conf-määritystiedosto muokkausta varten.

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

Poista seuraavan rivin kommentit riviltä 24 kuvan mukaisesti.

error_log = log/php-fpm.log

Tallenna ja sulje tiedosto.

Seuraavaksi meidän on määritettävä oikeat asetukset määritettyjä pooleja varten www.conf-määritystiedostossa.

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

Määritä ensin prosessien Unix-omistaja ja ryhmäomistaja Nginx-käyttäjälle ja -ryhmälle. Tee tämä muuttamalla käyttäjän ja ryhmän parametrien arvot arvosta nobody arvoon nginx.

user = nginx
group = nginx

Tallenna nyt tiedoston muutokset ja poistu siitä.

Lisäksi on suoritettava yksi tärkeä määritys, joka suojaa PHP-FPM:n /etc/php/cli/php.ini-tiedostossa.

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

Etsi rivi ;cgi.fix_pathinfo=1 ja muuta se muotoon.

cgi.fix_pathinfo=0

Tallenna muutokset tiedostoon ja poistu.

Käynnistä seuraavaksi PHP-FPM-palvelu toistaiseksi, ota sitten käyttöön sen automaattinen käynnistys käynnistyksen yhteydessä ja tarkista sen tila.

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

Nginxin määrittäminen toimimaan PHP-FPM:n kanssa

Tässä vaiheessa meidän on määritettävä Nginx toimimaan PHP-FPM:n kanssa Nginx-oletusasetustiedostossa.

sudo vim /etc/nginx/nginx.conf

Etsi sitten seuraava osio ja lisää index.php odotettujen hakemistotiedostojen luetteloon.

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

Etsi myös seuraava osio (joka tulisi kommentoida) ja poista sen kommentti. Tätä osiota käytetään PHP-skriptien välittämiseen FastCGI-palvelimelle, joka kuuntelee 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; 
       }

Tallenna muutokset tiedostoon ja poistu.

Nginxin ja PHP-FPM:n testaus

Seuraava vaihe on testata, toimiiko Nginx hyvin yhdessä PHP-FPM:n kanssa luomalla uusi PHP-testitiedosto DocumentRoot-hakemistoon esitetty.

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

Nyt meidän on tarkistettava, onko Nginx-kokoonpano oikea seuraavasti, ennen kuin jatkamme palvelun käynnistämistä uudelleen.

sudo nginx -t

Jos Nginx-määrityssyntaksi on kunnossa, käynnistä Nginx- ja PHP-FPM-palvelut uudelleen, jotta viimeaikaiset muutokset tulevat voimaan.

sudo systemctl restart nginx php-fpm

Avaa nyt verkkoselain ja siirry osoitteeseen http://localhost/info.php ja tarkista PHP-asetukset seuraavan kuvakaappauksen mukaisesti.

PhpMyAdminin asentaminen ja määrittäminen

phpMyAdmin on ilmainen, yksinkertainen, helppokäyttöinen ja suosittu PHP-kielellä kirjoitettu työkalu, joka on suunniteltu MySQL-palvelimen hallintaan verkossa. Se tarjoaa laajan valikoiman toimintoja MySQL:llä ja MariaDB:llä.

Asenna phpMyAdmin OpenSusele suorittamalla seuraava komento.

sudo zypper install phpMyAdmin

Kun asennus on valmis, luo uusi vhost-määritystiedosto phpMyAdminin käyttöä varten kuvan osoittamalla tavalla.

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

Lisää nämä seuraavat asetukset tiedostoon.

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

Tallenna muutokset ja sulje tiedosto. Käynnistä sitten Nginx-palvelu uudelleen seuraavalla komennolla.

sudo systemctl restart nginx

Siirry nyt verkkoselaimeen ja kirjoita osoite http://localhost/phpMyAdmin. phpMyAdmin-kirjautumissivun pitäisi näkyä seuraavan kuvakaappauksen mukaisesti. Anna tietokannan pääkäyttäjän kirjautumistiedot ja napsauta Siirry.

Siinä kaikki! Tässä opetusohjelmassa olemme selittäneet, kuinka LEMP-pino asennetaan Nginx-, MariaDB-, PHP-, PHP-FPM ja PhpMyAdmin OpenSuse-palvelin- tai työpöytäversioissa. Jos kohtaat ongelmia asennuksen aikana, esitä kysymyksesi alla olevan kommenttilomakkeen kautta.