Otu esi etinye Nginx 1.15, MariaDB 10 na PHP 7 na CentOS 7


N'isiokwu a, anyị ga-akọwa otu esi etinye nchịkọta LEMP (Linux, Nginx, MariaDB, PHP) yana PHP-FPM na RHEL/CentOS 7/6 na Fedora 26-29 sava site na iji njikwa ngwugwu dnf.

N'oge usoro a, anyị ga-arụnye ma mee ka ebe nchekwa Epel, Remi, Nginx na MariaDB nwee ike ịwụnye nsụgharị ọhụrụ nke ngwugwu ndị a.

Kwụpụ 1: Ịwụnye EPEL na Remi Repository

EPEL (Ngwugwu Mgbakwunye maka Linux Enterprise) bụ ebe nchekwa obodo na-enye ngwugwu ngwanrọ mgbakwunye maka nkesa Linux dabere na RHEL.

Remi bụ ebe nchekwa ebe ị nwere ike ịchọta ụdị ọhụrụ nke nchịkọta PHP (nke zuru ezu) maka ntinye na nkesa Fedora na 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]

Kwụpụ 2: Ịwụnye Nginx na MariaDB Repositories

Ebe nchekwa Nginx dị naanị na nkesa RHEL na CentOS. Mepụta faịlụ akpọrọ /etc/yum.repos.d/nginx.repo ma tinye ahịrị ndị a na ya.

[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 

Iji mee ka ebe nchekwa MariaDB nwee ike, mepụta faịlụ aha ya bụ /etc/yum.repos.d/mariadb.repo na ọdịnaya ndị a:

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

Kwụpụ 4: Wụnye Ngnix na MariaDB

Nginx (Engine X) bụ isi mmalite mepere emepe, siri ike, nke dị fechaa na sava webụ dị elu, ihe nkesa proxy na-ezigakwa proxy nkesa maka HTTP, SMTP, POP3 na IMAP protocols. Maka nkọwa ndị ọzọ, gaa na http://wiki.nginx.org/Overview.

MariaDB bụ ndụdụ nke MySQL a ma ama, otu n'ime Sistemụ Njikwa Database Management System (RDBMS) kacha ewu ewu n'ụwa. Ndị obodo mepere ya kpamkpam ma dịka nke a e bu n'obi ka ọ nọgide na FOSS yana dakọtara na GPL.

Iji wụnye Ngnix na MariaDB, mee iwu ndị a.

----------- 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 

Kwụpụ 3: Wụnye PHP Iji Remi Repository

PHP (Hypertext Preprocessor) bụ asụsụ scripting n'akụkụ ihe nkesa na-emepe emepe nke dabara adaba maka mmepe weebụ. Enwere ike iji ya wepụta ibe weebụ dị ike maka weebụsaịtị yana a na-ahụkarị ya na * sava nix. Otu n'ime uru PHP bụ na ọ na-adị mfe extensible site n'iji ụdị modul dị iche iche.

Iji wụnye PHP, ị ga-ebu ụzọ mee ka ebe nchekwa Remi rụọ ọrụ site na ịwụnye yum-utils, nchịkọta mmemme bara uru maka ijikwa ebe nchekwa yum na ngwugwu.

# yum install yum-utils

Ozugbo arụnyere, ị nwere ike iji yum-config-manager nke yum-utils nyere iji mee ka ebe nchekwa Remi dị ka ebe nchekwa ndabere maka ịwụnye ụdị PHP dị iche iche dịka egosiri.

Dịka ọmụmaatụ, iji wụnye ụdị PHP 7.x, jiri iwu a.

------------- 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]

Ọzọ, anyị ga-etinye modul PHP ndị a niile.

------ 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

Kwụpụ 6: Kwụsị na gbanyụọ ọrụ Apache

Site na ndabara, Apache na Nginx na-ege ntị n'otu ọdụ ụgbọ mmiri (TCP 80). Maka nke ahụ, ọ bụrụ na etinye Apache na ihe nkesa gị, ịkwesịrị ịkwụsị ya ma gbanyụọ/kpuchie ya (ụdị gbanyụọ ike nke jikọtara ọrụ ahụ na/dev/null) iji jiri Nginx, ma ọ bụ ị nwere ike wepu ya ma ọ bụrụ ị naghị eme atụmatụ iji ya ọzọ.

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

Kwụpụ 7: Malite/Kwụsị Nginx, MariaDB na 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 

Kwụpụ 8: Na-ahazi Nginx na PHP-FPM

Ka anyị mepụta usoro ndekọ aha maka weebụsaịtị gị (onye nnabata mebere, ma ọ bụ ngọngọ nkesa dị ka a na-akpọ ya na Nginx) n'okpuru /srv/www/. N'ihe atụ a, anyị ga-eji linux-console.net, mana nweere onwe gị ịhọrọ ngalaba ọzọ na akwụkwọ ndekọ aha ma ọ bụrụ na ịchọrọ.

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

Kwụpụ 9: Na-ahazi Nginx Virtual Host Directories

Dị ka ị maara, ikike nke ịgba ọsọ ọtụtụ saịtị site n'otu igwe bụ otu n'ime njirimara dị iche iche nke sava weebụ bụ isi. Ka anyị gaa n'ihu ịmepụta akwụkwọ ndekọ aha iji chekwaa ihe nkesa anyị (nke a maara dị ka ndị ọbịa mebere na Apache) n'okpuru /etc/nginx.

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

Usoro nke koodu na-esonụ, nke a ga-etinyerịrị tupu imechi ngọngọ http na /etc/nginx/nginx.conf, ga-ahụ na faịlụ nhazi n'ime /etc/nginx/sites-enabled directory ga-eburu n'uche mgbe Nginx na-agba ọsọ. :

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

Iji mepụta ngọngọ ihe nkesa maka linux-console.net, gbakwunye ahịrị koodu ndị a na /etc/nginx/sites-available/tecmint (a ga-emepụta faịlụ a mgbe ịbanye n'ụzọ zuru oke iji malite mmasị gị. editọ ederede). Nke a bụ faịlụ nhazi nhazi ntọala mebere.

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; 
	} 
} 

Usoro nke “ịgbalite” onye nnabata mebere mejupụtara imepụta njikọ ihe atụ site na nkọwa nke tecmint virtual host to /etc/nginx/sites-enabled.

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

Iji tinye mgbanwe ndị anyị na-eme, anyị kwesịrị ịmalitegharị Nginx ugbu a. Ọ na-aba uru mgbe ụfọdụ ịlele faịlụ nhazi maka mmejọ syntax tupu ime ya:

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

Iji nweta gị ọhụrụ kere mebere ọbịa, mkpa ka ị tinye na-esonụ ahịrị na /etc/hosts dị ka isi usoro nke ngalaba aha mkpebi.

192.168.0.18	linux-console.net linux-console.net 

Kwụpụ 10: Na-anwale Nginx, MySQL, PHP na PHP-FPM

Ka anyị rapara n'ụzọ kpochapụrụ nke PHP. Mepụta faịlụ a na-akpọ test.php n'okpuru /srv/www/tecmint/public_html/ ma tinye koodu ndị a na ya.

Ọrụ phpinfo() na-egosi ọtụtụ ozi gbasara nrụnye PHP dị ugbu a:

<?php 
	phpinfo(); 
?> 

Ugbu a tụọ ihe nchọgharị weebụ gị na http://tecmint/test.php wee lelee ọnụnọ nke modul arụnyere na ngwanrọ agbakwunyere:

Ekele! Ị nwere nrụnye na-arụ ọrụ nke ngwugwu LEMP. Ọ bụrụ na ihe na-agaghị dị ka a tụrụ anya, nweere onwe gị ịkpọtụrụ anyị site na iji ụdị dị n'okpuru. A na-anabatakwa ajụjụ na aro.