arpanadhikari/virtualmin-sdk

Virtualmin 控制面板的非官方 SDK。是 snscripts/virtualmin-sdk 的分支

0.3.4.1 2020-08-04 13:25 UTC

This package is auto-updated.

Last update: 2024-09-04 22:31:07 UTC


README

Author Source Code Latest Version Software License

这是一个符合PSR-2标准的非官方PHP SDK,用于Virtualmin控制面板,希望它能让您轻松地将自己的系统集成到Virtualmin中!

要求

Composer

Virtualmin SDK 需要

  • "php": ">=5.5.0
  • "guzzlehttp/guzzle": "6.5.*",
  • "cartalyst/collections": "1.1.*"

安装

Composer

最简单的安装方法是通过composer。

composer require arpanadhikari/virtualmin-sdk 0.*

或者将其添加到您的项目的 composer.json 文件中。

{
    "require": {
        "arpanadhikari/virtualmin-sdk": "1.*"
    }
}

使用方法

设置

要开始,您首先需要定义Virtualmin类并传入Guzzle依赖项。

use \Snscripts\Virtualmin\Virtualmin;

$Virtualmin = new Virtualmin(
    new GuzzleHttp\Client
);

接下来,您需要设置与您的Virtualmin服务器的连接。这需要主账户登录详情。

$Virtualmin->setConnection(
    'host:port',
    'user',
    'pass'
);

如果您的服务器正在http模式下运行,您可以将Virtualmin::NOSECURE常量作为setConnection的第四个参数传入,以禁用https的使用。(默认行为是Virtualmin::SECURE)。

$Virtualmin->setConnection(
    'host',
    'user',
    'pass',
    Virtualmin::NOSECURE
);

如果您正在运行https,但它在开发环境中且没有有效的SSL证书,您可以使用以下方法禁用证书检查

$Virtualmin->setVerify(Virtualmin::NOVERIFY);

这不应该在生产环境中执行,仅在开发过程中需要时使用

使用

在使用SDK时,您可能会发现此页(Virtualmin文档)很有用。它详细说明了在命令行工具中可用的操作和参数,用于管理您的Virtualmin服务器。所有这些命令和参数都可以转移到此SDK中(并非所有命令都受支持)。

API的每个支持部分都附带一个“Manager”类,该类定义了所有可用的操作。然后它还接受该请求所需的任何参数,然后运行它。

每个Manager类都应该接受从Virtualmin类定义的Virtualmin对象,如上例所示。

PlanManager

计划管理器负责处理与计划相关的操作。

$PlanManager = new \Snscripts\Virtualmin\Plans\PlanManager($Virtualmin);
$plans = $PlanManager->ListPlans()->run();
$Plan = $plans->first(); // get the first plan returned

ListPlans操作将返回一个结果集合(如果没有创建计划,则返回一个空集合)。集合中的每个项都应该是一个包含该计划所需详情的\Snscripts\Virtualmin\Plans\Plan实例。

HostingManager

托管管理器负责处理“虚拟服务器”或共享托管账户。

$HostingManager = new \Snscripts\Virtualmin\Hosting\HostingManager($Virtualmin);

$createResult = $HostingManager->CreateService()
	->setDomain('example.com')
	->setPlan($Plan->id)
	->setPass('password')
	->setLimitsFromPlan() // this makes it use the disk quota and broadband limits from the set plan otherwise define your own
	->setFeaturesFromPlan() // this makes it use the defined features on your plan otherwise define your own.
	->run();

$createResult将包含一个\Snscripts\Virtualmin\Results\Result的实例。使用该对象,您可以执行$createResult->getStatus()来检索调用成功或失败的布尔值表示,以及$createResult->getMessage()来检索调用失败或成功的详细原因。

$deleteResult = $HostingManager->DeleteService()
	->setDomain('example.com')
	->run();
	
$disableResult = $HostingManager->DisableService()
	->setDomain('example.com')
	->run();
	
$enableResult = $HostingManager->EnableService()
	->setDomain('example.com')
	->run();

贡献

有关详细信息,请参阅CONTRIBUTING

许可

MIT许可(MIT)。有关更多信息,请参阅许可文件