Fi Afun, MySQL 8 tabi MariaDB 10 ati PHP 7 sori CentOS 7 sori ẹrọ


Bawo ni-itọsọna ṣe ṣalaye bii o ṣe le fi ẹya tuntun ti Apache sori ẹrọ, MySQL 8 tabi MariaDB 10 ati PHP 7 pẹlu awọn modulu PHP ti o nilo lori RHEL/CentOS 7/6 ati Fedora 24-29.

Ijọpọ yii ti ẹrọ iṣiṣẹ (Linux) pẹlu olupin wẹẹbu (Apache), olupin ibi ipamọ data (MariaDB/MySQL) ati ede afọwọkọ ẹgbẹ ẹgbẹ (PHP) ni a mọ bi akopọ LAMP.

Lati Oṣu Kẹsan ọdun 2015, PHP 5.4 ko ni atilẹyin mọ nipasẹ ẹgbẹ PHP ati pe o ti de opin-ti-aye, sibẹ, awọn ọkọ oju omi PHP 5.4 pẹlu RHEL/CentOS 7/6 pẹlu iyipada ẹya kekere ati Red Hat ṣe atilẹyin rẹ, nitorinaa igbesoke si giga julọ ikede ko nilo. Sibẹsibẹ, o ni iṣeduro niyanju lati ṣe igbesoke PHP rẹ 5.4 si PHP 5.5 + fun aabo ati iṣẹ nla.

Eyi ni ohun ti awọn olupin pinpin Lainos lọwọlọwọ rẹ pẹlu:

Lati ṣe eyi, a yoo jẹki ibi ipamọ EPEL ati Remi ati lo ohun elo iṣakoso package ti o wa ni Fedora).

Igbesẹ 1: Fifi EPEL ati Ibi ipamọ Remi sii

EPEL (Awọn idii Afikun fun Lainos Idawọlẹ) jẹ ibi ipamọ orisun agbegbe ti nfunni awọn idii sọfitiwia afikun-fun awọn pinpin Lainos ti o da lori RHEL.

Remi jẹ ibi ipamọ nibiti o le wa awọn ẹya tuntun ti akopọ PHP (ifihan ti o kun) fun fifi sori ẹrọ ni awọn pinpin Fedora ati Idawọlẹ 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]

Igbese 2: Fifi Olupin Wẹẹbu Afun

Apache jẹ Olupin wẹẹbu HTTP ọfẹ ati Ṣiṣii Orisun ti o nṣakoso lori ọpọlọpọ awọn ẹrọ ṣiṣe orisun UNIX ati lori Windows. Bii eyi, o le lo lati sin awọn oju-iwe wẹẹbu aimi ati mu akoonu agbara. Awọn iroyin aipẹ fihan pe Apache ni olupin nọmba akọkọ ti a lo ninu awọn oju opo wẹẹbu ati awọn kọnputa ti nkọju si Intanẹẹti.

Lati fi sori ẹrọ olupin ayelujara Apache, kọkọ mu awọn idii sọfitiwia eto sori ẹrọ ki o fi sii nipa lilo awọn ofin atẹle.

# yum -y update
# yum install httpd

Lọgan ti o ti fi olupin ayelujara Apache sori ẹrọ, o le bẹrẹ mu ki o bẹrẹ ni adaṣe ni bata eto.

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

Ti o ba n ṣiṣẹ ogiriina, rii daju lati gba ijabọ Apache lori ogiriina.

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

Igbesẹ 3: Fifi PHP Lilo Ibi ipamọ Remi

PHP (Hypertext Preprocessor) jẹ ede afọwọkọ olupin-ọfẹ kan ati Ṣiṣii Orisun ti o dara julọ fun idagbasoke wẹẹbu. O le lo lati ṣe awọn oju-iwe wẹẹbu ti o ni agbara fun oju opo wẹẹbu kan ati pe a rii nigbagbogbo julọ ni awọn olupin * nix. Ọkan ninu awọn anfani ti PHP ni pe o jẹ irọrun irọrun nipasẹ lilo ọpọlọpọ awọn modulu.

Lati fi PHP sii, akọkọ o nilo lati mu ibi ipamọ Remi ṣiṣẹ nipa fifi yum-utils sii, ikojọpọ awọn eto to wulo fun sisakoso awọn ibi ipamọ yum ati awọn idii.

