Namestite Apache, MySQL 8 ali MariaDB 10 in PHP 7 na CentOS 7


V tem priročniku je razloženo, kako namestiti najnovejšo različico Apache, MySQL 8 ali MariaDB 10 in PHP 7, skupaj z zahtevanimi moduli PHP na RHEL/CentOS 7/6 in Fedora 24-29.

Ta kombinacija operacijskega sistema (Linux) s spletnim strežnikom (Apache), strežnikom baz podatkov (MariaDB/MySQL) in strežniškim skriptnim jezikom (PHP) je znana kot LAMP sklad.

Od septembra 2015 ekipa PHP 5.4 ne podpira več in PHP 5.4 je že na koncu življenjske dobe, vendar je PHP 5.4 dobavljen z RHEL/CentOS 7/6 z manjšo spremembo različice in Red Hat ga podpira, zato nadgradnjo na višjo različica ni potrebna. Za večjo varnost in zmogljivost pa je zelo priporočljivo nadgraditi PHP 5.4 na PHP 5.5+.

Tu je tisto, s čimer je priložena vaša trenutna distribucija Linuxa:

Za to bomo omogočili repozitorij EPEL in Remi ter uporabili orodje za upravljanje paketov, ki je na voljo v Fedori).

1. korak: Namestitev EPEL in remij remij

EPEL (Extra Packages for Enterprise Linux) je skladišče, ki temelji na skupnosti, in ponuja dodatne programske pakete za distribucije Linuxa, ki temeljijo na RHEL.

Remi je repozitorij, kjer lahko najdete najnovejše različice sklada PHP (z vsemi funkcijami) za namestitev v distribuciji Fedora in Enterprise Linux.

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

2. korak: Namestitev spletnega strežnika Apache

Apache je brezplačen in odprtokodni spletni strežnik HTTP, ki deluje v večini operacijskih sistemov, ki temeljijo na sistemu UNIX, in v sistemu Windows. Kot tak se lahko uporablja za strežbo statičnih spletnih strani in obdelavo dinamične vsebine. Najnovejša poročila kažejo, da je Apache strežnik številka ena, ki se uporablja na spletnih mestih in računalnikih, obrnjenih na internet.

Če želite namestiti spletni strežnik Apache, najprej posodobite sistemske programske pakete in ga namestite z naslednjimi ukazi.

# yum -y update
# yum install httpd

Ko je spletni strežnik Apache nameščen, ga lahko začnete omogočati samodejni zagon ob zagonu sistema.

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

Če uporabljate požarni zid, ne pozabite omogočiti prometa Apache na požarnem zidu.

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

3. korak: Namestitev PHP z uporabo remij remija

PHP (Hypertext Preprocessor) je brezplačen in odprtokodni skriptni jezik na strani strežnika, ki je najbolj primeren za spletni razvoj. Uporablja se lahko za izdelavo dinamičnih spletnih strani za spletno mesto, najpogosteje pa ga najdemo v strežnikih * nix. Ena od prednosti PHP je, da je enostavno razširljiv z uporabo najrazličnejših modulov.

Če želite namestiti PHP, morate najprej omogočiti repozitorij Remi z namestitvijo yum-utils , zbirke uporabnih programov za upravljanje yum repozitorij in paketov.

# yum install yum-utils

Ko je nameščen, lahko z upraviteljem yum-config-manager, ki ga nudi yum-utils , omogočite repozitorij Remi kot privzet repozitorij za namestitev različnih različic PHP, kot je prikazano.

Če želite na primer namestiti različico PHP 7.x, uporabite naslednji ukaz.

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

Nato bomo v ta članek namestili vse naslednje module PHP. Z naslednjim ukazom lahko poiščete več modulov, povezanih s PHP (morda za vključitev določene funkcije, ki jo potrebujejo vaše spletne aplikacije):

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

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

Ne glede na distribucijo zgornji ukazi vrnejo seznam paketov v trenutno omogočenih skladiščih, ki vsebujejo besedo php v imenu paketa in/ali opisu.

