Instal·leu Apache, MySQL 8 o MariaDB 10 i PHP 7 a CentOS 7


Aquesta guia explica com instal·lar la darrera versió d'Apache, MySQL 8 o MariaDB 10 i PHP 7 juntament amb els mòduls PHP necessaris a RHEL/CentOS 7/6 i Fedora 24-29.

Aquesta combinació del sistema operatiu (Linux) amb el servidor web (Apache), el servidor de bases de dades (MariaDB/MySQL) i el llenguatge de script del costat del servidor (PHP) es coneix com a pila LAMP.

Des del setembre de 2015, PHP 5.4 ja no és compatible amb l'equip PHP i s'ha arribat al final de la seva vida útil, encara, PHP 5.4 s'envia amb RHEL/CentOS 7/6 amb un canvi de versió menor i Red Hat ho admet, de manera que actualitzeu-lo a una versió superior. versió no necessària. Tanmateix, és molt recomanable actualitzar el vostre PHP 5.4 a PHP 5.5+ per obtenir una major seguretat i rendiment.

Aquí teniu el que s'envia la vostra distribució de Linux actual:

Per fer-ho, habilitarem el repositori EPEL i Remi i utilitzarem l'eina de gestió de paquets disponible a Fedora).

Pas 1: instal·lar EPEL i Remi Repository

EPEL (Extra Packages for Enterprise Linux) és un dipòsit basat en la comunitat que ofereix paquets de programari addicionals per a distribucions Linux basades en RHEL.

Remi és un repositori on podeu trobar les últimes versions de la pila PHP (complerta) per instal·lar-les a les distribucions Fedora i 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]

Pas 2: instal·lació del servidor web Apache

Apache és un servidor web HTTP gratuït i de codi obert que s'executa a la majoria de sistemes operatius basats en UNIX, així com a Windows. Com a tal, es pot utilitzar per publicar pàgines web estàtiques i gestionar contingut dinàmic. Informes recents mostren que Apache és el servidor número u utilitzat en llocs web i ordinadors orientats a Internet.

Per instal·lar el servidor web Apache, primer actualitzeu els paquets de programari del sistema i instal·leu-lo mitjançant les ordres següents.

# yum -y update
# yum install httpd

Un cop instal·lat el servidor web Apache, podeu començar a activar-lo per iniciar-lo automàticament a l'arrencada del sistema.

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

Si esteu executant firewalld, assegureu-vos de permetre el trànsit d'Apache al tallafoc.

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

Pas 3: instal·lació de PHP mitjançant el repositori Remi

