Cómo instalar LAMP en CentOS 6

En esta entrada explicamos cómo instalar la pila LAMP en CentOS 6 paso a paso, de modo que puedas desarrollar o instalar potentes aplicaciones y servicios web sobre tu viejo servidor o VPS CentOS.

Antes de instalar LAMP en CentOS 6

Para poder seguir esta guía de instalación y configuración de la pila LAMP en CentOS 6 necesitarás cumplir los siguientes requisitos mínimos:

  • Una instalación actualizada de CentOS 6.
  • Acceso a línea de comandos con root o un usuario con privilegios de sudo.
  • Conexión a Internet.

Esta guía es efectiva pero no abunda en detalles, ya que de cada componente de la pila LAMP en CentOS 6 encontrarás su guía individual en este mismo sitio web, con abundantes explicaciones en cuanto a instalación y configuración.

Cómo instalar LAMP en CentOS 6

Para instalar la pila LAMP en CentOS 6 será necesario añadir algunos repositorios extra al sistema, debido a la antigüedad de las versiones de los paquetes del repositorio base.

Empezaremos con el repositorio EPEL y las herramientas de yum:

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

Seguimos con el repositorio Remi:

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

Aprovechamos para habilitar el repositorio de PHP que nos interese:

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

Si necesitas otra versión de PHP, sustituye en el comando anterior remi-php73 por remi-php54, remi-php55, remi-php56, remi-php70, remi-php71 o remi-php72.

Creamos el repositorio para MariaDB:

~$ sudo nano /etc/yum.repos.d/mariadb.org.repo

Con este contenido:

# MariaDB 10.3 CentOS repository list - created 2019-10-28 23:35 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Si el sistema es CentOS 6 32 bits cambiar la directiva baseurl por esta otra:

...
baseurl = http://yum.mariadb.org/10.3/centos6-x86
...

Es el momento de actualizar la información de las listas de paquetes de todos estos repositorios:

~$ sudo yum update -y

Hecho esto, instalamos los componentes de la pila LAMP:

~$ sudo yum install -y httpd php php-mysql MariaDB-server

Tras la descarga e instalación de los paquetes y sus dependencias tendremos dos nuevos servicios en CentOS 6, httpd y mysql, que no están iniciados.

Para iniciar por primera vez los componentes de la pila LAMP en CentOS 6 usaremos el comando service, primero para el servicio web:

~$ sudo service httpd start

Y después para MariaDB:

~$ sudo service mysql start

Iniciar los servicios

Iniciaremos los servicios de la pila LAMP por vez primera para poder trabajar con ellos, empezando por el servidor web:

~$ sudo service httpd start

Y seguimos con el servicio de bases de datos:

~$ sudo service mysql start

Mientras que MariaDB se configura durante la instalación para iniciar automáticamente en cada arranque de CentOS 6, no ocurre lo mismo con el servidor web, por lo que debemos ajustarlo manualmente:

~$ sudo chkconfig --level 2345 httpd on

Configurar el firewall de CentOS 6 para la pila LAMP

Normalmente el firewall de CentOS 6 está activado por defecto, así que es necesario añadir reglas para los servicios de la pila LAMP.

Para evitar problemas consultaremos las reglas de entrada actuales de iptables:

~$ sudo iptables -L INPUT --line
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
2    ACCEPT     icmp --  anywhere             anywhere
3    ACCEPT     all  --  anywhere             anywhere
4    ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
5    REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

En este ejemplo, la quinta regla rechaza el tráfico entrante, por lo que debemos insertar las nuevas reglas en esa posición o por encima.

Empezaremos añadiendo la regla para el servicio HTTP estándar:

~$ sudo iptables -I INPUT 5 -m state --state NEW -p tcp --dport 80 -j ACCEPT

En el caso de ofrecer contenido seguro, añadiremos una regla para el protocolo HTTPS:

~$ sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 443 -j ACCEPT

Si tuvieras pensado acceder remotamente al servicio de base de datos, añadiremos esta otra:

~$ sudo iptables -I INPUT 7 -m state --state NEW -p tcp --dport 3306 -j ACCEPT

Puedes comprobar cómo han quedado las reglas:

~$ sudo iptables -L INPUT --line
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
2    ACCEPT     icmp --  anywhere             anywhere
3    ACCEPT     all  --  anywhere             anywhere
4    ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
5    ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:http
6    ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:https
7    ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:mysql
8    REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

Justo como pretendíamos. Para hacer esta configuración permanente, la guardaremos:

~$ sudo service iptables save

Cómo configurar la pila LAMP en CentOS 6

Para configurar la pila LAMP en CentOS 6 no hay que hacer mucho trabajo, pero unos pequeños ajustes dejarán los servicios ajustados a nuestras necesidades y con un mínimo de seguridad.

PHP

Uno de los elementos de la pila LAMP en CentOS 6 que debemos configurar es PHP, editando su archivo de configuración php.ini:

~$ sudo nano /etc/php.ini

Buscamos la directiva date.timezone para configurar la zona horaria del servidor para las aplicaciones web:

...
;date.timezone =
...

Descomentamos la línea y le asignamos el valor correspondiente:

...
date.timezone = Europe/Madrid
...

Puedes encontrar el valor apropiado para tu zona, si no lo conoces, en https://www.php.net/manual/es/timezones.php.

En cuanto a la visualización de errores, la configuración por defecto está orientada a entornos de producción (no se muestran avisos ni errores en el navegador). Si tu entorno es para desarrollo interesa todo lo contrario, así que localiza estas directivas y dales estos valores:

...
error_reporting = E_ALL
...
display_errors = On
...
display_startup_errors = On
...

Aplicamos los cambios recargando la configuración del servidor web:

~$ sudo service httpd reload

MariaDB

Debido a que el usuario root del servicio de bases de datos no tiene contraseña, que existen usuarios anónimos, base de datos de prueba, etc. interesa pasar el script mysql_secure_installation:

~$ sudo mysql_secure_installation
...
Enter current password for root (enter for none):
...
Set root password? [Y/n] Y
New password:
Re-enter new password:
...
Remove anonymous users? [Y/n] Y
...
Disallow root login remotely? [Y/n] Y
...
Remove test database and access to it? [Y/n] Y
...
Reload privilege tables now? [Y/n] Y
...

Así podremos asignar una contraseña a root y dejar un estado más seguro para el servicio.

Cómo probar la pila LAMP en CentOS 6

Vamos a comprobar la integración entre el servidor web y PHP mediante un pequeño script que situaremos en alguna ruta fácilmente accesible vía web:

~$ sudo nano /var/www/html/info.php

En contenido será la típica llamada a la función phpinfo():

<?php phpinfo();

Guardados los cambios, abrimos el navegador y usamos la URL que corresponda.

En este caso, el servidor CentOS 6 es accesible desde el dominio centos6.local, por lo que con la URL http://centos6.local/info.php accederemos a la página de información:

como instalar y configurar lamp en centos 6

Podremos ver que el servidor web trabaja bien con PHP y además carga las extensiones para MariaDB/MySQL.

Conclusión

Ahora ya sabes cómo instalar y configurar los componentes de la pila LAMP en CentOS 6, una tarea ardua pero fructífera que permitirá sacarle todo el jugo a tu viejo servidor o VPS CentOS 6. Ahora puedes desarrollar tus aplicaciones web o instalar potentes CMS, por ejemplo.

Si tienes alguna duda o pregunta, alguna sugerencia o notificación, puedes dejar un comentario.

¡Apoya este sitio!

Y si gracias a esta guía de instalación y configuración ya tienes tu pila LAMP en CentOS 6 y quieres agradecérnoslo, la más mínima contribución ayuda mucho al mantenimiento de este sitio y la creación de más tutoriales de CentOS 6.

Valora esta entrada

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

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