Kuweka Nginx na MariaDB na PHP/PHP-FPM kwenye Seva ya Fedora 24 na Kituo cha Kazi


Labda umesakinisha toleo la seva ya Fedora 24 kwenye mashine yako na una hamu na unatarajia kusanidi seva ya wavuti ili kuendesha tovuti na programu za wavuti. Usiangalie zaidi, kwa sababu tutafanya yote hayo hapa, kwa hatua rahisi na rahisi ambazo utathamini mwishoni.

Katika hili jinsi ya kuongoza, tutapitia hatua tofauti za jinsi unavyoweza kusakinisha safu ya LEMP kwenye seva yako ya wavuti ya Fedora 24. Sawa na LAMP, lakini chini ya LEMP, tunatumia seva ya wavuti ya Nginx.

Hatua ya 1: Kusasisha Vifurushi vya Mfumo

Unaweza kuanza kwa kusasisha vifurushi vya mfumo wako kama ifuatavyo:

# dnf update

Hilo likifanywa, endelea kusakinisha vifurushi vya LEMP vilivyojumuishwa.

Hatua ya 2: Sakinisha Seva ya Wavuti ya Nginx

Nginx ni mbadala wa seva ya wavuti ya Apache, ni uzito mwepesi na hutumia rasilimali kidogo ya mfumo kwa hivyo utendaji wake wa juu, uthabiti na unyumbufu katika mazingira ya uzalishaji wa biashara.

Ili kufunga Nginx kwenye Fedora 24, toa amri hapa chini:

# dnf install nginx  

Mara tu usakinishaji utakapokamilika, unahitaji kudhibiti huduma ya Nginx kwenye mfumo wako. Kwanza unahitaji kuiweka ili kuanza kiotomatiki wakati wa kuwasha kwa kuendesha amri hapa chini:

# systemctl enable nginx.service

Kisha anza huduma kama ifuatavyo:
# systemctl anza nginx.service

Ifuatayo, angalia kuona kwamba seva ya Nginx inafanya kazi, unaweza kutoa amri hapa chini kufanya hivyo:

# systemctl status nginx.service

Ili kutazama seva yako ya wavuti ya Nginx kupitia itifaki ya HTTP/HTTPS, unahitaji kuruhusu ufikiaji wake kupitia ngome ya mfumo. Ili kufanya hivyo, endesha amri zifuatazo:

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

Kisha pakia upya usanidi wa ngome ya mfumo ili kutekeleza mabadiliko yaliyo hapo juu kama ifuatavyo:

# systemctl reload firewalld

Sasa endelea kuweka maagizo yako ya Nginx server_name, ukitumia kihariri unachopenda, fungua faili /etc/nginx/nginx.conf na utafute maagizo ya usanidi kama inavyoonyeshwa:

server_name server-ip-address;

Kumbuka: Mzizi wa saraka ya hati ya Nginx ni /usr/share/nginx/html, na hapa ndipo unaweza kuweka faili zako zote za wavuti.

Jambo moja muhimu zaidi la kufanya chini ya usakinishaji wa Nginx ni kuangalia ikiwa ukurasa wa faharasa ya usakinishaji wa Nginx unaweza kupakia kwenye kivinjari chako cha wavuti, kwa hivyo fungua kivinjari chako cha wavuti na uweke URL:

http://server-ip-address

Unapaswa kutazama ukurasa huu hapa chini:

Hatua ya 3: Sakinisha Seva ya MariaDB

MariaDB ni uma ya seva maarufu ya hifadhidata ya MySQL, kusakinisha MariaDB kwenye seva ya Fedora 24, toa amri hapa chini:

# dnf install mariadb-server

Baada ya kukamilisha usakinishaji wa MariaDB, unahitaji kuwezesha, kuanza na kuthibitisha huduma kwa kutekeleza mfululizo wa amri.

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

Sasa ni wakati wa kulinda usakinishaji wako wa MariaDB kwa kutumia amri ifuatayo:

# mysql_secure_installation

Baada ya kutekeleza amri hapo juu, utaulizwa maswali machache kama ifuatavyo:

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 

Hatua ya 4: Sakinisha PHP na Moduli

Ili kusakinisha PHP kwenye Fedora 24 pamoja na moduli zake, tumia amri hapa chini:

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

Kwa kuwa PHP na moduli zingine za PHP zimekamilisha kusakinisha, unahitaji kusanidi PHP ili uweze kuendesha faili za PHP.

Kwa chaguo-msingi, PHP-FPM imesanidiwa kutumika na seva ya wavuti ya Apache, lakini kwa upande wetu hapa, tunatumia seva ya wavuti ya Nginx. Kwa hivyo tunahitaji kubadilisha mpangilio huo katika hatua zifuatazo:

Kwa kutumia kihariri chako unachopenda, fungua faili /etc/php-fpm.d/www.conf kama ifuatavyo:

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

Kisha ubadilishe maadili ya mtumiaji na kikundi kutoka apache hadi nginx katika mistari ifuatayo:

; 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

Kisha anzisha tena seva ya wavuti ya PHP-FPM na Nginx ili kufanya mabadiliko hapo juu:

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

Baada ya hapo, thibitisha kuwa wanaendesha kuwa unatoa amri hapa chini:

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

Sasa unaweza kujaribu yote, kwa kutumia kihariri chako unachopenda, kuunda faili inayoitwa info.php katika saraka yako ya mizizi ya Nginx kama ifuatavyo:

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

Ongeza mistari ifuatayo kwenye faili, ihifadhi na uondoke.

<?php
phpinfo()
?>

Kisha fungua kivinjari chako cha wavuti na uweke URL ifuatayo ili kuthibitisha maelezo ya PHP:

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

Katika hatua hii, lazima uwe umesakinisha na kusanidi kwa ufanisi safu ya LEMP kwenye seva yako ya Fedora 24. Katika matukio machache, baadhi yenu lazima wamekumbana na makosa au unataka maelezo zaidi kuhusu suala la wasiwasi, unaweza kuacha maoni katika sehemu ya maoni hapa chini na tutapata ufumbuzi pamoja.