Instalirajte Apache, MySQL 8 ili MariaDB 10 i PHP 7 na CentOS 7


Ovaj vodič objašnjava kako instalirati najnoviju verziju Apache, MySQL 8 ili MariaDB 10 i PHP 7 zajedno sa potrebnim PHP modulima na RHEL/CentOS 7/6 i Fedora 24-29.

Ova kombinacija operativnog sistema (Linux) sa web serverom (Apache), serverom baze podataka (MariaDB/MySQL) i skriptiranjem na strani servera jezik (PHP) je poznat kao LAMP stog.

Ne propustite: Kako instalirati Nginx 1.15, MariaDB 10 i PHP 7 na CentOS 7

Od septembra 2015, PHP 5.4 više nije podržan od strane PHP tima i stigao je do kraja životnog vijeka, i dalje se PHP 5.4 isporučuje sa RHEL/CentOS 7 /6sa manjom promjenom verzije i Red Hat to podržava, tako da nadogradnja na višu verziju nije potrebna. Međutim, toplo se preporučuje da nadogradite svoj PHP 5.4 na PHP 5.5+ radi veće sigurnosti i performansi.

Evo sa čime se isporučuje vaša trenutna distribucija Linuxa:

PHP Current Version RHEL/CentOS 7 RHEL/CentOS 6
7.3 5.4 5.3

Da bismo to učinili, omogućit ćemo EPEL i Remi spremište i koristiti yum i dnf (novi alat za upravljanje paketima dostupan u Fedori).

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 Apache Web servera

Apache je besplatni HTTP web server otvorenog koda koji radi na većini UNIX baziranih operativnih sistema kao i na Windowsu. Kao takav, može se koristiti za posluživanje statičnih web stranica i rukovanje dinamičkim sadržajem. Nedavni izvještaji pokazuju da je Apache server broj jedan koji se koristi na web stranicama i računarima okrenutim prema Internetu.

Da biste instalirali Apache web server, prvo ažurirajte sistemske softverske pakete i instalirajte ga koristeći sljedeće naredbe.

yum -y update
yum install httpd

Jednom kada je Apache web server instaliran, možete mu omogućiti da se automatski pokrene pri pokretanju sistema.

systemctl start httpd
systemctl enable httpd
systemctl status httpd

Ako koristite firewalld, pobrinite se da dozvolite Apache promet na firewall-u.

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload

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 PHP module u ovom članku. Možete tražiti više modula vezanih za PHP (možda da integrišete određenu funkcionalnost koja je potrebna vašim web aplikacijama) sa sljedećom naredbom:

------ RHEL/CentOS 7/6------
yum search all php     

------ Fedora ------
dnf search all php   

Bez obzira na distribuciju, gornje komande vraćaju listu paketa u trenutno omogućenim repozitorijumima koji uključuju riječ php u nazivu paketa i/ili opisu.

Evo paketa koje ćemo instalirati. Imajte na umu da će MySQL konektori (PHP, Perl, Python, Java, itd.) raditi nepromijenjeno sa MariaDB jer oba sistema koriste isti protokol klijenta i klijentske biblioteke su binarno kompatibilni.

  1. MariaDB/MySQL (php-mysql) – dinamički zajednički objekt koji će dodati MariaDB podršku PHP-u.
  2. PostgreSQL (php-pgsql) – podrška za PostgreSQL baze podataka za PHP.
  3. MongoDB (php-pecl-mongo) – Interfejs za komunikaciju sa MongoDB bazom podataka u PHP-u.
  4. Generic (php-pdo) – Dinamički zajednički objekt koji će dodati sloj apstrakcije pristupa bazi podataka u PHP.
  5. Memcache (php-pecl-memcache) – Memcached je demon za keširanje dizajniran posebno za dinamičke web aplikacije za smanjenje opterećenja baze podataka pohranjivanjem objekata u memoriju.
  6. Memcached (php-pecl-memcached) – Ekstenzija koja koristi biblioteku libmemcached za pružanje API-ja za komunikaciju sa memcached serverima.
  7. GD (php-gd) – dinamički objekt za dijeljenje koji PHP-u dodaje podršku za korištenje gd grafičke biblioteke.
  8. XML (php-xml) – dinamički zajednički objekti koji dodaju podršku PHP-u za manipulaciju XML dokumentima.
  9. MBString (php-mbstring) – Ekstenzija za rukovanje višebajtnim nizom u PHP aplikacijama.
  10. MCrypt (php-mcrypt) – Mcrypt biblioteka za PHP skripte.
  11. APC (php-pecl-apcu) – APC modul koji se koristi za optimizaciju i keširanje PHP koda.
  12. CLI (php-cli) – Interfejs komandne linije za PHP.
  13. PEAR (php-pear) – Okvir repozitorija aplikacija za PHP.

Instalirajte ove potrebne PHP module pomoću naredbe ispod.

------ On RHEL/CentOS 7/6 ------
yum --enablerepo=remi install php-mysqlnd php-pgsql 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-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 4: Instaliranje MySQL ili MariaDB baze podataka

U ovom odeljku ćemo vam pokazati instalaciju obe baze podataka MySQL i MariaDB, tako da je na vama šta ćete izabrati na osnovu vaših zahteva.

Instalacija MySQL 8 servera baze podataka

MySQL je jedan od najpopularnijih svjetskih sistema za upravljanje relacijskim bazama podataka otvorenog koda (RDBMS) koji pokreće bilo koji server pružajući višekorisnički pristup višestrukim bazama podataka. MySQL radi sa Apacheom.

Da bismo instalirali najnoviju verziju MySQL 8.0, mi ćemo instalirati i omogućiti službeno spremište softvera MySQL Yum koristeći sljedeće komande.

rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm        [On RHEL/CentOS 7]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm     [On RHEL/CentOS 6]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc29-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc28-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc27-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc26-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc25-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc24-1.noarch.rpm    [On Fedora 29]

Nakon instaliranja softverskog spremišta MySQL Yum za vašu Linux platformu, sada instalirajte najnoviju verziju MySQL (trenutno 8.0) koristeći sljedeću naredbu.

yum install mysql-community-server      [On RHEL/CentOS]
dnf install mysql-community-server      [On Fedora]

Nakon uspješne instalacije MySQL-a, vrijeme je da pokrenete MySQL server sa sljedećom naredbom.

service mysqld start

Pogledajte naš članak o tome kako osigurati instalaciju baze podataka MySQL 8.

Instalacija MariaDB 10 poslužitelja baze podataka

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.

Ako ste ili ste bili, korisnik MySQL-a, migracija na MariaDB će biti vrlo jednostavan proces: popularne komande za povezivanje, sigurnosno kopiranje i vraćanje i upravljanje bazama podataka su identične u oba RDBMS-a.

U najnovijoj RHEL/CentOS 7 distribuciji, MariaDB je zamjena za MySQL, au RHEL/CentOS 6 MySQL ostaje isti i nije vam dozvoljeno instalirati MariaDB na RHEL/CentOS 6 iz zadanog spremišta, ali MariaDB možete instalirati koristeći službeno MariaDB spremište.

Da biste omogućili MariaDB spremište na RHEL/CentOS 7 distribucijama, 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

Napomena: Kao što sam rekao gore, možete također instalirati MariaDB na RHEL/CentOS 6 koristeći službeno MariaDB spremište kao što je gore navedeno.

Nakon što omogućite MariaDB spremište, uradite:

------ On RHEL/CentOS 7 ------
yum --enablerepo=remi install httpd MariaDB-client MariaDB-server

------ On Fedora ------
dnf --enablerepo=remi install httpd MariaDB-client MariaDB-server

Korak 5: Omogućite/pokrenite Apache i MySQL/MariaDB

Na SystemD

------ Enable Apache and MariaDB on Boot ------
systemctl enable httpd
systemctl enable mariadb

------ Start Apache and MariaDB ------
systemctl start httpd
systemctl start mariadb

Na SysVinit

------ Enable Apache and MySQL on Boot ------
chkconfig --levels 235 httpd on
chkconfig --levels 235 mysqld on

------ Start Apache and MySQL ------
/etc/init.d/httpd start
/etc/init.d/mysqld start

Korak 6: Provjera PHP instalacije

Držimo se klasičnog načina testiranja PHP-a. Kreirajte datoteku pod nazivom test.php pod /var/www/html i dodajte joj sljedeće linije koda.

Funkcija phpinfo() pokazuje mnogo informacija o trenutnoj PHP instalaciji:

<?php
	phpinfo();
?>

Sada usmjerite svoj web preglednik na http://[server]/test.php i provjerite prisutnost instaliranih modula i dodatnog softvera skrolovanjem prema dolje (zamijenite [server] kod> sa vašom domenom ili IP adresom vašeg servera). Vaš izlaz bi trebao biti sličan:

Čestitamo! Sada imate najnoviju radnu instalaciju LAMP 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.

Napomena: također možete instalirati MariaDB u drugim distribucijama kreiranjem prilagođenog spremišta slijedeći ovdje navedena uputstva.