Herramientas Informaticas

Etiqueta: PHP Página 1 de 8

🚨 La CURP Biométrica en México: ¿Avance Digital o Amenaza a la Privacidad? 🇲🇽

Entrada fija

🚨 La CURP Biométrica en México: ¿Avance Digital o Amenaza a la Privacidad? 🇲🇽

“No se puede cambiar una huella digital como se cambia una contraseña.” — Derechos Digitales


🔎 1. ¿Qué es la CURP Biométrica?

La CURP biométrica es la nueva forma de identificación obligatoria en México, aprobada en 2025, que incluirá:

  • 📷 Fotografía del rostro
  • 🔍 Huellas dactilares
  • 👁 Escaneo del iris
  • ✍️ Firma electrónica

Su objetivo declarado es combatir la desaparición de personas y modernizar el sistema de identificación nacional. Pero… ¡no todo es tan claro!


🤔 2. ¿Voluntaria o Obligatoria?

Aunque el gobierno afirma que su uso es voluntario, la ley establece que:

  • Será la única forma de identificación para trámites oficiales y privados
  • No contar con ella podría impedir el acceso a servicios públicos

⚠️ Esto genera una contradicción legal y una forma de consentimiento forzado.


😯 3. Riesgos para tu Privacidad

♻️ Datos irremplazables

Tus huellas o iris no pueden cambiarse si se filtran o roban. ¡Y eso ya ha pasado antes en México!

🚫 Falta de supervisión

Tras la desaparición del INAI, no hay autoridad autónoma que vigile el uso de tus datos.

📊 Vigilancia masiva

El sistema podría rastrear tus:

  • Consultas médicas
  • Movimientos financieros
  • Uso de transporte
  • Ubicación en tiempo real

🔒 4. Lo que dicen los expertos

Organizaciones como R3D y Derechos Digitales advierten que:

  • No hay garantías legales suficientes
  • Podría discriminar a personas trans, adultas mayores o con huellas deterioradas
  • Está diseñado más para vigilar que para proteger

“Es un sistema coercitivo que castiga a quien no quiera entregar sus datos biométricos.” — R3D


🚀 5. Argumentos del Gobierno

El director de la Agencia Digital, Pepe Merino, afirma que:

  • La CURP biométrica no es obligatoria
  • Solo se usará en casos con investigación de desaparición
  • La base de datos no estará centralizada

⚠️ Pero estas afirmaciones contrastan con el contenido real de las leyes aprobadas.


🌐 6. Comparación Internacional

  • En Brasil, el Tribunal Supremo prohibió un sistema similar por ser inconstitucional
  • En Europa, la Convención 108+ exige protección legal robusta y supervisión independiente
  • En India, su base de datos AADHAAR ha sido hackeada múltiples veces

⛔️ 7. Peligros reales

RiesgoConsecuencia
🔎 Filtración de datosNo puedes cambiar tu iris o huella
🚫 DiscriminaciónPoblaciones vulnerables excluidas
🕵️‍♂️ Vigilancia sin límitesGeolocalización, perfilamiento, vigilancia financiera
🙅‍ No hay contrapesosNo hay INAI, ni jueces que supervisen

📊 8. Lo que opina la gente

  • ❌ 49% no confía en que el gobierno protegerá sus datos
  • ❌ 49% está en desacuerdo con los datos biométricos obligatorios

¿Y si cambian de gobierno y usan esa base para vigilar opositores?” — Usuario en redes


🤝 9. ¿Qué podemos hacer como ciudadanos?

  • 🔎 Informarte con fuentes independientes
  • ✉️ Exigir leyes con protección biométrica real
  • 🚪 Participar en colectivos de derechos digitales
  • 🙏 Pedir que vuelva una autoridad como el INAI

🚫 Conclusión: ¡No es un simple trámite!

La CURP biométrica, tal como está diseñada, representa un riesgo real para tu privacidad, tus derechos y tu seguridad.

❌ No es segura
❌ No es voluntaria
❌ No tiene vigilancia independiente

⚡️ Solo con leyes claras, tecnología responsable y participación ciudadana podremos evitar que esta medida se convierta en una herramienta de control masivo.


🔖 Fuentes consultadas

“Si no luchas por tus datos, algún día serán usados contra ti.”

¿Está Siendo Desmantelado LBRY por Presión de la SEC? El Caso LBC y el Futuro de la Descentralización

