Yadda ake Sanya Nginx 1.15, MariaDB 10 da PHP 7 akan CentOS 7


A cikin wannan labarin za mu yi bayanin yadda ake shigar da tarin LEMP (Linux, Nginx, MariaDB, PHP) tare da PHP-FPM akan sabobin RHEL/CentOS 7/6 da Fedora 26-29 ta amfani da mai sarrafa fakitin dnf.

Yayin aiwatarwa za mu shigar da kunna Epel, Remi, Nginx da MariaDB ma'ajiyar don samun damar shigar da sabbin nau'ikan waɗannan fakitin.

Mataki 1: Sanya EPEL da Ma'ajiyar Remi

EPEL (Extra Packages for Enterprise Linux) tushen tushen al'umma yana ba da fakitin software don rarraba tushen Linux na RHEL.

Remi wurin ajiya ne inda zaku iya samun sabbin nau'ikan tari na PHP (cikakken fasali) don shigarwa a cikin rarrabawar Fedora da Enterprise Linux.

# yum update && yum install epel-release
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

------ For RHEL 7 Only ------
# subscription-manager repos --enable=rhel-7-server-optional-rpms
# yum update && yum install epel-release
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

------ For RHEL 6 Only ------
# subscription-manager repos --enable=rhel-6-server-optional-rpms
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-29.rpm  [On Fedora 29]
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-28.rpm  [On Fedora 28]
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-27.rpm  [On Fedora 27]
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-26.rpm  [On Fedora 26]
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-25.rpm  [On Fedora 25]
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-24.rpm  [On Fedora 24]

Mataki 2: Sanya Nginx da MariaDB Repositories

Ma'ajiyar Nginx ana buƙatar kawai a cikin rabon RHEL da CentOS. Ƙirƙiri fayil mai suna /etc/yum.repos.d/nginx.repo kuma ƙara layin masu zuwa gare shi.

[nginx] 
name=nginx repo 
baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/ 
gpgcheck=0 
enabled=1 
[nginx] 
name=nginx repo 
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ 
gpgcheck=0 
enabled=1 

Don kunna ma'ajiyar MariaDB, ƙirƙirar fayil mai suna /etc/yum.repos.d/mariadb.repo tare da abubuwan ciki masu zuwa:

[mariadb] 
name = MariaDB 
baseurl = http://yum.mariadb.org/10.1/centos7-amd64 
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB 
gpgcheck=1 

Mataki 4: Shigar Ngnix da MariaDB

Nginx (Engine X) tushen buɗaɗɗen tushe ne, mai ƙarfi, nauyi mai nauyi da babban sabar gidan yanar gizo, mai jujjuya wakili da uwar garken wakili don HTTP, SMTP, POP3 da ka'idojin IMAP. Don ƙarin bayani, ziyarci http://wiki.nginx.org/Overview.

MariaDB cokali ne na sanannen MySQL, ɗayan mashahurin Tsarin Gudanar da Bayanan Bayanai (RDBMS) na duniya. Al'umma ce ta haɓaka ta gaba ɗaya kuma don haka ana nufin ta kasance FOSS kuma mai dacewa da GPL.

Don shigar da Ngnix da MariaDB, gudanar da umarni masu zuwa.

----------- Installing on RHEL/CentOS 7/6 ----------- 
# yum --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm 

----------- Installing on Fedora ----------- 
# dnf --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm 

Mataki 3: Shigar da PHP Amfani da Remi Repository

PHP (Hypertext Preprocessor) Yare ne na Kyauta kuma Buɗewa Harshen rubutun gefen uwar garken wanda ya dace da ci gaban yanar gizo. Ana iya amfani da shi don samar da shafukan yanar gizo masu ƙarfi don gidan yanar gizon kuma ana samun su akai-akai a cikin sabar nix. Ɗaya daga cikin fa'idodin PHP shine cewa yana da sauƙin cirewa ta hanyar amfani da nau'ikan kayayyaki iri-iri.

Don shigar da PHP, da farko kuna buƙatar kunna wurin ajiyar Remi ta hanyar shigar da yum-utils, tarin shirye-shirye masu amfani don sarrafa ma'ajiyar yum da fakiti.

# yum install yum-utils

Da zarar an shigar, zaku iya amfani da yum-config-manager wanda yum-utils ke bayarwa don ba da damar ma'ajin Remi azaman tsohuwar ma'ajin don shigar da nau'ikan PHP daban-daban kamar yadda aka nuna.

Misali, don shigar da sigar PHP 7.x, yi amfani da umarni mai zuwa.

------------- On CentOS & RHEL ------------- 
# yum-config-manager --enable remi-php70 && yum install php       [Install PHP 7.0]
# yum-config-manager --enable remi-php71 && yum install php       [Install PHP 7.1]
# yum-config-manager --enable remi-php72 && yum install php       [Install PHP 7.2]
# yum-config-manager --enable remi-php73 && yum install php       [Install PHP 7.3]

------------- On Fedora ------------- 
# dnf --enablerepo=remi install php70      [Install PHP 7.0]
# dnf --enablerepo=remi install php71      [Install PHP 7.1]
# dnf --enablerepo=remi install php72      [Install PHP 7.2]
# dnf --enablerepo=remi install php73      [Install PHP 7.3]

Na gaba, za mu shigar da duk waɗannan samfuran PHP masu zuwa.

------ On RHEL/CentOS 7/6 ------
# yum --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear

------ On Fedora ------
# dnf --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear

Mataki 6: Tsayawa da Kashe Sabis na Apache

Ta hanyar tsoho, Apache da Nginx suna sauraron tashar jiragen ruwa guda (TCP 80). Don wannan dalili, idan an shigar da Apache a cikin uwar garken ku, kuna buƙatar dakatar da shi kuma ku kashe/rufe shi (mafi ƙarfi na kashewa wanda ke haɗa sabis ɗin zuwa/dev/null) don amfani da Nginx, ko zaku iya cire shi idan ba kwa shirin yin amfani da shi kuma.

# systemctl stop httpd 
# systemctl disable httpd 
or 
# systemctl mask httpd 

Mataki 7: Farawa/Dakatarwa Nginx, MariaDB da PHP-FPM

----------- Enable Nginx, MariaDB and PHP-FPM on Boot ----------- 
# systemctl enable nginx 
# systemctl enable mariadb 
# systemctl enable php-fpm 
 
----------- Start Nginx, MariaDB and PHP-FPM ----------- 
# systemctl start nginx 
# systemctl start mariadb 
# systemctl start php-fpm 

Mataki 8: Saita Nginx da PHP-FPM

Yanzu bari mu ƙirƙiri tsarin shugabanci don gidan yanar gizon ku (mai masaukin baki, ko toshe uwar garken kamar yadda ake kira a cikin Nginx) ƙarƙashin /srv/www/. A cikin wannan misalin za mu yi amfani da linux-console.net, amma jin daɗin zaɓar wani yanki da babban kundin adireshi idan kuna so.

# mkdir -p /srv/www/tecmint/public_html 
# mkdir /srv/www/tecmint/logs 
# chown -R nginx:nginx /srv/www/tecmint  

Mataki 9: Saita Nginx Virtual Host Directories

Kamar yadda kuka sani, ikon tafiyar da shafuka da yawa daga na'ura ɗaya yana ɗaya daga cikin bambance-bambancen manyan sabar gidan yanar gizo. Yanzu bari mu ci gaba da ƙirƙirar kundayen adireshi don adana tubalan uwar garken mu (wanda aka sani da runduna kama-da-wane a Apache) ƙarƙashin /etc/nginx.

# mkdir /etc/nginx/sites-available 
# mkdir /etc/nginx/sites-enabled 

Layin lamba mai zuwa, wanda dole ne a saka shi kafin rufe toshe http a /etc/nginx/nginx.conf, zai tabbatar da cewa fayilolin sanyi a cikin /etc/nginx/sites-enabled directory za a yi la'akari da lokacin da Nginx ke gudana. :

## Load virtual host conf files. ## 
include /etc/nginx/sites-enabled/*; 

Don ƙirƙirar toshe uwar garken don linux-console.net, ƙara waɗannan layin lambar zuwa /etc/nginx/sites-available/tecmint (za a ƙirƙiri wannan fayil ɗin lokacin da kuka shigar da cikakkiyar hanyar don fara zaɓin da kuka fi so. editan rubutu). Wannan babban fayil ɗin saitin uwar garke ne na asali.

server { 
	listen 80 default; 
	server_name tecmint; 
	access_log /srv/www/tecmint/logs/access.log; 
	error_log /srv/www/tecmint/logs/error.log; 
	root /srv/www/tecmint/public_html; 
	location ~* \.php$ { 
	fastcgi_index   index.php; 
	fastcgi_pass    127.0.0.1:9000; 
	include         fastcgi_params; 
	fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name; 
	fastcgi_param   SCRIPT_NAME        $fastcgi_script_name; 
	} 
} 

Tsarin “kunna” mai masaukin baki ya ƙunshi ƙirƙirar hanyar haɗi ta alama daga ma'anar tecmint mai masaukin baki zuwa /etc/nginx/sites-enabled.

# ln -s /etc/nginx/sites-available/tecmint /etc/nginx/sites-enabled/tecmint 

Domin a zahiri amfani da canje-canjen da muke yi, yanzu muna buƙatar sake kunna Nginx. Wani lokaci yana da amfani don bincika fayilolin sanyi don kurakuran syntax kafin yin haka:

# nginx -t 
# systemctl restart nginx 
# systemctl status nginx 

Don samun dama ga sabon mai masaukin ku da aka ƙirƙira, kuna buƙatar ƙara layin mai zuwa zuwa /etc/hosts azaman ainihin hanyar ƙudurin sunan yanki.

192.168.0.18	linux-console.net linux-console.net 

Mataki 10: Gwajin Nginx, MySQL, PHP da PHP-FPM

Bari mu tsaya tare da classic hanyar gwada PHP. Ƙirƙiri fayil mai suna test.php a ƙarƙashin /srv/www/tecmint/public_html/ kuma ƙara waɗannan layukan lamba zuwa gare shi.

Aikin phpinfo() yana nuna ɗimbin bayanai game da shigarwar PHP na yanzu:

<?php 
	phpinfo(); 
?> 

Yanzu nuna mai burauzar gidan yanar gizon ku zuwa http://tecmint/test.php kuma duba gaban shigar da kayan aikin da ƙarin software:

Taya murna! Yanzu kuna da shigarwar aiki na tarin LEMP. Idan wani abu bai tafi kamar yadda ake tsammani ba, jin daɗin tuntuɓar mu ta amfani da fom ɗin da ke ƙasa. Hakanan ana maraba da tambayoyi da shawarwari.