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.
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.
- 🐧 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) yapk(Alpine). - Detección de Entorno: WSL2, WSL1, Bare-Metal, VM y Container. Configuración inteligente de
/etc/hostscon sincronización automática WSL↔Windows.
- Detección de Distro: Soporte nativo para
- 🔒 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 (puerto9001) y 8.5 (puerto9000). - MariaDB Multi-Versión: 10.11 (puerto
3307) y 11.4 (puerto3306). - PostgreSQL Multi-Versión: 15 (puerto
5433) y 17 (puerto5432).
- PHP Multi-Versión: 7.4 (puerto
- ⚡ 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
*.testpara 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.
- CLI:
- 🗑️ Desinstalación Limpia:
uninstall.shrevierte todos los cambios del instalador.
git clone https://github.com/Keno-Chile/BearsNPRMP.git ~/bearsnprmp
cd ~/bearsnprmpchmod +x install.sh
./install.shFlags 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.
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)
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# 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# 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 purgeAbre 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.
# 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-runDistribuido bajo la Licencia MIT. Creado por Keno-Chile.