Dungeon of Bits
Aprendiendo informática.
Dungeon of Bits

Instalación de LAMP (Apache, MySQL o MariaDB y PHP sobre Linux)

En este tutorial instalarás el servidor de páginas web Apache, la base de datos MySQL o MadriaDB (a tu elección) y PHP sobre tu distribución de Linux.

Instalar LAMP (Apache, mySQL o mariaDB y PHP) en nuestra distribución Linux.

Instalación de LAMP: Apache, MySQL o MariaDB y PHP sobre Linux

En esta entrada vamos a ver la secuencia de acciones necesarias para realizar una instalación de Apache, MySQL y PHP en nuestra distribución Linux, lo que habitualmente se conoce como LAMP.

Índice de contenidos:

¿Qué necesitamos de base?

Previamente tenemos una máquina con Linux instalado en ella, en nuestro caso se trata de la distribución Ubuntu 18.04 LTS, pero los pasos son similares en cualquier distribución basada en Debian.

Estos pasos se deben hacer bien como root o utilizando ante cada comando la instrucción sudo, siempre que nuestro usuario tenga permisos para instalar aplicaciones, en caso contrario se deberá poner en contacto con el administrador del equipo.

En resumen, partimos de la base de que tienes una instalación de Linux en tu equipo, conexión a Internet y permisos para instalar software.

Actualizar los paquetes de Ubuntu.

Lo primero que vamos a hacer es actualizar el repositorio de nuestra distribución para asegurarnos que instalemos los últimos paquetes de cada programa. Para ello introducimos en el terminal el siguiente comando:

sudo apt-get update

Cuando termine ya tendremos los últimos paquetes disponibles para descargarse.

Instalar Apache.

En cuanto se hayan actualizado los paquetes, con el comando anterior, instalamos el servidor web Apache con el siguiente comando:

sudo apt-get install apache2

Para comprobar que hemos instalado correctamente Apache en nuestra máquina podemos ir a nuestro navegador favorito e introducir localhost como dirección a visitar en la barra de direcciones, momento en que se nos mostrará algo similar a lo siguiente:

Instalación de Apache funciona

Apache nos muestra los ficheros que tengamos en /var/www/html/ por defecto, o lo que es lo mismo el fichero /var/www/html/index.html, que es el que observamos en la imagen anterior.

Instalar MySQL.

Una de las opciones actuales de bases de datos relacionales que se puede utilizar es MySQL, en este apartado instalaremos dicha base de datos, no es necesario instalar las dos bases de datos.

Instalamos la base de datos con el siguiente comando:

sudo apt-get install mysql-server

Cuando se haya terminado de instalar deberás ejecutar la configuración de seguridad del servidor mySQL con el siguiente comando:

sudo mysql_secure_installation

Esta configuración nos preguntará, entre otras cosas, la complejidad de las contraseñas a utilizar (1 débil - 3 ultrasegura) y la clave de acceso a mySQL para el usuario root, también nos aconsejará tomar algunas medidas de seguridad como borrar las bases de datos de testeo, etc.

Recuerda que una vez que hayas instalado y configurado MySQL podrás acceder desde consola (como root) con el comando:

sudo mysql -u root -p

Instalar MariaDB.

Otra opción de base de datos relacional a utilizar es MariaDB, este paso es muy similar al anterior.

Recuerda que solo debes instalar una base de datos MariaDB o MySQL, no ambas.

Instalamos la base de datos con el siguiente comando:

sudo apt-get install mariadb-server

Durante la instalación solicitará la contraseña para el usuario root de la base de datos.

Cuando se haya terminado de instalar deberás ejecutar la configuración de seguridad del servidor MariaDB con el siguiente comando:

sudo mysql_secure_installation

Recuerda que una vez que hayas instalado y configurado MySQL podrás acceder desde consola (como root) con el comando:

sudo mysql -u root -p

Instalar PHP.

Por último nos queda instalar PHP, para ello vamos a la consola e introducimos el comando:

sudo apt install php libapache2-mod-php php-mysql

Con esto ya tendremos instalado PHP en nuestro servidor, por defecto Apache sirve los ficheros .html cuando los hay y los .php si no hay ningún html.

Esto quiere decir que si en el directorio /var/www/html/ tenemos dos ficheros: index.html e index.php Apache por defecto nos mostrará /var/www/html/index.html cuando introduzcamos localhost en el navegador.

Si queremos que Apache nos muestre index.php en vez de index.html debemos cambiar la prioridad del fichero php en la configuración de Apache, por suerte eso es muy sencillo.

Para conseguirlo modificamos el fichero de configuración /etc/apache2/mods-enabled/dir.conf y dejarlo de la siguiente manera:

Configurar PHP en Apache

Podemos hacerlo con cualquier editor de texto como nano o gedit:

sudo nano /etc/apache2/mods-enabled/dir.conf

En nao guardamos el fichero con Ctrl+O y salimos de nano con Ctrl+X.

En la imagen se ve que hemos antepuesto index.php a index.html, ya que el orden de este fichero es el orden de preferencia de ejecución en nuestro servidor.

Para que los cambios tengan efecto debemos reiniciar nuestro servidor Apache, para ello introducimos el comando:

sudo service apache2 restart

Y comprobamos que Apache funciona correctamente con el comando:

sudo service apache2 status

Este comando debería mostrarnos algo parecido a ésto:

Servidor Apache funcionando

Como véis muestra que el servicio está activo y ya ha tomado en cuenta la nueva configuración, aunque no está de más comprobar que esto es así, para ello crearemos un fichero en /var/www/html/ llamado index.php

sudo nano /var/www/html/index.php

Dentro del fichero tan solo escribiremos lo siguiente:

<?php phpinfo(); ?>

Una vez guardado el fichero con Ctrl+O y saliendo de nano con Ctrl+X podemos volver a nuestro navegador y cargar en la barra de direcciones localhost. Nos aparecerá información de configuración de nuestro servidor, similar a la de la imagen:

PHP configurado en Apache

Una vez realizada la prueba deberemos eliminar este fichero index.php ya que expone información de nuestra versión y configuración de PHP y puede ser peligroso que terceros la conozcan.

sudo rm  /var/www/html/index.php

Ya tenemos LAMP instalado, recuerda que para que los ficheros de nuestra web estén accesibles a otros equipos de la red éstos deberán acceder desde su navegador a la dirección IP de tu equipo en LAN, para que puedan acceder desde cualquier otra red deberás disponer de una IP pública.