Instalación LAMP · 7 min read · Dec 06, 2025
Cómo instalar Apache, PHP 7.2 y MySQL en CentOS 7.4 (LAMP)
Este tutorial muestra cómo instalar un servidor web Apache en un servidor CentOS 7 con PHP (mod_php) y base de datos MySQL. El acrónimo LAMP es la abreviatura de L inux, A pache, M ySQL, P HP.
Este tutorial actualizado muestra la instalación de las últimas versiones de PHP (7.0, 7.1 y 7.2) en CentOS 7.4.
1 Nota Preliminar
En este tutorial, utilizo el nombre de host server1.example.com con la IP p 192.168.1.100. Estas configuraciones pueden diferir para ti, así que debes reemplazarlas donde sea apropiado.
Agregaré el repositorio EPEL aquí para instalar la última versión de phpMyAdmin de la siguiente manera:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-releasePara editar archivos en la terminal, instalaré el editor nano. Si prefieres vi para la edición de archivos, entonces omite este paso.
yum -y install nano2 Instalando MySQL / MariaDB
MariaDB es un fork de MySQL del desarrollador original de MySQL, Monty Widenius. MariaDB es compatible con MySQL y he elegido usar MariaDB aquí en lugar de MySQL. Ejecuta este comando para instalar MariaDB con yum:
yum -y install mariadb-server mariadbLuego creamos los enlaces de inicio del sistema para MySQL (para que MySQL se inicie automáticamente cada vez que el sistema arranque) y comenzamos el servidor MySQL:
systemctl start mariadb.service
systemctl enable mariadb.serviceEstablece contraseñas para la cuenta root de MySQL:
mysql_secure_installation[root@server1 ~]# mysql_secure_installation
NOTA: ¡SE RECOMIENDA EJECUTAR TODAS LAS PARTES DE ESTE SCRIPT PARA TODOS LOS SERVIDORES MariaDB EN USO DE PRODUCCIÓN! ¡LEA CADA PASO CUIDADOSAMENTE!
Para iniciar sesión en MariaDB y asegurarla, necesitaremos la contraseña actual para el usuario root. Si acabas de instalar MariaDB, y no has establecido la contraseña root aún, la contraseña estará en blanco, así que solo debes presionar enter aquí.
Ingresa la contraseña actual para root (presiona enter si no hay): <--ENTER
OK, se utilizó la contraseña correctamente, continuando...
Establecer la contraseña root asegura que nadie pueda iniciar sesión en el usuario root de MariaDB sin la autorización adecuada.
¿Establecer contraseña root? [Y/n]
Nueva contraseña: <--yourmariadbpassword
Reingresa nueva contraseña: <--yourmariadbpassword
¡Contraseña actualizada con éxito!
Recargando tablas de privilegios..
... ¡Éxito!
Por defecto, una instalación de MariaDB tiene un usuario anónimo, permitiendo que cualquiera inicie sesión en MariaDB sin tener que tener una cuenta de usuario creada para ellos. Esto está destinado solo para pruebas, y para hacer que la instalación sea un poco más fluida. Debes eliminarlos antes de pasar a un entorno de producción.
¿Eliminar usuarios anónimos? [Y/n] <--ENTER
... ¡Éxito!
Normalmente, solo se debería permitir que root se conecte desde 'localhost'. Esto asegura que alguien no pueda adivinar la contraseña root desde la red.
¿Deshabilitar inicio de sesión remoto para root? [Y/n] <--ENTER
... ¡Éxito!
Por defecto, MariaDB viene con una base de datos llamada 'test' a la que cualquiera puede acceder. Esto también está destinado solo para pruebas, y debe ser eliminado antes de pasar a un entorno de producción.
¿Eliminar base de datos de prueba y acceso a ella? [Y/n] <--ENTER
- Eliminando base de datos de prueba...
... ¡Éxito!
- Eliminando privilegios en la base de datos de prueba...
... ¡Éxito!
Recargar las tablas de privilegios asegurará que todos los cambios realizados hasta ahora tengan efecto de inmediato.
¿Recargar tablas de privilegios ahora? [Y/n] <--ENTER
... ¡Éxito!
Limpiando...
¡Todo listo! Si has completado todos los pasos anteriores, tu instalación de MariaDB debería estar ahora segura.
¡Gracias por usar MariaDB!
[root@server1 ~]#
## 3 Instalando Apache
CentOS 7 viene con Apache 2.4. Apache está directamente disponible como un paquete de CentOS 7, por lo tanto, podemos instalarlo así:
yum -y install httpd
Aquí hay una captura de pantalla del proceso de instalación.

Ahora configura tu sistema para iniciar Apache al arrancar...
systemctl start httpd.service
systemctl enable httpd.service
Para poder acceder al servidor web desde fuera, debemos abrir los puertos HTTP (80) y HTTPS (443) en el firewall. El firewall predeterminado en CentOS es firewalld, que se puede configurar con el comando firewalld-cmd.
firewall-cmd –permanent –zone=public –add-service=http
firewall-cmd –permanent –zone=public –add-service=https
firewall-cmd –reload
Ahora dirígete a la dirección IP de tu servidor, en mi caso http://192.168.1.100, y deberías ver la página de marcador de posición de Apache:

