Búsqueda de sitios web

Instale Apache, MySQL 8 o MariaDB 10 y PHP 7 en CentOS 7


Esta guía práctica explica cómo instalar la última versión de Apache, MySQL 8 o MariaDB 10 y PHP 7. junto con los módulos PHP necesarios en RHEL/CentOS 7/6 y Fedora 24-29.

Esta combinación del sistema operativo (Linux) con el servidor web (Apache), el servidor de base de datos (MariaDB/MySQL) y las secuencias de comandos del lado del servidor El lenguaje (PHP) se conoce como pila LAMP.

No te pierdas: Cómo instalar Nginx 1.15, MariaDB 10 y PHP 7 en CentOS 7

Desde septiembre de 2015, PHP 5.4 ya no es compatible con el equipo de PHP y ha llegado al final de su vida útil; aún así, PHP 5.4 se envía con RHEL/CentOS 7 /6 con un cambio de versión menor y Red Hat lo admite, por lo que no es necesario actualizar a una versión superior. Sin embargo, se recomienda encarecidamente actualizar su PHP 5.4 a PHP 5.5+ para mayor seguridad y rendimiento.

Esto es lo que incluye su distribución actual de Linux:

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

Para ello habilitaremos el repositorio EPEL y Remi y usaremos yum y dnf (la nueva herramienta de gestión de paquetes disponible en Fedora).

Paso 1: Instalar EPEL y Remi Repository

EPEL (Paquetes adicionales para Enterprise Linux) es un repositorio basado en la comunidad que ofrece paquetes de software complementarios para distribuciones de Linux basadas en RHEL.

Remi es un repositorio donde puede encontrar las últimas versiones de la pila PHP (con todas las funciones) para su instalación en las distribuciones Fedora y Enterprise Linux.

En 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

En 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

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

Paso 2: instalar el servidor web Apache

Apache es un servidor web HTTP gratuito y de código abierto que se ejecuta en la mayoría de los sistemas operativos basados en UNIX, así como en Windows. Como tal, se puede utilizar para servir páginas web estáticas y manejar contenido dinámico. Informes recientes muestran que Apache es el servidor número uno utilizado en sitios web y computadoras con acceso a Internet.

Para instalar el servidor web Apache, primero actualice los paquetes de software del sistema e instálelo usando los siguientes comandos.

yum -y update
yum install httpd

Una vez instalado el servidor web Apache, puede habilitarlo para que se inicie automáticamente al iniciar el sistema.

systemctl start httpd
systemctl enable httpd
systemctl status httpd

Si está ejecutando firewalld, asegúrese de permitir el tráfico de Apache en el firewall.

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

Paso 3: Instalar PHP usando el repositorio Remi

PHP (Preprocesador de hipertexto) es un lenguaje de secuencias de comandos del lado del servidor gratuito y de código abierto que se adapta mejor al desarrollo web. Se puede utilizar para producir páginas web dinámicas para un sitio web y se encuentra con mayor frecuencia en servidores *nix. Una de las ventajas de PHP es que es fácilmente extensible mediante el uso de una amplia variedad de módulos.

Para instalar PHP, primero debe habilitar el repositorio Remi instalando yum-utils, una colección de programas útiles para administrar repositorios y paquetes de yum.

yum install yum-utils

Una vez instalado, puede usar yum-config-manager proporcionado por yum-utils para habilitar el repositorio Remi como el repositorio predeterminado para instalar diferentes versiones de PHP como se muestra.

Por ejemplo, para instalar la versión PHP 7.x, utilice el siguiente comando.

------------- 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ón, instalaremos todos los siguientes módulos PHP en este artículo. Puede buscar más módulos relacionados con PHP (tal vez para integrar una funcionalidad específica que sus aplicaciones web necesitan) con el siguiente comando:

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

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

Independientemente de la distribución, los comandos anteriores devuelven la lista de paquetes en los repositorios actualmente habilitados que incluyen la palabra php en el nombre del paquete y/o la descripción.

