Nginx 1.15, MariaDB 10 ja PHP 7 installimine CentOS 7-le


Selles artiklis selgitame, kuidas installida LEMP-virn (Linux, Nginx, MariaDB, PHP) koos PHP-FPM-iga RHEL/CentOS 7/6 ja Fedora 26-29 serveritesse, kasutades dnf-paketihaldurit.

Protsessi käigus installime ja lubame Epeli, Remi, Nginxi ja MariaDB hoidlad, et oleks võimalik installida nende pakettide uusimad versioonid.

1. samm: installige EPEL ja Remi hoidla

EPEL (Extra Packages for Enterprise Linux) on kogukonnapõhine hoidla, mis pakub RHEL-põhiste Linuxi distributsioonide jaoks täiendavaid tarkvarapakette.

Remi on hoidla, kust leiate PHP virna (täisvarustusega) uusimad versioonid Fedora ja Enterprise Linuxi distributsioonidesse installimiseks.

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

2. samm: Nginxi ja MariaDB hoidlate installimine

Nginxi hoidlat on vaja ainult RHEL ja CentOS jaotustes. Looge fail nimega /etc/yum.repos.d/nginx.repo ja lisage sellele järgmised read.

[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 

MariaDB hoidla lubamiseks looge järgmise sisuga fail nimega /etc/yum.repos.d/mariadb.repo:

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

4. samm: Ngnixi ja MariaDB installimine

Nginx (Mootor X) on avatud lähtekoodiga, vastupidav, kerge ja suure jõudlusega veebiserver, vastupidine puhverserver ja ka posti-, HTTP-, SMTP-, POP3- ja IMAP-protokollide puhverserver. Lisateabe saamiseks külastage veebisaiti http://wiki.nginx.org/Overview.

MariaDB on tuntud MySQL-i, mis on üks maailma populaarseimaid relatsiooniliste andmebaaside haldussüsteemi (RDBMS) kahvleid. Selle on täielikult välja töötanud kogukond ja sellisena on see mõeldud jääma FOSSiks ja ühilduvaks GPL-iga.

Ngnixi ja MariaDB installimiseks käivitage järgmised käsud.

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

Samm 3: PHP installimine Remi hoidla abil

PHP (Hypertext Preprocessor) on tasuta ja avatud lähtekoodiga serveripoolne skriptikeel, mis sobib kõige paremini veebiarenduseks. Seda saab kasutada veebisaidi jaoks dünaamiliste veebilehtede loomiseks ja seda leidub kõige sagedamini * nix-serverites. PHP üks eelis on see, et seda saab hõlpsasti laiendada mitmesuguste moodulite abil.

PHP installimiseks peate kõigepealt lubama Remi hoidla, installides yum-utils , mis on kasulik programm yumi hoidlate ja pakettide haldamiseks.

# yum install yum-utils

Pärast installimist saate kasutada koodi yum-utils pakutavat yum-config-managerit, et lubada Remi hoidla vaikehoidlana erinevate PHP versioonide installimiseks, nagu näidatud.

Näiteks PHP 7.x versiooni installimiseks kasutage järgmist käsku.

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

Järgmisena installime kõik need järgmised PHP moodulid.

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

6. samm: Apache'i teenuse peatamine ja keelamine

Vaikimisi kuulavad Apache ja Nginx samas pordis (TCP 80). Sel juhul, kui Apache on teie serverisse installitud, peate Nginxi kasutamiseks selle peatama ja selle keelama/maskeerima (keelamise tugevam versioon, mis seob teenuse/dev/null), või võite selle eemaldada, kui te ei plaani seda enam kasutada.

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

7. samm: Nginxi, MariaDB ja PHP-FPM käivitamine/peatamine

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

8. samm: Nginxi ja PHP-FPM-i konfigureerimine

Looge meil nüüd oma veebisaidi kataloogistruktuur (virtuaalne host või serveriplokk, nagu seda nimetatakse Nginxis) all/srv/www /. Selles näites kasutame linux-console.net , kuid võite soovi korral valida mõne muu domeeni ja peakataloogi.

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

9. samm: Nginxi virtuaalsete hostikataloogide konfigureerimine

Nagu teate, on mitme saidi käitamine ühest masinast üks peamiste veebiserverite eripära. Jätkame nüüd kataloogide loomist meie serveriplokkide (Apache'is virtuaalsete hostidena) salvestamiseks kataloogi/etc/nginx all.

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

Järgmine koodirida, mis tuleb lisada enne http-ploki sulgemist kataloogis /etc/nginx/nginx.conf, tagab, et Nginxi töötamisel võetakse arvesse kataloogis/etc/nginx/saidid võimaldavaid konfiguratsioonifaile :

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

Serveri ploki loomiseks saidile linux-console.net lisage järgmised koodiread kataloogi/etc/nginx/sites-available/tecmint (see fail luuakse, kui sisestate täieliku tee eelistatud alustamiseks tekstiredaktor). See on põhiline virtuaalse hosti konfiguratsioonifail.

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

Virtuaalse hosti „aktiveerimise“ protsess seisneb virtuaalse hosti tecmint määratlusest sümboolse lingi loomises/etc/nginx/sites-enabled.

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

Tehtud muudatuste reaalseks rakendamiseks peame nüüd Nginxi taaskäivitama. Mõnikord on enne kontrollimist kasulik kontrollida konfiguratsioonifailide süntaksivigu:

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

Värskelt loodud virtuaalhosti juurde pääsemiseks peate domeeninime lahendamise põhimeetodina lisama järgmise rea kausta/etc/hosts.

192.168.0.18	linux-console.net linux-console.net 

10. samm: Nginxi, MySQL-i, PHP ja PHP-FPM testimine

Jääme kindlaks klassikalise PHP testimisviisi juurde. Looge/srv/www/tecmint/public_html/alt fail nimega test.php ja lisage sellele järgmised koodiread.

Funktsioon phpinfo() näitab praeguse PHP installi kohta palju teavet:

<?php 
	phpinfo(); 
?> 

Nüüd suunake oma veebibrauser saidile http://tecmint/test.php ja kontrollige installitud moodulite ja täiendava tarkvara olemasolu:

Palju õnne! Teil on nüüd LEMP-i virna toimiv installimine. Kui midagi ei läinud ootuspäraselt, võtke meiega ühendust, kasutades allolevat vormi. Samuti on teretulnud küsimused ja ettepanekud.