CentOS 8-de LAMP serwerini nädip gurmaly


Linux, Apache, MySQL we PHP üçin gysgaldylan LAMP, dinamiki web sahypalaryny barlamak we ýerleşdirmek üçin web sahypasynyň dolandyryjylary we döredijileri tarapyndan ulanylýan meşhur mugt we açyk çeşme.

LAMP serweri 4 esasy komponent bilen gelýär: Apache web serweri, MySQL ýa-da MariaDB maglumat bazasy we dinamiki web sahypalaryny döretmek üçin ulanylýan meşhur skript dili bolan PHP.

Degişli makala: CentOS 8-de LEMP serwerini nädip gurmaly

LAMP ýygyndysy, ulanyjylaryň web sahypalary üçin hosting gurşawyny üpjün etmekde hosting kompaniýalarynyň köpüsi üçin meşhur hosting toplumydyr. Bu makalada CentOS 8 Linux paýlanyşynda LAMP serwerini nädip gurmalydygyny öwrenersiňiz.

1-nji ädim: CentOS 8 programma üpjünçiligini täzeläň

Hemişe maslahat berlişi ýaly, islendik gurnama başlamazdan ozal programma üpjünçiliginiň paketlerini täzelemek gowy zat. Şonuň üçin serweriňize giriň we aşakdaky buýrugy işlediň.

$ sudo dnf update

2-nji ädim: CentOS 8-de Apache web serwerini guruň

Ulgam paketleriniň täzelenmegi bilen indiki ädim Apache Web Serwerini gurmak we buýrugy ýerine ýetirmek üçin käbir möhüm gurallar we kömekçi enjamlar.

$ sudo dnf install httpd httpd-tools 

Gurmak tamamlanandan soň, aşakdaky buýrugy ulanyp, Apache-i ulgam ýükleme wagtynda awtomatiki başlamaga mümkinçilik beriň.

$ sudo systemctl enable httpd

Ondan soň buýrugy işledip Apache hyzmatyny başlaň.

$ sudo systemctl start httpd

Apache web hyzmatynyň işleýändigini tassyklamak üçin buýrugy işlediň.

$ sudo systemctl status httpd

Apache guranyňyzdan soň, web serwerine haýyşlara rugsat bermek üçin diwar gorag düzgünlerini täzeläň.

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

Biraz bilesigeliji bolsaňyz, rpm buýrugyny işledip, Apache bilen baglanyşykly beýleki jikme-jiklikleriň arasynda apache wersiýasyny alyp bilersiňiz.

$ sudo rpm -qi

Mundan başga-da, web brauzeriňizi açyp, görkezilen serweriňiziň IP-sine baryp bilersiňiz.

http://server-IP

3-nji ädim: CentOS 8-de MariaDB guruň

MariaDB MySQL maglumat bazasynyň çatrygydyr. Oracle-yň MySQL-i ýapyk çeşme taslamasyna öwürip biljekdigi barada alada edýän MySQL-iň öňki topary tarapyndan döredildi. MySQL-dan has gowy wariant döredýän MySQL-den has täze we has gowy aýratynlyklary bilen iberilýär.

MariaDB gurmak üçin buýrugy işlediň.

$ dnf install mariadb-server mariadb -y

Ondan soň, MariDB-i işe başlaň we işlediň, buýrugy işlediň.

$ systemctl start mariadb
$ systemctl enable mariadb

Buýrugy işledip, MariaDB-iň ýagdaýyny barlap bilersiňiz.

$ systemctl status mariadb

Iň soňunda bolsa, MariaDB maglumat bazasynyň hereketlendirijisini işletmek bilen üpjün etmeli.

$ mysql_secure_installation

Size kök parolyny girizmek (kök parolyňyz bar bolsa) ýa-da gurmak soralar. Ondan soň her haýyş üçin Y jogap beriň.

4-nji ädim: PHOS 7-ni CentOS 8-de guruň

Gurmak üçin zerur bolan LAMP stakasyndaky iň soňky komponent PHP bolup, ýokarda belläp geçişimiz ýaly, PHP dinamiki web sahypalaryny ösdürmek üçin ulanylýan skript web programmirleme dilidir.

Remi ammaryny ulanyp, PHP-iň iň soňky wersiýasyny (bu gollanmany ýazýança PHP 7.4) gurmakçy.

Ilki bilen EPEL ammaryny guruň.

$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Ondan soň, ýum gurallaryny guruň we aşakdaky buýrugy ulanyp, ammarlary açyň.

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

“Yum-utils” we “Remi-paketler” üstünlikli gurlandan soň, buýrugy işledip göçürip alyp boljak PHP modullaryny gözläň.

$ sudo dnf module list php

Çykyş, aşakda görkezilişi ýaly elýeterli PHP modullaryny, akym we gurnama profilini öz içine alar.

Çykyş, häzirki wagtda gurlan PHP wersiýasynyň PHP 7.2 bolandygyny görkezýär. Has täze çykarylan PHP 7.4 gurmak üçin, PHP modullaryny täzeden düzüň.

$ sudo dnf module reset php

PHP modullaryny täzeden düzeniňizden soň, PHP 7.4 modulyny işlediň.

$ sudo dnf module enable php:remi-7.4

Ahyrynda, buýrugy ulanyp, PHP, PHP-FPM (FastCGI Prosess Manager) we baglanyşykly PHP modullaryny guruň.

$ sudo dnf install php php-opcache php-gd php-curl php-mysqlnd

Işletmek üçin gurlan wersiýany barlamak üçin.

$ php -v 

Ajaýyp! Indi PHP 7.4 gurduk. Şol bir wagtyň özünde, PHP-FPM-i açyp başlamaly we işletmeli.

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

Statusagdaýyny barlamak üçin buýrugy ýerine ýetiriň.

$ sudo systemctl status php-fpm

SELinux-a Apache-e PHP-FPM işleýşi arkaly PHP koduny ýerine ýetirmegine rugsat bermek.

$ setsebool -P httpd_execmem 1

Netijede, PHP üçin Apache web serweri bilen işlemek üçin Apache web serwerini täzeden açyň.

$ sudo systemctl restart httpd

5-nji ädim: PHP maglumatlaryny barlamak

Web serweri bilen PHP-ni barlamak üçin resminamanyň kök katalogyna info.php faýly döretmeli bolarsyňyz.

$ vi /var/www/html/info.php

PHP kody aşakda goýuň we faýly ýazdyryň.

<?php
 phpinfo ();
?>

Soňra brauzeriňize çykyň we aşakdaky URL-ni ýazyň. Serweriň IP adresini serweriňiziň hakyky IP adresi bilen çalyşmagy ýatdan çykarmaň.

http://server-ip-address/info.php

Indi web brauzeriňizde PHP hakda maglumatlary görüp bilmeli.

Gowy! Indi CentOS 8 ulgamyňyza Apache, PHP we MariaDB gurduňyz. Iň oňat tejribe hökmünde, info.php faýlyny pozmagyňyzy üpjün ediň, sebäbi hakerler işleýän PHP wersiýaňyzy kesgitläp bilse, howpsuzlyk howpuny döredip biler.