como instalar lamp en centos 7

Cómo instalar LAMP en CentOS 7

En esta entrada veremos cómo instalar LAMP en CentOS 7 paso a paso, es decir, cómo montar un servidor Linux con Apache, MariaDB (en lugar de MySQL) y PHP para conectar los dos anteriores. Con esta configuración ya se pueden servir aplicaciones web de cierta complejidad, montar sitios basados en diversos CMS, etc. Sigue leyendo y tendrás montado tu LAMP server CentOS 7 en unos minutos.

Este tutorial es un resumen turbo de estas entradas anteriores:

Partiendo de una instalación simple de CentOS 7 puedes seguir las tres entradas anteriores si quieres explicaciones más abundantes y entrar más en detalle, o quedarte en esta entrada para una instalación más rápida. El resultado será el mismo: un LAMP Server CentOS 7.

Antes de instalar LAMP en CentOS 7

Para poder seguir esta guía de instalación LAMP en CentOS 7 se necesita:

  • Un sistema CentOS 7 actualizado.
  • Acceso como root o usuario con privilegios de sudo.
  • Conexión a Internet.

Seguramente ya cumples todos estos requisitos, así que vamos a montar nuestro servidor LAMP.

Configurar los repositorios EPEL

Debido a que los repositorios oficiales de CentOS sólo ofrecen la versión 5.4.16 de PHP, una versión ya obsoleta e insegura, habilitaremos el soporte EPEL para disponer de paquetes más actualizados.

Abrimos un terminal y añadimos las herramientas necesarias al sistema:

~$ sudo yum -y install epel-release yum-utils

Ahora podemos añadir el repositorio donde encontraremos las versiones actualizadas de PHP:

~$ sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm

En el repositorio existen varias versiones de PHP, así que elegiremos la versión estable más actualizada como versión por defecto:

~$ sudo yum-config-manager --enable remi-php73

Pero podrías experimentar con el nuevo PHP 7.4 que está en fase de pre-lanzamiento:

~$ sudo yum-config-manager --enable remi-php74

Únicamente queda actualizar la información de los repositorios:

~$ sudo yum update -y

Ahora nuestro sistema CentOS 7 está listo para empezar con la instalación y configuración del sistema LAMP.

Cómo instalar un servidor LAMP en CentOS 7

Para instalar todo el software LAMP los paquetes que necesitaremos son los siguientes:

  • httpd
  • mariadb-server
  • php
  • php-mysqlnd

Además, automáticamente se instalarán todas las dependencias correspondientes.

Abrimos una consola y lanzamos yum para realizar las de descarga e instalación de los paquetes:

~$ sudo yum -y install httpd mariadb-server php php-mysqlnd

En este momento ya está instalado todo el software necesario, pero obviamente habrá que hacer ajustes para poder trabajar.

Arranque de los servicios

Los servicios web y de base de datos no arrancan por defecto tras la instalación. Tampoco arrancan cada vez que se inicia el sistema. En un sistema LAMP lo habitual es que los servicios estén disponibles constantemente, así que vamos a realizar la configuración pertinente.

En primer lugar habilitamos los servicios, para que arranquen automáticamente en cada inicio del sistema:

~$ sudo systemctl enable httpd mariadb

Con esto solamente no arrancan los servicios, así que los iniciaremos manualmente por esta vez:

~$ sudo systemctl start httpd mariadb

A partir de este momento, gracias al comando systemctl, ya tenemos funcionando los servicios y, además, arrancarán con cada inicio del sistema.

Ajustes del firewall

Si estamos montando un servidor LAMP en CentOS 7 en el 99% de los casos querremos conectar desde otras máquinas a través de navegadores para acceder al contenido web.

Pero el firewall de CentOS 7, por defecto, lo impide, por lo que debemos configurarlo.

Añadimos una excepción para el servicio HTTP:

~$ sudo firewall-cmd --permanent --zone=public --add-service=http

Otra para el servicio seguro HTTPS:

~$ sudo firewall-cmd --permanent --zone=public --add-service=https

Y finalmente recargamos la configuración del firewall para que hagan efecto los cambios:

~$ sudo firewall-cmd --reload

Ahora el servicio web es accesible desde otras máquinas, con los protocolos HTTP y HTTPS. El firewall ha quedado configurado para que este cambio sea permanente (persista en el siguiente inicio del sistema).

Ya sólo nos queda realizar algún cambio más en la configuración.

Cómo configurar LAMP en CentOS 7

Aunque tu nuevo LAMP server CentOS 7 ya está funcionando, vamos a realizar unos mínimos ajustes en la configuración de los servicios que integran la pila LAMP en CentOS .

De este modo dejaremos el sistema en el estado óptimo para empezar a trabajar.

Apache

