En este artículo veremos cómo instalar la pila LAMP en Debian 8 Jessie paso a paso, de modo que dispondremos del servicio web Apache y las últimas versiones de PHP y MariaDB en nuestro viejo servidor o VPS Debian, para poder desarrollar o instalar potentes aplicaciones web.
Tabla de contenidos
Antes de instalar LAMP en Debian 8 Jessie
Si quieres completar esta guía de instalación de la pila LAMP en Debian 8 Jessie habrá que partir de estos requisitos:
- Una máquina Debian 8 Jessie actualizada.
- Acceso a línea de comandos con root o un usuario con privilegios de sudo.
- Conexión a Internet.
Cómo instalar LAMP en Debian 8 Jessie
Para instalar la pila LAMP en Debian 8 Jessie debemos instalar previamente los repositorios de PHP y MariaDB ya que, como podrás imaginar, las versiones presentes en los repositorios del sitema están totalmente obsoletas.
En primer lugar actualizamos las listas de paquetes:
~$ sudo apt update
Instalamos algunas utilidades que nos harán falta:
~$ sudo apt -y install apt-transport-https
Repositorio de PHP
Instalamos la clave pública con la que se firman los paquetes del repositorio:
~$ sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
Creamos un nuevo archivo de repositorio:
~$ sudo nano /etc/apt/sources.list.d/php.list
Y añadimos la fuente de paquetes:
deb https://packages.sury.org/php/ jessie main
Guardamos y cerramos el archivo.
Repositorio de MariaDB
Instalamos la clave pública para este repositorio:
~$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
Creamos el archivo de repositorio:
~$ sudo nano /etc/apt/sources.list.d/mariadb.list
Añadimos la correspondiente fuente de paquetes:
deb http://ftp.osuosl.org/pub/mariadb/repo/10.4/debian jessie main
Guardamos los cambios y cerramos el archivo.
Instalación
Volvemos a actualizar las listas de paquetes para que se tengan en cuenta los nuevos repositorios configurados:
~$ sudo apt update
Surgirán paquetes actualizables, así que es buen momento para actualizarlos:
~$ sudo apt upgrade -y
Y por fin instalamos los paquetes necesarios:
~$ sudo apt install -y apache2 php php-mysql mariadb-server
Cómo configurar LAMP en Debian 8 Jessie
Habrá que configurar ciertos ajustes de la pila LAMP en Debian 8 para que se adecúe a nuestras necesidades.
PHP
Editamos el archivo de configuración:
~$ sudo nano /etc/php/7.4/apache2/php.ini
Buscamos la directiva date.timezone para ajustar la zona horaria que nos interese:
... ;date.timezone = ...
Activamos la directiva eliminando el carácter # inicial y le damos el valor adecuado:
... date.timezone = Europe/Madrid ...
Si no conoces el valor de tu propia zona horaria, puedes consultar los valores posibles en https://www.php.net/manual/es/timezones.php.
Si el servidor Debian 8 Jessie está destinado a producción y usuarios finales no habría que hacer más ajustes, pero si se trata de un servidor de desarrollo, habrá que buscar las siguientes directivas y cambiar los valores a los mostrados a continuación:
... error_reporting = E_ALL ... display_errors = On ... display_startup_errors = On ...
Guardamos los cambios, cerramos el archivo y recargamos la configuración del servicio web:
~$ sudo systemctl reload apache2
Para PHP de consola (CLI), existe otro archivo php.ini en la ruta /etc/php/7.4/cli/, en el que deberíamos hacer cambios similares.
MariaDB
Como el usuario root de MariaDB no tiene contraseña inicial, sólo podemos conectar al servicio con el cliente mysql usando sudo. Lo normal es tener una contraseña para root, que podemos configurar con el script interactivo mysql_secure_installation:
~$ sudo mysql_secure_installation
Cuando se nos pregunte la contraseña inicial la dejaremos en blanco:
Enter current password for root (enter for none):
Se nos preguntará si deseamos cambiar al método de autenticación unix_socket, a lo que contestaremos que no:
Switch to unix_socket authentication [Y/n] n
La siguiente pregunta será si deseamos asignar una contraseña para root, a lo que contestaremos que sí, e introduciremos la nueva contraseña y la confirmación:
Change the root password? [Y/n] y New password: Re-enter new password:
Al resto de preguntas contestaremos afirmativamente, ya que son los valores de seguridad adecuados.
Firewall
Si tienes activado el firewall UFW en Debian 8 Jessie será necesario añadir algunas reglas para permitir acceder al servidor LAMP desde la red.
Para permitir el tráfico web estándar:
~$ sudo ufw allow http
Y para permitir el tráfico web seguro (HTTPS):
~$ sudo ufw allow https
Cómo probar la pila LAMP en Debian 8 Jessie
Para probar el funcionamiento de la pila LAMP en Debian 8 Jessie, creamos un pequeño script en PHP fácilmente accesible vía web:
~$ sudo nano /var/www/html/info.php
Con esta única línea como contenido:
<?php phpinfo();
Ahora accedemos a este script desde un navegador, añadiendo la ruta /info.php a la dirección IP o dominio del servidor Debian 8 en el que tenemos la pila LAMP instalada:
En la página que se muestra veremos mucha información sobre la configuración actual del servicio web y PHP, así como las extensiones que conectan con MariaDB/MySQL.
Conclusión
Ahora que ya sabes cómo instalar la pila LAMP en Debian 8 Jessie ya puedes desarrollar modernas aplicaciones web o instalar aquellas que necesitan este entorno como base, disponiendo de las últimas versiones de PHP y MariaDB/MySQL al igual que los lanzamientos más recientes de Debian.
Si tienes alguna pregunta, alguna duda, quieres sugerir alguna mejora del tutorial o notificar algún error, deja algún comentario.
Y si ya puedes trabajar con este entorno gracias a esta guía de instalación LAMP en Debian 8 Jessie y quieres agradecérnoslo, puedes hacerlo dejando una pequeña propina de 1 $ con esos céntimos que te sobran en PayPal:
O, si te sientes especialmente agradecido, puedes invitarnos a un café:
¡Gracias!