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


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

Ova kombinacija operacijskog sustava (Linux) s web poslužiteljem (Apache), poslužiteljem baze podataka (MariaDB/MySQL) i skriptnim jezikom na strani poslužitelja (PHP) poznata je kao LAMP stog.

Od rujna 2015, PHP 5.4 više ne podržava PHP tim i došao je do kraja života, još uvijek se PHP 5.4 isporučuje s RHEL/CentOS 7/6 s manjom promjenom verzije i Red Hat ga podržava, pa ga nadogradite na viši verzija nije potrebna. Međutim, toplo se preporučuje da svoj PHP 5.4 nadogradite na PHP 5.5+ radi veće sigurnosti i performansi.

Evo s čime se isporučuje vaša trenutna Linux distribucija:

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

Korak 1: Instaliranje EPEL-a i Remi spremišta

EPEL (Extra Packages for Enterprise Linux) je spremište temeljeno u zajednici i nudi dodatne softverske pakete za Linux distribucije zasnovane na RHEL-u.

Remi je spremište u kojem možete pronaći najnovije verzije PHP stoga (s puno značajki) za instalaciju u Fedora i Enterprise Linux distribucijama.

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

Korak 2: Instaliranje Apache web poslužitelja

Apache je besplatni i otvoreni izvorni HTTP web poslužitelj koji radi na većini operativnih sustava temeljenih na UNIX-u, kao i na Windowsima. Kao takav, može se koristiti za posluživanje statičnih web stranica i rukovanje dinamičkim sadržajem. Nedavna izvješća pokazuju da je Apache poslužitelj broj jedan koji se koristi na web mjestima i računalima okrenutim ka Internetu.

Da biste instalirali web poslužitelj Apache, najprije ažurirajte programske softverske pakete i instalirajte ga pomoću sljedećih naredbi.

# yum -y update
# yum install httpd

Nakon instaliranja web poslužitelja Apache, možete pokrenuti omogućavanje automatskog pokretanja prilikom pokretanja sustava.

# systemctl start httpd
# systemctl enable httpd
# systemctl status httpd

Ako koristite vatrozid, dopustite Apache promet na vatrozidu.

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

Korak 3: Instalacija PHP-a pomoću Remi spremišta

PHP (Hypertext Preprocessor) je besplatni skriptni jezik na strani poslužitelja s otvorenim kodom koji je najprikladniji za web razvoj. Može se koristiti za izradu dinamičkih web stranica za web mjesto i najčešće se nalazi na * nix poslužiteljima. Jedna od prednosti PHP-a je što se lako može proširiti korištenjem širokog spektra modula.

Da biste instalirali PHP, prvo morate omogućiti Remi spremište instaliranjem yum-utils , zbirke korisnih programa za upravljanje yum spremištima i paketima.

# yum install yum-utils

Jednom instalirani, možete upotrijebiti yum-config-manager koji pruža yum-utils kako biste omogućili Remi spremište kao zadani repozitorij za instaliranje različitih PHP verzija, kao što je prikazano.

Na primjer, da biste instalirali verziju PHP 7.x, upotrijebite 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]

