Asenna Apache, MySQL 8 tai MariaDB 10 ja PHP 7 CentOS 7:ään


Tämä opas selittää, kuinka Apachen, MySQL 8 tai MariaDB 10 ja PHP 7 uusin versio asennetaan. sekä tarvittavat PHP-moduulit RHEL/CentOS 7/6- ja Fedora 24-29 -versioissa.

Tämä käyttöjärjestelmän (Linux) yhdistelmä verkkopalvelimen (Apache), tietokantapalvelimen (MariaDB/MySQL) ja palvelinpuolen komentosarjan kanssa kieli (PHP) tunnetaan nimellä LAMP-pino.

Älä missaa: Nginx 1.15:n, MariaDB 10:n ja PHP 7:n asentaminen CentOS 7:ään

Syyskuusta 2015 lähtien PHP-tiimi ei enää tue PHP 5.4:ää, ja se on saavuttanut käyttöiän loppuun asti, mutta PHP 5.4 toimitetaan edelleen RHEL/CentOS 7:n kanssa /6 pienellä versiomuutoksella ja Red Hat tukee sitä, joten päivittämistä uudempaan versioon ei vaadita. On kuitenkin erittäin suositeltavaa päivittää PHP 5.4 versioon PHP 5.5+ turvallisuuden ja suorituskyvyn parantamiseksi.

Tässä on mitä nykyinen Linux-jakelusi toimitetaan:

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

Tätä varten otamme käyttöön EPEL- ja Remi-arkiston ja käytämme yumia ja dnf:ää (uusi Fedorassa saatavilla oleva paketinhallintatyökalu).

Vaihe 1: Asenna EPEL ja Remi Repository

EPEL (Extra Packages for Enterprise Linux) on yhteisöpohjainen tietovarasto, joka tarjoaa lisäohjelmistopaketteja RHEL-pohjaisille Linux-jakeluille.

Remi on arkisto, josta löydät uusimmat versiot PHP-pinosta (täysi ominaisuus) asennettavaksi Fedora- ja Enterprise Linux -jakeluihin.

RHEL/CentOS 7:ssä

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

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

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

Vaihe 2: Asenna Apache Web Server

Apache on ilmainen ja avoimen lähdekoodin HTTP-verkkopalvelin, joka toimii useimmissa UNIX-pohjaisissa käyttöjärjestelmissä sekä Windowsissa. Sellaisenaan sitä voidaan käyttää staattisten verkkosivujen palvelemiseen ja dynaamisen sisällön käsittelemiseen. Viimeaikaiset raportit osoittavat, että Apache on ykköspalvelin, jota käytetään verkkosivustoissa ja Internetiin päin olevissa tietokoneissa.

Asenna Apache-verkkopalvelin päivittämällä ensin järjestelmäohjelmistopaketit ja asentamalla se seuraavien komentojen avulla.

yum -y update
yum install httpd

Kun Apache-verkkopalvelin on asennettu, voit ottaa sen käyttöön automaattisesti järjestelmän käynnistyksen yhteydessä.

systemctl start httpd
systemctl enable httpd
systemctl status httpd

Jos käytät palomuuria, varmista, että Apache-liikenne sallitaan palomuurissa.

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

Vaihe 3: PHP:n asentaminen Remi-varaston avulla

PHP (Hypertext Preprocessor) on ilmainen ja avoimen lähdekoodin palvelinpuolen komentosarjakieli, joka sopii parhaiten verkkokehitykseen. Sitä voidaan käyttää dynaamisten verkkosivujen tuottamiseen verkkosivustolle, ja sitä löytyy useimmiten *nix-palvelimista. Yksi PHP:n eduista on, että sitä on helppo laajentaa käyttämällä monenlaisia moduuleja.

Asentaaksesi PHP:n sinun on ensin otettava Remi-arkisto käyttöön asentamalla yum-utils, kokoelma hyödyllisiä ohjelmia yum-varastojen ja -pakettien hallintaan.

yum install yum-utils

Kun olet asentanut, voit käyttää yum-utils:n tarjoamaa yum-config-manager -ohjelmaa ottaaksesi Remi-tietovaraston oletusvarastona eri PHP-versioiden asentamiseen kuvan mukaisesti.

Jos haluat esimerkiksi asentaa PHP 7.x -version, käytä seuraavaa komentoa.

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

Seuraavaksi asennamme kaikki seuraavat PHP-moduulit tässä artikkelissa. Voit etsiä lisää PHP-moduuleja (ehkä integroidaksesi tietyn verkkosovelluksesi tarvitseman toiminnon) seuraavalla komennolla:

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

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

Jakelusta riippumatta yllä olevat komennot palauttavat luettelon paketeista tällä hetkellä käytössä olevissa arkistoissa, jotka sisältävät sanan php paketin nimessä ja/tai kuvauksessa.

Tässä ovat paketit, jotka asennamme. Muista, että MySQL-liittimet (PHP, Perl, Python, Java jne.) toimivat muuttumattomina MariaDB:n kanssa, koska molemmat järjestelmät käyttävät samaa asiakasprotokollaa ja asiakaskirjastoja ovat binääriyhteensopivia.

  1. MariaDB/MySQL (php-mysql) – dynaaminen jaettu objekti, joka lisää MariaDB-tuen PHP:hen.
  2. PostgreSQL (php-pgsql) – PostgreSQL-tietokannan tuki PHP:lle.
  3. MongoDB (php-pecl-mongo) – käyttöliittymä MongoDB-tietokannan kanssa kommunikointiin PHP:ssä.
  4. Yleinen (php-pdo) – Dynaaminen jaettu objekti, joka lisää PHP:hen tietokannan pääsyn abstraktiokerroksen.
  5. Memcache (php-pecl-memcache) – Memcached on välimuistidaemon, joka on suunniteltu erityisesti dynaamisille verkkosovelluksille tietokannan kuormituksen vähentämiseen tallentamalla objekteja muistiin.
  6. Memcached (php-pecl-memcached) – Laajennus, joka käyttää libmemcached-kirjastoa sovellusliittymän tarjoamiseen memcached-palvelinten kanssa viestimiseen.
  7. GD (php-gd) – Dynaaminen jakoobjekti, joka lisää tuen gd-grafiikkakirjaston käytölle PHP:ssä.
  8. XML (php-xml) – Dynaaminen jaettu objekti, joka lisää PHP-tuen XML-dokumenttien käsittelyyn.
  9. MBString (php-mbstring) – Laajennus monitavuisten merkkijonojen käsittelemiseen PHP-sovelluksissa.
  10. MCrypt (php-mcrypt) – Mcrypt-kirjasto PHP-skripteille.
  11. APC (php-pecl-apcu) – APC-moduuli, jota käytetään PHP-koodin optimointiin ja välimuistiin.
  12. CLI (php-cli) – komentoriviliittymä PHP:lle.
  13. PEAR (php-pear) – PHP:n sovellusvarastokehys.

Asenna nämä seuraavat tarvittavat PHP-moduulit alla olevalla komennolla.

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

Vaihe 4: MySQL- tai MariaDB-tietokannan asentaminen

Tässä osiossa näytämme molempien MySQL- ja MariaDB-tietokantojen asennuksen, joten voit päättää, mitä valitset tarpeidesi mukaan.

MySQL 8 -tietokantapalvelimen asentaminen

MySQL on yksi maailman suosituimmista avoimen lähdekoodin relaatiotietokannan hallintajärjestelmistä (RDBMS), joka käyttää mitä tahansa palvelinta tarjoamalla usean käyttäjän pääsyn useisiin tietokantoihin. MySQL toimii Apachen kanssa.

Uusimman MySQL 8.0 -version asentamiseksi asennamme ja otamme käyttöön virallisen MySQL Yum -ohjelmistovaraston seuraavilla komennoilla.

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]

Kun olet asentanut MySQL Yum -ohjelmistovaraston Linux-alustallesi, asenna nyt uusin MySQL-versio (tällä hetkellä 8.0) seuraavalla komennolla.

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

Kun MySQL on asennettu onnistuneesti, on aika käynnistää MySQL-palvelin seuraavalla komennolla.

service mysqld start

Tutustu artikkeliimme MySQL 8 -tietokannan asennuksen turvaamisesta.

MariaDB 10 -tietokantapalvelimen asentaminen

MariaDB on tunnetun MySQL:n haarukka, joka on yksi maailman suosituimmista relaatiotietokannan hallintajärjestelmistä (RDBMS). Se on kokonaan yhteisön kehittämä, ja sellaisena sen on tarkoitus pysyä FOSS:na ja yhteensopivana GPL:n kanssa.

Jos olet tai olet ollut MySQL-käyttäjä, siirtyminen MariaDB:hen on erittäin yksinkertainen prosessi: suositut komennot muodostaa yhteys, varmuuskopioida ja palauttaa sekä hallita tietokantoja ovat identtisiä molemmissa RDBMS:issä.

Uusimmassa RHEL/CentOS 7 -jakelussa MariaDB korvaa MySQL:n, ja RHEL/CentOS 6:ssa MySQL pysyy samana, etkä saa asentaa MariaDB:tä RHEL/CentOS 6 oletusarkistosta, mutta voit asentaa MariaDB:n käyttämällä virallista MariaDB-tietovarastoa.

Ota MariaDB-tietovarasto käyttöön RHEL/CentOS 7 -jakeluissa luomalla tiedosto nimeltä /etc/yum.repos.d/mariadb.repo, jossa on seuraava sisältö:

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

Huomaa: Kuten edellä sanoin, voit myös asentaa MariaDB:n RHEL/CentOS 6:een käyttämällä virallista MariaDB-tietovarastoa yllä kuvatulla tavalla.

Kun olet ottanut MariaDB-tietovaraston käyttöön, toimi seuraavasti:

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

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

Vaihe 5: Ota käyttöön/käynnistä Apache ja MySQL/MariaDB

Järjestelmässä D

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

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

SysVinitissä

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

Vaihe 6: PHP-asennuksen tarkistaminen

Pysytään perinteisessä PHP:n testaustavassa. Luo tiedosto nimeltä test.php kohtaan /var/www/html ja lisää siihen seuraavat koodirivit.

Funktio phpinfo() näyttää paljon tietoa nykyisestä PHP-asennuksesta:

<?php
	phpinfo();
?>

Osoita nyt selaimesi osoitteeseen http://[palvelin]/test.php ja tarkista asennettujen moduulien ja lisäohjelmistojen olemassaolo vierittämällä sivua alaspäin (korvaa [palvelin] ) verkkotunnuksellasi tai palvelimesi IP-osoitteella). Tuotosi tulee olla samanlainen kuin:

Onnittelut! Sinulla on nyt uusin toimiva LAMP-pinon asennus. Jos jokin ei mennyt odotusten mukaan, ota rohkeasti yhteyttä alla olevalla lomakkeella. Myös kysymykset ja ehdotukset ovat tervetulleita.

Huomaa: voit asentaa MariaDB:n myös muihin jakeluihin luomalla mukautetun arkiston noudattamalla tässä annettuja ohjeita.