Entrada fija

¿Está Siendo Desmantelado LBRY por Presión de la SEC? El Caso LBC y el Futuro de la Descentralización

Introducción

LBRY fue uno de los proyectos pioneros en ofrecer una red descentralizada para la publicación y monetización de contenido, con su token nativo LBC (LBRY Credits). Pero en los últimos meses, LBC ha desaparecido progresivamente de múltiples exchanges, tanto centralizados como descentralizados, dejando a muchos usuarios con activos atrapados y sin liquidez. ¿Qué ocurrió realmente? ¿Fue un fallo tecnológico, una caída del interés… o presión estatal?

Este análisis desglosa lo que pasó con LBRY y cómo el gobierno, en especial la SEC (Securities and Exchange Commission) de Estados Unidos, puede desmantelar incluso proyectos descentralizados sin necesidad de tocar una sola línea de código.

1. El Caso LBRY vs. SEC

¿Qué es LBRY?

LBRY fue creado como un protocolo blockchain que permite a los usuarios compartir contenido (videos, publicaciones, música) sin intermediarios. Su token LBC se usaba para pagar por contenido, apoyar creadores y realizar microtransacciones dentro del ecosistema.

La demanda de la SEC

En marzo de 2021, la SEC presentó una demanda contra LBRY Inc., la empresa detrás del desarrollo del protocolo, acusándola de vender valores no registrados mediante la emisión de LBC, incluso sin haber hecho una ICO formal.

El fallo judicial

En noviembre de 2022, el tribunal falló a favor de la SEC, declarando que LBC era un valor bajo la ley estadounidense. Esto generó consecuencias graves para el ecosistema, ya que incluso las ventas secundarias entre usuarios quedaron bajo amenaza.

2. La desaparición de LBC en exchanges

Tras el fallo:

  • Exchanges como CoinEx, BitMart, MXC y Hotbit eliminaron LBC.
  • Bittrex US cerró sus mercados para clientes estadounidenses.
  • Incluso algunos DEX dejaron de ofrecer pares de LBC debido a la baja liquidez y el riesgo legal.

¿Por qué también los DEX?

Aunque los DEX no son controlados directamente por gobiernos, las plataformas y front-ends prefieren evitar problemas legales. Además, los proveedores de liquidez abandonaron el token tras la sentencia, dejando pares sin volumen.

3. ¿Es esto censura financiera?

Sí, aunque indirectamente. Lo que pasó con LBC demuestra cómo un gobierno puede marginalizar una criptomoneda sin necesidad de prohibirla expresamente.

  • Técnicamente: El protocolo sigue vivo, los tokens existen, puedes correr nodos.
  • En la práctica: No hay liquidez ni adopción. Se volvió inviable para el usuario común.

4. ¿Cómo puede el gobierno controlar criptomonedas descentralizadas?

Los gobiernos pueden limitar una red cripto a través de los siguientes medios:

MecanismoEjemplo
Demandas legalesSEC vs LBRY, SEC vs Ripple
Prohibiciones de listadosExchanges eliminan tokens “en riesgo”
Presión a desarrolladoresArresto de desarrollador de Tornado Cash
Regulación de rampas de entrada/salidaKYC forzado en wallets y exchanges

5. ¿Qué significa esto para la descentralización real?

Niveles de descentralización:

NivelCaracterísticasRiesgo
1. TotalNodos distribuidos, sin empresa detrás (ej. Monero, Bitcoin)Baja censura, difícil de eliminar
2. ParcialRed abierta con empresa de desarrollo (ej. Ethereum, XRP)Presión legal sobre fundadores
3. CentralizadaControl total de empresa o figura única (ej. FTX, Terra)Fácilmente colapsables

6. Lecciones del caso LBRY

  • La descentralización debe ser real y completa: Si dependes de una empresa, puedes ser desmantelado.
  • El marco legal es importante: Aunque el código sea libre, la ley puede limitarlo.
  • La comunidad es clave: Sin una red fuerte de usuarios y nodos independientes, los proyectos mueren.

7. ¿Qué hacer si aún tienes LBC?

Opciones actuales:

  • Algunos exchanges internacionales aún permiten el intercambio, como Bittrex Global (fuera de EE. UU.).
  • Puedes conservar el token en wallets como LBRY Desktop u Odysee.
  • Trading P2P en foros o grupos privados.

