Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BearsNPRMP Logo

🐻 BearsNPRMP

Universal OS-Aware & Modular Web Development Stack

Inspirado en BearSAMPP pero diseñado para Linux Universal (Debian, Ubuntu, Fedora, RHEL, Arch, openSUSE, Alpine) y WSL2.

WSL2 Linux SSL Nginx PHP MariaDB PostgreSQL Redis Mailpit RoadRunner Node.js


🌟 ¿Qué es BearsNPRMP?

BearsNPRMP es un entorno de desarrollo web completo, modular y resiliente. A diferencia de stacks acoplados a una sola distribución, BearsNPRMP incluye un motor de detección que identifica automáticamente tu sistema operativo, gestor de paquetes y entorno de ejecución (WSL2, Bare-metal o Máquina Virtual), desplegando una infraestructura de desarrollo web libre de conflictos de puertos y lista para producción local.


✨ Características Principales

  • 🐧 S.O. & Environment Aware:
    • Detección de Distro: Soporte nativo para apt (Debian/Ubuntu/Mint), dnf/yum (Fedora/RHEL/Rocky), pacman (Arch/Manjaro), zypper (openSUSE) y apk (Alpine).
    • Detección de Entorno: WSL2, WSL1, Bare-Metal, VM y Container. Configuración inteligente de /etc/hosts con sincronización automática WSL↔Windows.
  • 🔒 SSL/TLS Local:
    • Certificados autofirmados: CA local + certificados por dominio con OpenSSL.
    • mkcert: Soporte para certificados confiables por el navegador (instalación automática).
    • Wildcard: Generación de certificados wildcard *.bearsnprmp.test.
    • Seguridad: TLS 1.2/1.3, HSTS, security headers, HTTP→HTTPS redirect automático.
  • 📦 Stack Multi-Versión:
    • PHP Multi-Versión: 7.4 (puerto 9002), 8.4 (puerto 9001) y 8.5 (puerto 9000).
    • MariaDB Multi-Versión: 10.11 (puerto 3307) y 11.4 (puerto 3306).
    • PostgreSQL Multi-Versión: 15 (puerto 5433) y 17 (puerto 5432).
  • Herramientas de Alta Eficiencia:
    • RoadRunner 2025.x: Servidor de aplicaciones PHP de alto rendimiento.
    • Redis 7: Cache y colas en memoria.
    • Mailpit: Servidor SMTP de desarrollo y bandeja web de correo.
    • Node.js (fnm): Gestor ultra-rápido de versiones de Node.js.
  • 🌐 Virtual Hosts Automáticos: Administrador de dominios *.test para PHP-FPM o RoadRunner con SSL automático y recarga de Nginx.
  • 🖥️ Panel de Control Dual:
    • CLI: bears (menú interactivo en terminal).
    • Web: Panel web dinámico con actualización en vivo en http://127.0.0.1:8088.
  • 🗑️ Desinstalación Limpia: uninstall.sh revierte todos los cambios del instalador.

🚀 Instalación Rápida

1. Clonar el repositorio

git clone https://github.com/Keno-Chile/BearsNPRMP.git ~/bearsnprmp
cd ~/bearsnprmp

2. Ejecutar el instalador

chmod +x install.sh
./install.sh

Flags opcionales:

  • ./install.sh --yes : Acepta todas las opciones por defecto sin interacción.
  • ./install.sh --dry-run : Muestra el plan de instalación sin realizar cambios.
  • ./install.sh --no-start : Configura todo pero no inicia los daemons de inmediato.
  • ./install.sh --mode=container|native|hybrid : Especifica el modo de ejecución.

🏗️ Arquitectura Modular

BearsNPRMP/
├── install.sh                  # Bootstrap universal
├── uninstall.sh                # Desinstalación completa del stack
├── core/
│   ├── detect.sh               # Motor de detección (OS, WSL, Init System, Arch)
│   ├── pkg_manager.sh          # Capa de abstracción de paquetes (PMAL)
│   └── helpers.sh              # Utilidades, puertos, .env y sudo keep-alive
├── modules/
│   ├── docker.sh               # Instalador y gestor de Docker & Compose
│   ├── nginx.sh                # Instalador y configurador de Nginx
│   ├── ssl.sh                  # Gestión SSL (CA, certs, mkcert, wildcard)
│   ├── node.sh                 # Gestor de Node.js (fnm)
│   ├── services.sh             # Ciclo de vida y switch de versiones
│   ├── vhost.sh                # Administrador de virtual hosts (*.test) con SSL
│   └── panel.sh                # Panel de control CLI
├── templates/
│   ├── docker-compose.yml      # Stack multi-contenedor
│   └── nginx/                  # Plantillas de vhost SSL para FPM y RoadRunner
├── webpanel/                   # Panel de administración Web dinámico (PHP + API)
└── assets/
    └── logo.svg                # Mascota oficial (Oso con gorro de Tux)

🖥️ Uso Diario

Panel de Control CLI

bears                # Abre el menú interactivo
bears --status       # Muestra el estado en vivo de todos los servicios
bears --start        # Inicia todo el stack
bears --stop         # Detiene todos los servicios
bears --switch php php84  # Cambia la versión activa de PHP
bears --panel token  # Muestra el token de acceso al panel web

Administrador de Virtual Hosts

# Crear un Virtual Host con SSL (por defecto)
bears-vhost create --domain api.test --folder api

# Crear un Virtual Host sin SSL
bears-vhost create --domain api.test --folder api --no-ssl

# Crear un Virtual Host para Laravel (apunta a /public)
bears-vhost create --domain shop.test --folder shop --laravel

# Crear un Virtual Host para RoadRunner
bears-vhost create --domain highperf.test --folder highperf --backend roadrunner

# Listar todos los Virtual Hosts
bears-vhost list

# Eliminar un Virtual Host
bears-vhost delete --domain api.test

Gestión SSL

# Generar certificado para un dominio
bears-ssl gen mi-dominio.test

# Generar wildcard (*.bearsnprmp.test)
bears-ssl wildcard

# Listar certificados
bears-ssl list

# Instalar mkcert (recomendado para desarrollo local)
bears-ssl install-mkcert

# Eliminar todos los certificados
bears-ssl purge

Panel de Control Web

Abre en tu navegador:

http://127.0.0.1:8088

El panel se actualiza automáticamente cada 15 segundos mostrando el estado de todos los servicios.

Desinstalación

# Desinstalar BearsNPRMP (con confirmación interactiva)
./uninstall.sh

# Desinstalar sin confirmar
./uninstall.sh --yes

# Ver qué se eliminaría (sin hacer cambios)
./uninstall.sh --dry-run

ko-fi


📜 Licencia

Distribuido bajo la Licencia MIT. Creado por Keno-Chile.

About

BearsNPRMP — Universal OS-Aware & Modular Web Development Stack for Linux & WSL2 (Nginx, PHP, Redis, MariaDB, Postgres, Mailpit, RoadRunner, Web Panel)

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages