Weboldal keresés

Az Nginx 1.15, a MariaDB 10 és a PHP 7 telepítése CentOS 7 rendszeren


Ebben a cikkben elmagyarázzuk, hogyan kell telepíteni egy LEMP verem (Linux, Nginx, MariaDB, PHP), valamint a PHP-FPM RHEL/CentOS 7/6 és Fedora 26-29 szervereken yum és dnf csomagot használva menedzser.

A folyamat során telepítjük és engedélyezzük az Epel, Remi, Nginx és MariaDB adattárakat annak érdekében, hogy telepítse ezeknek a csomagoknak a legújabb verzióit.

Olvassa el még: Telepítse az Apache, MySQL 8 vagy MariaDB 10 és PHP 7 alkalmazást CentOS 7 rendszeren

1. lépés: Az EPEL és a Remi Repository telepítése

Az EPEL (Extra Packages for Enterprise Linux) egy közösségi alapú adattár, amely kiegészítő szoftvercsomagokat kínál RHEL-alapú Linux disztribúciókhoz.

A Remi egy olyan adattár, ahol megtalálhatja a PHP verem legújabb verzióit (teljes funkcionalitású) a Fedora és Enterprise Linux disztribúciókba való telepítéshez.

RHEL/CentOS 7 rendszeren

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

RHEL/CentOS 6 rendszeren

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

Fedorán 24-29

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. lépés: Az Nginx és a MariaDB Repository telepítése

Az Nginx-tárra csak RHEL és CentOS disztribúciókban van szükség. Hozzon létre egy /etc/yum.repos.d/nginx.repo nevű fájlt, és adja hozzá a következő sorokat.

RHEL 7/6 esetén:

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

CentOS 7/6 esetén:

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

A MariaDB tárhely engedélyezéséhez hozzon létre egy /etc/yum.repos.d/mariadb.repo nevű fájlt a következő tartalommal:

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

4. lépés: Az Ngnix és a MariaDB telepítése

Az Nginx (Engine X) egy nyílt forráskódú, robusztus, könnyű és nagy teljesítményű webszerver, fordított proxyszerver és levelezőproxyszerver HTTP, SMTP, POP3 és IMAP protokollokhoz. További részletekért látogasson el a http://wiki.nginx.org/Overview webhelyre.

A MariaDB a jól ismert MySQL elágazása, amely a világ egyik legnépszerűbb relációs adatbázis-kezelő rendszere (RDBMS). Teljes mértékben a közösség fejlesztette ki, és mint ilyen, továbbra is FOSS marad, és kompatibilis a GPL-lel.

Az Ngnix és a MariaDB telepítéséhez futtassa a következő parancsokat.


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

3. lépés: A PHP telepítése Remi Repository használatával

A PHP (Hypertext Preprocessor) egy ingyenes és nyílt forráskódú szerveroldali szkriptnyelv, amely a legalkalmasabb webfejlesztéshez. Használható dinamikus weboldalak létrehozására egy webhely számára, és leggyakrabban a *nix szervereken található meg. A PHP egyik előnye, hogy könnyen bővíthető sokféle modul használatával.

A PHP telepítéséhez először engedélyeznie kell a Remi adattárat a yum-utils telepítésével, amely a yum tárolók és csomagok kezelésére szolgáló hasznos programok gyűjteménye.

yum install yum-utils

A telepítést követően a yum-utils által biztosított yum-config-manager segítségével engedélyezheti a Remi lerakat alapértelmezett tárolóként a különböző PHP-verziók telepítéséhez, ahogy az ábra mutatja.

Például a PHP 7.x verzió telepítéséhez használja a következő parancsot.

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

Ezután telepíteni fogjuk a következő PHP modulokat.

------ 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. lépés: Az Apache szolgáltatás leállítása és letiltása

Alapértelmezés szerint az Apache és az Nginx ugyanazon a porton figyel (TCP 80). Emiatt, ha az Apache telepítve van a kiszolgálón, le kell állítania, és le kell tiltania/maszkolnia (a tiltás erősebb verziója, amely a szolgáltatást a /dev/null-hoz kapcsolja) az Nginx használatához. , vagy eltávolíthatja, ha már nem tervezi használni.

systemctl stop httpd 
systemctl disable httpd 
or 
systemctl mask httpd 

7. lépés: Az Nginx, a MariaDB és a PHP-FPM indítása/leállítása

----------- 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. lépés: Az Nginx és a PHP-FPM konfigurálása

Most hozzunk létre egy könyvtárstruktúrát a webhelyéhez (virtuális gazdagépet vagy szerverblokkot, ahogyan az Nginxben hívják) a /srv/www/ alatt. Ebben a példában a linux-console.net címet fogjuk használni, de ha szeretné, válasszon másik tartományt és főkönyvtárat.

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

9. lépés: Az Nginx Virtual Host könyvtárak konfigurálása

Mint ismeretes, a nagy webszerverek egyik megkülönböztető jellemzője, hogy ugyanazon a gépen több webhelyet is futtathatnak. Most folytassuk a kiszolgálóblokkjainak (az Apache-ban virtuális hosztoknak) tárolására szolgáló könyvtárak létrehozását az /etc/nginx alatt.

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

A következő kódsor, amelyet az /etc/nginx/nginx.conf http-blokkjának bezárása előtt kell beilleszteni, biztosítja, hogy a konfigurációs fájlok az /etc/nginx/sites-enabled fájlban könyvtárat a rendszer figyelembe veszi, amikor az Nginx fut:

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

A linux-console.net szerverblokk létrehozásához adja hozzá a következő kódsorokat az /etc/nginx/sites-available/tecmint fájlhoz (ez a fájl akkor jön létre, amikor beírja a kívánt szövegszerkesztő indításának teljes elérési útja). Ez egy alapvető virtuális gazdagép konfigurációs fájl.

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

A virtuális gazdagép „aktiválásának” folyamata egy szimbolikus link létrehozásából áll a tecmint virtuális gazdagép definíciójából a /etc/nginx/sites-enabled< felé..

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

Az általunk végzett változtatások tényleges alkalmazásához most újra kell indítanunk az Nginxet. Néha hasznos, ha ezt megelőzően ellenőrizze a konfigurációs fájlokat szintaktikai hibákra:

nginx -t 
systemctl restart nginx 
systemctl status nginx 

Az újonnan létrehozott virtuális gazdagép eléréséhez hozzá kell adnia a következő sort az /etc/hosts mappához a domainnév-feloldás alapvető módszereként.

192.168.0.18	linux-console.net linux-console.net 

10. lépés: Az Nginx, a MySQL, a PHP és a PHP-FPM tesztelése

Maradjunk a PHP tesztelésének klasszikus módszerénél. Hozzon létre egy test.php nevű fájlt a /srv/www/tecmint/public_html/ alatt, és adja hozzá a következő kódsorokat.

A phpinfo() függvény sok információt mutat az aktuális PHP telepítésről:

<?php 
	phpinfo(); 
?> 

Most mutasson webböngészőjére a http://tecmint/test.php címre, és ellenőrizze a telepített modulok és kiegészítő szoftverek meglétét:

Gratulálunk! Most már működik egy LEMP verem. Ha valami nem a várt módon történt, forduljon hozzánk bizalommal az alábbi űrlap segítségével. Kérdéseket, javaslatokat is szívesen fogadunk.