Sin embargo, la liquidez y la utilidad del token están prácticamente extintas.

8. Alternativas verdaderamente descentralizadas

Si buscas redes resistentes a la censura, considera:

ProyectoDescripción
Monero (XMR)Criptomoneda centrada en la privacidad total.
IPFS + FilecoinAlmacenamiento de archivos descentralizado.
NostrRed social descentralizada, sin servidores centrales.
KeetMensajería y videollamadas P2P sin servidores.
ZoraPlataforma NFT sin control corporativo.

Conclusión

El caso de LBRY es una advertencia clara: una descentralización parcial no basta. Aunque el código sobreviva, el sistema puede ser asfixiado desde afuera mediante leyes, regulación financiera y censura social.

Si queremos una verdadera libertad en la web y en las finanzas, debemos construir infraestructuras libres de permisos, resistentes a la censura y no dependientes de ninguna entidad legal.

¿Te interesa migrar tus contenidos o tokens a plataformas libres y resistentes? Déjame tu comentario y seguimos explorando juntos.

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

🧠 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

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.

¡Descubre Linux Mint 22.1 “Xia”! Night Light y Rendimiento Potenciado.

Entrada fija

✨ Tu Escritorio, Más Hermoso Que Nunca

Prepárate para enamorarte de Cinnamon 6.4, el entorno de escritorio que se renueva con un tema por defecto espectacular: ¡diseño moderno, esquinas redondeadas y una sensación “flotante” que te encantará! Navegar por tu sistema nunca se vio tan bien.


 Descanso para tus Ojos con Night Light

¡Dile adiós a la fatiga visual! Con la nueva función Night Light, Linux Mint 22.1 ajusta automáticamente el color de tu pantalla para proteger tus ojos, especialmente durante la noche. ¡Tu vista te lo agradecerá! 


 Más Rápido y Eficiente “Bajo el Capó”

No solo es bonito, ¡también es potente! Gracias a la modernización de APT, la gestión de paquetes es ahora más rápida y estable, con traducciones impecables y un rendimiento que notarás. Además, Pipewire es el nuevo servidor de sonido por defecto, lo que significa un audio impecable y una mejor compatibilidad con tus apps favoritas.


 Pequeños Detalles, Gran Diferencia

  • Nemo ahora soporta miniaturas de archivos .ora.
  • Bulky te ayuda a limpiar los nombres de tus archivos.
  • Modos de energía para que tu sistema se adapte a ti.
  • ¡Y mucho más!

Basado en Ubuntu 24.04 LTS y con el Kernel 6.8, “Xia” es sinónimo de estabilidad y soporte a largo plazo hasta 2029.

¿Listo para transformar tu experiencia Linux? ¡Descarga ya Linux Mint 22.1 “Xia” y descubre un sistema operativo diseñado para deleitarte!


¡Corre la voz y comparte esta buena noticia! ¿Cuál es la característica que más te emociona de “Xia”?

🛠️ Guía Fácil: Cómo Instalar OSPOS (Open Source Point of Sale)

Entrada fija

🛒✨ ¿Buscas un sistema de punto de venta eficiente y gratuito? Descubre OSPOS ✨🛒

¿Eres emprendedor o dueño de un negocio y necesitas controlar tus ventas, inventario y clientes sin pagar costosas licencias?

OSPOS (Open Source Point of Sale) es la solución perfecta para ti:

  • ✅ 100% gratuito y de código abierto
  • ✅ Control de inventario y stock en tiempo real
  • ✅ Gestión de clientes y proveedores
  • ✅ Informes detallados de ventas
  • ✅ Soporte para múltiples idiomas y monedas
  • ✅ Interfaz web accesible desde cualquier navegador

🔧 ¡Personalizable y fácil de instalar en tu propio servidor o en la nube!

📦 Descárgalo en: https://github.com/opensourcepos/opensourcepos

¿Ya lo usas? Cuéntanos tu experiencia en los comentarios 👇


🛠️ Guía Fácil: Cómo Instalar OSPOS (Open Source Point of Sale)

Requisitos previos:

  • PHP 7.4 o superior
  • MySQL o MariaDB
  • Apache o Nginx
  • Composer
  • Git (opcional)

🔸 Opción 1: Instalación en Windows con XAMPP

  1. Instala XAMPP
    Descárgalo desde: https://www.apachefriends.org/index.html
  2. Descarga OSPOS
    Desde: Releases en GitHub
    Extrae el zip en: C:\xampp\htdocs\ospos
  3. Crea la base de datos
    Abre phpMyAdmin y crea una base de datos llamada ospos
  4. Importa la base de datos
    Usa el archivo database/database.sql
  5. Configura la conexión
    Edita application/config/database.php y cambia: 'username' => 'root', 'password' => '', 'database' => 'ospos', 'hostname' => 'localhost',
  6. Accede a OSPOS
    Ve a http://localhost/ospos/public
    Usuario: admin | Contraseña: pointofsale

🔸 Opción 2: Instalación en Linux (Ubuntu/Debian)

  1. Instala dependencias sudo apt update sudo apt install apache2 mariadb-server php php-mysql php-intl php-bcmath php-curl php-zip unzip git composer
  2. Descarga OSPOS cd /var/www/html sudo git clone https://github.com/opensourcepos/opensourcepos.git ospos cd ospos
  3. Crea la base de datos sudo mysql -u root CREATE DATABASE ospos; EXIT; mysql -u root ospos < database/database.sql
  4. Configura la conexión
    Edita application/config/database.php
  5. Permisos sudo chown -R www-data:www-data /var/www/html/ospos sudo chmod -R 755 /var/www/html/ospos
  6. Accede desde el navegador
    Ve a http://localhost/ospos/public

🧪 Solución de Problemas Comunes

  • Pantalla en blanco: Verifica versión de PHP y que mod_rewrite esté habilitado
  • No carga CSS/JS: Asegúrate de entrar por /public
  • Errores de permisos: Verifica carpetas application/cache y public/uploads

¿Te gustaría una guía en PDF o video? ¡Déjalo en los comentarios!


#OSPOS #PuntoDeVenta #OpenSource #Emprendimiento #Gratis

🚀 Cómo Instalar Apache, PHP, MariaDB y Certbot en Deepin 23 (Servidor LAMP + HTTPS)

Entrada fija


🎯 Objetivo

En esta guía aprenderás a configurar un servidor web local con Apache, PHP y MariaDB en Deepin 23 y utilizar un alias personalizado como tusitio.localhost para tus desarrollos. Ideal para entornos de prueba de proyectos como Laravel, WordPress, etc.

1. 🔄 Actualizar el sistema

sudo apt update && sudo apt upgrade -y

2. 🌐 Instalar Apache

sudo apt install apache2 -y
sudo systemctl status apache2

Verifica accediendo a http://localhost.

3. 🐘 Instalar PHP y módulos necesarios

sudo apt install php libapache2-mod-php php-mysql php-cli php-xml php-curl php-mbstring php-zip php-gd -y
php -v

4. 🛢️ Instalar MariaDB

sudo apt install mariadb-server mariadb-client -y
sudo systemctl status mariadb

5. 🔐 Asegurar MariaDB

sudo mariadb
ALTER USER 'root'@'localhost' IDENTIFIED BY 'TuContraseñaSegura';
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.user WHERE User='root' AND Host!='localhost';
DROP DATABASE IF EXISTS test;
FLUSH PRIVILEGES;
EXIT;

6. 🛠️ Crear VirtualHost local tusitio.localhost

sudo mkdir -p /var/www/tusitio
sudo nano /etc/apache2/sites-available/tusitio.conf

Pega el siguiente contenido:

<VirtualHost *:80>
    ServerAdmin admin@localhost
    ServerName tusitio.localhost
    DocumentRoot /var/www/tusitio

    <Directory /var/www/tusitio>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/tusitio_error.log
    CustomLog ${APACHE_LOG_DIR}/tusitio_access.log combined
</VirtualHost>

Habilitar el sitio y reiniciar Apache:

sudo a2ensite tusitio.conf
sudo systemctl reload apache2

7. 📝 Añadir alias en /etc/hosts

sudo nano /etc/hosts

Agrega al final del archivo:

127.0.0.1   tusitio.localhost

8. 🚀 Probar

Crea un archivo de prueba:

echo "<?php echo 'Hola desde tusitio.localhost'; ?>" | sudo tee /var/www/tusitio/index.php

Abre en el navegador: http://tusitio.localhost

✅ Resultado

ComponenteEstado
ApacheActivo
PHPFuncional
MariaDBProtegida
Alias localtusitio.localhost operativo

