Manual de XBI Panel
Guía completa para instalar, asegurar y gestionar tu servidor con XBI Panel — panel de administración y panel de usuario.
Introducción
XBI Panel es un panel de control web para servidores Linux que reúne en una sola interfaz todo lo necesario para ofrecer hosting profesional: cuentas y paquetes, dominios, correo electrónico seguro, DNS, bases de datos, PHP multi-versión, seguridad (WAF), copias de seguridad, un auto-instalador de aplicaciones y un asistente con IA.
Está construido sobre tecnologías estándar (Apache, Nginx, Postfix, Dovecot, BIND9, PostgreSQL, MariaDB) y se ejecuta como una API en Go con una interfaz en Next.js. Hay dos paneles: el de administración (gestión global del servidor) y el de usuario (acotado a la cuenta de cada cliente).
Requisitos
- Sistema operativo: Debian 12 limpio (recomendado).
- Arquitectura: x86_64 / amd64.
- Recursos: 2 GB de RAM mínimo (4 GB+ recomendado) y 20 GB de disco.
- Red: IPv4 pública estática.
- Acceso: root por SSH.
- Licencia: clave de XBI Panel activa, validada por IP.
Instalación
Conéctate como root y lanza el instalador. Es interactivo (elige idioma y pide la clave de licencia) y automatiza todo el aprovisionamiento.
curl -sO https://repo.xbipanel.com/install.sh && bash install.sh
Qué hace el instalador
- Valida la licencia contra WHMCS (por IP) y descarga el producto.
- Instala y configura Apache (backend 8181/8443), Nginx (frente 80/443), Postfix, Dovecot, BIND9, PostgreSQL, MariaDB, Redis y el cortafuegos.
- Compila un motor PHP de usuario en segundo plano (/opt/php) además del PHP del sistema.
- Aplica las migraciones de base de datos y arranca la API y la interfaz.
Primeros pasos
Acceder al panel
Entra por HTTPS en tu dominio (puerto 443). El usuario root inicia sesión con la contraseña del sistema operativo. Tras instalar o actualizar, vuelve a iniciar sesión.
Configurar el hostname y el HTTPS
En Configuración del Servidor → Cambiar Hostname, escribe el FQDN del panel y pulsa «Comprobar DNS». Cuando resuelva a la IP del servidor, aplícalo: el panel fija /etc/hosts, desactiva la gestión de cloud-init y emite el certificado Let's Encrypt sin interrumpir el servicio.
Cuentas y paquetes
En Cuentas de Usuario gestionas las cuentas de hosting y los paquetes (planes con límites de disco, dominios, bases de datos, cuentas de correo, etc.).
- Crea una cuenta asignándole un paquete, un dominio principal y un usuario del sistema propio (aislado en /home).
- Suspende, reactiva o elimina cuentas; el borrado limpia dominios, buzones, bases de datos y ficheros (sin huérfanos).
- En Características de la cuenta activas funciones por cliente y configuras el Branding (marca blanca).
Dominios y PHP
Cada cuenta puede tener varios dominios y subdominios. El panel crea el vhost de Nginx (frente) y Apache (backend) y la raíz del sitio en /home del usuario.
PHP por dominio
Cada dominio o subdominio puede usar su propia versión de PHP (los motores compilados en /opt/php, no solo las del sistema). Desde PHP Settings editas el php.ini por dominio (genera un .user.ini) con un catálogo de directivas o personalizadas.
✉️ Correo electrónico
El correo usa Postfix (SMTP) y Dovecot (IMAP/POP3). Al crear una cuenta de correo se genera automáticamente DKIM (OpenDKIM) y se publican SPF, DKIM y DMARC en la zona DNS, completos y entrecomillados.
Por cada buzón
- Uso/cuota con barra, activar/desactivar y cambio de contraseña.
- Autologin al webmail Roundcube con un clic.
- «Configurar cliente»: datos IMAP/POP3/SMTP y perfil .mobileconfig para iPhone/iPad/Mac.
Más funciones
Reenvíos (forwarders), autorespondedores (vacaciones), filtros y estadísticas de entrega (pflogsumm). Si aún no hay tráfico, las estadísticas muestran un aviso en lugar de un error.
DNS
El DNS Manager gestiona las zonas con BIND9 (servicio named). Cada dominio obtiene su zona con los registros A, CNAME, MX y TXT, además de los SPF/DKIM/DMARC del correo.
Bases de datos
El Gestor de BD soporta MySQL/MariaDB y PostgreSQL. Crea bases de datos y usuarios, y entra a phpMyAdmin con autologin desde el menú.
- Cada cliente ve solo sus bases de datos; el administrador las ve todas.
- phpMyAdmin se sirve desde una capa interna localhost, proxiada por el panel y protegida por sesión.
Seguridad
WAF ModSecurity + OWASP CRS
Cortafuegos de aplicaciones web sobre Apache con el conjunto de reglas OWASP CRS. Configurable por dominio y subdominio (Activado / Solo detección / Desactivado / Heredar). Cada cambio pasa por apache configtest, así que nunca puede tumbar los sitios. Por defecto arranca en «Solo detección».
Acceso: Passkeys, 2FA y tokens de API
- Passkeys (WebAuthn): acceso con huella o Face ID; disponible cuando el panel se sirve por HTTPS con un dominio real. Para clientes y administradores.
- 2FA: verificación en dos pasos con app autenticadora.
- Tokens de API: autentican de verdad las llamadas y se restringen por recurso (leer / crear / borrar).
Aislamiento de paneles
El enrutado por rol es estricto: un cliente solo accede a /user/* y nunca al shell del administrador. Toda la identidad se deriva de la sesión (JWT).
Copias de seguridad
El panel genera copias de seguridad descargables de las cuentas (ficheros, bases de datos y configuración). Desde el panel de usuario, cada cliente puede descargar las suyas.
Cuotas de disco
En Disk Quota puedes instalar y activar las cuotas de disco (/etc/fstab) y monitorizar el uso por cuenta.
Auto-instalador (Soft Store)
El Soft Store ofrece más de 459 aplicaciones para instalar en un clic, incluido WordPress (con configuración automática de base de datos y wp-cli). Selecciona el dominio de destino y la app se despliega lista para usar.
Asistente IA y creador web
El panel incluye un asistente de IA que no ejecuta ningún modelo en tu servidor: solo reenvía las consultas por HTTPS a la nube (Claude, OpenAI o Gemini). El administrador configura una clave central con cuota por cliente; opcionalmente cada cliente puede usar su propia clave.
Creador de webs
El cliente describe la web que quiere y la IA genera y publica un sitio responsive en su dominio (con copia del anterior). Aislamiento estricto: el asistente solo actúa sobre la cuenta y los dominios del propio cliente, nunca sobre otros.
Notificaciones y comunicados
Avisos por WhatsApp (Meta Cloud API) y correo ante eventos: caídas de servicios o dominios, pedidos, aprovisionamientos, alarmas y 2FA. El administrador configura las credenciales centrales; el cliente solo recibe.
Comunicados
Desde Cuentas → Comunicados, el administrador envía mensajes a todos o a un cliente (panel, correo y WhatsApp), con nivel de importancia, programación para una fecha futura y descarte individual por cliente.
Monitorización y logs
En Monitorización tienes métricas en tiempo real (carga, CPU, memoria, disco y red) con histórico, lista de procesos, puertos e interfaces. El Visor de Logs muestra los registros del sistema y por dominio (Apache/Nginx de acceso y error) sin necesidad de SSH.
⬆️ Actualizaciones
El panel comprueba si hay una versión más nueva y permite actualizar con un clic. La auto-actualización corre en la ventana de medianoche o manualmente. Las contraseñas y la sesión se conservan entre actualizaciones.
Panel de usuario
Cada cliente final tiene su propio panel, acotado a su cuenta. Incluye: dominios y subdominios, correo (cuentas, reenvíos, autorespondedores, filtros), bases de datos MySQL y PostgreSQL, ajustes de PHP (.user.ini), SFTP, Git, antivirus (ClamAV), Cloudflare, copias de seguridad descargables, estado de ModSecurity, redirecciones web y notificaciones.
Todo está limitado a los recursos propios del cliente: dominios, carpetas /home y bases de datos suyas. El asistente IA y el creador web también están confinados a su cuenta.
❓ Resolución de problemas
El navegador dice que el certificado no es válido
Probablemente estás entrando por https://...:3001 (HTTP plano) o el certificado aún es autofirmado. Entra por https://tu-dominio (443) y, si hace falta, emite Let's Encrypt desde «Cambiar Hostname» cuando el DNS apunte al servidor.
«Cambiar Hostname» da error por HTTPS
Resuelto en 1.0.83: la renovación del certificado ya no interrumpe el servicio web. Asegúrate de estar actualizado.
Tras actualizar no puedo entrar («Credenciales inválidas»)
Resuelto en 1.0.83: el instalador ya no rota la contraseña de la base de datos en cada actualización. En instalaciones antiguas, contacta con soporte para realinear la clave.