Ir al contenido

Documentación

HestiaCP

HestiaCP es un panel de control de código abierto para alojamiento web. Provibr habla con su propia API mediante una clave de acceso y gestiona las cuentas que hay en él: crearlas, suspenderlas y reactivarlas, moverlas a otro paquete y eliminarlas.

Activar la API y dejar pasar al agente

HestiaCP tiene su propia API en el puerto 8083, el mismo del panel. Desde la versión 1.10 viene activada; el ajuste está en Server settings, Security.

El panel mantiene además una lista de direcciones que pueden usar esa API, y en una instalación nueva esa lista está vacía, lo que allí significa nadie y no cualquiera. Mientras la dirección pública de la máquina con el agente no figure en ella, se rechaza cada llamada aunque la clave sea correcta.

Se configura en esa misma pantalla del panel, o desde una shell en el host del panel:

shell
v-change-sys-config-value API_ALLOWED_IP '<agent-ip>'
Los comandos y la salida del terminal están en inglés en todas partes, en el panel y en estas páginas. Un solo texto, una sola verdad: lo que se lee aquí es literalmente lo que devolverá su host.

Una clave de acceso para Provibr

La clave se crea en Access keys, para el usuario admin, dejando la lista de permisos vacía:

shell
v-add-access-key admin "" "provibr-agent"
Los comandos y la salida del terminal están en inglés en todas partes, en el panel y en estas páginas. Un solo texto, una sola verdad: lo que se lee aquí es literalmente lo que devolverá su host.
Vacío significa todos los comandos, y HestiaCP solo lo acepta para el administrador. El conjunto de permisos billing que viene de serie se acerca, pero deja fuera los dos comandos que leen los paquetes y los dominios de una cuenta: con ese conjunto, ambos se quedan vacíos. Una clave se puede revocar por separado, y por eso Provibr pide una en lugar de la contraseña del panel.
HestiaCP bloquea una dirección tras cinco inicios de sesión rechazados, y un comando fuera de los permisos de una clave cuenta como uno de ellos. A partir de ahí el panel deja de responder del todo: la conexión ya no falla con un mensaje, sino que se agota el tiempo de espera. El bloqueo se retira en el panel con v-delete-firewall-ban, seguido de la dirección y la palabra HESTIA.

Qué pide Provibr

Cuatro campos. El agente los guarda en su propia caja fuerte, en el host de quien contrata; Provibr no puede volver a leerlos.

  • La dirección del panel con el puerto, por ejemplo https://panel.example.com:8083. Si se omite el puerto, Provibr añade el 8083.
  • El id de la clave: 20 caracteres. No es un secreto, el propio panel lo muestra.
  • El secreto: 40 caracteres entre letras, cifras y signos de puntuación.
  • La huella SHA-256 del certificado, mientras el panel use el autofirmado.
Se rechaza http sin cifrar. El puerto 8083 solo habla TLS, así que una dirección http nunca apunta a la API.

El certificado

Un HestiaCP recién instalado presenta un certificado autofirmado. Al rellenar la huella, el agente confía exactamente en ese certificado en lugar de desactivar la comprobación. Se obtiene desde cualquier máquina que llegue al panel:

shell
openssl s_client -connect <host>:8083 </dev/null 2>/dev/null | \
  openssl x509 -noout -fingerprint -sha256
Los comandos y la salida del terminal están en inglés en todas partes, en el panel y en estas páginas. Un solo texto, una sola verdad: lo que se lee aquí es literalmente lo que devolverá su host.

En cuanto el panel recibe un certificado de Let's Encrypt en su propio nombre de host, la cadena se valida sola y el campo puede quedarse vacío. Allí esa es también la mejor opción: un certificado así se renueva cada noventa días aproximadamente, y uno fijado habría que sustituirlo aquí cada vez. La prueba de conexión indica cuál de los dos hay.

Paquetes

HestiaCP describe en un paquete lo que puede usar una cuenta: espacio en disco, tráfico y cuántos dominios, bases de datos y buzones. Provibr lee esa lista y se refiere a un paquete por su nombre; lo que contiene sigue siendo cosa de cada uno.

Un plan de alojamiento web en Provibr apunta a un paquete de una integración. Eso es lo que pide el cliente, y el precio lo fija quien vende.

Qué hace Provibr con una cuenta

Cinco acciones, todas dirigidas por el nombre de usuario, el mismo que Provibr guarda como identidad de ese servidor.

  • Crear una cuenta, con un dominio, un paquete y una dirección de contacto.
  • Suspenderla y reactivarla. Una cuenta suspendida no cuenta para la capacidad.
  • Moverla a otro paquete.
  • Eliminarla, con todo lo que el panel se lleva por delante.
Crear cuesta dos llamadas en HestiaCP: una para el usuario y otra para el dominio, porque no hay ningún comando que haga las dos cosas. Si falla la segunda, por ejemplo porque el dominio ya es de otra persona, el agente elimina el usuario que acaba de crear e informa del error original. Un dominio rechazado no deja nunca media cuenta atrás.

Espacio en disco y tráfico

Cada lectura del panel trae el límite y el consumo de cada cuenta, en megabytes. Aparecen en la página del servidor y en los gráficos, sin una segunda llamada que pueda quedarse atrás.

Provibr no gestiona DNS, buzones ni bases de datos en HestiaCP, y no hay consola. Todo eso se queda en el propio panel, donde se sigue usando como siempre.

Cuentas que ya existen

Las cuentas creadas fuera de Provibr se pueden importar desde la página de la integración: el agente enumera lo que hay en el panel y se elige cuáles pasan a ser un servidor en Provibr.

Una cuenta importada cuenta para la capacidad desde ese momento, igual que cualquier otro servidor web.

Qué no hace

Provibr gestiona cuentas, no el panel: no instala HestiaCP, no lo actualiza, no cambia la configuración del servidor y no toca DNS, correo ni bases de datos. Leer un panel con muchas cuentas cuesta una llamada extra por cuenta para los dominios, porque HestiaCP no tiene ningún comando que los enumere todos a la vez.