Dalje, u ovaj ćemo članak instalirati sve sljedeće PHP module. Možete potražiti više modula povezanih s PHP-om (možda da biste integrirali 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 naredbe vraćaju popis paketa u trenutno omogućenim spremištima 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 s MariaDB jer oba sustava koriste isti klijentski protokol, a klijentske knjižnice su binarno kompatibilne.

  1. MariaDB/MySQL (php-mysql) - dinamički zajednički objekt koji će dodati podršku MariaDB u PHP.
  2. PostgreSQL (php-pgsql) - Podrška baze podataka PostgreSQL za PHP.
  3. MongoDB (php-pecl-mongo) - sučelje za komunikaciju s bazom podataka MongoDB u PHP-u.
  4. Generički (php-pdo) - Dinamični zajednički objekt koji će dodati sloj apstrakcije pristupa bazi podataka u PHP.
  5. Memcache (php-pecl-memcache) - Memcached je demon za predmemoriranje dizajniran posebno za dinamičke web aplikacije za smanjenje opterećenja baze podataka spremanjem objekata u memoriju.
  6. Memcached (php-pecl-memcached) - proširenje koje koristi biblioteku libmemcached za pružanje API-ja za komunikaciju s memcached poslužiteljima.
  7. GD (php-gd) - Dinamični objekt dijeljenja koji dodaje podršku za korištenje gd grafičke biblioteke u PHP-u.
  8. XML (php-xml) - Dinamični dijeljeni objekti koji dodaju podršku PHP-u za manipulaciju XML dokumentima.
  9. MBString (php-mbstring) - proširenje za obradu višebajtnog niza u PHP aplikacijama.
  10. MCrypt (php-mcrypt) - Mcrypt knjižnica za PHP skripte.
  11. APC (php-pecl-apcu) - APC modul koji se koristi za optimizaciju i predmemoriranje PHP koda.
  12. CLI (php-cli) - sučelje naredbenog retka za PHP.
  13. PEAR (php-pear) - Okvir spremišta aplikacija za PHP.

Instalirajte ove sljedeće potrebne PHP module s naredbom 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 ćemo vam odjeljku pokazati instalaciju obje baze podataka MySQL i MariaDB, tako da na vama ovisi što ćete odabrati na temelju vaših zahtjeva.

MySQL je jedan od najpopularnijih svjetskih sustava upravljanja relacijskim bazama podataka otvorenog koda (RDBMS) koji pokreće bilo koji poslužitelj pružajući višekorisnički pristup više baza podataka. MySQL radi s Apacheom.

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

# 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 instalacije spremišta softvera MySQL Yum za vašu Linux platformu, sada instalirajte najnoviju verziju MySQL (trenutno 8.0) pomoću sljedeće naredbe.

# 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 poslužitelj sljedećom naredbom.

# service mysqld start

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

MariaDB je račvanje dobro poznatog MySQL-a, jednog od najpopularnijih sustava upravljanja relacijskim bazama podataka (RDBMS). Potpuno ga je razvila zajednica i kao takav namjerava ostati FOSS i kompatibilan s GPL-om.

Ako jeste ili ste već bili korisnik MySQL-a, prelazak na MariaDB bit će vrlo jednostavan postupak: popularne naredbe za povezivanje, izradu sigurnosnih kopija i obnavljanje i upravljanje bazama podataka identične su u oba RDBMS-a.

U najnovijoj distribuciji RHEL/CentOS 7, MariaDB je zamjenska zamjena za MySQL, a u RHEL/CentOS 6 MySQL ostaje isti i nije vam dopušteno instalirati MariaDB na RHEL/CentOS 6 iz zadanog spremišta, ali MariaDB možete instalirati pomoću službeno spremište MariaDB.

Da biste omogućili spremište MariaDB na distribucijama RHEL/CentOS 7, stvorite datoteku s imenom /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 gore rekao, također možete instalirati MariaDB na RHEL/CentOS 6 koristeći službeno spremište MariaDB kako je gore navedeno.

Nakon omogućavanja spremišta MariaDB, učinite:

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

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

------ Start Apache and MariaDB ------
# systemctl start httpd
# systemctl start mariadb
------ 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. Stvorite datoteku pod nazivom test.php pod/var/www/html i dodajte joj sljedeće retke koda.

Funkcija phpinfo() prikazuje mnoštvo informacija o trenutnoj instalaciji PHP-a:

<?php
	phpinfo();
?>

Sada usmerite svoj web preglednik na http:// [server] /test.php i provjerite prisutnost instaliranih modula i dodatnog softvera pomicanjem stranice (zamijenite [server] s vašom domenom ili IP adresom vašeg poslužitelja). Vaš bi izlaz trebao biti sličan sljedećem:

Čestitamo! Sada imate najnoviju radnu instalaciju LAMP stoga. Ako nešto nije pošlo prema očekivanjima, slobodno nas kontaktirajte putem obrasca u nastavku. Pitanja i prijedlozi su također dobrodošli.

Napomena: MariaDB možete instalirati i u druge distribucije stvaranjem prilagođenog spremišta slijedeći ovdje navedene upute.