arpanadhikari / virtualmin-sdk
Virtualmin 控制面板的非官方 SDK。是 snscripts/virtualmin-sdk 的分支
Requires
- php: >=5.5.0
- cartalyst/collections: 1.1.*
- guzzlehttp/guzzle: 6.5.*
Requires (Dev)
- phpunit/phpunit: ~4.0
- symfony/var-dumper: 3.0.*
README
这是一个符合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)。有关更多信息,请参阅许可文件。