Įdiekite „Apache“, „MySQL 8“ arba „MariaDB 10“ ir „PHP 7“ „CentOS 7“.


Šiame vadove paaiškinama, kaip įdiegti naujausią Apache, MySQL 8 arba MariaDB 10 ir PHP 7 versiją. kartu su reikalingais PHP moduliais RHEL/CentOS 7/6 ir Fedora 24–29.

Šis operacinės sistemos (Linux) ir žiniatinklio serverio (Apache), duomenų bazės serverio (MariaDB/MySQL) ir serverio scenarijų derinys kalba (PHP) žinoma kaip LAMP krūva.

Nepraleiskite: kaip įdiegti „Nginx 1.15“, „MariaDB 10“ ir PHP 7 „CentOS 7“

Nuo 2015 m. rugsėjo mėn. PHP komanda nebepalaiko PHP 5.4 ir ji pasiekė gyvenimo pabaigą, vis tiek PHP 5.4 pristatoma su RHEL/CentOS 7 /6 su nedideliu versijos pakeitimu ir „Red Hat“ ją palaiko, todėl naujovinti į aukštesnę versiją nereikia. Tačiau labai rekomenduojama atnaujinti PHP 5.4 į PHP 5.5+, kad būtų užtikrintas didesnis saugumas ir našumas.

Štai kas yra jūsų dabartinis „Linux“ platinimas:

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

Norėdami tai padaryti, įgalinsime EPEL ir Remi saugyklas ir naudosime yum ir dnf (naują paketų valdymo įrankį, pasiekiamą Fedora).

1 veiksmas: EPEL ir Remi saugyklos diegimas

EPEL (Papildomi paketai, skirti Enterprise Linux) yra bendruomenės pagrindu sukurta saugykla, kurioje siūlomi papildomi programinės įrangos paketai, skirti RHEL pagrįstiems Linux platinimams.

Remi yra saugykla, kurioje galite rasti naujausias PHP dėklo versijas (visos funkcijos), kurias galima įdiegti Fedora ir Enterprise Linux platinimuose.

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

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

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

2 veiksmas: Įdiekite „Apache“ žiniatinklio serverį

Apache yra nemokamas atvirojo kodo HTTP žiniatinklio serveris, veikiantis daugumoje UNIX pagrįstų operacinių sistemų ir Windows. Taigi jis gali būti naudojamas statiniams tinklalapiams aptarnauti ir dinaminiam turiniui tvarkyti. Naujausios ataskaitos rodo, kad „Apache“ yra pirmasis serveris, naudojamas svetainėse ir kompiuteriuose, nukreiptuose į internetą.

Norėdami įdiegti Apache žiniatinklio serverį, pirmiausia atnaujinkite sistemos programinės įrangos paketus ir įdiekite jį naudodami šias komandas.

yum -y update
yum install httpd

Įdiegę Apache žiniatinklio serverį, galite pradėti įgalinti jį automatiškai paleisti sistemos įkrovos metu.

systemctl start httpd
systemctl enable httpd
systemctl status httpd

Jei naudojate ugniasienę, būtinai leiskite „Apache“ srautą užkardoje.

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

3 veiksmas: PHP diegimas naudojant Remi saugyklą

PHP (Hypertext Preprocessor) yra nemokama atvirojo kodo serverio scenarijų kalba, kuri geriausiai tinka kuriant žiniatinklio kūrimą. Jis gali būti naudojamas kuriant dinamiškus svetainės tinklalapius ir dažniausiai randamas *nix serveriuose. Vienas iš PHP privalumų yra tai, kad jį galima lengvai išplėsti naudojant įvairius modulius.

Norėdami įdiegti PHP, pirmiausia turite įgalinti Remi saugyklą, įdiegdami yum-utils – naudingų programų rinkinį, skirtą yum saugykloms ir paketams tvarkyti.

yum install yum-utils

Įdiegę galite naudoti yum-config-manager, kurią pateikia yum-utils, kad įgalintumėte Remi saugyklą kaip numatytąją saugyklą, skirtą skirtingų PHP versijų diegimui, kaip parodyta.

Pavyzdžiui, norėdami įdiegti PHP 7.x versiją, naudokite šią komandą.

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

Toliau šiame straipsnyje mes įdiegsime visus šiuos PHP modulius. Galite ieškoti daugiau su PHP susijusių modulių (galbūt norėdami integruoti konkrečias funkcijas, kurių reikia jūsų žiniatinklio programoms) naudodami šią komandą:

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

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

Nepriklausomai nuo platinimo, aukščiau pateiktos komandos grąžina paketų sąrašą šiuo metu įgalintose saugyklose, kurių paketo pavadinime ir (arba) aprašyme yra žodis php.

Čia yra paketai, kuriuos įdiegsime. Atminkite, kad MySQL jungtys (PHP, Perl, Python, Java ir kt.) veiks nepakitusios su MariaDB, nes abi sistemos naudoja tą patį kliento protokolą ir klientų bibliotekas yra suderinami dvejetainiais.

  1. MariaDB/MySQL (php-mysql) – dinaminis bendrinamas objektas, kuris pridės MariaDB palaikymą prie PHP.
  2. PostgreSQL (php-pgsql) – „PostgreSQL“ duomenų bazės palaikymas, skirtas PHP.
  3. MongoDB (php-pecl-mongo) – sąsaja, skirta bendrauti su MongoDB duomenų baze PHP.
  4. Bendra (php-pdo) – dinaminis bendrinamas objektas, kuris prie PHP pridės duomenų bazės prieigos abstrakcijos sluoksnį.
  5. Memcache (php-pecl-memcache) – „Memcached“ yra talpyklos saugojimo demonas, sukurtas specialiai dinaminėms žiniatinklio programoms, siekiant sumažinti duomenų bazės apkrovą išsaugant objektus atmintyje.
  6. Mamcached (php-pecl-memcached) – plėtinys, kuris naudoja libmemcached biblioteką, kad teiktų API ryšiui su atmintyje išsaugotais serveriais.
  7. GD (php-gd) – dinaminis bendrinimo objektas, kuris papildo gd grafikos bibliotekos naudojimą PHP.
  8. XML (php-xml) – dinamiški bendrinami objektai, kurie papildo PHP palaikymą manipuliuojant XML dokumentais.
  9. MBString (php-mbstring) – plėtinys, skirtas tvarkyti kelių baitų eilutę PHP programose.
  10. MCrypt (php-mcrypt) – PHP scenarijų Mcrypt biblioteka.
  11. APC (php-pecl-apcu) – APC modulis, naudojamas PHP kodui optimizuoti ir saugoti talpykloje.
  12. CLI (php-cli) – PHP komandų eilutės sąsaja.
  13. PEAR (php-pear) – PHP programų saugyklos sistema.

Įdiekite šiuos būtinus PHP modulius naudodami toliau pateiktą komandą.

------ 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 veiksmas: įdiekite „MySQL“ arba „MariaDB“ duomenų bazę

Šiame skyriuje parodysime abiejų duomenų bazių MySQL ir MariaDB diegimą, todėl galėsite pasirinkti, ką pasirinkti pagal savo poreikius.

MySQL 8 duomenų bazės serverio diegimas

MySQL yra viena populiariausių pasaulyje atvirojo kodo reliacinių duomenų bazių valdymo sistemų (RDBMS), kuri valdo bet kurį serverį suteikdama kelių naudotojų prieigą prie kelių duomenų bazių. MySQL veikia su Apache.

Norėdami įdiegti naujausią MySQL 8.0 versiją, įdiegsime ir įgalinsime oficialią MySQL Yum programinės įrangos saugyklą naudodami šias komandas.

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]

Įdiegę MySQL Yum programinės įrangos saugyklą savo Linux platformai, dabar įdiekite naujausią MySQL versiją (šiuo metu 8.0) naudodami šią komandą.

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

Sėkmingai įdiegus MySQL, laikas paleisti MySQL serverį su šia komanda.

service mysqld start

Peržiūrėkite mūsų straipsnį apie tai, kaip apsaugoti „MySQL 8“ duomenų bazės diegimą.

MariaDB 10 duomenų bazės serverio diegimas

MariaDB yra gerai žinomos MySQL, vienos populiariausių pasaulyje ryšių duomenų bazių valdymo sistemos (RDBMS), šakutė. Jį visiškai sukūrė bendruomenė, todėl jis turi likti FOSS ir suderinamas su GPL.

Jei esate arba buvote MySQL vartotojas, perėjimas prie MariaDB bus labai paprastas procesas: populiarios komandos prisijungti, kurti atsargines kopijas ir atkurti duomenų bazes bei valdyti duomenų bazes yra identiškos abiejose RDBVS.

Naujausiame RHEL/CentOS 7 paskirstyme MariaDB yra MySQL pakaitalas, o RHEL/CentOS 6 MySQL išlieka toks pat ir jums neleidžiama diegti MariaDB RHEL/CentOS 6 iš numatytosios saugyklos, bet galite įdiegti MariaDB naudodami oficialią MariaDB saugyklą.

Norėdami įgalinti MariaDB saugyklą RHEL/CentOS 7 platinimuose, sukurkite failą pavadinimu /etc/yum.repos.d/mariadb.repo su tokiu turiniu:

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

Pastaba: kaip minėjau anksčiau, taip pat galite įdiegti MariaDB RHEL/CentOS 6 naudodami oficialią MariaDB saugyklą, kaip nurodyta anksčiau.

Įjungę MariaDB saugyklą, atlikite:

------ 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 veiksmas: įgalinkite/paleiskite „Apache“ ir „MySQL“/„MariaDB“.

Sistemoje D

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

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

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

6 veiksmas: patikrinkite PHP diegimą

Laikykimės klasikinio PHP testavimo būdo. Sukurkite failą test.php, esantį /var/www/html ir pridėkite prie jo šias kodo eilutes.

Funkcija phpinfo() rodo daug informacijos apie dabartinį PHP diegimą:

<?php
	phpinfo();
?>

Dabar nukreipkite žiniatinklio naršyklę į http://[serveris]/test.php ir patikrinkite, ar yra įdiegtų modulių ir papildomos programinės įrangos, slinkdami puslapiu žemyn (pakeiskite [serveris] ) su savo domenu arba serverio IP adresu). Jūsų išvestis turėtų būti panaši į:

Sveikiname! Dabar turite naujausią veikiančią LAMP dėklo diegimą. Jei kažkas nepavyko taip, kaip tikėjotės, susisiekite su mumis naudodami toliau pateiktą formą. Taip pat laukiami klausimai ir pasiūlymai.

Pastaba: taip pat galite įdiegti MariaDB kituose platinimuose, sukurdami tinkintą saugyklą vadovaudamiesi čia pateiktomis instrukcijomis.