Page cover

Instalación de LAMP en Ubuntu

La máquina Linux con el LAMP se puede descargar directamente de Bitnami o, si no, puede seguir la guía de preparación del entorno LAMP en Linux. Una vez creada e instalada la máquina virtual de Ubuntu, podemos proceder abriendo el terminal:

Antes de empezar a instalar, procederemos a actualizar paquetes y repositorios:

sudo apt update
sudo apt upgrade

1. Apache

Instalamos Apache y sus utilidades:

sudo apt install apache2 apache2-utils

Puedes probar a instalar apache con el parámetro -y que le dirá que sí a todo:

sudo apt install -y apache2 apache2-utils

Para comprobar si la instalación ha funcionado correctamente, debes:

  • Usar el comando systemctl para comprobar el estado: sudo systemctl status apache2

  • Comprobar la versión de apache con: apache2 -v

  • Probar accediendo a "http://localhost" desde el navegador

2. MySQL

Instalamos el servidor y cliente de MySQL:

sudo apt install mysql-server mysql-client

Para acceder a MySQL escribe:

sudo mysql

Una vez realizado debería aparecer algo así, con el prompt de mysql:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.31-0ubuntu5.22.04.1 (Ubuntu)

Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

Sal con >exit cuando quieras volver.

Por último, configuramos las directivas de seguridad de mysql con:

mysql_secure_installation

3. SSH

Instalamos nuestro servicio de SSH para poder trabajar más cómodamente con ficheros y librerías (Esto tiene más sentido si se está utilizando un SO por comandos como Debian o Ubuntu Server).

Para configurarlo, revisa la sección concreta de SSH que tengo en los apuntes.

4. PHP

Con Apache instalado para servir el contenido y MySQL instalado para almacenar y administrar los datos, toca instalar PHP en su versión 8.1 que es el componente de nuestra configuración que procesará el código para mostrar contenido dinámico al usuario final.

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

Además del paquete php, necesitarás php-mysql que permita a PHP comunicarse con bases de datos basadas en MySQL. También deberá habilitar Apache para manejar archivos PHP con libapache2-mod-php. Habilitamos php en apache con el siguiente comando (apache2 enable module) y reiniciamos el servicio para aplicar cambios:

sudo a2enmo php8.1
sudo systemctl restart apache2

Por último, para comprobar la versión de php instalada, puedes ejecutar el siguiente comando:

php -v
PHP 8.1.2-1ubuntu2.9 (cli) (built: Oct  19 2022 14:28:09) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2-1ubuntu2.9, Copyright (c), by Zend Technologies

Para comprobar que PHP funciona bien del todo:

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

Contenido del archivo:

<?php phpinfo(); ?>

Y accede desde el navegador a: http://IPSERVIDOR/info.php Que mostrará una página con la configuración de PHP cargada por Apache.

Llegado a este punto, tu pila LAMP ya está preparada, ahora puedes configurar la seguridad de los servicios o bien seguir creando un virtualhost para almacenar el CMS y que te redirija.

5. Instalar PHPmyadmin

Como siempre, utilizamos el siguiente comando para instalar phpMyAdmin:

sudo apt install phpmyadmin

Selecciona el servidor web: Durante la instalación, se te preguntará qué servidor web deseas configurar para phpMyAdmin.

  1. Selecciona "apache2" como servidor web por defecto y presiona Enter.

  2. Configura una base de datos para phpMyAdmin. Selecciona "Yes" y proporciona la contraseña de root de MySQL de antes.

  3. En versiones recientes, phpMyAdmin no se habilita automáticamente por lo que tendremos que habilitarlo manualmente:

    sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

Para terminar de controlar, reiniciamos el servidor web para que los cambios surtan efecto:

sudo service apache2 restart

Ahora toca probar de acceder a phpMyAdmin, para ello abre el navegador web y visita la dirección http://IP/phpmyadmin. Inicia sesión con el nombre de usuario "root" y la contraseña de root de MySQL que proporcionaste durante la instalación.

Pantalla de phpmyadmin con las bases de datos a la izquierda

6. Prueba de servicios

Iniciar, detener y reiniciar/recargar son las tareas más comunes cuando se trabaja con un servidor web Apache. Los comandos para administrar el servicio Apache son diferentes entre las distribuciones de Linux:

La mayoría de las distribuciones recientes de Linux utilizan SystemD como administrador de sistemas y servicios de inicio predeterminado. Las distribuciones más antiguas se basan en SysVinit y utilizan scripts de inicio para administrar servicios. Otra diferencia es el nombre del servicio. En Ubuntu y Debian, el servicio Apache se llama apache2, mientras que en el sistema basado en Red Hat como CentOS, el nombre del servicio es httpd.

Tanto las unidades de servicio de SystemD como el script SysVinit toman los siguientes argumentos para administrar el servicio Apache:

$ sudo systemctl <parameter> <service>.service
  • start: inicia el servicio Apache.

  • stop: finaliza el servicio Apache.

  • restart: detiene e inicia el servicio Apache.

  • reload: reinicia correctamente el servicio Apache. Al volver a cargar, el proceso principal de Apache cierra los procesos secundarios, carga la nueva configuración e inicia nuevos procesos secundarios.

  • status: muestra el estado del servicio.

Por ejemplo, en Ubuntu, como ya hemos visto antes, podemos ejecutar el siguiente comando:

sudo systemctl status apache2.service

Este comando nos mostrará información sobre el estado de servicio de apache, si todo ha funcionado correctamente debería mostrarlo como activo.

Ahora sí, vamos a verificar todos los servicios:

# Apache
sudo systemctl status apache2

# MySQL
sudo systemctl status mysql

# Probar PHP
php -v

# Comprobar módulos cargados
php -m

Última actualización