Sakinisha Apache, MySQL 8 au MariaDB 10 na PHP 7 kwenye CentOS 7


Mwongozo huu wa jinsi ya kufanya unafafanua jinsi ya kusakinisha toleo jipya zaidi la Apache, MySQL 8 au MariaDB 10 na PHP 7 pamoja na moduli zinazohitajika za PHP kwenye RHEL/CentOS 7/6 na Fedora 24-29.

Mchanganyiko huu wa mfumo endeshi (Linux) na seva ya wavuti (Apache), seva ya hifadhidata (MariaDB/MySQL) na lugha ya uandishi ya upande wa seva (PHP) inajulikana kama safu ya LAMP.

Tangu Septemba 2015, PHP 5.4 haitumiki tena na timu ya PHP na imefikiwa mwisho wa maisha, bado, meli za PHP 5.4 zenye RHEL/CentOS 7/6 zenye mabadiliko madogo ya toleo na Red Hat inaiunga mkono, kwa hivyo inasasishwa hadi ya juu zaidi. toleo halihitajiki. Hata hivyo, inashauriwa sana kuboresha PHP 5.4 yako hadi PHP 5.5+ kwa usalama zaidi na utendakazi.

Hii ndio meli yako ya sasa ya usambazaji ya Linux na:

Ili kufanya hivyo, tutawezesha hazina ya EPEL na Remi na kutumia zana ya usimamizi wa kifurushi inayopatikana katika Fedora).

Hatua ya 1: Kusakinisha EPEL na Remi Repository

EPEL (Vifurushi vya Ziada vya Linux Enterprise) ni hazina ya msingi ya jumuiya inayotoa vifurushi vya programu-jalizi kwa usambazaji wa Linux unaotegemea RHEL.

Remi ni hazina ambapo unaweza kupata matoleo ya hivi punde ya safu ya PHP (iliyoangaziwa kamili) kwa usakinishaji katika usambazaji wa Fedora na 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]

Hatua ya 2: Kusakinisha Apache Web Server

Apache ni seva ya wavuti ya Bure na ya Open Source ya HTTP ambayo inaendeshwa kwenye mifumo mingi ya uendeshaji inayotegemea UNIX na vile vile kwenye Windows. Kwa hivyo, inaweza kutumika kutumikia kurasa za wavuti tuli na kushughulikia yaliyomo. Ripoti za hivi majuzi zinaonyesha kuwa Apache ndiyo seva nambari moja inayotumiwa katika tovuti na kompyuta zinazotumia Intaneti.

Ili kusakinisha seva ya wavuti ya Apache, kwanza sasisha vifurushi vya programu ya mfumo na uisakinishe kwa kutumia amri zifuatazo.

# yum -y update
# yum install httpd

Mara tu seva ya wavuti ya Apache ikiwa imewekwa, unaweza kuanza kuiwezesha kuanza kiotomatiki kwenye mfumo wa kuwasha.

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

Ikiwa unatumia firewalld, hakikisha kuwa umeruhusu trafiki ya Apache kwenye ngome.

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

Hatua ya 3: Kufunga PHP Kwa Kutumia Remi Repository

PHP (Hypertext Preprocessor) ni lugha ya uandishi ya upande wa seva huria na Chanzo Huria ambayo inafaa zaidi kwa ukuzaji wa wavuti. Inaweza kutumika kutengeneza kurasa za wavuti zinazobadilika kwa tovuti na hupatikana mara nyingi katika seva za *nix. Moja ya faida za PHP ni kwamba inaweza kupanuliwa kwa urahisi kupitia utumiaji wa moduli anuwai.

Ili kusakinisha PHP, kwanza unahitaji kuwezesha hazina ya Remi kwa kusakinisha yum-utils, mkusanyiko wa programu muhimu za kudhibiti hazina na vifurushi vya yum.

# yum install yum-utils

Baada ya kusakinishwa, unaweza kutumia yum-config-manager iliyotolewa na yum-utils ili kuwezesha hazina ya Remi kama hazina chaguomsingi ya kusakinisha matoleo tofauti ya PHP kama inavyoonyeshwa.

Kwa mfano, ili kusakinisha toleo la PHP 7.x, tumia amri ifuatayo.

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

Ifuatayo, tutasakinisha moduli hizi zote zifuatazo za PHP katika nakala hii. Unaweza kutafuta moduli zaidi zinazohusiana na PHP (labda ili kuunganisha utendaji maalum ambao programu zako za wavuti zinahitaji) kwa amri ifuatayo:

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

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

Bila kujali usambazaji, amri zilizo hapo juu hurejesha orodha ya vifurushi katika hazina zilizowezeshwa kwa sasa ambazo zinajumuisha neno php katika jina la kifurushi na/au maelezo.

Hapa kuna vifurushi ambavyo tutaweka. Tafadhali kumbuka kuwa viunganishi vya MySQL (PHP, Perl, Python, Java, n.k.) vitafanya kazi bila kubadilishwa na MariaDB kwani mifumo yote miwili inatumia itifaki ya mteja sawa na maktaba za mteja zinapatana na mfumo wa jozi.

  1. MariaDB/MySQL (php-mysql) – kitu wasilianifu kitakachoongeza usaidizi wa MariaDB kwa PHP.
  2. PostgreSQL (php-pgsql) - Usaidizi wa hifadhidata ya PostgreSQL kwa PHP.
  3. MongoDB (php-pecl-mongo) - Kiolesura cha kuwasiliana na hifadhidata ya MongoDB katika PHP.
  4. Jenerali (php-pdo) - Kipengee badilika kinachoshirikiwa ambacho kitaongeza safu ya uondoaji ya ufikiaji wa hifadhidata kwa PHP.
  5. Memcache (php-pecl-memcache) - Memcached ni daemoni ya kache iliyoundwa mahsusi kwa programu tendaji za wavuti ili kupunguza upakiaji wa hifadhidata kwa kuhifadhi vitu kwenye kumbukumbu.
  6. Memcached (php-pecl-memcached) - Kiendelezi kinachotumia maktaba ya libmemcached kutoa API ya kuwasiliana na seva zilizohifadhiwa.
  7. GD (php-gd) - Kitu cha kushiriki kinachobadilika ambacho huongeza usaidizi wa kutumia maktaba ya picha za gd kwa PHP.
  8. XML (php-xml) - Vipengee vinavyobadilika vinavyoshirikiwa vinavyoongeza usaidizi kwa PHP kwa kuchezea hati za XML.
  9. MBString (php-mbstring) - Kiendelezi cha kushughulikia mfuatano wa baiti nyingi katika programu za PHP.
  10. MCrypt (php-mcrypt) - Maktaba ya Mcrypt kwa hati za PHP.
  11. APC (php-pecl-apcu) - Sehemu ya APC inayotumika kuboresha na kuweka akiba msimbo wa PHP.
  12. CLI (php-cli) - kiolesura cha mstari wa amri kwa PHP.
  13. PEAR (php-pear) - Mfumo wa Hifadhi ya Programu ya PHP.

Sakinisha moduli zifuatazo muhimu za PHP kwa amri iliyo hapa chini.

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

Hatua ya 4: Kufunga Hifadhidata ya MySQL au MariaDB

Katika sehemu hii, tutakuonyesha usakinishaji wa hifadhidata zote mbili za MySQL na MariaDB, kwa hivyo ni juu yako cha kuchagua kulingana na mahitaji yako.

MySQL ni mojawapo ya mfumo maarufu duniani wa usimamizi wa hifadhidata ya uhusiano wa chanzo huria (RDBMS) ambao huendesha seva yoyote kwa kutoa ufikiaji wa watumiaji wengi kwa hifadhidata nyingi. MySQL inaendesha na Apache.

Ili kusakinisha toleo jipya zaidi la MySQL 8.0, tutasakinisha na kuwezesha hazina rasmi ya programu ya MySQL Yum kwa kutumia amri zifuatazo.

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

Baada ya kusakinisha hazina ya programu ya MySQL Yum kwa jukwaa lako la Linux, sasa sakinisha toleo jipya zaidi la MySQL (sasa 8.0) ukitumia amri ifuatayo.

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

Baada ya usakinishaji mzuri wa MySQL, ni wakati wa kuanza seva ya MySQL na amri ifuatayo.

# service mysqld start

Angalia nakala yetu juu ya jinsi ya kupata usakinishaji wa hifadhidata wa MySQL 8.

MariaDB ni uma wa MySQL inayojulikana, mojawapo ya Mfumo wa Usimamizi wa Hifadhidata ya Mahusiano maarufu zaidi ulimwenguni (RDBMS). Imetengenezwa kabisa na jamii na kwa hivyo inakusudiwa kubaki FOSS na kuendana na GPL.

Ikiwa wewe ni au umekuwa, mtumiaji wa MySQL, kuhamia MariaDB itakuwa mchakato wa moja kwa moja: amri maarufu za kuunganisha kwa, kuhifadhi nakala na kurejesha, na kudhibiti hifadhidata zinafanana katika RDBMS zote mbili.

Katika usambazaji wa hivi karibuni wa RHEL/CentOS 7, MariaDB ni mbadala wa MySQL na katika RHEL/CentOS 6 MySQL inabaki sawa na hairuhusiwi kusakinisha MariaDB kwenye RHEL/CentOS 6 kutoka kwa hazina chaguomsingi, lakini unaweza kusakinisha MariaDB ukitumia. hazina rasmi ya MariaDB.

Ili kuwezesha hazina ya MariaDB kwenye usambazaji wa RHEL/CentOS 7, unda faili inayoitwa /etc/yum.repos.d/mariadb.repo yenye maudhui yafuatayo:

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

Kumbuka: Kama nilivyosema hapo juu, unaweza pia kusakinisha MariaDB kwenye RHEL/CentOS 6 kwa kutumia hazina rasmi ya MariaDB kama ilivyoelezwa hapo juu.

Baada ya kuwezesha hazina ya MariaDB, basi fanya:

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

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

Hatua ya 5: Wezesha/Anzisha Apache na 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

Hatua ya 6: Kuthibitisha Usakinishaji wa PHP

Wacha tushikamane na njia ya kawaida ya kujaribu PHP. Unda faili inayoitwa test.php chini ya /var/www/html na uongeze mistari ifuatayo ya msimbo kwake.

Kitendaji cha phpinfo() kinaonyesha habari nyingi kuhusu usakinishaji wa sasa wa PHP:

<?php
	phpinfo();
?>

Sasa elekeza kivinjari chako kwenye http://[server]/test.php na uangalie uwepo wa moduli zilizosakinishwa na programu ya ziada kwa kusogeza chini ukurasa (badilisha [seva] na kikoa chako au anwani ya IP ya seva yako). Pato lako linapaswa kuwa sawa na:

Hongera! Sasa una usakinishaji wa hivi punde zaidi wa safu ya LAMP. Ikiwa kitu hakikuenda kama ilivyotarajiwa, jisikie huru kuwasiliana nasi kwa kutumia fomu iliyo hapa chini. Maswali na mapendekezo pia yanakaribishwa.

Kumbuka: unaweza pia kusakinisha MariaDB katika usambazaji mwingine kwa kuunda hazina maalum kufuatia maagizo yaliyotolewa hapa.