Ubuntu 20.04-de PhpMyAdmin bilen LEMP Stack nädip gurmaly


LEMP-iň nämedigini bilmeýänleriňiz üçin bu - programma üpjünçiligi paketleriniň - Linux, Nginx (EngineX diýilýär), MariaDB we PHP.

LEMP-ni synag maksatly ýa-da hakyky önümçilik gurşawynda Laravel ýa-da Yii ýaly PHP çarçuwalaryny ýa-da Joomla ýaly mazmun dolandyryş ulgamlaryny ulanyp web programmalaryny ýerleşdirmek üçin ulanyp bilersiňiz.

LAMP bilen LEMP arasynda näme tapawudyň bardygyny bilip bilersiňiz. Garaz, ýeke-täk tapawut, web serweri - Apache (LAMP-da) we Nginx (LEMP-de). Iki web serweri hem gaty gowy we Apache iň köp ulanylýan bolsa-da, Nginx hiç hili yza çekilmeýär.

Adatça LEMP ýygyndysynyň gapdalynda gurnalan giňden ulanylýan başga bir programma PhpMyAdmin - web brauzerinden MySQL/MariaDB maglumat bazasy serwerini dolandyrmak üçin PHP web esasly guraldyr.

Ubuntu 20.04 üçin LAMP gurnama gözleýän bolsaňyz, Ubuntu 20.04-de LAMP gurnama gollanmamyzy okamaly.

  1. Ubuntu 20.04 Serwer gurmak boýunça gollanma

Bu makalada, Ubuntu 20.04 serwerinde PhpMyAdmin bilen LEMP stakasyny nädip gurmalydygyny we sazlamalydygyny öwrenersiňiz.

1-nji ädim: Ubuntu 20.04-de Nginx gurmak

1. Nginx, köp serwer çeşmelerini sarp etmän, köp sanly baglanyşyklary serwer etmek üçin döredilen çalt döwrebap web serweridir. Şonuň üçin köplenç kärhana şertlerinde ileri tutulýan saýlaw.

NGINX, adatça, ýük balansy we web mazmuny keşi hökmünde ulanylýar. Ady esasly we IP esasly wirtual serwerleri goldaýar (Apache-de wirtual hostlara meňzeýär).

Aşakdaky buýrugy ýerine ýetirip, Nginx-i Ubuntu 20.04 iş stoluňyzda ýa-da serweriňizde gurup bilersiňiz.

$ sudo apt update
$ sudo apt install nginx

Nginx konfigurasiýa faýllary/etc/nginx katalogynda saklanýar we esasy konfigurasiýa faýly /etc/nginx/nginx.conf. Möhümi, web faýllaryňyzy saklamak üçin deslapky resminama kökü/usr/share/nginx/html /. Websiteöne web sahypaňyzyň ýa-da programmaňyzyň serwer blok konfigurasiýa faýlynda düzülmeli standart/var/www/html ulanyp bilersiňiz.

2. Ubuntu paket gurnaýjysy, Nginx hyzmatyny başlamak we her gezek serwer täzeden açylanda awtomatiki başlamaga mümkinçilik bermek üçin systemd-i işledýär. Hyzmatyň işleýändigini we açykdygyny tassyklamak üçin aşakdaky systemctl buýruklaryny ulanyň.

$ sudo systemctl status nginx 
$ sudo systemctl is-enabled nginx

3. Indi serwer IP adresi ulanyp, brauzer arkaly Nginx sahypasyna jaň edip, Nginx gurnamagynyň üstünlikli bolandygyny barlamagyň wagty geldi.

http://SERVER_IP

Serweriňiziň IP adresini bilmeseňiz, görkezilişi ýaly IP buýrugyny ulanyp bilersiňiz.

$ ip addr show

NGINX deslapky web sahypasy, dogry gurnamany we işleýşini tassyklaýan aşakdaky skrinshotda görkezilişi ýaly ýüklenmeli.

2-nji ädim: Ubuntu 20.04-de MariaDB maglumat bazasyny gurmak

4. MariaDB, Oracle satyn alnandan soň MySQL-iň jemgyýetçilik çatrygy hökmünde döredilen has täze baglanyşyk bazasyny dolandyrmak ulgamy.

MariaDB-ni gurnamak ýönekeý we buýruk bilen başlap bolar:

$ sudo apt install mariadb-server mariadb-client

5. “MariaDB” hyzmaty hem awtomatiki usulda başlaýar we elmydama ulgam ýüklemesinden başlamaga mümkinçilik berýär we aşakdaky buýruklary ulanyp tassyklap bilersiňiz.

$ sudo systemctl status mariadb
$ sudo systemctl is-enabled mariadb

6. MariaDB howpsuzlygyny gowulaşdyrmak isleseňiz, düzmek üçin käbir esasy, ýöne möhüm wariantlary üpjün etjek mysql_secure_installation buýrugyny işledip bilersiňiz:

$ sudo mysql_secure_installation

Soňra maglumat bazasynyň köküni (ýa-da administrator) ulanyjynyň parolyny düzmek we görkezmelere eýermek we soraglary üns bilen okamak opsiýasyny saýlaň. Maglumat bazasynyň serwerini goramak üçin, skrinshotda görkezilişi ýaly soraglara jogap beriň.

  • Kök üçin häzirki paroly giriziň (hiç kim üçin girmäň): Enter
  • Kök parolyny düzüň? [Y/n] y
  • Anonim ulanyjylary aýyrýarsyňyzmy? [Y/n] y
  • Kök girişini uzakdan gadagan ediň? [Y/n] y
  • Synag maglumatlar bazasyny aýyryň we oňa girip bilersiňizmi? [Y/n] y
  • artykmaçlyk tablisalaryny täzeden ýükläňmi? [Y/n] y

7. Maglumat bazasynyň amallaryny döretmek, dolandyrmak we ýerine ýetirmek üçin ulanyjynyň parolyny üpjün etmek üçin maglumat bazasynyň ulanyjy adyny we -p bellemek üçin -u baýdagy bilen mysql shell buýrugy gerek. .

Kök ulanyjy hökmünde birikmek üçin sudo buýrugyny ulanyň (hatda -p baýdagy bolmasa-da), ýogsam aşakdaky skrinshotda görkezilen ýalňyşlygy alarsyňyz.

$ mysql -u root -p
$ sudo mysql -u root

3-nji ädim: Ubuntu 20.04-de PHP gurmak

8. PHP web sahypalaryny we web programmalaryny gurmak üçin meşhur açyk çeşme, çeýe we dinamiki skript dilidir. Dürli programmirleme usullaryny goldaýar. Möhümi, PHP jemgyýeti uly we dürli-dürli, sansyz kitaphanalardan, çarçuwalardan we beýleki peýdaly böleklerden durýar.

NGINX, PHP skriptlerini gaýtadan işlemek üçin FPM (FastCGI Prosess Manager) ýa-da PHP-FPM ulanýar. PHP-FPM giňden ulanylýan alternatiw PHP FastCGI ýerine ýetirişidir, köp goşmaça aýratynlyklary öz içine alýar we ýokary traffikli saýtlary/web programmalaryny işletmek üçin ulanylýar.

PHP we PHP-FPM gurmak üçin aşakdaky buýrugy işlediň, käbir zerur goşmaça paketleri hem gurar.

$ sudo apt install php php-mysql php-fpm

PHP 7.4, Ubuntu 20.04-de PHP-iň deslapky wersiýasy bolany üçin, PHP konfigurasiýa faýllary /etc/php/7.4/ ýerleşýär we PHP-FPM konfigurasiýa faýllary /etc/php/7.4/fpm astynda saklanýar.

9. Ondan soň, php7.4-fpm hyzmatynyň işleýändigini ýa-da işlemeýändigini, aşakdaky buýruk bilen işledilendigini barlaň.

$ sudo systemctl status php7.4-fpm
$ sudo systemctl is-enabled php7.4-fpm

4-nji ädim: Nginx-i PHP-FPM bilen işlemek üçin düzmek

10. Indi NGINX-ni PHP-FPM-e proksi müşderiniň isleglerine sazlamaly, adaty ýagdaýda /etc/php/7.4/fpm/pool.d/www diňleýjiniň parametri boýunça UNIX rozetkasynda diňlemek üçin düzülen. .conf deslapky howuz konfigurasiýa faýly.

$ sudo vi /etc/php/7.4/fpm/pool.d/www.conf 

11. Adaty serwer blok konfigurasiýa faýlynda (/ etc/nginx/sites-available/default), PHP haýyşlaryny gaýtadan işlemek üçin ýerleşiş görkezmesini aşakdaky skrinshotda görkezilişi ýaly görkeziň.

$ sudo vi /etc/nginx/sites-available/default

Faýly ýazdyryň we çykyň.

12. Soňra NGINX konfigurasiýa sintaksisini dogrulygyny barlaň. Gowy bolsa, täze üýtgeşmeleri ulanmak üçin Nginx hyzmatyny täzeden açyň.

$ sudo nginx -t
$ sudo systemctl restart nginx

13. Indi NGINX-iň PHP-FPM bilen bilelikde PHP haýyşlaryny işlemek üçin işläp biljekdigini barlaň. Resminamanyň kök katalogynyň aşagynda ýönekeý info.php sahypasyny dörediň.

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

14. Brauzeriňizde aşakdaky adresi ulanyp geziň. PHP konfigurasiýa sahypasy aşakdaky skrinshotda görkezilişi ýaly ýüklemeli.

http://SERVER_IP/info.php

5-nji ädim: Ubuntu 20.04-de PhpMyAdmin gurmak

15. PhpMyAdmin, web brauzeri arkaly MySQL/MariaDB maglumat bazasynyň serwerlerini dolandyrmak üçin ýörite döredilen mugt we açyk çeşme web esasly PHP programmasydyr. Düşünjeli grafiki interfeýsi üpjün edýär we maglumat bazasyny dolandyrmak meseleleri üçin umumy aýratynlyklaryň giň toplumyny goldaýar.

$ sudo apt install phpmyadmin

16. Bukjany gurnanyňyzda, PhpMyAdmin paketiniň birnäçe tarapyny düzmek soralar. Ilki bilen, ony işletmek üçin deslapky web serwerini saýlamak soralar. Esc basyň, sebäbi NGINX berlen sanawda ýok.

17. Ondan soň, PhpMyAdmin işlemek üçin maglumat bazasyny talap edýär. Bu paket konfigurasiýa teklipinde, PhpMyAdmin üçin dbconfig-umumy bukjasy bilen maglumat bazasyny düzmek üçin Hawa saýlaň.

18. Indiki haýyşda, PhpMyAdmin-iň MariaDB maglumat bazasynda hasaba alynmagy üçin parol bermeli. Ygtybarly parol giriziň we Enter basyň.

6-njy ädim: PhpMyAdmin sahypasyna hyzmat etmek üçin NGINX sazlamak

19. NGINX-a/usr/share/phpmyadmin-de ýerleşýän PhpMyAdmin saýtyna hyzmat etmek üçin resminama köküniň aşagyndaky bu katalog üçin baglanyşyk dörediň, soňra PHPMyAdmin katalogynda dogry rugsatlary we eýeçiligi belläň.

$ sudo ln -s  /usr/share/phpmyadmin /var/www/html/phpmyadmin
$ sudo chmod 775 -R /usr/share/phpmyadmin/
$ sudo chown root:www-data -R /usr/share/phpmyadmin/

20. Mundan başga-da, deslapky serwer blok konfigurasiýasy (/ etc/nginx/sites-available/default) faýlyndaky indeks direktiwasynyň aşakdaky skrinshotda görkezilişi ýaly index.php-i öz içine alýandygyna göz ýetiriň.

21. Ondan soň, ýokardaky üýtgeşmeleri ulanmak üçin Nginx hyzmatyny ýene bir gezek açyň.

$ sudo systemctl restart nginx

22. Indi PhpMyAdmin sahypasyna aşakdaky adresi ulanyp brauzerden giriň.

http://SERVER_IP/phpmyadmin

Giriş sahypasynda, PHPMyAdmin ulanyjy ady we paroly bilen tassyklaň. MariaDB maglumat bazasy gurlan ýerlihostda PHPMyAdmin-e girmeseňiz, uzakdaky kök ulanyjy girişiniň ýapykdygyny ýadyňyzdan çykarmaň, kök ygtyýary işlemez.

Iň soňkusy, gollanmamyzy ulanyp, PhpMyAdmin gurnamagyňyzy ygtybarly ediň: 4 PhpMyAdmin web interfeýsini goramak üçin peýdaly maslahatlar.

Netije

LEMP gurmak indi tamamlandy we web programmalaryňyzy gurup bilersiňiz ýa-da ýaňy guran Nginx we MariaDB hyzmatlaryňyz bilen oýnap bilersiňiz. Bular giňden ulanylýar we ulgam dolandyryjylary üçin has köp bilim almak maslahat berilýär.