Cesar Systems

Herramientas Informaticas

Ficha Técnica: ci4jcposv2 – Versión 1.0.4 (Actualizada)

Entrada fija

Información General

CampoDetalles
Proyectoci4jcposv2
Versión1.0.4
Fecha de LanzamientoNo especificada (publicada en GitHub)
Repositoriogithub.com/julio101290/ci4jcposv2/releases/tag/v1.0.4
FrameworkCodeIgniter 4
ObjetivoMejorar la flexibilidad de URLs y la estabilidad en el manejo de errores, incluyendo errores 404, manteniendo la interfaz y funcionalidades del sistema.

Cambios Principales

1. URLs Dinámicas en CodeIgniter

  • Descripción: Implementación de URLs dinámicas para facilitar la configuración en diferentes entornos (desarrollo, pruebas, producción).
  • Beneficios:
    • Mayor portabilidad entre servidores sin ajustes manuales.
    • Simplificación de la configuración para usuarios finales.
    • Adaptabilidad a dominios variables sin modificar el código.
  • Implementación Técnica:
    • Configuración probable en app/Config/App.php para definir baseURL dinámicamente:phppublic $baseURL = env('app.baseURL', 'http://localhost/');
    • Uso de variables de entorno en .env para establecer la URL base.
    • Uso de funciones como base_url() o site_url() para generar rutas adaptables.

2. Manejo de Errores sin Salir del Sistema

  • Descripción: Mejora en el manejo de errores, incluyendo errores 404, para mostrar mensajes claros al usuario sin interrumpir el flujo de la aplicación, manteniendo los menús y otras funcionalidades activas.
  • Beneficios:
    • Experiencia de usuario mejorada con mensajes de error integrados en la interfaz del sistema.
    • Mantiene la navegación (menús, barras laterales, etc.) visible y funcional.
    • Mayor estabilidad al evitar cierres inesperados.
    • Facilita la depuración para desarrolladores.
  • Implementación Técnica:
    • Función error404():phppublic function error404() { $titulos["title"] = "Error 404"; $titulos["subtitle"] = "Ruta no encontrada"; return view('error404', $titulos); }
      • Ubicación: Probablemente en un controlador personalizado (e.g., ErrorController en app/Controllers) o en el controlador base para manejar errores 404.
      • Propósito: Renderiza una vista personalizada (error404.php) cuando se accede a una ruta inexistente, pasando un array $titulos con el título y subtítulo de la página para mantener consistencia con el diseño de la aplicación.
      • Impacto:
        • Al usar return view(‘error404’, $titulos), la vista de error se integra en el sistema, mostrando los menús, barras de navegación y otras funcionalidades definidas en el layout principal (e.g., un template con header, footer y sidebar).
        • Evita que el sistema muestre el error 404 predeterminado de CodeIgniter o PHP, que podría interrumpir la experiencia del usuario.
        • Permite al usuario seguir navegando sin salir del sistema, ya que la vista error404 se carga dentro del contexto de la aplicación.
      • Detalles de la Vista:
        • La vista error404.php (en app/Views/error404.php) probablemente utiliza el layout principal de la aplicación, incluyendo menús y elementos de la interfaz.
        • Ejemplo hipotético de error404.php:php<?= $this->extend('layouts/main') ?> <?= $this->section('content') ?> <div class="container"> <h1><?= esc($title) ?></h1> <p><?= esc($subtitle) ?></p> <p>La página que buscas no existe. Por favor, verifica la URL o regresa al <a href="<?= base_url() ?>">inicio</a>.</p> </div> <?= $this->endSection() ?>
        • Esto asegura que la página de error 404 mantenga el diseño consistente (menús, estilos, etc.) y permita al usuario continuar interactuando con el sistema.
    • Configuración Adicional:
      • Posible ajuste en app/Config/Exceptions.php para redirigir errores 404 a esta función:phppublic $errorViewPrefix = 'errors/';
      • Validaciones mejoradas en controladores para prevenir errores críticos antes de que se desencadenen.

Análisis de Cambios en el Código

Archivos Modificados (Inferidos)

  • app/Config/App.php: Ajuste de baseURL para URLs dinámicas.
  • app/Config/Exceptions.php: Configuración para personalizar el manejo de errores, incluyendo la redirección a error404().
  • Controladores:
    • Controlador con la función error404() (e.g., app/Controllers/ErrorController.php).
    • Lógica para capturar errores 404 y renderizar la vista correspondiente.
  • Vistas:
    • app/Views/error404.php: Vista personalizada para errores 404, integrada con el layout principal para mostrar menús y otras funcionalidades.
  • Archivo .env: Configuración de app.baseURL para URLs dinámicas.
  • Rutas (app/Config/Routes.php):
    • Posible definición de una ruta personalizada para errores 404:php$routes->set404Override('App\Controllers\ErrorController::error404');

Estructura de Cambios

  • URLs Dinámicas:
    • Lógica para detectar automáticamente el dominio o usar variables de entorno.
    • Simplificación de la configuración de rutas.
  • Manejo de Errores:
    • Implementación de error404() para manejar rutas no encontradas de manera elegante.
    • Uso de vistas personalizadas que extienden el layout principal, asegurando que los menús y funcionalidades permanezcan accesibles.
    • Captura de excepciones mediante try-catch o configuraciones globales.

Beneficios y Mejoras

AspectoDescripción
FlexibilidadURLs dinámicas permiten despliegues en múltiples entornos sin cambios manuales.
EstabilidadLa función error404() y vistas personalizadas evitan cierres inesperados, mostrando errores de forma integrada.
UsabilidadMantiene menús y funcionalidades visibles en la página de error, permitiendo al usuario continuar navegando.
MantenibilidadMensajes de error claros y vistas personalizadas facilitan la depuración.
EscalabilidadSistema más robusto para entornos de producción con múltiples usuarios.

Detalles de la Función error404()

  • Código:phppublic function error404() { $titulos["title"] = "Error 404"; $titulos["subtitle"] = "Ruta no encontrada"; return view('error404', $titulos); }
  • Análisis:
    • Parámetros: No recibe parámetros, ya que es una función estática para manejar errores 404.
    • Datos Enviados: Pasa un array $titulos con title y subtitle a la vista error404.php.
    • Vista: La vista error404 probablemente usa el layout principal de la aplicación (mediante extend en CodeIgniter) para mantener la consistencia visual y funcional.
    • Integración: Al renderizar una vista personalizada, el sistema muestra el error dentro del contexto de la aplicación, preservando menús, barras laterales y otras funcionalidades.
  • Beneficio Específico:
    • Evita el comportamiento predeterminado de CodeIgniter (mostrar un error genérico o página en blanco).
    • Permite al usuario regresar al inicio o navegar a otras secciones sin salir del sistema.
    • Mejora la experiencia del usuario al presentar errores de manera profesional y coherente con el diseño.

Notas Técnicas

  • Dependencias: Sin cambios reportados; compatible con PHP 7.4+ y dependencias estándar de CodeIgniter 4.
  • Compatibilidad: No se esperan rompimientos, pero se recomienda probar la vista error404 y las URLs dinámicas en entornos de desarrollo.
  • Recomendaciones:
    • Configurar app.baseURL en .env para URLs dinámicas.
    • Personalizar error404.php para alinear el diseño con la aplicación (colores, estilos, menús).
    • Verificar que $routes->set404Override esté configurado en Routes.php para redirigir errores 404 a error404().
    • Probar la navegación desde la página de error para asegurar que los menús y funciones sean accesibles.

Limitaciones del Análisis

  • Falta de Changelog Detallado: El enlace no proporciona un changelog específico ni commits detallados.
  • Suposiciones: La implementación de error404() se infiere basada en el código proporcionado y prácticas de CodeIgniter 4.
  • Sugerencia: Revisar los commits entre versiones 1.0.3 y 1.0.4 para confirmar los cambios exactos.

Conclusión

La versión 1.0.4 de ci4jcposv2 introduce mejoras clave en URLs dinámicas y manejo de errores, destacando la función error404() que renderiza una vista personalizada para errores 404, manteniendo menús y funcionalidades activas. Esto asegura una experiencia de usuario fluida y una aplicación más estable y profesional. Los desarrolladores deben verificar la configuración de rutas y personalizar la vista error404.php para maximizar los beneficios.

¿Necesitas más ayuda? Si deseas un análisis detallado de otros controladores, ajustes en la vista error404.php, o soporte con la implementación, comparte más detalles o solicita ejemplos específicos.


Esta ficha actualizada incorpora la función error404() con un enfoque claro en su rol para mantener la interfaz y funcionalidades del sistema. Si necesitas ajustes adicionales (e.g., formato HTML, ejemplos de vistas, o más detalles técnicos), házmelo saber.

🚀 Nuevo Commit en el Boilerplate de Julio101290 Clonación de usuarios con roles y permisos incluidos

Entrada fija

🛠️ ¿Qué trae este commit?
¡Una mejora poderosa en la gestión de usuarios! Ahora puedes clonar un usuario existente incluyendo sus roles y permisos, ahorrando tiempo y evitando errores en la configuración manual.


📌 Cambios destacados:

✅ Nueva ruta:

phpCopiarEditaruser/manage/{id}/clone → UserController::clone

✅ Nuevo método clone($id) en UserController:

  • Carga los datos del usuario original
  • Preselecciona sus roles y permisos
  • Reutiliza la vista de creación para facilitar el registro

✅ Vistas y controladores adaptados para soportar esta funcionalidad de manera limpia y eficiente.


📁 Archivos modificados:

  • Config/Routes.php
  • Controllers/UserController.php
  • Views/users/form.php (si aplica)
  • Otras optimizaciones menores en rutas y estructuras

🎯 Beneficios:

  • 🔄 Reutilización rápida de perfiles
  • 🔐 Mejor gestión de permisos
  • ⏱️ Ahorro de tiempo para administradores

💡 ¿Tienes muchos usuarios con permisos similares?
¡Ahora puedes clonarlos en segundos y mantener todo bajo control! ⚙️👥


🧠 Commit por: @julio101290
📁 Repositorio: Boilerplate

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

Entrada fija

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.

📘 Documentación de psql-backup

Entrada fija
  1. ¿Qué es psql-backup?
  2. Características principales
  3. Instalación vía Composer
  4. ¿Cómo se usa?
  5. Detalles técnicos
  6. Descarga y restauración
  7. Licencia

📦 ¿Qué es psql-backup?

psql-backup es una librería PHP creada por julio101920 (el compa que respalda hasta los tamales si le das chance). Sirve para hacer backups de PostgreSQL desde PHP, y si no tienes pg_dump, no pasa nada, la librería se rifa con puro PHP.


✨ Características principales

  • Backup con pg_dump (si está instalado)
  • Respaldo alternativo 100% PHP
  • ZIP automático para PostgreSQL
  • Clase lista para usar: PostgreSQLBackup
  • Compatible con CodeIgniter 4
  • Soporte para MariaDB y PostgreSQL

⚙️ Instalación vía Composer

Para instalar:

composer require julio101290/psql-backup

Importa la clase donde la necesites:

use PostgresqlBackupManager\PostgreSQLBackup;

🚀 ¿Cómo se usa?

Ejemplo sencillo:

$pdo = new PDO("pgsql:host=localhost;port=5432;dbname=testdb", "usuario", "clave");
$backup = new PostgreSQLBackup($pdo, "testdb", "usuario", "clave", "localhost", 5432, __DIR__ . "/respaldos");
$archivoSQL = $backup->backup(true);

Y para restaurar:

$backup->restore($archivoSQL);

🔍 Detalles técnicos

  • Verifica si pg_dump está disponible
  • Usa ZIP solo si es PostgreSQL (pa’ que no se diga que no es eficiente)
  • El modo PHP lee todas las tablas y datos y crea un .sql como dios manda

📥 Descarga y restauración

¿Necesitas restaurar un respaldo ZIP? No hay problema, la clase detecta si es ZIP y lo descomprime solita:

if (pathinfo($archivoSQL, PATHINFO_EXTENSION) === 'zip') {
    $zip = new ZipArchive();
    $zip->open($archivoSQL);
    $zip->extractTo("/ruta/temp");
    $archivoExtraido = "/ruta/temp/archivo.sql";
    $backup->restore($archivoExtraido);
}

📝 Licencia

MIT. Úsala con gusto, respáldate con estilo y si puedes invítame un taco 🌮

🎯 ¡Potencia tu productividad con DBeaver en Linux Mint Xia! 🐧💻

Entrada fija

🎯 ¡Potencia tu productividad con DBeaver en Linux Mint Xia! 🐧💻

¿Trabajas con bases de datos y buscas una herramienta poderosa, gratuita y de código abierto?
¡Conoce DBeaver! ✨

  • ✅ Conectarte a múltiples bases de datos (MySQL, PostgreSQL, Oracle, SQLite y más)
  • ✅ Editar y visualizar datos con una interfaz limpia
  • ✅ Ejecutar queries y analizar resultados en tiempo real
  • ✅ Trabajar con diagramas ER, backups y herramientas avanzadas

🎨 Compatible con tu escritorio Linux Mint Xia (Xfce), ligero y hermoso.


🛠️ ¿Cómo instalar DBeaver en Linux Mint Xia?

¡Súper fácil! Solo sigue estos pasos en la terminal:

sudo apt update
sudo apt install gdebi wget -y
wget https://dbeaver.io/files/dbeaver-ce_latest_amd64.deb
sudo gdebi dbeaver-ce_latest_amd64.deb

💡 ¡Y listo! Puedes abrirlo desde el menú o escribiendo dbeaver en la terminal.


🌟 DBeaver + Linux Mint Xia = El combo perfecto para desarrolladores y analistas!

#LinuxMint #DBeaver #BasesDeDatos #OpenSource #Productividad #Xfce #SQLTools #DevLife

🧠 Cómo convertir Visual Studio Code en el entorno ideal para PHP en Linux Mint (¡con formato automático como en NetBeans!)

Entrada fija

🧠 Cómo convertir Visual Studio Code en el entorno ideal para PHP en Linux Mint (¡con formato automático como en NetBeans!)

Si vienes de NetBeans y ahora estás usando Visual Studio Code (VS Code), probablemente extrañes esa característica tan útil de formatear automáticamente el código PHP con Ctrl+Shift+F.

¡Buenas noticias! Puedes lograr exactamente lo mismo (¡y mejor!) en VS Code. En esta guía te muestro cómo dejarlo todo listo paso a paso:


✅ Paso 1: Instalar Visual Studio Code en Linux Mint

Abre una terminal y ejecuta estos comandos para agregar el repositorio oficial de Microsoft e instalar VS Code:

sudo apt update
sudo apt install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] \
https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list
sudo apt update
sudo apt install code

✅ Paso 2: Instalar PHP y Composer (si no los tienes)

En la misma terminal, instala PHP y sus extensiones comunes:

sudo apt install php-cli php-common php-mbstring php-xml php-curl php-zip php-gd

Y luego Composer:

sudo apt install composer

✅ Paso 3: Instalar extensiones esenciales para PHP

Abre Visual Studio Code y presiona Ctrl+P, luego escribe:

ext install bmewburn.vscode-intelephense-client
ext install kokororin.vscode-phpfmt
ext install xdebug.php-debug

🔹 ¿Qué hace cada extensión?

  • PHP Intelephense: autocompletado, documentación, detección de errores.
  • phpfmt: formatea el código PHP automáticamente (como NetBeans).
  • PHP Debug: permite depurar con Xdebug.

✅ Paso 4: Configurar el formateador por defecto para PHP

Abre VS Code, presiona Ctrl+Shift+P y escribe: Preferencias: Abrir configuración (JSON).

Agrega o edita lo siguiente:

{
  "[php]": {
    "editor.defaultFormatter": "kokororin.vscode-phpfmt",
    "editor.formatOnSave": false
  }
}

¿Prefieres que se formatee al guardar? Cambia formatOnSave a true.


✅ Paso 5: Cambiar el atajo a Alt + Shift + F para formatear (como en NetBeans)

🖱 Opción 1: Desde el menú

  1. Abre VS Code.
  2. Ve a Archivo > Preferencias > Métodos abreviados de teclado.

⌨ Opción 2: Usando atajo

Presiona Ctrl + K y luego Ctrl + S.

Luego:

  1. En la barra de búsqueda escribe: format document.
  2. Ubica la acción: Editor: Format Document.
  3. Haz clic en el lápiz ✎ y selecciona “Cambiar combinación de teclas”.
  4. Presiona: Alt + Shift + F y confirma.

¡Listo! Ahora puedes formatear tu código PHP como lo hacías en NetBeans.


✅ (Opcional) Personaliza el estilo de formato con phpfmt.ini

Para controlar cómo se acomoda el código, crea un archivo phpfmt.ini en tu proyecto o en tu carpeta personal con este contenido:

passes = ["PSR2KeywordsLowerCase", "PSR2LnAfterNamespace", "PSR2CurlyOpenNextLine"]
indent_with_space = true
psr1 = true
psr2 = true

Más opciones en: phpfmt tools (GitHub).


🎯 Resultado final

  • ✅ Código PHP se formatea automáticamente con Alt+Shift+F.
  • ✅ Autocompletado inteligente y validación en tiempo real.
  • ✅ Depuración de código con Xdebug.
  • ✅ Más rápido y moderno que NetBeans.

🗨 Conclusión

Visual Studio Code no solo reemplaza a NetBeans, ¡lo supera!

Ligero, potente, extensible y totalmente configurable, VS Code puede ser tu nuevo editor favorito para proyectos PHP en Linux Mint.

¿Te gustaría una plantilla base ya configurada para clonar desde GitHub? ¡Pídela y te la preparo!


#PHP #VisualStudioCode #LinuxMint #DevTips #NetBeansToVSCode #VSCodePHP #OpenSourceTools #DesarrolloWeb #CodeClean

🎯 ¿Vas a montar un ERP con base de datos? ¡No gastes de más! 💸

Entrada fija

🔍 Si estás evaluando entre un VPS o una instancia AWS EC2, aquí va la verdad que muchos no te cuentan:


🚀 VPS Tradicional: tu mejor aliado para un ERP estable y económico

✅ Ideal para: Odoo, ERPNext, Dolibarr, Tryton
✅ Precio fijo desde $5 USD/mes
✅ Base de datos incluida (MySQL, PostgreSQL)
✅ Fácil de administrar y mantener
✅ Sin sorpresas en la factura

🧩 Perfecto para pequeñas empresas, freelancers o quien busca control total sin complicarse.


☁️ AWS EC2: poderoso pero más costoso y complejo

🔧 Paga por uso: CPU, red, almacenamiento, tráfico
🔧 Para usar base de datos recomendada, necesitas RDS (otro costo extra)
🔧 Ideal si necesitas alta escalabilidad, integración con S3, Lambda, etc.
🧠 Requiere conocimientos técnicos más avanzados

📈 Excelente para grandes empresas o arquitecturas distribuidas.


💡 ¿Qué elegir para tu ERP?

👉 Si quieres ahorrar y mantenerlo simple: VPS es el camino.
👉 Si tu ERP crecerá rápidamente y necesitas integraciones cloud: AWS puede valer la pena.


🔧 ¿Necesitas ayuda para instalar un ERP como Odoo o ERPNext en un VPS?
¡Escríbeme y te paso la guía completa paso a paso! 📩

#ERP #VPS #AWS #Odoo #ERPNext #NegociosDigitales #Tecnología #TransformaciónDigital #Empresas #Software

🎯 Cómo lanzar una instancia EC2 con Ubuntu 24.04 lista para montar tu página web 🚀

Entrada fija