# yum install yum-utils

Lọgan ti o fi sii, o le lo yum-config-faili ti a pese nipasẹ yum-utils lati jẹki ibi-ipamọ Remi bi ibi ipamọ aiyipada fun fifi awọn oriṣiriṣi awọn ẹya PHP sori ẹrọ bi o ti han.

Fun apẹẹrẹ, lati fi ẹya PHP 7.x sori ẹrọ, lo aṣẹ atẹle.

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

Nigbamii ti, a yoo fi sori ẹrọ gbogbo awọn atẹle modulu PHP ni nkan yii. O le wa fun awọn modulu ti o ni ibatan PHP diẹ sii (boya lati ṣepọ iṣẹ-ṣiṣe kan pato ti awọn ohun elo wẹẹbu rẹ nilo) pẹlu aṣẹ atẹle:

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

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

Laibikita pinpin, awọn ofin loke wa pada akojọ awọn idii ninu awọn ibi ipamọ lọwọlọwọ ti o ni ọrọ php ni orukọ package ati/tabi apejuwe naa.

Eyi ni awọn idii ti a yoo fi sii. Jọwọ ranti pe awọn asopọ MySQL (PHP, Perl, Python, Java, ati bẹbẹ lọ) yoo ṣiṣẹ laisi iyipada pẹlu MariaDB nitori awọn ọna mejeeji lo ilana alabara kanna ati awọn ikawe alabara jẹ ibaramu alakomeji.

  1. MariaDB/MySQL (php-mysql) - nkan pinpin agbara ti yoo ṣafikun atilẹyin MariaDB si PHP.
  2. PostgreSQL (php-pgsql) - Atilẹyin data ipilẹ PostgreSQL fun PHP.
  3. MongoDB (php-pecl-mongo) - Iboju wiwo fun sisọrọ pẹlu ibi ipamọ data MongoDB ni PHP.
  4. Generic (php-pdo) - Ohun pinpin nkan ti o ni agbara ti yoo ṣafikun Layer iwọle iraye si aaye data si PHP.
  5. Memcache (php-pecl-memcache) - Memcached jẹ daemon caching ti a ṣe pataki fun awọn ohun elo ayelujara ti o lagbara lati dinku fifuye data nipa titoju awọn nkan ni iranti.
  6. Memcached (php-pecl-memcached) - Ifaagun ti o nlo ile-ikawe libmemcached lati pese API fun sisọrọ pẹlu awọn olupin ti a fiweranṣẹ.
  7. GD (php-gd) - Ohun ipin ipin agbara ti o ṣafikun atilẹyin fun lilo ikawe awọn aworan gd si PHP.
  8. XML (php-xml) - Awọn nkan pinpin ti o ni agbara ti o ṣe afikun atilẹyin si PHP fun ifọwọyi awọn iwe XML.
  9. MBString (php-mbstring) - Ifaagun lati mu okun ọpọ baiti ninu awọn ohun elo PHP.
  10. MCrypt (php-mcrypt) - Ile-ikawe Mcrypt fun awọn iwe afọwọkọ PHP.
  11. APC (php-pecl-apcu) - Modulu APC ti a lo lati je ki o tọju koodu PHP. ”
  12. CLI (php-cli) - Ifilelẹ laini aṣẹ fun PHP.
  13. PEAR (php-pear) - Ilana ibi ipamọ ohun elo fun PHP.

Fi awọn atẹle wọnyi pataki awọn modulu PHP sii pẹlu aṣẹ ti o wa ni isalẹ.

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

Igbese 4: Fifi MySQL tabi MariaDB Database sii

Ni apakan yii, a yoo fi fifi sori ẹrọ ti awọn apoti isura infomesonu mejeeji MySQL ati MariaDB han ọ, nitorinaa ohun ti o yan si ọ ni ohun ti o yan da lori awọn ibeere rẹ.

MySQL jẹ ọkan ninu agbaye julọ olokiki ṣiṣi orisun iṣakoso ibatan data isomọ (RDBMS) ti nṣakoso eyikeyi olupin nipa fifun iraye si olumulo pupọ si awọn apoti isura data pupọ. MySQL n ṣiṣẹ pẹlu Apache.

Lati fi ẹya MySQL 8.0 tuntun sori ẹrọ, a yoo fi sori ẹrọ ati muu ṣiṣẹ ibi ipamọ sọfitiwia MySQL Yum osise ni lilo awọn ofin wọnyi.

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

Lẹhin fifi sori ibi ipamọ sọfitiwia MySQL Yum fun pẹpẹ Linux rẹ, ni bayi fi ẹya tuntun ti MySQL sii (lọwọlọwọ 8.0) ni lilo pipaṣẹ atẹle.

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

Lẹhin fifi sori aṣeyọri ti MySQL, o to akoko lati bẹrẹ olupin MySQL pẹlu aṣẹ atẹle.

# service mysqld start

Ṣayẹwo nkan wa lori bawo ni a ṣe le fi sori ẹrọ fifi sori ẹrọ ibi ipamọ data MySQL 8.

MariaDB jẹ orita ti MySQL ti a mọ daradara, ọkan ninu Eto Iṣakoso data ti ibatan ibatan julọ julọ ni agbaye (RDBMS). O ti dagbasoke patapata nipasẹ agbegbe ati bi iru bẹẹ o ti pinnu lati wa FOSS ati ibaramu pẹlu GPL.

Ti o ba wa tabi ti wa, olumulo MySQL kan, ṣiṣilọ si MariaDB yoo jẹ ilana titọ taara: awọn aṣẹ olokiki lati sopọ si, afẹyinti ati mimu-pada sipo, ati ṣakoso awọn apoti isura data jẹ aami kanna ni awọn RDBMS mejeeji.

Ni pinpin RHEL/CentOS 7 tuntun, MariaDB jẹ rirọpo-silẹ fun MySQL ati ni RHEL/CentOS 6 MySQL wa kanna ati pe a ko gba ọ laaye lati fi MariaDB sori RHEL/CentOS 6 lati ibi ipamọ aiyipada, ṣugbọn o le fi MariaDB sii nipa lilo osise ibi ipamọ MariaDB.

Lati jẹki ibi ipamọ MariaDB lori awọn pinpin RHEL/CentOS 7, ṣẹda faili ti a npè ni /etc/yum.repos.d/mariadb.repo pẹlu awọn akoonu wọnyi:

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

Akiyesi: Bi mo ti sọ loke, o tun le fi MariaDB sori RHEL/CentOS 6 ni lilo ibi ipamọ MariaDB osise bi a ti sọ loke.

Lẹhin ti muu ibi ipamọ MariaDB ṣiṣẹ, lẹhinna ṣe:

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

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

Igbese 5: Jeki/Bẹrẹ Afun ati 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

Igbesẹ 6: Ṣiṣayẹwo fifi sori PHP

Jẹ ki a faramọ pẹlu ọna ayebaye ti idanwo PHP. Ṣẹda faili kan ti a pe ni test.php labẹ/var/www/html ki o fi awọn ila atẹle ti koodu sii si.

Iṣẹ phpinfo() fihan ọpọlọpọ alaye ti alaye nipa fifi sori PHP lọwọlọwọ:

<?php
	phpinfo();
?>

Bayi tọka aṣawakiri wẹẹbu rẹ si http:// [server] /test.php ki o ṣayẹwo niwaju awọn modulu ti a fi sii ati sọfitiwia afikun nipasẹ yiyi isalẹ oju-iwe naa (rọpo [olupin] pẹlu ibugbe rẹ tabi adiresi IP ti olupin rẹ). Ṣiṣejade rẹ yẹ ki o jọra si:

Oriire! O ni bayi ni fifi sori ẹrọ ṣiṣẹ tuntun ti akopọ atupa kan. Ti nkan kan ko ba lọ bi o ti ṣe yẹ, ni ọfẹ lati kan si wa ni lilo fọọmu ni isalẹ. Awọn ibeere ati awọn didaba tun ṣe itẹwọgba.

Akiyesi: o tun le fi MariaDB sii ni awọn pinpin miiran nipa ṣiṣẹda ibi ipamọ aṣa kan tẹle awọn itọnisọna ti a pese nibi.