Kako instalirati Nginx 1.15, MariaDB 10 i PHP 7 na CentOS 7
U ovom članku ćemo objasniti kako instalirati LEMP stog (Linux, Nginx, MariaDB, PHP) zajedno sa PHP-FPM na RHEL/CentOS 7/6 i Fedora 26-29 serverima koristeći yum i dnf paket menadžer.
Tokom procesa instalirat ćemo i omogućiti Epel, Remi, Nginx i MariaDB spremišta kako bismo mogli instalirajte najnovije verzije ovih paketa.
Pročitajte također: Instalirajte Apache, MySQL 8 ili MariaDB 10 i PHP 7 na CentOS 7
Korak 1: Instaliranje EPEL-a i Remi repozitorija
EPEL (Extra Packages for Enterprise Linux) je repozitorijum baziran na zajednici koji nudi dodatne softverske pakete za RHEL bazirane Linux distribucije.
Remi je spremište u kojem možete pronaći najnovije verzije PHP steka (puna funkcija) za instalaciju u Fedora i Enterprise Linux distribucijama.
Na 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
Na 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
Na Fedori 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]
Korak 2: Instaliranje Nginx i MariaDB spremišta
Nginx spremište je potrebno samo u RHEL i CentOS distribucijama. Kreirajte datoteku pod nazivom /etc/yum.repos.d/nginx.repo i dodajte joj sljedeće redove.
Za RHEL 7/6:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/
gpgcheck=0
enabled=1
Za CentOS 7/6:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
Da omogućite MariaDB spremište, kreirajte datoteku pod nazivom /etc/yum.repos.d/mariadb.repo sa sljedećim sadržajem:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Korak 4: Instaliranje Ngnixa i MariaDB-a
Nginx (Engine X) je open source, robustan, lagan i web server visokih performansi, obrnuti proxy server i također mail proxy server za HTTP, SMTP, POP3 i IMAP protokole. Za više detalja, posjetite http://wiki.nginx.org/Overview.
MariaDB je fork dobro poznatog MySQL-a, jednog od najpopularnijih svjetskih sistema za upravljanje relacijskim bazama podataka (RDBMS). U potpunosti je razvijen od strane zajednice i kao takav treba da ostane FOSS i kompatibilan sa GPL-om.
Da instalirate Ngnix i MariaDB, pokrenite sljedeće komande.
----------- 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
Korak 3: Instaliranje PHP-a pomoću Remi repozitorija
PHP (Hypertext Preprocessor) je besplatni skriptni jezik otvorenog koda na strani servera koji je najprikladniji za web razvoj. Može se koristiti za izradu dinamičkih web stranica za web stranicu i najčešće se nalazi na *nix serverima. Jedna od prednosti PHP-a je da se lako može proširiti upotrebom širokog spektra modula.
Da biste instalirali PHP, prvo morate omogućiti Remi spremište instaliranjem yum-utils
, kolekcije korisnih programa za upravljanje yum repozitorijumima i paketima.
yum install yum-utils
Jednom instaliran, možete koristiti yum-config-manager koji obezbeđuje yum-utils
da omogućite Remi spremište kao podrazumevano spremište za instaliranje različitih PHP verzija kao što je prikazano.
Na primjer, da instalirate PHP 7.x verziju, koristite sljedeću naredbu.
------------- 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]
Zatim ćemo instalirati sve ove sledeće PHP module.
------ 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
Korak 6: Zaustavljanje i onemogućavanje Apache usluge
Podrazumevano, Apache i Nginx slušaju na istom portu (TCP 80). Iz tog razloga, ako je Apache instaliran na vašem serveru, morate ga zaustaviti i onemogućiti/maskirati (jača verzija onemogućavanja koja povezuje uslugu sa /dev/null) kako biste koristili Nginx , ili ga možete ukloniti ako ga više ne planirate koristiti.
systemctl stop httpd
systemctl disable httpd
or
systemctl mask httpd
Korak 7: Pokretanje/zaustavljanje Nginxa, MariaDB-a i PHP-FPM-a
----------- 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
Korak 8: Konfigurisanje Nginx-a i PHP-FPM-a
Hajde sada da kreiramo strukturu direktorijuma za vašu veb lokaciju (virtuelni host ili serverski blok kako se to zove u Nginxu) pod /srv/www/. U ovom primjeru koristit ćemo linux-console.net
, ali slobodno odaberite drugu domenu i glavni direktorij ako želite.
mkdir -p /srv/www/tecmint/public_html
mkdir /srv/www/tecmint/logs
chown -R nginx:nginx /srv/www/tecmint
Korak 9: Konfiguriranje Nginx virtualnih host direktorija
Kao što znate, mogućnost pokretanja nekoliko stranica sa iste mašine jedna je od karakterističnih karakteristika glavnih web servera. Nastavimo sada s kreiranjem direktorija za pohranjivanje blokova naših servera (poznatih kao virtualni hostovi u Apacheu) pod /etc/nginx.
mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled
Sljedeći red koda, koji se mora umetnuti prije zatvaranja http bloka u /etc/nginx/nginx.conf, osigurat će da konfiguracijske datoteke unutar /etc/nginx/sites-enabled direktorij će se uzeti u obzir kada je Nginx pokrenut:
## Load virtual host conf files. ##
include /etc/nginx/sites-enabled/*;
Da kreirate blok servera za linux-console.net
, dodajte sljedeće linije koda u /etc/nginx/sites-available/tecmint (ova datoteka će biti kreirana kada unesete punu putanju za pokretanje željenog uređivača teksta). Ovo je osnovna konfiguracijska datoteka virtualnog hosta.
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;
}
}
Proces “aktivacije” virtuelnog hosta sastoji se od kreiranja simboličke veze od definicije tecmint
virtuelnog hosta do /etc/nginx/sites-enabled<.
ln -s /etc/nginx/sites-available/tecmint /etc/nginx/sites-enabled/tecmint
Da bismo stvarno primijenili promjene koje smo radili, sada moramo ponovo pokrenuti Nginx. Ponekad je korisno provjeriti u konfiguracijskim datotekama sintaksičke greške prije nego što to učinite:
nginx -t
systemctl restart nginx
systemctl status nginx
Da biste pristupili svom novokreiranom virtuelnom hostu, morate dodati sljedeći red u /etc/hosts kao osnovni metod rješavanja imena domene.
192.168.0.18 linux-console.net linux-console.net
Korak 10: Testiranje Nginxa, MySQL, PHP i PHP-FPM
Držimo se klasičnog načina testiranja PHP-a. Kreirajte datoteku pod nazivom test.php
pod /srv/www/tecmint/public_html/ i dodajte joj sljedeće linije koda.
Funkcija phpinfo()
pokazuje mnogo informacija o trenutnoj PHP instalaciji:
<?php
phpinfo();
?>
Sada usmjerite svoj web pretraživač na http://tecmint/test.php
i provjerite prisutnost instaliranih modula i dodatnog softvera:
Čestitamo! Sada imate radnu instalaciju LEMP steka. Ako nešto nije išlo kako ste očekivali, slobodno nas kontaktirajte putem obrasca ispod. Pitanja i prijedlozi su također dobrodošli.