Cesar Systems

Herramientas Informaticas

🚀 Descubre Facturación Fácil con CI4JCPOX: Sistema Moderno en CodeIgniter 4.5

Entrada fija

¿Buscas un sistema de facturación rápido, seguro y flexible que puedas instalar en tu servidor Ubuntu con mínimo esfuerzo?

¡Te presento CI4JCPOX, una solución basada en CodeIgniter 4.5 que potencia tu negocio con funcionalidades completas y tecnología moderna!


🌟 ¿Por qué elegir CI4JCPOX?

  • Basado en CodeIgniter 4.5, el framework PHP ligero y rápido
  • Uso de MariaDB para bases de datos robustas y eficientes
  • Integración lista con Apache y PHP para un entorno LAMP completo
  • Código abierto y fácil de personalizar para tus necesidades
  • Instalación rápida gracias a un script automatizado para Ubuntu Server 24.04 en AWS EC2 o cualquier VPS Linux

⚙️ ¿Qué incluye este sistema?

  • Gestión completa de facturas y clientes
  • Interfaz web limpia y responsiva
  • Migraciones y seeders para inicializar la base de datos sin complicaciones
  • Configuración segura con usuario y base de datos dedicados
  • Preparado para crecer y adaptarse a tu negocio

🛠️ Cómo instalar CI4JCPOX en Ubuntu Server 24.04 (AWS EC2)

He preparado un script automático para que en pocos minutos tengas todo listo: LAMP, base de datos, configuración de CodeIgniter y Apache con VirtualHost.

Paso 1: Descarga el script de instalación

cd ~
curl -O https://raw.githubusercontent.com/julio101290/ci4jcposv2/main/instalar_ci4_facturacion.sh

Paso 2: Dale permisos de ejecución

chmod +x instalar_ci4_facturacion.sh

Paso 3: Ejecuta el script como root

sudo ./instalar_ci4_facturacion.sh

✅ ¿Qué hace este script por ti?

  • Actualiza y prepara tu servidor Ubuntu
  • Instala Apache, MariaDB y PHP con todas las extensiones necesarias
  • Crea la base de datos facturacion y un usuario seguro con permisos
  • Instala el proyecto CI4JCPOX usando Composer en /var/www/html/facturacion
  • Configura Apache para servir el proyecto con un VirtualHost dedicado
  • Ejecuta migraciones y seeders para inicializar la base de datos
  • Deja todo listo para que accedas a tu sistema por IP o dominio

🌐 Accede a tu sistema

Abre tu navegador y entra a:

http://TU_IP_PUBLICA/

¡Listo para comenzar a facturar!


🔒 Seguridad y permisos

El script también se encarga de ajustar permisos para que Apache pueda servir correctamente la aplicación sin problemas de acceso.


📂 Código y más información

Puedes revisar y descargar el script completo desde GitHub:

https://github.com/julio101290/ci4jcposv2/blob/main/instalar_ci4_facturacion.sh


¿Quieres ayuda o personalización?

No dudes en contactarme para soporte, mejoras o integraciones personalizadas. ¡Estoy aquí para ayudarte a llevar tu facturación al siguiente nivel!


¡Empieza hoy mismo con CI4JCPOX y transforma tu sistema de facturación!

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.

Página 7 de 144

Creado con WordPress & Tema de Anders Norén