Instalar LAMP (Apache, mySQL o mariaDB y PHP) en nuestra distribución 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?
- Actualizar los paquetes Ubuntu
- Instalar Apache
- Instalar MySQL
- Instalar MariaDB
- Instalar PHP
¿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:
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:
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:
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:
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.