Aquí están los paquetes que instalaremos. Tenga en cuenta que los conectores MySQL (PHP, Perl, Python, Java, etc.) funcionarán sin cambios con MariaDB ya que ambos sistemas utilizan el mismo protocolo de cliente y las mismas bibliotecas de cliente. son compatibles con binarios.

  1. MariaDB/MySQL (php-mysql): un objeto compartido dinámico que agregará soporte MariaDB a PHP.
  2. PostgreSQL (php-pgsql): soporte de base de datos PostgreSQL para PHP.
  3. MongoDB (php-pecl-mongo): una interfaz para comunicarse con la base de datos MongoDB en PHP.
  4. Genérico (php-pdo): un objeto compartido dinámico que agregará una capa de abstracción de acceso a la base de datos a PHP.
  5. Memcache (php-pecl-memcache): Memcached es un demonio de almacenamiento en caché diseñado especialmente para aplicaciones web dinámicas para disminuir la carga de la base de datos mediante el almacenamiento de objetos en la memoria.
  6. Memcached (php-pecl-memcached): una extensión que utiliza la biblioteca libmemcached para proporcionar API para comunicarse con servidores Memcached.
  7. GD (php-gd): un objeto compartido dinámico que agrega soporte para usar la biblioteca de gráficos gd a PHP.
  8. XML (php-xml): objetos compartidos dinámicos que agregan soporte a PHP para manipular documentos XML.
  9. MBString (php-mbstring): una extensión para manejar cadenas multibyte en aplicaciones PHP.
  10. MCrypt (php-mcrypt): una biblioteca Mcrypt para scripts PHP.
  11. APC (php-pecl-apcu): módulo APC utilizado para optimizar y almacenar en caché el código PHP.
  12. CLI (php-cli): interfaz de línea de comandos para PHP.
  13. PEAR (php-pear): marco de repositorio de aplicaciones para PHP.

Instale los siguientes módulos PHP necesarios con el siguiente comando.

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

Paso 4: Instalar la base de datos MySQL o MariaDB

En esta sección, le mostraremos la instalación de ambas bases de datos MySQL y MariaDB, por lo que usted decide qué elegir según sus requisitos.

Instalación del servidor de base de datos MySQL 8

MySQL es uno de los sistemas de gestión de bases de datos relacionales (RDBMS) de código abierto más populares del mundo que ejecuta cualquier servidor proporcionando acceso multiusuario a múltiples bases de datos. MySQL se ejecuta con Apache.

Para instalar la última versión de MySQL 8.0, instalaremos y habilitaremos el repositorio de software oficial MySQL Yum usando los siguientes comandos.

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]

Después de instalar el repositorio de software MySQL Yum para su plataforma Linux, ahora instale la última versión de MySQL (actualmente 8.0) usando el siguiente comando.

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

Después de una instalación exitosa de MySQL, es hora de iniciar el servidor MySQL con el siguiente comando.

service mysqld start

Consulte nuestro artículo sobre cómo proteger la instalación de la base de datos MySQL 8.

Instalación del servidor de base de datos MariaDB 10

MariaDB es una bifurcación del conocido MySQL, uno de los sistemas de gestión de bases de datos relacionales (RDBMS) más populares del mundo. Está desarrollado íntegramente por la comunidad y, como tal, pretende seguir siendo FOSS y compatible con la GPL.

Si es o ha sido usuario de MySQL, migrar a MariaDB será un proceso muy sencillo: los comandos populares para conectarse, realizar copias de seguridad y restaurar, y administrar bases de datos son idénticos en ambos RDBMS.

En la última distribución de RHEL/CentOS 7, MariaDB es un reemplazo directo de MySQL y en RHEL/CentOS 6 MySQL sigue siendo el mismo y no se le permite instalar MariaDB en RHEL/CentOS 6 desde el repositorio predeterminado, pero puede instalar MariaDB utilizando el repositorio oficial de MariaDB.

Para habilitar el repositorio MariaDB en distribuciones RHEL/CentOS 7, cree un archivo llamado /etc/yum.repos.d/mariadb.repo con el siguiente contenido:

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

Nota: Como dije anteriormente, también puedes instalar MariaDB en RHEL/CentOS 6 usando el repositorio oficial de MariaDB como se indicó anteriormente.

Después de habilitar el repositorio MariaDB, haga lo siguiente:

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

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

Paso 5: Habilite/Inicie Apache y MySQL/MariaDB

En SystemD

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

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

En 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

Paso 6: Verificar la instalación de PHP

Sigamos con la forma clásica de probar PHP. Cree un archivo llamado test.php en /var/www/html y agréguele las siguientes líneas de código.

La función phpinfo() muestra una gran cantidad de información sobre la instalación actual de PHP:

<?php
	phpinfo();
?>

Ahora apunte su navegador web a http://[servidor]/test.php y verifique la presencia de los módulos instalados y el software adicional desplazándose hacia abajo en la página (reemplace [servidor] con tu dominio o la dirección IP de tu servidor). Su resultado debería ser similar a:

¡Felicidades! Ahora tiene una instalación funcional más reciente de una pila LAMP. Si algo no salió como esperaba, no dude en contactarnos mediante el siguiente formulario. También se aceptan preguntas y sugerencias.

Nota: también puedes instalar MariaDB en otras distribuciones creando un repositorio personalizado siguiendo las instrucciones proporcionadas aquí.