El archivo de configuración es /etc/httpd/conf/httpd.conf, archivo que modificaremos para darle un nombre al servidor. Por defecto el servidor no tiene nombre, por lo que podría registrar un aviso en cada inicio del servicio si no tienes correctamente configurado el nombre de tu máquina CentOS 7.

Editamos el archivo de configuración con nuestro editor de texto favorito y privilegios de sudo:

~$ sudo nano /etc/httpd/conf/httpd.conf

Hay que buscar la directiva ServerName, que está desactivada mediante comentario por defecto:

...
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80
...

Borramos el carácter # al inicio de la lína y asignamos un valor:

ServerName centos7.local:80

Podemos poner el nombre que queramos o necesitemos. Para que los cambios tomen efecto, hay que recargar la configuración del servidor web:

~$ sudo systemctl reload httpd

La carpeta de archivos web se encuentra configurada por defecto en /var/www/html/.

En la entrada dedicada a la instalación de Apache en CentOS 7 tienes mayor información sobre cómo configurar servidores virtuales, localizaciones alternativas para archivos web, etc.

Servicio de base de datos

Es importante ejecutar el script mysql_secure_installation para hacer más segura la instalación de Mariadb, cuyos valores por defecto no son aconsejables para montar un servidor en producción.

~$ sudo mysql_secure_installation

Con este script conseguiremos:

  • Crear una contraseña para el usuario root de MariaDB. La primera pregunta del script es la contraseña de root que, por defecto, viene en blanco.
  • Eliminar los usuarios anónimos.
  • Desactivar el acceso remoto para el usuario root de MariaDB.
  • Eliminar la base de datos de pruebas.

Ya está listo el servicio de bases de datos para trabajar con él. Tienes más información sobre creación de usuarios y acceso remoto en la entrada sobre la instalación de Mariadb en CentOS 7.

PHP

La configuración de PHP se realiza a través de los ajustes del archivo /etc/php.ini. Lo básico a modificar en una nueva instalación sería:

  • Zona horaria del servidor
  • Tratamiento de errores

Para obtener el valor que necesitas para ajustar la zona horaria, puedes consultar en http://php.net/manual/es/timezones.php.

En cuanto a los valores para el tratamiento de errores de PHP, en el propio archivo /etc/php.ini vienen como ejemplo los valores de desarrollo y de producción.

Por ejemplo, editamos php.ini:

~$ sudo nano /etc/php.ini

Para un servidor de desarrollo situado en España, podríamos establecer estos valores en /etc/php.ini:

...
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Europe/Madrid
...
error_reporting = E_ALL
...
display_errors = On
...
display_startup_errors = On
...

Si necesitas un servidor de producción (que oculte los mensajes de error) no necesitas cambiar los valores por defecto.

En el caso de que en otro momento necesites hacer cambios, los valores de producción y desarrollo se detallan en los comentarios intercalados en el propio archivo de configuración, junto a cada directiva.

Para evitar ciertos errores de PHP 7.3 en el inicio de algunas aplicaciones web (como WordPress), conviene localizar la sección [Pcre] en el mismo fichero php.ini y añadir esta directiva:

pcre.jit = 0

Tras estos mínimos cambios, podemos guardar y cerrar php.ini.

No olvides recargar la configuración del servidor web tras cada cambio en la configuración de PHP:

~$ sudo systemctl reload httpd

Tienes mayor información sobre estas configuraciones, añadir y configurar módulos, etc. en la entrada sobre la instalación de PHP en CentOS.

Conclusión

Ahora que ya sabes cómo instalar LAMP en CentOS 7 y has visto lo sencillo que es y lo poco que se tarda, puedes tener tu servidor LAMP para empezar con el desarrollo de tus aplicaciones web o  instalación de potentes CMS basados en este tipo de entorno.

Para profundizar en la configuración de las partes integrantes de tu nuevo LAMP server CentOS 7 te recomiendo las entradas que he citado a lo largo del texto.

En próximas guías usaremos como base este tipo de pila LAMP sobre CentOS.

¡Apoya este sitio!

¿Te ha servido este artículo para instalar LAMP en CentOS? ¿Te interesaría que siguiéramos publicando más artículos similares? ¡Apóyanos con una mínima aportación!

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (4 votos, promedio: 5,00 de 5)
Cargando…

2 comentarios en “Cómo instalar LAMP en CentOS 7”

  1. ¡Muchas gracias por la información! Me ha sido muy util. Solo un detalle respecto a los comandos para el firewall. Creo que es mejor hacerlo con:

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

    Responder
    • ¡Me alegro de que te haya servido! Tienes razón, lo corrijo enseguida. Intento escribir las guías orientadas al mínimo detalle posible para rebajar la dificultad, pero siempre se me cuela algo de mis años de malas prácticas.

      Responder

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies