Instalación

Antes de comenzar

  • Un servidor limpio con AlmaLinux 8, 9 o 10, o Rocky Linux 8, 9 o 10, y acceso root. El instalador se niega a correr sobre otra distribución. El panel administra web, correo, DNS, FTP, bases de datos y firewall por su cuenta, por lo que no convive con otro panel.
  • Arquitectura x86_64. Como referencia práctica, 2 vCPU y 4 GB de RAM para un nodo chico (ClamAV, el antivirus de correo, mantiene unos 1,5 GB residentes y puede apagarse por nodo).
  • El nombre de host del servidor resolviendo a su IP pública, si se desea un certificado real para el panel.
  • Mantener abierta una segunda sesión SSH mientras el instalador configura el firewall.

Puertos

PuertoUso
22SSH / SFTP (el firewall siempre lo mantiene abierto)
80, 443Sitios web
25, 465, 587Correo: entrante, TLS implícito, envío autenticado
143, 993 / 110, 995IMAP / POP3 (con y sin TLS implícito)
53DNS
21 y 30000-30100FTPS y rango pasivo
2087Interfaz de administración (HTTPS)
2083Interfaz de clientes (HTTPS)

MariaDB y PostgreSQL (3306/5432) no se abren por defecto. Los contenedores de los clientes no abren ningún puerto en el host: el borde llega por un socket UNIX de root, y cada cliente tiene su propia red privada /24. El instalador deshabilita firewalld (no lo desinstala) porque el firewall del panel usa nftables.

Ejecutar el instalador

Como root, en el servidor nuevo:

curl --proto '=https' --tlsv1.2 -fsSL https://license.tnspanel.com/artefactos/estable/instalar.sh | bash

Es el canal estable. El script lleva embebidas la clave pública del proveedor, la suma de verificación y la dirección de su propio paquete: descarga el paquete por HTTPS, verifica la suma antes de abrirlo y se niega a continuar si no coincide. Para revisarlo antes de ejecutarlo, descargarlo con curl -fsSLO y correrlo con sudo bash instalar.sh; si ya se dispone del paquete, se indica con -artefacto <paquete>.tar.gz.

El instalador es idempotente: volver a ejecutarlo sobre un nodo en funcionamiento lo actualiza sin borrar la configuración.

Variables de entorno

VariableValor por defectoSignificado
PUERTO_ADMIN2087Puerto de la interfaz de administración
PUERTO_CLIENTE2083Puerto de la interfaz de clientes
FTP_PASIVO_DESDE / FTP_PASIVO_HASTA30000 / 30100Rango pasivo de FTP

Al final, el instalador comprueba que el servicio del panel esté sirviendo y que SSH siga abierto en el nuevo conjunto de reglas del firewall. Si alguna comprobación falla, la instalación falla de forma explícita.

Primer ingreso

Al terminar, el instalador muestra una sola vez:

  • el usuario admin;
  • una contraseña generada;
  • el secreto del segundo factor (TOTP) y los códigos de recuperación de un solo uso.

Deben copiarse en el momento: no se vuelven a mostrar. Luego se abre https://<nombre-de-host>:2087 y se ingresan la contraseña y el código de 6 dígitos de la aplicación de autenticación.

El segundo factor es obligatorio para administradores y revendedores y opcional para clientes. Mientras no se emita un certificado real para el nombre de host, el panel usa uno autofirmado y el navegador advierte en la primera visita. Los clientes ingresan por https://<nombre-de-host>:2083.

Primeros pasos

Desde Cuentas → Nueva cuenta, o por línea de comandos en el servidor:

panel cliente-crear acme
panel sitio-crear acme example.com www.example.com
panel estado

Actualizaciones

El panel se actualiza sólo cuando el administrador lo pide, nunca de forma silenciosa. Cada actualización se verifica con una firma Ed25519 y, si el panel no queda sirviendo, vuelve solo a la versión anterior.

Desinstalación

No existe un desinstalador automatizado. Se recomienda planificar la reconstrucción del servidor en lugar de una remoción en sitio.