AlmaLinux 8.4-de LAMP Stackini nädip gurmaly


LAMP, web programmalaryny ösdürmek we synagdan geçirmek üçin ulanylýan meşhur hosting stakasydyr. Linux, Apache, MariaDB we PHP üçin gysgaça söz.

Apache açyk çeşme we giňden ulanylýan web serweridir. MariaDB maglumatlar bazasynyň içindäki tablisalarda maglumatlary saklaýan açyk çeşme baglanyşyk bazasy serweridir we PHP dinamiki web sahypalaryny ösdürmek üçin ulanylýan serwer tarapyndaky skript dilidir.

Bu ädimde, AlmaLinux-da LAMP stakasynyň gurlandygyny görkezeris.

1-nji ädim: AlmaLinux-da Apache guruň

Apache web serwerini gurmakdan başlaýarys. Apache httpd bukjasy AppStream ammarynda ýerleşýär. Şeýle bolansoň, DNF paket dolandyryjysyny ulanyp, Apache gurup bilersiňiz:

$ sudo dnf install -y @httpd

Apache gurnandan soň, görkezilişi ýaly Apache hyzmatyny dowam etdiriň.

$ sudo systemctl start httpd

Şeýle hem, ulgam işledilende ýa-da gaýtadan açylanda Apache web serwerini işletmek isleýärsiňiz. Şonuň üçin Apache hyzmatyny işlediň.

$ sudo systemctl enable httpd

Apache-iň işleýändigine göz ýetirmek üçin buýrugy işlediň:

$ sudo systemctl status httpd

Çykyş, Apache-iň garaşylyşy ýaly işleýändigini görkezýär.

Şeýle hem, Apache-iň serweriň IP ýa-da domen adyna göz aýlamak arkaly işjeňdigini barlap bileris. Firstöne ilki bilen, “Firewalld” açyk bolsa, gorag diwaryndan HTTP traffigine rugsat bermeli.

$ sudo firewall-cmd --permanent --zone=public --add-service=http

Üýtgeşmeleri ulanmak üçin diwar diwaryny täzeden açyň.

$ sudo firewall-cmd --reload

Indi görkezilişi ýaly serweriň IP adresine göz aýlap bilersiňiz.

http://server-ip-address
OR
http://your-domain.com

“Apache” hoş geldiňiz sahypasy, web serweriniň üstünlikli gurlandygyny tassyklamak üçin geler.

2-nji ädim: “MariaDB” -ni “AlmaLinux” -da guruň

Öňe gidip, MariaDB gurjak bolýarys - MySQL-iň çatrygy bolan maglumatlar bazasyny dolandyrmak ulgamy (RDBMS). “MariaDB” “AppStream” ammaryndan hem elýeterlidir. MariaDB-iň elýeterli wersiýalaryny aşakdaky buýrugy ýerine ýetirip bilersiňiz

$ sudo dnf module list mariadb

Çykyşdan deslapky wersiýa MariaDB 10.3. Şeýle-de bolsa, ammarda iň soňky bolan 10.5 gurarys.
Munuň amala aşmagy üçin MariaDB modulyny aşakdaky ýaly täzeden düzüň.

$ sudo dnf module reset mariadb

Soňra buýrugy ulanyp iň soňky MariaDB wersiýasyny guruň:

$ sudo dnf module install mariadb:10.5

Tamam bolansoň, MariaDB hyzmatyny başlamagy unutmaň.

$ sudo systemctl start mariadb

Soňra her gezek ulgam açylanda ýa-da gaýtadan açylanda MariaDB-e başlaň.

$ sudo systemctl enable mariadb

Baglanyşyk bazasy serweriniň işleýändigini we işleýändigini tassyklamak üçin ýerine ýetiriň:

$ sudo systemctl status mariadb

MariaDB-iň deslapky sazlamalary gowşak we serwere howp abandyrýar. Şeýle bolansoň, bir ädim öňe bararys we MariaDB-ni gatylaşdyrarys. Görkezilen skripti işlediň.

$ sudo mysql_secure_installation

Size birnäçe teklip berler. Ilki bilen kök parolyny belläň.

Teklipleriň galan bölegi üçin, maslahat berilýän sazlamalara üýtgetmek üçin Y jogap beriň. Bu näbelli ulanyjylary aýyrmagy, uzakdaky kök girişini blokirlemegi we synag maglumatlar bazasyny aýyrmagy öz içine alýar.

Maglumat bazasynyň serwerine girmek üçin buýrugy işlediň.

$ sudo mysql -u root -p

3-nji ädim: PHP 8-i AlmaLinux-a guruň

Gurjak LAMP stakanyň iň soňky bölegi PHP. Bu dinamiki web programmalaryny ösdürmek üçin serwer tarapyndaky skript dilidir.

“AppStream” ammarynda bar bolan PHP wersiýalaryny barlamak üçin işlediň:

$ sudo dnf module list php

“AppStream” repo tarapyndan hödürlenýän iň soňky wersiýa PHP 7.4.

Şeýle-de bolsa, PHP-iň iň täze wersiýasyny gurmak isleseňiz, Remi ammaryny gurmaly. Bu, iň soňky PHP wersiýalaryny üpjün edýän üçünji tarap ammary.

Remi ammaryny AlmaLinux-a aşakdaky ýaly guruň:

$ sudo dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Teklip edilýän PHP modullaryny ýene bir gezek sanaň we bu gezek teklip edilýän PHP modullary bilen sanawdaky Remi ammaryny alarsyňyz.

$ sudo dnf module list php

Bu gollanmany ýazan wagtyňyz iň soňky PHP wersiýasy PHP 8.1 bolup, goýberiş kandidaty. Bu Beta wersiýasyna deňdir we diňe önümçilik däl-de, synag maksatly ulanylmaly.

Iň soňky PHP modulyny gurmak üçin, adaty PHP modulyny täzeden düzüň we PHP 8.1 modulyny aşakdaky ýaly işlediň.

$ sudo dnf module reset php
$ sudo dnf module enable php:remi-8.1

Ahyrynda, görkezilişi ýaly PHP we öz islegiňiziň beýleki PHP modullaryny guruň.

$ sudo dnf install php php-common php-cli php-mbstring php-xml php-zip php-mysqlnd php-opcache php-curl php-intl php-gd

Gurmak gutaransoň, gurnalan PHP wersiýasyny barlaň.

$ php -v

Bulardan başga-da, ilki görkezilişi ýaly synag PHP faýly döredip, brauzerde PHP-ni synap bilersiňiz.

$ sudo vim /var/www/html/info.php

Ondan soň aşakdaky PHP faýllaryny goýuň.

<?php
phpinfo();
?>

Üýtgeşmeleri ýazdyryň we faýldan çykyň. Apache web serwerini täzeden açyň.

$ sudo systemctl restart httpd

Soňra görkezilen URL-e göz aýlaň.

http://server-ip/info.php
OR
http://your-domain.com/info.php

Bu, beýleki jikme-jiklikleriň arasynda gurlan PHP wersiýasyny görkezýän PHP maglumat sahypasyna ugrukdyrmalydyr.

Bu bolsa AlmaLinux-da LAMP stakasyny gurnamak boýunça bu sapagy tamamlaýar. Indi Apache-ni HTTPS bilen howpsuz ýerleşdirip bilersiňiz.