PHP (preprocessador d'hipertext) és un llenguatge de scripting del servidor gratuït i de codi obert que és el més adequat per al desenvolupament web. Es pot utilitzar per produir pàgines web dinàmiques per a un lloc web i es troba amb més freqüència als servidors *nix. Un dels avantatges de PHP és que és fàcilment extensible mitjançant l'ús d'una gran varietat de mòduls.

Per instal·lar PHP, primer heu d'habilitar el repositori Remi instal·lant yum-utils, una col·lecció de programes útils per gestionar els dipòsits i paquets yum.

# yum install yum-utils

Un cop instal·lat, podeu utilitzar yum-config-manager proporcionat per yum-utils per habilitar el repositori Remi com a repositori predeterminat per instal·lar diferents versions de PHP, tal com es mostra.

Per exemple, per instal·lar la versió PHP 7.x, utilitzeu l'ordre següent.

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

A continuació, instal·larem tots aquests mòduls PHP següents en aquest article. Podeu cercar més mòduls relacionats amb PHP (potser per integrar una funcionalitat específica que necessiten les vostres aplicacions web) amb l'ordre següent:

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

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

Independentment de la distribució, les ordres anteriors retornen la llista de paquets als dipòsits activats actualment que inclouen la paraula php al nom del paquet i/o a la descripció.

Aquests són els paquets que instal·larem. Si us plau, tingueu en compte que els connectors de MySQL (PHP, Perl, Python, Java, etc.) funcionaran sense canvis amb MariaDB, ja que ambdós sistemes utilitzen el mateix protocol de client i les biblioteques de client són compatibles amb els binaris.

  1. MariaDB/MySQL (php-mysql): un objecte compartit dinàmic que afegirà suport MariaDB a PHP.
  2. PostgreSQL (php-pgsql): suport de bases de dades PostgreSQL per a PHP.
  3. MongoDB (php-pecl-mongo): una interfície per comunicar-se amb la base de dades MongoDB en PHP.
  4. Generic (php-pdo): un objecte compartit dinàmic que afegirà una capa d'abstracció d'accés a la base de dades a PHP.
  5. Memcache (php-pecl-memcache): Memcached és un dimoni de memòria cau dissenyat especialment per a aplicacions web dinàmiques per reduir la càrrega de la base de dades emmagatzemant objectes a la memòria.
  6. Memcached (php-pecl-memcached): una extensió que utilitza la biblioteca libmemcached per proporcionar API per comunicar-se amb servidors memcached.
  7. GD (php-gd): un objecte compartit dinàmic que afegeix suport per utilitzar la biblioteca de gràfics gd a PHP.
  8. XML (php-xml): un objecte compartit dinàmic que afegeix suport a PHP per manipular documents XML.
  9. MBString (php-mbstring): una extensió per gestionar cadenes de diversos bytes en aplicacions PHP.
  10. MCrypt (php-mcrypt): una biblioteca Mcrypt per a scripts PHP.
  11. APC (php-pecl-apcu): mòdul APC utilitzat per optimitzar i emmagatzemar el codi PHP a la memòria cau.
  12. CLI (php-cli): interfície de línia d'ordres per a PHP.
  13. PEAR (php-pear): marc del dipòsit d'aplicacions per a PHP.

Instal·leu aquests mòduls PHP necessaris següents amb l'ordre següent.

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

Pas 4: instal·lació de la base de dades MySQL o MariaDB

En aquesta secció, us mostrarem la instal·lació de les dues bases de dades MySQL i MariaDB, de manera que depèn de vosaltres què triar segons els vostres requisits.

MySQL és un dels sistemes de gestió de bases de dades relacionals de codi obert (RDBMS) més populars del món que executa qualsevol servidor proporcionant accés multiusuari a diverses bases de dades. MySQL s'executa amb Apache.

Per instal·lar la darrera versió de MySQL 8.0, instal·larem i habilitarem el dipòsit oficial de programari MySQL Yum mitjançant les ordres següents.

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

Després d'instal·lar el dipòsit de programari MySQL Yum per a la vostra plataforma Linux, instal·leu ara la darrera versió de MySQL (actualment 8.0) mitjançant l'ordre següent.

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

Després d'una instal·lació correcta de MySQL, és hora d'iniciar el servidor MySQL amb l'ordre següent.

# service mysqld start

Consulteu el nostre article sobre com assegurar la instal·lació de la base de dades MySQL 8.

MariaDB és una bifurcació del conegut MySQL, un dels sistemes de gestió de bases de dades relacionals (RDBMS) més populars del món. Està desenvolupat íntegrament per la comunitat i, com a tal, es pretén seguir sent FOSS i compatible amb la GPL.

Si sou o heu estat un usuari de MySQL, migrar a MariaDB serà un procés molt senzill: les ordres populars per connectar-vos, fer còpies de seguretat i restaurar i gestionar bases de dades són idèntiques als dos RDBMS.

A la darrera distribució de RHEL/CentOS 7, MariaDB és un substitut de MySQL i a RHEL/CentOS 6 MySQL continua sent el mateix i no podeu instal·lar MariaDB a RHEL/CentOS 6 des del dipòsit predeterminat, però podeu instal·lar MariaDB mitjançant repositori oficial de MariaDB.

Per habilitar el repositori MariaDB a les distribucions RHEL/CentOS 7, creeu un fitxer anomenat /etc/yum.repos.d/mariadb.repo amb el contingut següent:

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

Nota: Com he dit anteriorment, també podeu instal·lar MariaDB a RHEL/CentOS 6 utilitzant el dipòsit oficial de MariaDB, tal com s'ha dit anteriorment.

Després d'habilitar el repositori MariaDB, feu el següent:

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

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

Pas 5: habiliteu/inicieu Apache i 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

Pas 6: verificació de la instal·lació de PHP

Seguim amb la forma clàssica de provar PHP. Creeu un fitxer anomenat test.php a /var/www/html i afegiu-hi les següents línies de codi.

La funció phpinfo() mostra una gran quantitat d'informació sobre la instal·lació actual de PHP:

<?php
	phpinfo();
?>

Apunteu ara el vostre navegador web a http://[servidor]/test.php i comproveu la presència dels mòduls instal·lats i del programari addicional desplaçant-vos cap avall per la pàgina (substituïu [servidor] amb el vostre domini o l'adreça IP del vostre servidor). La vostra sortida hauria de ser similar a:

Felicitats! Ara teniu la darrera instal·lació de treball d'una pila LAMP. Si alguna cosa no va sortir com s'esperava, no dubti en contactar amb nosaltres mitjançant el formulari següent. També són benvingudes preguntes i suggeriments.

Nota: també podeu instal·lar MariaDB en altres distribucions creant un repositori personalitzat seguint les instruccions que s'ofereixen aquí.