## 4 Instalando PHP
La versión de PHP que viene con CentOS por defecto es bastante antigua (PHP 5.4). Por lo tanto, te mostraré en este capítulo algunas opciones para instalar versiones más nuevas de PHP como PHP 7.0 o 7.1 desde el repositorio Remi.
Agrega el repositorio Remi de CentOS.
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Instala yum-utils ya que necesitamos la utilidad yum-config-manager.
yum -y install yum-utils
y ejecuta yum update
yum update
Ahora debes elegir qué versión de PHP deseas usar en el servidor. Si deseas usar PHP 5.4, entonces procede al capítulo 4.1. Para instalar PHP 7.0, sigue los comandos en el capítulo 4.2, para PHP 7.1 el capítulo 4.3 y para PHP 7.1, utiliza el capítulo 4.4 en su lugar. Sigue solo uno de los capítulos 4.x y no todos, ya que solo puedes usar una versión de PHP a la vez con Apache mod_php.
### 4.1 Instalar PHP 5.4
Para instalar PHP 5.4, ejecuta este comando:
yum -y install php
### 4.2 Instalar PHP 7.0
Podemos instalar PHP 7.0 y el módulo Apache PHP 7.0 de la siguiente manera:
yum-config-manager –enable remi-php70
yum -y install php php-opcache
### 4.3 Instalar PHP 7.1
Si deseas usar PHP 7.1 en su lugar, usa:
yum-config-manager –enable remi-php71
yum -y install php php-opcache
### 4.4 Instalar PHP 7.2
Si deseas usar PHP 7.2 en su lugar, usa:
yum-config-manager –enable remi-php72
yum -y install php php-opcache
En este ejemplo y en la máquina virtual descargable, usaré PHP 7.2.
Debemos reiniciar Apache para aplicar los cambios:
systemctl restart httpd.service
## 5 Probando PHP / Obteniendo Detalles Sobre Tu Instalación de PHP
La raíz del documento del sitio web predeterminado es /var/www/html. Crearemos un pequeño archivo PHP (info.php) en ese directorio y lo llamaremos en un navegador para probar la instalación de PHP. El archivo mostrará muchos detalles útiles sobre nuestra instalación de PHP, como la versión de PHP instalada.
nano /var/www/html/info.php
Ahora llamamos a ese archivo en un navegador (por ejemplo, http://192.168.1.100/info.php):

Como ves, PHP 7.2 está funcionando, y está funcionando a través del controlador Apache 2.0, como se muestra en la línea de API del servidor. Si desplazas hacia abajo, verás todos los módulos que ya están habilitados en PHP. MySQL no está listado allí, lo que significa que aún no tenemos soporte de MySQL en PHP.
## 6 Obteniendo Soporte de MySQL En PHP
Para obtener soporte de MySQL en PHP, podemos instalar el paquete php-mysqlnd. Es una buena idea instalar algunos otros módulos de PHP también, ya que podrías necesitarlos para tus aplicaciones. Puedes buscar módulos PHP5 disponibles así:
yum search php
Elige los que necesites e instálalos así:
yum -y install php-mysqlnd php-pdo
En el siguiente paso instalaré algunos módulos PHP comunes que son requeridos por sistemas CMS como Wordpress, Joomla y Drupal:
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel
Ahora reinicia el servidor web Apache:
systemctl restart httpd.service
Ahora recarga http://192.168.1.100/info.php en tu navegador y desplázate hacia abajo a la sección de módulos nuevamente. Ahora deberías encontrar muchos nuevos módulos como curl, etc.:

Si ya no necesitas la salida de información de PHP, entonces elimina ese archivo por razones de seguridad.
rm /var/www/html/info.php
## 7 Instalación de phpMyAdmin
phpMyAdmin es una interfaz web a través de la cual puedes gestionar tus bases de datos MySQL.
phpMyAdmin ahora se puede instalar de la siguiente manera:
yum -y install phpMyAdmin
Ahora configuramos phpMyAdmin. Cambiamos la configuración de Apache para que phpMyAdmin permita conexiones no solo desde localhost (comentando la sección y agregando la línea 'Require all granted'):
nano /etc/httpd/conf.d/phpMyAdmin.conf
[…]
Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin
AddDefaultCharset UTF-8
# Apache 2.4
Require all granted
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
Options none
AllowOverride Limit
Require all granted[…]
A continuación, cambiamos la autenticación en phpMyAdmin de cookie a http:
nano /etc/phpMyAdmin/config.inc.php
[…] $cfg[‘Servers’][$i][‘auth_type’] = ‘http’; // Método de autenticación (config, http o basado en cookie)? […]
Reinicia Apache:
systemctl restart httpd.service
Después, puedes acceder a phpMyAdmin en http://192.168.1.100/phpmyadmin/:

## 8 Descargar como máquina virtual
Esta configuración está disponible como descarga de máquina virtual en formato ova/ovf (compatible con VMWare y Virtualbox) para suscriptores de howtoforge.
Detalles de inicio de sesión para la VM
- La contraseña root de Linux es: howtoforge.
- La contraseña root de MySQL es: howtoforge
Por favor, cambia ambas contraseñas en el primer inicio de sesión.
- La dirección IP de la VM es 192.168.1.100
## 9 Enlaces
Apache: http://httpd.apache.org/
PHP: http://www.php.net/
MySQL: http://www.mysql.com/
CentOS: http://www.centos.org/
phpMyAdmin: http://www.phpmyadmin.net/Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.