Cum se instalează Nginx 1.15, MariaDB 10 și PHP 7 pe CentOS 7
În acest articol vom explica cum să instalați o stivă LEMP (Linux, Nginx, MariaDB, PHP) împreună cu PHP-FPM pe serverele RHEL/CentOS 7/6 și Fedora 26-29 folosind pachetele yum și dnf administrator.
În timpul procesului, vom instala și vom activa depozitele Epel, Remi, Nginx și MariaDB pentru a putea instalați cele mai recente versiuni ale acestor pachete.
Citiți și: Instalați Apache, MySQL 8 sau MariaDB 10 și PHP 7 pe CentOS 7
Pasul 1: Instalarea EPEL și Remi Repository
EPEL (Extra Packages for Enterprise Linux) este un depozit bazat pe comunitate care oferă pachete software suplimentare pentru distribuțiile Linux bazate pe RHEL.
Remi este un depozit în care puteți găsi cele mai recente versiuni ale stivei PHP (funcționale complete) pentru instalare în distribuțiile Fedora și Enterprise Linux.
Pe RHEL/CentOS 7
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
Pe RHEL/CentOS 6
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
Pe Fedora 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]
Pasul 2: Instalarea depozitelor Nginx și MariaDB
Depozitul Nginx este necesar doar în distribuțiile RHEL și CentOS. Creați un fișier numit /etc/yum.repos.d/nginx.repo și adăugați-i următoarele linii.
Pentru RHEL 7/6:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/
gpgcheck=0
enabled=1
Pentru CentOS 7/6:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
Pentru a activa depozitul MariaDB, creați un fișier numit /etc/yum.repos.d/mariadb.repo cu următorul conținut:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Pasul 4: Instalarea Ngnix și MariaDB
Nginx (Engine X) este un server web open source, robust, ușor și de înaltă performanță, un server proxy invers și, de asemenea, un server proxy de e-mail pentru protocoalele HTTP, SMTP, POP3 și IMAP. Pentru mai multe detalii, vizitați http://wiki.nginx.org/Overview.
MariaDB este o bifurcătură a binecunoscutului MySQL, unul dintre cele mai populare sisteme de management al bazelor de date relaționale (RDBMS) din lume. Este dezvoltat în întregime de comunitate și, ca atare, este destinat să rămână FOSS și compatibil cu GPL.
Pentru a instala Ngnix și MariaDB, executați următoarele comenzi.
----------- 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
Pasul 3: Instalarea PHP folosind Remi Repository
PHP (Hypertext Preprocessor) este un limbaj de scriptare gratuit și cu sursă deschisă pe partea de server, care este cel mai potrivit pentru dezvoltarea web. Poate fi folosit pentru a produce pagini web dinamice pentru un site web și se găsește cel mai frecvent pe serverele *nix. Unul dintre avantajele PHP este că este ușor extensibil prin utilizarea unei game largi de module.
Pentru a instala PHP, mai întâi trebuie să activați depozitul Remi instalând yum-utils
, o colecție de programe utile pentru gestionarea depozitelor și pachetelor yum.
yum install yum-utils
Odată instalat, puteți utiliza yum-config-manager furnizat de yum-utils
pentru a activa depozitul Remi ca depozit implicit pentru instalarea diferitelor versiuni PHP, așa cum se arată.
De exemplu, pentru a instala versiunea PHP 7.x, utilizați următoarea comandă.
------------- 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]
În continuare, vom instala toate aceste module PHP următoare.
------ 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
Pasul 6: Oprirea și dezactivarea serviciului Apache
În mod implicit, Apache și Nginx ascultă în același port (TCP 80). Din acest motiv, dacă Apache este instalat pe serverul dvs., trebuie să îl opriți și să îl dezactivați/mascați (o versiune mai puternică a dezactivarii care leagă serviciul la /dev/null) pentru a utiliza Nginx , sau îl puteți elimina dacă nu intenționați să îl mai utilizați.
systemctl stop httpd
systemctl disable httpd
or
systemctl mask httpd
Pasul 7: Pornirea/Oprirea Nginx, MariaDB și 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
Pasul 8: Configurarea Nginx și PHP-FPM
Să creăm acum o structură de directoare pentru site-ul dvs. (o gazdă virtuală sau un bloc de server așa cum este numit în Nginx) sub /srv/www/. În acest exemplu vom folosi linux-console.net
, dar nu ezitați să alegeți alt domeniu și directorul principal dacă doriți.
mkdir -p /srv/www/tecmint/public_html
mkdir /srv/www/tecmint/logs
chown -R nginx:nginx /srv/www/tecmint
Pasul 9: Configurarea directoarelor gazde virtuale Nginx
După cum știți, capacitatea de a rula mai multe site-uri de pe aceeași mașină este una dintre caracteristicile distinctive ale serverelor web majore. Să continuăm acum să creăm directoarele pentru a stoca blocurile noastre de server (cunoscute ca gazde virtuale în Apache) sub /etc/nginx.
mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled
Următoarea linie de cod, care trebuie inserată înainte de a închide blocul http în /etc/nginx/nginx.conf, se va asigura că fișierele de configurare din interiorul /etc/nginx/sites-enabled directorul va fi luat în considerare atunci când Nginx rulează:
## Load virtual host conf files. ##
include /etc/nginx/sites-enabled/*;
Pentru a crea blocul de server pentru linux-console.net
, adăugați următoarele linii de cod la /etc/nginx/sites-available/tecmint (acest fișier va fi creat când introduceți calea completă pentru a porni editorul de text preferat). Acesta este un fișier de configurare a gazdei virtuale de bază.
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;
}
}
Procesul de „activare” a unei gazde virtuale constă în crearea unei legături simbolice de la definiția gazdei virtuale tecmint
la /etc/nginx/sites-enabled<.
ln -s /etc/nginx/sites-available/tecmint /etc/nginx/sites-enabled/tecmint
Pentru a aplica efectiv modificările pe care le-am făcut, acum trebuie să repornim Nginx. Uneori este util să verificați fișierele de configurare pentru erori de sintaxă înainte de a face acest lucru:
nginx -t
systemctl restart nginx
systemctl status nginx
Pentru a accesa gazda virtuală nou creată, trebuie să adăugați următoarea linie la /etc/hosts ca metodă de bază de rezolvare a numelui de domeniu.
192.168.0.18 linux-console.net linux-console.net
Pasul 10: Testarea Nginx, MySQL, PHP și PHP-FPM
Să rămânem cu modul clasic de a testa PHP. Creați un fișier numit test.php
sub /srv/www/tecmint/public_html/ și adăugați-i următoarele linii de cod.
Funcția phpinfo()
arată o mulțime de informații despre instalarea PHP curentă:
<?php
phpinfo();
?>
Acum îndreptați browserul dvs. web către http://tecmint/test.php
și verificați prezența modulelor instalate și a software-ului suplimentar:
Felicitări! Acum aveți o instalare funcțională a unei stive LEMP. Dacă ceva nu a decurs conform așteptărilor, nu ezitați să ne contactați folosind formularul de mai jos. Întrebările și sugestiile sunt, de asemenea, binevenite.