Guía Completa: Instalar LAMPP con PostgreSQL y CodeIgniter 4 en Ubuntu 24.04 (EC2 AWS)

Guía Completa: Instalar LAMPP con PostgreSQL y CodeIgniter 4 en Ubuntu 24.04 (EC2 AWS)


 

Esta guía te muestra cómo dejar una instancia EC2 (Ubuntu 24.04) lista para usar CodeIgniter 4 con Apache, PostgreSQL y HTTPS.

✨ 1. Requisitos Previos

  • Una instancia EC2 Ubuntu 24.04 corriendo
  • Acceso SSH a la instancia (archivo .pem)
  • Un dominio apuntando a la IP de tu instancia
  • Puertos 22, 80 y 443 abiertos en el grupo de seguridad

⚙️ 2. Actualizar el sistema

sudo apt update && sudo apt upgrade -y

🔧 3. Instalar Apache, PHP y extensiones necesarias

sudo apt install apache2 php php-pgsql php-intl php-xml php-mbstring php-curl php-zip php-cli unzip git -y
sudo a2enmod rewrite

📃 4. Instalar PostgreSQL y configurar base de datos

sudo apt install postgresql postgresql-contrib -y

Crear base de datos y usuario:

sudo -u postgres psql
CREATE DATABASE facturacion;
CREATE USER ci4user WITH PASSWORD 'ci4password';
GRANT ALL PRIVILEGES ON DATABASE facturacion TO ci4user;
\c facturacion
ALTER SCHEMA public OWNER TO ci4user;
GRANT USAGE, CREATE ON SCHEMA public TO ci4user;
\q

📁 5. Instalar Composer y CodeIgniter 4

cd /var/www/html
sudo composer create-project codeigniter4/appstarter facturacion
sudo chown -R www-data:www-data facturacion
sudo chmod -R 775 facturacion/writable

🚪 6. Configurar Apache Virtual Host

sudo nano /etc/apache2/sites-available/tusitio.com.conf
<VirtualHost *:80>
    ServerName tusitio.com
    DocumentRoot /var/www/html/facturacion/public

    <Directory /var/www/html/facturacion/public>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/facturacion_error.log
    CustomLog ${APACHE_LOG_DIR}/facturacion_access.log combined
</VirtualHost>
sudo a2dissite 000-default.conf
sudo a2ensite tusitio.com.conf
sudo systemctl reload apache2

🔒 7. Instalar Certbot para HTTPS

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d tusitio.com --non-interactive --agree-tos -m admin@tusitio.com --redirect

🔢 8. Configurar CodeIgniter 4 con PostgreSQL

Edita el archivo .env:

database.default.hostname = localhost
database.default.database = facturacion
database.default.username = ci4user
database.default.password = ci4password
database.default.DBDriver = Postgre
database.default.port = 5432

📆 9. Ejecutar migraciones de CodeIgniter

cd /var/www/html/facturacion
sudo php spark migrate

Si da error de permisos:

sudo chown -R www-data:www-data writable
sudo chmod -R 775 writable

🎉 Resultado Final

Ya puedes acceder a tu sitio en:

https://tusitio.com

🚀 Extras (opcional)

  • Usa php spark serve para desarrollo local
  • Configura Git para control de versiones
  • Usa .htaccess para seguridad y redirecciones

¡Listo! Tienes una pila LAPP (Linux, Apache, PostgreSQL, PHP) totalmente funcional con CodeIgniter 4.

Comentarios

Entradas populares