Cómo instalar LAMP en Ubuntu 24.04

En este tutorial aprenderás a instalar LAMP en Ubuntu 24.04.

LAMP son las siglas de Linux, Apache, Mysql y PHP.

Primero instalarás todos los paquetes necesarios y luego configurarás cada uno por separado.

1. Instalar LAMP en Ubuntu

Primero instalarás todos los paquetes necesarios y después los configurarás.

Actualiza y mejora todo

sudo apt update
sudo apt upgrade

Instalar Apache2

sudo apt install apache2

Instalar servidor Mysql

sudo apt install mysql-server

Instala PHP y algunos paquetes necesarios

sudo apt install php php-mysql

sudo apt install php-curl php-cgi

sudo apt install php-gd php-mbstring php-xml php-xmlrpc

2. Configurar Apache en Ubuntu

Comprueba que apache funciona

sudo systemctl status apache2

Comprueba la versión de Apache que tienes instalada

apache2 -v

Abre un navegador y pon tu dirección IP

http://your_IP_address/

Si obtienes una página Apache, entonces estás bien.

2.1 Configurar un host virtual para tu dominio en Apache

Te mostraré cómo configurar un host virtual para dominio.com como ejemplo.

Deberías cambiar ese dominio por el tuyo.

Crea un nuevo archivo con estos contenidos:

sudo vi /etc/apache2/sites-available/mydomain.com.conf

<Directory /var/www/mydomain.com/public_html>
        Require all granted
</Directory>
<VirtualHost *:80>
        ServerName mydomain.com
        ServerAlias www.mydomain.com
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/mydomain.com/public_html

        ErrorLog /var/log/apache2/mydomain.com.error.log
        CustomLog  /var/log/apache2/mydomain.com.access.log combined
</VirtualHost>

Crea el directorio necesario y dale los permisos adecuados

sudo mkdir -p /var/www/mydomain.com/public_html

sudo chown -R www-data:www-data /var/www/mydomain.com/public_html

sudo chmod -R 755 /var/www/mydomain.com/public_html

Habilita tu dominio y desactiva la configuración por defecto

sudo a2ensite mydomain.com

sudo a2dissite 000-default.conf

Recarga apache para que los cambios surtan efecto.

sudo systemctl reload apache2

3. Configura la base de datos MySQL

Conéctate a Mysql con el usuario root y crea una base de datos y un usuario con los permisos necesarios.

sudo mysql -u root

CREATE DATABASE webdata;
CREATE USER 'webuser' IDENTIFIED BY 'password';
GRANT ALL ON webdata.* TO 'webuser';

exit

Asegura tu instalación Mysql

sudo mysql_secure_installation

Escribe Y para todas estas preguntas

Remove anonymous users?
Disallow root login remotely?
Remove test database and access to it?
Reload privilege tables now?

4. Configura PHP

Para configurar PHP comprueba primero la versión

php -v

Edita el archivo php.ini y cambia estos valores

sudo vi /etc/php/8.3/apache2/php.ini

error_log = /var/log/php/error.log
upload_max_filesize = 200M

Crea el directorio para los registros

sudo mkdir /var/log/php
sudo chown www-data /var/log/php

Y ahora reinicia apache para que los cambios surtan efecto.

sudo systemctl restart apache2

5. Prueba la instalación LAMP en Ubuntu

Crea un pequeño archivo llamado test.php y pon estos contenidos:

sudo vi /var/www/mydomain.com/public_html/test.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Database Connection</title>
</head>
<body>
    <h1>Database Connection Status</h1>
    <p>
        <?php
            // Database connection variables
            $servername = "localhost";
            $username = "webuser";
            $password = "password";
            $dbname = "webdata";

            // Create connection using procedural style
            $conn = mysqli_connect($servername, $username, $password, $dbname);

            // Check connection
            if (!$conn) {
                echo "Not Connected: " . mysqli_connect_error();
            } else {
                echo "Connected Successfully to database: " . $dbname;
            }

            // Close the connection
            mysqli_close($conn);
        ?>
    </p>
</body>
</html>

Cambia el propietario y el grupo de este archivo

sudo chown www-data:www-data /var/www/mydomain.com/public_html/test.php

Abre tu navegador y ve a

http://mydomain.com/test.php

Si todo va bien deberías ver esto en tu navegador:

Estado de la conexión a la base de datos

Conectado correctamente a la base de datos: webdata

Deja una respuesta

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