Asenna LEMP - Nginx, PHP, MariaDB ja PhpMyAdmin OpenSUSEen


LEMP tai Linux, Engine-x, MySQL ja PHP -pino on ohjelmistopaketti, joka koostuu Linux-käyttöjärjestelmään asennetusta avoimen lähdekoodin ohjelmistosta Nginx HTTP -palvelimen ja MySQL/MariaDB-tietokannan hallintajärjestelmän tarjoamien PHP-pohjaisten verkkosovellusten ajamiseksi.

Tämä opetusohjelma opastaa sinua asentamaan LEMP-pinon Nginx-, MariaDB-, PHP-, PHP-FPM- ja PhpMyAdmin-palvelimilla OpenSuse-palvelin-/työpöytäversioihin.

Nginx HTTP -palvelimen asentaminen

Nginx on nopea ja luotettava HTTP- ja välityspalvelin, joka pystyy käsittelemään suurempia HTTP-pyyntöjä. Se käyttää asynkronista tapahtumapohjaista lähestymistapaa pyyntöjen käsittelyssä, ja sen modulaarinen tapahtumapohjainen arkkitehtuuri voi tarjota ennustettavamman suorituskyvyn suurilla kuormilla.

Asenna Nginx OpenSuseen suorittamalla seuraava komento.

$ sudo zypper install nginx

Kun Nginx on asennettu, voit käynnistää palvelun toistaiseksi ja sallia sen käynnistyvän automaattisesti käynnistyshetkellä ja tarkistaa Nginxin tilan suorittamalla seuraavat komennot.

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

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

$ sudo netstat -tlpn | grep nginx

Nyt meidän on testattava, toimiiko Nginx-asennus hyvin. Toisin kuin muissa Linux-jakeluissa, openSUSE-ohjelmassa Nginxillä ei ole tavallista index.html -asiakirjaa Web-juurikansiossa. Meidän on luotava uusi index.html -tiedosto juurihakemistoon \"/ srv/www/htdocs \" kuten näytetään.

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

Jos palomuuri on asennettu, sinun on avattava portit 80 ja 443, jotta verkkoliikenne sallitaan palomuurilla.

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

Avaa seuraavaksi selain ja siirry osoitteeseen http:// localhost ja tarkista Nginx-sivu.

MariaDB-tietokantapalvelimen asentaminen

MariaDB on ilmainen ja avoimen lähdekoodin haarukka MySQL-relaatiotietokantojen hallintajärjestelmästä. Sen ovat kehittäneet MySQL: n alkuperäiset kehittäjät, ja sen on tarkoitus pysyä avoimena lähdekoodina. MariaDB on nopea, skaalautuva ja kestävä, ja siinä on runsaasti ekosysteemiä tallennusmoottoreita, laajennuksia ja monia muita työkaluja, jotka tekevät siitä erittäin monipuolisen monenlaisiin käyttötapauksiin.

Asenna MariaDB OpenSuseen suorittamalla seuraava komento.

$ sudo zypper install mariadb mariadb-client 

Käynnistä seuraavaksi MariaDB-palvelu toistaiseksi, anna sen käynnistää automaattisesti käynnistyshetkellä ja tarkistaa sen tila.

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

Seuraava kriittinen vaihe tämän osan alla on suojata MariaDB-palvelimen asennus. Suorita sen vuoksi MariaDB-paketin mukana toimitettu turvaohjelma, kuten kuvassa.

Huomautus: MariaDB-suojauskoodin ja sen kaikkien osien ajaminen on erittäin suositeltavaa kaikille tuotannossa oleville MariaDB-palvelimille.

$ sudo mysql_secure_installation 

Kun olet suorittanut komentosarjan, lue kuvaus jokaisessa vaiheessa huolellisesti. Sinun tulisi asettaa pääkäyttäjän salasana, poistaa tuntemattomat käyttäjät, poistaa pääkäyttäjän etäkäyttö, poistaa testitietokanta ja pääsy siihen ja lopuksi ladata käyttöoikeuksien taulukko.

PHP: n ja PHP-FPM: n asentaminen ja määrittäminen

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

Asenna PHP ja PHP-FPM tarvittavien moduulien kanssa suorittamalla seuraava komento.

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

Ennen kuin aloitamme PHP-FPM-palvelun, meidän on luotava tarvittavat kokoonpanotiedostot asennuksen aikana toimitetuista oletustiedostoista ja määritettävä palvelu toimintavalmiiksi.

$ 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 php-fpm.conf -asetustiedosto muokkausta varten.

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

Kommentoi seuraava rivi rivillä numero 24 kuvan osoittamalla tavalla.

error_log = log/php-fpm.log

Tallenna ja sulje tiedosto.

Seuraavaksi meidän on määritettävä oikeat asetukset määritetyille ryhmille www.conf -määritystiedostossa.

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

Määritä ensin prosessien Unix-omistaja ja -ryhmän 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 muutokset tiedostoon ja poistu siitä.

Lisäksi on suoritettava yksi tärkeä kokoonpano, 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 se sitten käyttöön käynnistyshetkellä 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 oletusarvoisessa Nginx-määritystiedostossa.

$ sudo vim /etc/nginx/nginx.conf

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

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

Löydä myös seuraava osa (joka tulisi kommentoida) ja kommentoi sitä. Tätä osiota käytetään välittämään PHP-komentosarjat 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 kuvan osoittamalla tavalla.

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

Nyt meidän on tarkistettava, onko Nginx-kokoonpano oikea seuraavasti, ennen kuin aloitamme palvelun uudelleen.

$ sudo nginx -t

Jos Nginx-kokoonpanosyntaksi on kunnossa, jatka ja käynnistä Nginx- ja PHP-FPM-palvelut uudelleen, jotta viimeisimmät muutokset tulevat voimaan.

$ sudo systemctl restart nginx php-fpm

Avaa nyt selain ja siirry osoitteeseen http://localhost/info.php vahvistaaksesi PHP-kokoonpanon seuraavassa kuvakaappauksessa esitetyllä tavalla.

PhpMyAdminin asentaminen ja määrittäminen

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

Asenna phpMyAdmin OpenSuseen suorittamalla seuraava komento.

$ sudo zypper install phpMyAdmin

Kun asennus on valmis, luo uusi vhost-määritystiedosto, jotta pääset käsiksi phpMyAdminiin kuvan osoittamalla tavalla.

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

Lisää nämä seuraavat määritykset 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 selaimeesi ja kirjoita osoite http:// localhost/phpMyAdmin. PhpMyAdmin-kirjautumissivun pitäisi näkyä seuraavan kuvakaappauksen mukaisesti. Kirjoita 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-palvelimilla OpenSuse-palvelin-/työpöytäversioihin. Jos kohtaat ongelmia asennuksen aikana, kysy alla olevan kommenttilomakkeen avulla.