Montar servidor Lamp Ubuntu 24.04

Un servidor LAMP es una plataforma de software de código abierto para crear y alojar sitios web dinámicos, formada por cuatro componentes: Linux (sistema operativo), Apache (servidor web), MySQL (base de datos) y PHP (lenguaje de programación).

Sirve para procesar peticiones de los usuarios, ejecutar código, interactuar con bases de datos y mostrar páginas web completas en sus navegadores.

Detalles

Linux (Sistema Operativo): Es el sistema base sobre el que se ejecutan los demás componentes.

Apache (Servidor Web): Recibe las solicitudes del navegador del usuario, procesa la petición y sirve el contenido (páginas web estáticas o archivos).

MySQL (Base de Datos): Almacena, gestiona y proporciona los datos necesarios para la aplicación web. Por ejemplo, un sitio de comercio electrónico usaría MySQL para almacenar información de clientes y productos.

PHP (Lenguaje de Programación): Interpreta el código del lado del servidor. Si una solicitud requiere una página dinámica, Apache envía el código a PHP para que lo procese, realice las operaciones necesarias (como consultar la base de datos MySQL) y devuelva el resultado final a Apache.

Para qué sirve.

Crear y alojar sitios web dinámicos: Es ideal para sitios web que necesitan interactuar con una base de datos y mostrar contenido que cambia constantemente.

Desarrollo y pruebas: Proporciona un entorno de desarrollo local o en un servidor para probar aplicaciones web antes de lanzarlas al público.

Ejecutar aplicaciones web: Es el motor detrás de muchas aplicaciones web populares como WordPress, Drupal y otras plataformas de código abierto.

Flexibilidad: Al ser de código abierto, permite a los desarrolladores adaptarlo y personalizarlo según sus necesidades específicas.

Los requerimientos oficiales para montar un servidor LAMP son:

128MB de RAM
CPU de 800MHz
1GB de disco duro o ssd

Montar Servidor Lamp

Lo primero que debemos realizar, es actualizar nuestro sistema operativo de Ubuntu, esto te sirve desde las versiones de Ubuntu 20 en adelante, siempre que sean lts, como la 20.04.22.04 y 24.04

Para ello, debemos abrir nuestro terminal bash para comenzar a agregar los comandos necesarios para montar nuestro Lamp.

sudo apt update -y
sudo apt upgrade -y

Te pedirá la password del sistema, que debe s ingresar y saber.

Ya con nuestro sistema de Ubuntu actualizado por completo, debemos comenzar a instalar los paquetes necesarios para montar nuestro servidor Lamp.

Como motor principal donde almacenaremos nuestras paginas web de proyectos locales, usaremos apache2, por ser más robusto y con soporte fuerte al día de hoy.

Si no te gusta apache2 puedes usar nginx, pero en esta oportunidad no abordaremos ese tema.

En la terminal debes ingresar todos los comandos que te entregaré:

sudo apt install apache2 -y

te preguntaras, que agregamos, solo lo explicare una sola vez, porque después puede ser muy reiterativo.

Cuando usamos sudo, le indicamos a ubuntu, que el comando que estamos insertando lo debe ejecutar como administrador del sistema.

Apt que es la herramienta avanzada de empaquetado, le indicamos que lo que vamos a instalar es un paquete del sistema, el cual se encargará de buscar el que necesitamos.

install, con esto indicamos que la acción a realizar es una instalación de un paquete de sistema seguido por el o los nombres de los paquetes que queremos instalar, en este caso apache2.

-y, le decimos a ubuntu, que cuando realice la instalación de nuestro paquete apache2 no solicite una confirmación,si no que ejecute de forma automática sin pedir esta confirmación.

Al momento de terminal la instalación deberás ver una pantalla como la siguiente, en la dirección http://localhost

Si ya vez esa pantalla en el navegador, te felicito, porque los procesos que realizaste van bien por el momento.

