Usar la API de DirectAdmin: gestionar su paquete con scripts
DirectAdmin tiene una API: una forma de gestionar su paquete con un script o programa en lugar de con el ratón. Casi todo lo que hace en el panel también se puede hacer mediante la API. Piense en actualizar un registro DNS si cambia su dirección IP en casa, crear buzones de correo desde su propio software o consultar cada noche una lista de sus bases de datos.
¿Puedo usar la API con mi paquete?
Sí. La API funciona con cualquier paquete que incluya DirectAdmin: todos los paquetes de alojamiento web y también los paquetes de correo electrónico. Además, los revendedores pueden usarla para gestionar las cuentas de sus propios clientes. No tiene que solicitar nada y no supone ningún coste adicional.
Un script tiene exactamente los mismos permisos que usted en DirectAdmin. Por lo tanto, solo puede acceder a su propio paquete, y únicamente a lo que su paquete permita.
Cómo funciona
- Dirección: se comunica con la API en el mismo lugar donde inicia sesión: https://servernombre:2222. Encontrará el nombre de su servidor en Mi WebOké, en el paquete, en Gestionar.
- Dos tipos de órdenes: la nueva API, con direcciones que comienzan por /api/ y respuestas en JSON, y la API anterior, con órdenes como /CMD_API_.... Empiece por la nueva API. Lo que todavía no esté disponible allí, lo encontrará en la API anterior. Añada ?json=yes al final para obtener una respuesta en JSON.
- Inicio de sesión: cada orden envía su nombre de usuario de DA y una contraseña (autenticación básica HTTP). Para ello, es preferible usar una llave de inicio de sesión (login key) en lugar de su contraseña real de DA, véase más abajo.
- Documentación en su propio panel: en DirectAdmin, en Support & Help, encontrará la API Documentation. Allí verá todas las órdenes de la nueva API y podrá probarlas directamente con su propia cuenta.
Un ejemplo
Con esta orden consulta las bases de datos de su paquete. Sustituya usuario, llave y servernombre por sus propios datos:
curl -u 'usuario:llave' https://servernombre:2222/api/db-show/databases
Recibirá una lista en JSON. De la misma manera funciona desde PHP, Python o cualquier otro lenguaje capaz de consultar una dirección web.
Trabajar de forma segura con una llave de inicio de sesión
No dé nunca a un script su contraseña normal de DA. Cree en DirectAdmin, en Iniciar sesión llaves, una llave independiente. Esa llave se puede limitar:
- solo a las órdenes que el script realmente necesita;
- solo desde la dirección IP del ordenador o servidor donde se ejecuta el script;
- con una fecha de caducidad, si solo necesita el acceso durante un tiempo limitado.
Excluya en cualquier caso las órdenes CMD_LOGIN_KEYS y CMD_PASSWD, de modo que la llave no pueda crear nuevas llaves ni cambiar su contraseña. Si la llave se filtra de todos modos, elimínela y cree una nueva, sin necesidad de cambiar su contraseña.
Cómo crear una llave se explica paso a paso en la guía de DirectAdmin: Iniciar sesión llaves: inicio de sesión para scripts y programas.
Bueno saberlo
- Si un script intenta iniciar sesión varias veces con una contraseña o una llave incorrecta, nuestro firewall bloqueará esa dirección IP. Consulte ¿Estoy bloqueado? si su script deja de conectarse de repente.
- Estaremos encantados de ayudarle si la API en sí no funciona, pero no escribimos ni revisamos scripts propios. Para ello, utilice la documentación de DirectAdmin que figura a continuación.
- ¿Prefiere gestionar su alojamiento con Claude, ChatGPT o Mistral, sin programar usted mismo? Consulte nuestro servidor MCP para IA.
Documentación de DirectAdmin
La documentación de DirectAdmin está en inglés:
- API Access: cómo funciona la API, cómo iniciar sesión y los distintos tipos de API.
- Examples: ejemplos con curl, Bash, PHP y Python.
- Legacy API: las órdenes CMD_API anteriores y sus respuestas.
- Resumen de órdenes CMD_API: búsqueda en todas las órdenes anteriores.
- Creating a login key: llaves de inicio de sesión según DirectAdmin.
Consulte también en la guía de DirectAdmin: Cómo encontrar el nombre de su servidor y su nombre de usuario de DA.
