Вот несколько методов с примерами кода для работы с cPanel в хостинге InMotion:
- API cPanel. Хостинг InMotion предоставляет комплексный API для взаимодействия с cPanel. Вы можете использовать этот API для программного выполнения различных задач, таких как создание учетных записей электронной почты, управление базами данных и настройка параметров DNS. Вот пример на PHP с использованием API cPanel для создания новой учетной записи электронной почты:
<?php
// cPanel API configuration
$cpanelUsername = 'your_cpanel_username';
$cpanelPassword = 'your_cpanel_password';
$cpanelHost = 'your_cpanel_hostname';
// API request parameters
$email = 'newuser@example.com';
$password = 'secretpassword';
// API endpoint
$apiUrl = "https://$cpanelUsername:$cpanelPassword@$cpanelHost:2083/cpsess1234567890/execute/Email/addpop";
// API request payload
$data = [
'domain' => 'example.com',
'email' => $email,
'password' => $password,
];
// Send API request
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
// Process API response
if ($response === false) {
echo 'Error occurred: ' . curl_error($ch);
} else {
$responseData = json_decode($response, true);
if ($responseData['status'] === 1) {
echo 'Email account created successfully.';
} else {
echo 'Failed to create email account. Error: ' . $responseData['statusmsg'];
}
}
?>
- API WHM: если у вас есть доступ к WebHost Manager (WHM), который представляет собой панель управления для управления учетными записями cPanel, вы можете использовать API WHM для выполнения административных задач. Вот пример на Python с использованием WHM API для создания новой учетной записи cPanel:
import requests
# WHM API configuration
whmUsername = 'your_whm_username'
whmToken = 'your_whm_api_token'
whmHost = 'your_whm_hostname'
# API request parameters
username = 'newuser'
domain = 'example.com'
password = 'secretpassword'
# API endpoint
apiUrl = f"https://{whmHost}:2087/json-api/createacct?api.version=1"
# API request payload
data = {
'username': username,
'domain': domain,
'password': password,
}
# Send API request
headers = {
'Authorization': f'cpanel {whmUsername}:{whmToken}',
'Content-Type': 'application/json',
}
response = requests.post(apiUrl, json=data, headers=headers)
# Process API response
responseData = response.json()
if responseData['metadata']['result'] == 1:
print('cPanel account created successfully.')
else:
print('Failed to create cPanel account. Error: ', responseData['metadata']['reason'])
- cPanel UAPI: cPanel также предоставляет пользовательский API (UAPI), который позволяет выполнять различные задачи на уровне пользователя. Вот пример использования UAPI cPanel на Ruby для получения информации об использовании диска учетной записью cPanel:
require 'net/http'
require 'json'
# cPanel UAPI configuration
cpanelUsername = 'your_cpanel_username'
cpanelPassword = 'your_cpanel_password'
cpanelHost = 'your_cpanel_hostname'
# API endpoint
apiUrl = URI.parse("https://#{cpanelHost}:2083/execute/Quota/get_quota_usage")
# API request payload
data = {
'api.version' => 3,
'user' => 'cpanel_account_username',
}
# Send API request
http = Net::HTTP.new(apiUrl.host, apiUrl.port)
http.use_ssl = true
request = Net::HTTP::Post.new(apiUrl.path)
request.basic_auth(cpanelUsername, cpanelPassword)
request.set_form_data(data)
response = http.request(request)
# Process API response
responseData = JSON.parse(response.body)
if responseData['status'] == 1
puts "Disk usage: #{responseData['data']['diskused']} bytes"
else
puts "Failed to fetch disk usage. Error: #{responseData['statusmsg']}"
end