Cómo instalar LAMP (Linux, Apache, MariaDB, PHP) en Ubuntu Server 24.04 y configurarlo para CodeIgniter 4.5

Esta guía te explica cómo preparar un servidor Ubuntu 24.04 con el stack LAMP y CodeIgniter 4.5, incluyendo Composer para manejar dependencias PHP.

1. Actualiza el sistema

sudo apt update && sudo apt upgrade -y

2. Instala Apache

sudo apt install apache2 -y
sudo systemctl status apache2

3. Instala MariaDB

sudo apt install mariadb-server mariadb-client -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation

4. Instala PHP y extensiones necesarias

sudo apt install php php-mysql php-intl php-curl php-xml php-mbstring php-cli unzip -y
php -v

5. Activa mod_rewrite

sudo a2enmod rewrite
sudo systemctl restart apache2
sudo nano /etc/apache2/sites-available/000-default.conf

Añade esto dentro del bloque <VirtualHost *:80>:

<Directory /var/www/html>
    AllowOverride All
</Directory>
sudo systemctl restart apache2

6. Instala Composer

sudo apt install curl php-cli php-mbstring git unzip -y
cd ~
curl -sS https://getcomposer.org/installer -o composer-setup.php
HASH="$(curl -sS https://composer.github.io/installer.sig)"
php -r "if (hash_file('sha384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
rm composer-setup.php
composer --version

7. Descargar CodeIgniter 4.5

cd /var/www/html
sudo rm index.html
sudo composer create-project codeigniter4/appstarter ci4
sudo chown -R www-data:www-data ci4
sudo chmod -R 755 ci4

8. Configura Apache para CodeIgniter

sudo nano /etc/apache2/sites-available/ci4.conf

Pega lo siguiente:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/ci4/public
    ServerName localhost

    <Directory /var/www/html/ci4/public>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/ci4_error.log
    CustomLog ${APACHE_LOG_DIR}/ci4_access.log combined
</VirtualHost>
sudo a2ensite ci4.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2

9. Crear base de datos y usuario en MariaDB

sudo mariadb
CREATE DATABASE ci4db;
CREATE USER 'ci4user'@'localhost' IDENTIFIED BY 'tu_password_segura';
GRANT ALL PRIVILEGES ON ci4db.* TO 'ci4user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

10. Configurar la base de datos en CodeIgniter

sudo nano /var/www/html/ci4/app/Config/Database.php
public $default = [
    'DSN'      => '',
    'hostname' => 'localhost',
    'username' => 'ci4user',
    'password' => 'tu_password_segura',
    'database' => 'ci4db',
    'DBDriver' => 'MySQLi',
    // resto de configuraciones...
];

11. Verifica en el navegador

Abre tu navegador y visita:

http://TU_IP_O_DOMINIO/

Deberías ver la página de bienvenida de CodeIgniter 4.5.

✅ ¡Entorno LAMP + CodeIgniter 4.5 listo!

Ahora puedes comenzar a desarrollar tus proyectos PHP modernos con CodeIgniter y MariaDB.