Fedora 24 Serwerinde we Iş stansiýasynda MariaDB we PHP/PHP-FPM bilen Nginx gurmak


Fedora 24 serwer neşirini enjamyňyzda gurnan bolsaňyz gerek, web sahypalaryny we web programmalaryny işletmek üçin web serwerini döretmäge höwes bilen garaşýarsyňyz. Mundan beýläk seretme, sebäbi bu zatlaryň hemmesini ahyrynda baha berjek ýönekeý we aňsat ädimler bilen ederis.

Nädip ýol görkezmelidigimizde, Fedora 24 web serweriňize LEMP stackini nädip gurup boljakdygynyň dürli ädimlerinden geçeris. LAMP-a meňzeş, ýöne LEMP-iň aşagynda Nginx web serwerini ulanýarys.

1-nji ädim: Ulgam paketlerini täzelemek

Ulgam paketleriňizi aşakdaky ýaly täzeläp başlap bilersiňiz:

# dnf update

Doneerine ýetirilenden soň, birleşdirilen LEMP paketlerini gurmaga dowam ediň.

2-nji ädim: Nginx web serwerini guruň

Nginx, Apache web serwerine alternatiwadyr, ýeňil agramly we az ulgam çeşmesini sarp edýär, şonuň üçin kärhananyň önümçilik şertlerinde ýokary öndürijiligi, durnuklylygy we çeýeligi.

Fedora 24-de Nginx gurmak üçin aşakdaky buýrugy beriň:

# dnf install nginx  

Gurmak gutaransoň, ulgamyňyzdaky Nginx hyzmatyny dolandyrmaly. Ilki bilen aşakdaky buýrugy işledip, awtomatiki usulda başlamak üçin sazlamaly:

# systemctl enable nginx.service

Soňra hyzmaty aşakdaky ýaly başlaň:
# systemctl nginx.service başla

Ondan soň, Nginx serweriniň işleýändigini barlaň, muny ýerine ýetirmek üçin aşakdaky buýrugy berip bilersiňiz:

# systemctl status nginx.service

Nginx web serweriňizi HTTP/HTTPS protokolyndan görmek üçin ulgam gorag diwary arkaly oňa girmäge rugsat bermeli. Munuň üçin aşakdaky buýruklary işlediň:

# firewall-cmd --permanent --add-service=http
# firewall-cmd --permanent --add-service=https

Soňra ýokardaky üýtgeşmeleri aşakdaky ýaly ýerine ýetirmek üçin ulgam firewall konfigurasiýalaryny täzeden ýükläň:

# systemctl reload firewalld

Indi halaýan redaktoryňyzy ulanyp, Nginx server_name direktiwasyny düzmäge geçiň, /etc/nginx/nginx.conf faýly açyň we görkezilişi ýaly konfigurasiýa görkezmesini tapyň:

server_name server-ip-address;

Bellik: Nginx resminama bukjasynyň kökü /usr/share/nginx/html bolup, ähli web faýllaryňyzy şu ýerde ýerleşdirip bilersiňiz.

Nginx gurnamagynyň çäginde etmeli ýene bir möhüm zat, Nginx gurnama indeks sahypasynyň web brauzeriňize ýükläp biljekdigini ýa-da ýokdugyny barlamak, şonuň üçin web brauzeriňizi açyň we URL giriziň:

http://server-ip-address

Aşakdaky sahypany görüp bilmeli:

3-nji ädim: MariaDB serwerini guruň

MariaDB, iň meşhur MySQL baglanyşyk bazasy serweriniň çatrygy, MariaDB-ni Fedora 24 serwerine gurmak, aşakdaky buýrugy beriň:

# dnf install mariadb-server

MariaDB gurnamasyny tamamlanyňyzdan soň, aşakdaky buýruklary işledip, hyzmaty işjeňleşdirmeli, başlamaly we barlamaly.

# systemctl enable mariadb-service  
# systemctl start mariadb-service 
# systemctl status mariadb-service  

Aşakdaky buýrugy ulanyp, MariaDB gurnamagyňyzy üpjün etmegiň wagty geldi:

# mysql_secure_installation

Aboveokardaky buýrugy ýerine ýetireniňizden soň size aşakdaky ýaly birnäçe sorag berler:

Enter current password for root(enter for none): Here, Simply press [Enter]
Next you will be asked to set a root user password for your MariaDB server.
Set root password? [Y/n]: y and hit [Enter]
New password: Enter a new password for root user
Re-enter new password: Re-enter the above password 
Remove anonymous users? [Y/n]: y to remove anonymous users
It is not always good to keep your system open to remote access by root user, in case an attacker lands on your root user password, he/she can cause damage to your system. 
Disallow root login remotely? [Y/n]: y to prevent remote access for root user. 
Remove test database and access to it? [Y/n]: y to remove the test database
Finally, you need to reload privileges tables on your database server for the above changes to take effect.
Reload privileges tables now? [Y/n]: y to reload privileges tables 

4-nji ädim: PHP we modullary guruň

Fedora 24-de modullary bilen birlikde PHP gurmak üçin aşakdaky buýrugy ulanyň:

# dnf install php php-commom php-fpm php-mysql php-gd

PHP we käbir PHP modullary gurnamagy tamamlandan soň, PHP faýllaryny işletmek üçin PHP sazlamaly.

Düzgüne görä, PHP-FPM Apache web serweri bilen ulanmak üçin düzülendir, ýöne bu ýerde biziň üçin Nginx web serwerini ulanýarys. Şonuň üçin aşakdaky ädimlerde bu sazlamany üýtgetmeli:

Halaýan redaktoryňyzy ulanyp /etc/php-fpm.d/www.conf faýlyny aşakdaky ýaly açyň:

# vi /etc/php-fpm.d/www.conf

Soňra aşakdaky setirlerde ulanyjynyň we toparyň bahalaryny apache-den nginx-e üýtgediň:

; RPM: apache Choosed to be able to access some dir as httpd 
user = nginx 
; RPM: Keep a group allowed to write in log dir. 
group = nginx

Soňra ýokardaky üýtgeşmeleri amala aşyrmak üçin PHP-FPM we Nginx web serwerini täzeden açyň:

# systemctl restart php-fpm.services
# systemctl restart nginx.services

Ondan soň, aşakdaky buýruklary berýändiklerini tassyklaň:

# systemctl status php-fpm.services
# systemctl status nginx.services

Indi hemmesini synap bilersiňiz, halaýan redaktoryňyzy ulanyp, Nginx kök katalogyňyzda aşakdaky ýaly info.php faýly döredip bilersiňiz:

# vi /usr/share/nginx/html/info.php

Faýla aşakdaky setirleri goşuň, saklaň we çykyň.

<?php
phpinfo()
?>

Soňra web brauzeriňizi açyň we PHP maglumatyny barlamak üçin aşakdaky URL giriziň:

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

Bu pursatda, Fedora 24 serweriňizde LEMP stakasyny üstünlikli gurnan we düzen bolmaly. Käbir ýagdaýlarda, käbirleriňiz ýalňyşlyklara duş gelen bolmaly ýa-da bir mesele bilen baglanyşykly has köp düşündiriş isleýän bolsaňyz, aşakdaky teswir bölüminde teswir ýazyp bilersiňiz we bilelikde çözgüt taparys.