¿Quieres montar tu sitio web en la nube? Aquí te explico cómo lanzar una instancia EC2 en Amazon Web Services (AWS) con Ubuntu 24.04 y configurarla con un grupo de seguridad que te permita publicar tu página web en minutos. ✅

🔧 Paso 1: Lanza la instancia EC2

  1. Entra a la consola de AWS y ve a EC2 > Instancias > Lanzar Instancia.
  2. Nombre: Ponle un nombre descriptivo (ej. ServidorWeb-Ubuntu24).
  3. AMI: Selecciona Ubuntu Server 24.04 LTS (HVM), SSD Volume Type.
  4. Tipo de instancia: Puedes usar t2.micro si estás en el nivel gratuito.
  5. Par de claves: Crea uno nuevo o selecciona uno existente para acceder por SSH.
  6. Grupo de seguridad: Aquí es clave. Crea uno con las siguientes reglas:
    • ✅ Tipo: SSH, Puerto: 22, Origen: Mi IP
    • ✅ Tipo: HTTP, Puerto: 80, Origen: 0.0.0.0/0
    • ✅ Tipo: HTTPS, Puerto: 443, Origen: 0.0.0.0/0
  7. Revisa y lanza la instancia.

🔌 Paso 2: Conéctate vía SSH

ssh -i "tu-clave.pem" ubuntu@<IP-Pública>

🍃 Paso 3: Instala el stack básico para tu página web
Actualiza el sistema e instala un servidor web (como Nginx o Apache):

sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y

Verifica que funcione:

http://localhost

🔍 También puedes acceder desde el navegador:
http://<IP-Pública-de-tu-instancia>

📁 Sube tus archivos HTML o usa Git para clonar tu proyecto web dentro de /var/www/html/.

🧠 Consejo extra: Si vas a usar un dominio propio, asegúrate de apuntar los DNS a la IP de tu instancia EC2. Puedes usar Let’s Encrypt para HTTPS gratuito con Certbot.


💡 ¡Listo! Ya tienes tu servidor Ubuntu 24.04 en AWS listo para servir páginas web. Ideal para desarrolladores, estudiantes o emprendedores que quieren su web en línea rápido y sin complicaciones.

¿Quieres que te comparta un script que automatice esto? ¡Déjamelo saber! 👇

#AWS #EC2 #Ubuntu24 #DevOps #WebHosting #Linux #CloudComputing

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

Entrada fija

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 (para usar HTTPS)
  • 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

Dentro de 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

Edita o crea el archivo:

sudo nano /etc/apache2/sites-available/tusitio.com.conf

Contenido:

<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>

Activar sitio:

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 dentro de /var/www/html/facturacion/:

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

Asegúrate de descomentar las líneas (quitar # al inicio)


📆 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

Con CodeIgniter 4 funcionando sobre PostgreSQL, Apache y HTTPS en una instancia EC2 Ubuntu 24.04.


🚀 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.

Cómo instalar Composer en Linux Mint 21.3 (Xia)

Entrada fija

Cómo instalar Composer en Linux Mint 21.3 (Xia)

Sigue estos pasos desde la terminal para instalar Composer correctamente:

1️⃣ Instalar PHP y dependencias

sudo apt update
sudo apt install php-cli unzip curl

2️⃣ Descargar el instalador de Composer

curl -sS https://getcomposer.org/installer -o composer-setup.php

3️⃣ Verificar integridad del instalador (opcional)

HASH=$(curl -sS https://composer.github.io/installer.sig)
php -r "if (hash_file('sha384', 'composer-setup.php') === '$HASH') { echo 'Verificado correctamente'.PHP_EOL; } else { echo 'ERROR: Archivo corrupto'.PHP_EOL; unlink('composer-setup.php'); }"

4️⃣ Instalar Composer globalmente

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

5️⃣ Verificar instalación

composer --version

🧹 Eliminar instalador (opcional)

rm composer-setup.php

¡Listo! Ya tienes Composer instalado en tu sistema.

Página 9 de 146

Creado con WordPress & Tema de Anders Norén