Методы работы с веб-хостингом Plesk: API, CLI и расширения

Веб-хостинг Plesk — это популярная панель управления веб-хостингом, предоставляющая удобный интерфейс для управления веб-сайтами и ресурсами сервера. Ниже приведены некоторые методы работы с Plesk на примерах кода:

  1. API Plesk: Plesk предоставляет комплексный API RESTful, который позволяет выполнять различные операции программно. Вы можете использовать этот API для создания, изменения и удаления доменов, управления записями DNS, настройки учетных записей электронной почты и многого другого. Вот пример использования Plesk API на Python для создания нового домена:
import requests
import json
plesk_url = 'https://your-plesk-server.com:8443/api/v2/'
plesk_username = 'admin'
plesk_password = 'your-password'
# Authenticating with Plesk API
auth_data = {
    'login': plesk_username,
    'password': plesk_password
}
auth_headers = {'Content-Type': 'application/json'}
auth_response = requests.post(plesk_url + 'auth', headers=auth_headers, data=json.dumps(auth_data))
auth_token = auth_response.headers['Authorization']
# Creating a new domain
domain_data = {
    'name': 'example.com',
    'hosting_type': 'virtual',
    'hosting_settings': {
        'www_root': '/var/www/vhosts/example.com',
        'php': {
            'enabled': True,
            'version': '7.4'
        }
    }
}
create_domain_headers = {
    'Content-Type': 'application/json',
    'Authorization': auth_token
}
create_domain_response = requests.post(plesk_url + 'domains', headers=create_domain_headers, data=json.dumps(domain_data))
print(create_domain_response.json())
  1. Plesk CLI: Plesk также предоставляет интерфейс командной строки (CLI), который позволяет вам управлять различными аспектами среды вашего хостинга. Вы можете использовать CLI для создания доменов, баз данных, учетных записей электронной почты и многого другого, а также управления ими. Вот пример использования Plesk CLI для создания нового домена:
plesk bin domain --create example.com -ip 192.0.2.1 -ssl true -php true
  1. Расширения Plesk: Plesk поддерживает расширения, которые расширяют его функциональность и предоставляют дополнительные возможности. Вы можете разрабатывать собственные расширения Plesk, используя различные языки программирования, такие как PHP, JavaScript и Ruby. Эти расширения могут добавлять дополнительные функции к панели управления Plesk. Вот пример расширения Plesk, которое добавляет специальную кнопку на страницу управления доменом:
<?php
class Modules_CustomExtension_Domain extends pm_Hook_Domain
{
    public function getButtons()
    {
        return [
            [
                'title' => 'Custom Button',
                'description' => 'Perform custom action',
                'icon' => pm_Context::getBaseUrl() . 'images/icon.png',
                'link' => pm_Context::getActionUrl('index', 'controller'),
                'newWindow' => true,
            ],
        ];
    }
}