API de WHM en PHP

API de WHM en PHP

La administración de cuentas de alojamiento web mediante la API de WebHost Manager (WHM) es una tarea esencial para los proveedores de alojamiento web y administradores de servidores. WHM es una potente interfaz de administración que permite la gestión de múltiples cuentas de alojamiento cPanel en un servidor. A través de su API, es posible automatizar muchas tareas, lo que ahorra tiempo y reduce errores. En este artículo, exploraremos cómo usar la API de WHM en PHP para realizar diversas operaciones, como crear cuentas, modificar ajustes y más.

Requisitos previos

Antes de comenzar, asegúrate de tener acceso a un servidor con WHM y las credenciales adecuadas para utilizar su API.

Conexión a la API de WHM

Para interactuar con la API de WHM en PHP, podemos utilizar solicitudes HTTP a través de cURL, una biblioteca que permite la transferencia de datos con una amplia variedad de protocolos. Asegúrate de que cURL esté habilitado en tu servidor PHP.

<?php
// URL de la API de WHM
$whm_url = 'https://tudominio.com:2087/json-api/';

// Credenciales de autenticación
$username = 'tu_usuario_whm';
$password = 'tu_contraseña_whm';

// Función para realizar solicitudes a la API de WHM
function whmApiCall($function, $parameters = []) {
    global $whm_url, $username, $password;

    $query = http_build_query($parameters);
    $url = $whm_url . $function . '?' . $query;

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password);

    $response = curl_exec($ch);
    curl_close($ch);

    return json_decode($response, true);
}
?>

Creación de una cuenta de alojamiento

Una de las tareas más comunes es la creación de una cuenta de alojamiento. Usaremos la función «createacct» para lograrlo:

$account_data = [
    'username' => 'nuevo_usuario',
    'domain' => 'nuevo-dominio.com',
    'password' => 'contrasena',
    'plan' => 'plan_predeterminado',
    // Otros parámetros
];

$result = whmApiCall('createacct', $account_data);

if ($result['metadata']['result'] == 1) {
    echo 'Cuenta creada con éxito.';
} else {
    echo 'Error al crear la cuenta: ' . $result['metadata']['reason'];
}

Modificación de parámetros de la cuenta

Para modificar los parámetros de una cuenta existente, utilizamos la función «modifyacct». Por ejemplo, para cambiar la contraseña de una cuenta:

$account_data = [
    'user' => 'usuario_existente',
    'passwd' => 'nueva_contrasena',
];

$result = whmApiCall('modifyacct', $account_data);

if ($result['metadata']['result'] == 1) {
    echo 'Contraseña modificada con éxito.';
} else {
    echo 'Error al modificar la contraseña: ' . $result['metadata']['reason'];
}

Eliminación de una cuenta

La eliminación de cuentas se realiza con la función «removeacct». Asegúrate de tomar precauciones antes de eliminar una cuenta, ya que esta acción no se puede deshacer.

$account_data = [
    'user' => 'usuario_a_eliminar',
    'keepdns' => 0, // Cambiar a 1 si se desea conservar los registros DNS
];

$result = whmApiCall('removeacct', $account_data);

if ($result['metadata']['result'] == 1) {
    echo 'Cuenta eliminada con éxito.';
} else {
    echo 'Error al eliminar la cuenta: ' . $result['metadata']['reason'];
}

Conclusión

La API de WHM proporciona un mecanismo poderoso para la administración automatizada de cuentas de alojamiento web. Con PHP y cURL, puedes interactuar con la API y realizar una variedad de tareas, desde la creación de cuentas hasta la modificación y eliminación. Asegúrate de revisar la documentación de WHM para obtener información detallada sobre las funciones disponibles y sus parámetros.

¡La automatización de tareas a través de la API de WHM puede ahorrarte tiempo y esfuerzo, especialmente si gestionas un gran número de cuentas de alojamiento web!


Publicado

en

por

Etiquetas: