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.
Índice
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