Independientemente de esto, aún no podremos acceder a nuestra carpeta de archivos, donde colocamos nuestra web, que en este caso para ubuntu se encuentra en /var/www/html, por temas de permisos, recordemos que ubuntu es seguro a lo igual que debian.

En este punto de detengo un momento, porque debemos entender, que esta carpeta de apache, tiene permisos solo para apache y el usuario root(Administrador del sistema), por lo tanto, nosotros como usuarios, somos solo invitados dentro de Ubuntu, es porque ello, que no podemos escribir o crear en ella.

Pero no te preocupes, más adelante veremos ese punto, porque primero agregaremos el modulo para poder manejar nuestras url dinámicas.

URL DINAMICAS

Puedes que haya escuchado sobre las url dinámicas y estáticas, un ejemplo para que entiendas:

url estática -> http://localhost/index.php

url dinámica -> http://localhost/home

Ambas url apuntan a la misma vista, index.php es el documento principal dentro de la carpeta, pero cuando la hacemos dinámica esta la llamamos por home, index, principal, como lo quieras tu, pero sin la extensión .php, .html. etc.

Y para ello nosotros debemos tener en nuestro apache, habilitado un modulo de reescritura, mod_rewrite, este nos permite poder usar estas url dinámicas y lo hacemos desde la terminal.

sudo a2enmod rewrite

Con a2en le decimos que habilite el modulo en apache2 y con mod que es un modulo seguido por el nombre del modulo, rewrite en este caso.

si el modulo fue agregado con éxito te deberá aparecer un mensaje de activación.

ahora solo debes reiniciar apache para que el modulo se active.

systemctl restart apache2

Ya con todo lo que hicimos tenemos funcional apache2, pero recuerda, más adelante veremos los permisos de las carpetas.

INSTALANDO MYSQL

MySQL Server es un sistema de gestión de bases de datos relacionales (RDBMS) de código abierto que utiliza un modelo cliente-servidor para almacenar y gestionar datos.

Permite a los usuarios interactuar con los datos mediante el lenguaje de consulta estructurada (SQL) para realizar operaciones como definir, manipular y consultar tablas.

Es una solución popular y versátil para aplicaciones de diferentes tamaños, desde proyectos personales hasta sistemas empresariales de alto tráfico.

Desde la terminal agrega el siguiente codigo:

sudo apt install mysql-server -y

Ahora nos aseguramos si quedo bien instalado, en la terminal escribimos lo siguiente y en Active debe salir active(running):

sudo systemctl status mysql

Hemos avanzado y el usuario por defecto es root, pero esto no tiene password y como más adelante vamos a usar phpmyadmin, es recomendable agregar una clave para este usuario, o si no, no podremos acceder a la base de datos desde phpmyadmin.

sudo mysql

ingresando en la terminal el sudo mysql, veremos que ingresamos a la terminal de mysql donde agregaremos la nueva password con lo siguiente:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345';

En este caso, como es de forma local y no mostraremos nada hacia el exterior la password que le pasamos a root es 12345, también debemos decir a mysql que aplique estos cambios con:

FLUSH PRIVILEGES;

Si esta todo correcto deberías tener en pantalla algo similar a la siguiente imagen:

Solo para salir de la terminal de mysql debes escribir exit.

INSTALANDO PHP 8.3

PHP es un lenguaje de programación de código abierto del lado del servidor muy utilizado en el desarrollo web para crear sitios web y aplicaciones dinámicas que cambian según las interacciones del usuario.

Se ejecuta en el servidor antes de que la página llegue al navegador y es útil para tareas como la conexión a bases de datos, el procesamiento de formularios y la creación de contenido dinámico.

En la terminal veremos con que versión contamos para la instalación:

sudo apt search php

Si usas Ubuntu 24.04 verás que aparece la versión 8.3, que es la más actualizada en este distro, si estas con la versión 25.10 no LTS, te aparecerá la 78.4, que aún no es oficial para Ubuntu, en debian 13 si encuentras el 8.4.

Para instalar y dejar optimo php 8.3 para varios servicios, como proyectos locales con php integrado, ejemplo, laravel, codegniter, php cms, etc, es recomendable, agregar extensiones, y estas también deben ser para mysql-server y lo haremos de la siguiente manera:

sudo apt install -y php8.3-{curl,zip,gd,cli,common,mysql,xml,mbstring,bcmath} libapache2-mod-php

Ahora debemos probar si quedo instalado nuestro php en nuestro lamp, para ellos crearemos un archivo desde la terminal:

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

Dentro del info.php que hemos creado agrega las siguientes lineas de código

<?php
  phpinfo();
?>

Ahora presiona Control+x y te preguntara si lo quieres guardar, solo presiona s, si estas con español y en ingles Y, luego pregunta por el nombre del archivo que se va a guardar y solo presiona enter.

Ahora revisa la información de php desde el navegador con la siguiente url http://localhost/info.php y deberías ver algo como la imágen.

INSTALAR PHPMYADMIN

phpMyAdmin es una aplicación web escrita en PHP que sirve para administrar bases de datos MySQL y MariaDB a través de una interfaz gráfica en un navegador.

Permite realizar tareas como crear y eliminar bases de datos y tablas, insertar, editar y borrar datos, ejecutar sentencias SQL, administrar usuarios y permisos, y realizar copias de seguridad e importaciones/exportaciones.

Teclea en la terminal el siguiente comando:

sudo apt install phpmyadmin -y

Esta es la primera configuración que enfrentamos en la instalación de phpmyadmin, solo basta con presionar la barra de espacio para poder elegir la opción de apache2, que es el que tenemos instalado en nuestra distro, luego presionamos enter.

Nos indica que phpmyadmin, debe tener su propia base de datos, por lo tanto se debe crear, solo presiona enter.

Debes ingresar una password, en este caso solo ingresaremos 12345, porque no necesitamos algo más complicado, si deseas crear otra password más robusta lo puedes hacer, es cosa de gustos.

Ya ingresando estos pasos y siguiendo el tutorial, podrás comprender, que ahora tenemos dos usuarios dentro de nuestra base de datos, el usuario root que viene por defecto al instalar mysql-server, con todos los permisos en la base de datos y ahora el usuario phpmyadmin, que solo tiene permisos para la base de datos creada.

Revisemos si esta bien instalado nuestro phpmyadmin, accede desde el navegador con la siguiente dirección, http://localhost/phpmyadmin y deberías ver algo como en la imagen.

Ingresa con el usuario root y su password 12345 que habíamos modificado en mysql-server anteriormente, si seguiste paso a paso, no deberías tener problema alguno.

PERMISOS DE APACHE2

Si te recuerdas, te nombre que la carpeta /var/www/html tenia permisos y que no te permite poder modificar o crear archivos, porque es perteneciente a apache2, pero a pesar de todo, es de propiedad de root, algo enredado no.

Pero no te preocupes, hay varias formas de poder modificar estos permisos, pero le daremos el acceso completo a nuestro usuario invitado para no estar discutiendo o rabiando con la distro.

En la termina, teclea lo siguiente:

sudo chmod 777 -R /var/www

Con eso baste y sobra para otorgar todos los permisos a la carpeta raiz que es www y con -R que es recursividad que indica que todo lo que este dentro de la carpeta www, también tengan el mismo efecto de cambios de permisos.

Y ahora puedes empezar a crear tus propios proyectos, pero es aconsejable, crear todos los archivos dentro de la carpeta html, ya que apache la detecta como carpeta raíz para trabajar con proyectos.

En otro tutorial de te enseñare como se crean los virtual host en apache2, para que tengas tus propios dominios locales de .test.

Hasta una próxima oportunidad.

Agregar un comentario

Tu dirección de correo electrónico no será publicada. Los campos requeridos están marcados *