📌 Conclusión

Ya tienes un entorno de desarrollo web local usando un alias personalizado (tusitio.localhost) ideal para trabajar de forma organizada, simulando servidores reales. Puedes replicar este proceso para todos tus proyectos locales.

Cómo Sobrescribir o Extender Clases en CodeIgniter 4.5: Caso Práctico con DataTables

Entrada fija

En muchos proyectos de desarrollo web con CodeIgniter 4, nos encontramos con la necesidad de modificar o extender clases de terceros sin alterar el código fuente original. Esto es especialmente común al trabajar con bibliotecas como Hermawan\DataTables, ampliamente utilizada para integrar DataTables con Eloquent y Query Builder.

Uno de los escenarios más comunes es sobrescribir la clase DataTableColumnDefs, ya sea para agregar soporte adicional (como compatibilidad con PostgreSQL) o personalizar cómo se gestionan las columnas y filtros de búsqueda.

En este artículo te mostraré cómo sobrescribir o extender esta clase correctamente en CodeIgniter 4.5, sin comprometer la mantenibilidad de tu proyecto.


🔍 ¿Por qué deberías sobrescribir una clase?

Modificar directamente los archivos de una librería externa puede parecer una solución rápida, pero es una mala práctica. Estas son algunas razones para evitarlo:

  • ❌ Pierdes la capacidad de actualizar el paquete con Composer.
  • ❌ Rompes el principio de separación de responsabilidades.
  • ✅ Extender o sobrescribir desde tu propia aplicación es más limpio y seguro.

🧱 Ejemplo: DataTableColumnDefs

La clase Hermawan\DataTables\DataTableColumnDefs es responsable de definir las columnas que serán procesadas por la tabla, sus alias, si son ordenables, buscables, etc.

Supongamos que quieres modificar el método getSearchable() para agregar compatibilidad con PostgreSQL (por ejemplo, usando CAST a texto y comillas dobles).


✅ Opción 1: Extender la clase original

Paso 1: Crea una nueva clase en app/Libraries

<?php

namespace App\Libraries;

use Hermawan\DataTables\DataTableColumnDefs;

class MyDataTableColumnDefs extends DataTableColumnDefs
{
    public function getSearchable()
    {
        // Aquí tu versión modificada del método original
        return parent::getSearchable(); // Puedes personalizarla como desees
    }
}

Paso 2: Usa tu clase en lugar de la original

use App\Libraries\MyDataTableColumnDefs;

$dt = new MyDataTableColumnDefs($builder);

🔁 Puedes sobrescribir cualquier otro método, como add, remove, o initFromBuilder.


✅ Opción 2: Reemplazar completamente la clase original

⚠️ Solo se recomienda si estás seguro de que no actualizarás el paquete regularmente.

Paso 1: Copia la clase original a app/Libraries/DataTableColumnDefs.php

Paso 2: Cambia el namespace

use App\Libraries\MyDataTableColumnDefs;

$dt = new MyDataTableColumnDefs($builder);

Paso 3: Modifica lo que necesites

Paso 4: Usa tu versión

use App\Libraries\MyDataTableColumnDefs;

$dt = new MyDataTableColumnDefs($builder);

✅ Opción 3: Sobrescribir vía Composer Autoload

Esta es una opción elegante y avanzada si necesitas que tu clase se cargue en lugar de la original sin cambiar el nombre.

Paso 1: Edita composer.json

"autoload": {
    "psr-4": {
        "Hermawan\\DataTables\\": "app/Overrides/DataTables/"
    }
}

Paso 2: Crea el archivo sobrescrito

app/Overrides/DataTables/DataTableColumnDefs.php

Paso 3: Copia el contenido original, modifica lo necesario

Paso 4: Ejecuta:

composer dump-autoload

✨ ¡Listo! CodeIgniter usará tu versión personalizada sin modificar el paquete original.


🎯 Conclusión

Sobrescribir o extender clases en CodeIgniter 4.5 te da la flexibilidad de adaptar librerías a tus necesidades sin sacrificar actualizaciones futuras o buenas prácticas de desarrollo. Ya sea para añadir soporte a PostgreSQL, cambiar la lógica de filtrado o mejorar la compatibilidad con tus modelos, hacerlo correctamente asegura que tu aplicación sea más escalable y mantenible.

Página 1 de 8

Creado con WordPress & Tema de Anders Norén