Tu so paketi, ki jih bomo namestili. Upoštevajte, da bodo konektorji MySQL (PHP, Perl, Python, Java itd.) Z MariaDB delovali nespremenjeno, saj oba sistema uporabljata isti odjemalski protokol in odjemalske knjižnice so binarno združljive.

  1. MariaDB/MySQL (php-mysql) - dinamični predmet v skupni rabi, ki bo PHP dodal podporo MariaDB.
  2. PostgreSQL (php-pgsql) - Podpora za zbirko podatkov PostgreSQL za PHP.
  3. MongoDB (php-pecl-mongo) - vmesnik za komunikacijo z bazo podatkov MongoDB v PHP.
  4. Splošno (php-pdo) - dinamični predmet v skupni rabi, ki bo v PHP dodal plast abstrakcije dostopa do baze podatkov.
  5. Memcache (php-pecl-memcache) - Memcached je demon za predpomnjenje, zasnovan posebej za dinamične spletne aplikacije za zmanjšanje obremenitve baze podatkov s shranjevanjem predmetov v pomnilnik.
  6. Memcached (php-pecl-memcached) - razširitev, ki uporablja knjižnico libmemcached za zagotavljanje API-ja za komunikacijo z memcached strežniki.
  7. GD (php-gd) - Dinamični predmet skupne rabe, ki doda podporo za uporabo grafične knjižnice gd v PHP.
  8. XML (php-xml) - dinamični predmeti v skupni rabi, ki dodajajo podporo PHP za manipulacijo z dokumenti XML.
  9. MBString (php-mbstring) - razširitev za obdelavo večbajtnega niza v aplikacijah PHP.
  10. MCrypt (php-mcrypt) - knjižnica Mcrypt za PHP skripte.
  11. APC (php-pecl-apcu) - modul APC, ki se uporablja za optimizacijo in predpomnjenje kode PHP.
  12. CLI (php-cli) - vmesnik ukazne vrstice za PHP.
  13. PEAR (php-pear) - ogrodje skladišča aplikacij za PHP.

S spodnjim ukazom namestite naslednje potrebne PHP module.

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

4. korak: Namestitev zbirke podatkov MySQL ali MariaDB

V tem razdelku vam bomo prikazali namestitev obeh baz podatkov MySQL in MariaDB, zato je odvisno od vas, kaj izbrati glede na vaše zahteve.

MySQL je eden najbolj priljubljenih odprtokodnih sistemov za upravljanje relacijskih baz podatkov na svetu (RDBMS), ki zažene kateri koli strežnik z zagotavljanjem več uporabniškega dostopa do več baz podatkov. MySQL deluje z Apachejem.

Za namestitev najnovejše različice MySQL 8.0 bomo z naslednjimi ukazi namestili in omogočili uradno skladišče programske opreme MySQL Yum.

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

Po namestitvi repozitorija programske opreme MySQL Yum za vašo platformo Linux zdaj z naslednjim ukazom namestite najnovejšo različico MySQL (trenutno 8.0).

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

Po uspešni namestitvi MySQL je čas, da strežnik MySQL zaženete z naslednjim ukazom.

# service mysqld start

Oglejte si naš članek o tem, kako zaščititi namestitev baze podatkov MySQL 8.

MariaDB je vilica znanega MySQL, enega najbolj priljubljenih sistemov za upravljanje relacijskih baz podatkov (RDBMS). V celoti ga je razvila skupnost in kot tak naj bi ostal FOSS in združljiv z GPL.

Če ste ali ste že bili uporabnik MySQL, bo prehod na MariaDB zelo preprost postopek: priljubljeni ukazi za povezovanje, varnostno kopiranje in obnovitev ter upravljanje zbirk podatkov so v obeh RDBMS enaki.

V najnovejši distribuciji RHEL/CentOS 7 je MariaDB spuščen nadomestek za MySQL, v RHEL/CentOS 6 pa MySQL ostaja enak in MariaDB ne smete namestiti na RHEL/CentOS 6 iz privzetega repozitorija, lahko pa MariaDB namestite z uporabo uradno repozitorij MariaDB.

Če želite omogočiti repozitorij MariaDB v distribucijah RHEL/CentOS 7, ustvarite datoteko z imenom /etc/yum.repos.d/mariadb.repo z naslednjo vsebino:

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

Opomba: Kot rečeno zgoraj, lahko MariaDB namestite tudi na RHEL/CentOS 6 z uporabo uradnega repozitorija MariaDB, kot je navedeno zgoraj.

Ko omogočite repozitorij MariaDB, naredite:

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

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

5. korak: Omogoči/zaženi Apache in 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

6. korak: Preverjanje namestitve PHP

Držimo se klasičnega načina testiranja PHP. Ustvarite datoteko z imenom test.php pod/var/www/html in ji dodajte naslednje vrstice kode.

Funkcija phpinfo() prikazuje veliko informacij o trenutni namestitvi PHP:

<?php
	phpinfo();
?>

Zdaj usmerite spletni brskalnik na http:// [server] /test.php in s pomikanjem po strani preverite prisotnost nameščenih modulov in dodatne programske opreme (zamenjajte [server] z vašo domeno ali naslovom IP vašega strežnika). Vaš izhod mora biti podoben:

Čestitamo! Zdaj imate najnovejšo delujočo namestitev svežnja LAMP. Če se kaj ni izšlo po pričakovanjih, nas kontaktirajte s pomočjo spodnjega obrazca. Tudi vprašanja in predlogi so dobrodošli.

Opomba: MariaDB lahko namestite tudi v druge distribucije, tako da ustvarite repozitorij po meri po navodilih tukaj.