找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11525|回复: 0

原创WHMCS-IPMI管理模块

[复制链接]
发表于 2013-6-21 14:40:24 | 显示全部楼层 |阅读模式
在WHMCS后台可以控制IPMI机器的电源项目...开/关  等.
2 ?  {4 }6 G( q1 z4 K; ]2 Q0 p要求WHMCS所在机器安装OpenIPMI组件
# @7 _: A/ ^2 ~1 D7 V: U+ L
+ B# k$ Q. W$ N# [" n( j4 G  g$ oyum install OpenIPMI OpenIPMI-tools( ^1 I7 o( q1 E5 E: x
( ?( n( z1 i# S$ @
而且PHP要允许EXEC这个危险函数(执行内部程序)9 c/ l$ J6 g2 o) ]9 f

: u8 P& h' b2 M6 l6 X还要配置WHMCS产品..选择该模块功能% V6 B9 t4 n8 {/ ~
产品还要新增三个自定义区域,名称分别是ipmiip/ipmiuser/ipmipass  类型为文本框
4 Q& c$ j# k0 i9 {0 U/ F然后..就没有然后了...
! x: ]4 \" M! Q9 ]& x' s. N8 o3 V) u
[PHP] 纯文本查看 复制代码
<?php
#save as [whmcs]/modules/servers/ipmi/ipmi.php 

function ipmi_ClientArea($params) {
        # Output can be returned like this, or defined via a clientarea.tpl ipmi file (see docs for more info)
        $ipmiip = $params['customfields']["ipmiip"];
        $ipmiuser = $params['customfields']["ipmiuser"];
        $ipmipass = $params['customfields']["ipmipass"];
        
        $cmd="ipmitool -H $ipmiip -U $ipmiuser -P $ipmipass -I lanplus power status";
        $power=substr(exec($cmd),17);
        $p="https://$ipmiip/";
        $code = "机器电源状态: $power  用户名:$ipmiuser 密码:$ipmipass <a href=\"$p\" target=\"_blank\" style=\"color:#cc0000\">登陆到IPMI页面</a>";
        return $code;
}

function ipmi_AdminLink($params) {
        $ipmiip = $params['customfields']["ipmiip"];
        $ipmiuser = $params['customfields']["ipmiuser"];
        $ipmipass = $params['customfields']["ipmipass"];
        $i=explode(".",$ipmiip);
        $p="https://$ipmiip/"
        $code = "<a href=\"$p\" target=\"_blank\" style=\"color:#cc0000\">登陆到IPMI页面</a>";
        return $code;
}

function ipmi_LoginLink($params) {
        $ipmiip = $params['customfields']["ipmiip"];
        $ipmiuser = $params['customfields']["ipmiuser"];
        $ipmipass = $params['customfields']["ipmipass"];
        $i=explode(".",$ipmiip);
        $p="https://$ipmiip/"
        $code = "<a href=\"$p\" target=\"_blank\" style=\"color:#cc0000\">登陆到IPMI页面</a>";
        return $code;
}

function ipmi_reboot($params) {
        $ipmiip = $params['customfields']["ipmiip"];
        $ipmiuser = $params['customfields']["ipmiuser"];
        $ipmipass = $params['customfields']["ipmipass"];
        $cmd="ipmitool -H $ipmiip -U $ipmiuser -P $ipmipass -I lanplus power reset";
        $return=exec($cmd);
        if ($return=="") $return = "success";
        return $return;
}

function ipmi_shutdown($params) {
        $ipmiip = $params['customfields']["ipmiip"];
        $ipmiuser = $params['customfields']["ipmiuser"];
        $ipmipass = $params['customfields']["ipmipass"];
        $cmd="ipmitool -H $ipmiip -U $ipmiuser -P $ipmipass -I lanplus power off";
        $return=exec($cmd);
        if ($return=="") $return = "success";
        return $return;
}

function ipmi_on($params) {
        $ipmiip = $params['customfields']["ipmiip"];
        $ipmiuser = $params['customfields']["ipmiuser"];
        $ipmipass = $params['customfields']["ipmipass"];
        $cmd="ipmitool -H $ipmiip -U $ipmiuser -P $ipmipass -I lanplus power on";
        $return=exec($cmd);
        if ($return=="") $return = "success";
        return $return;
}

function ipmi_cycle($params) {
        $ipmiip = $params['customfields']["ipmiip"];
        $ipmiuser = $params['customfields']["ipmiuser"];
        $ipmipass = $params['customfields']["ipmipass"];
        $cmd="ipmitool -H $ipmiip -U user -P $pass -I lanplus power cycle";
        $return=exec($cmd);
        if ($return=="") $return = "success";
        return $return;
}

function ipmi_ClientAreaCustomButtonArray() {
        $buttonarray = array(
        "重启RESET" => "reboot",
        "电源重置POWER_CYCLE" => "cycle",
        "电源关闭POWER_OFF" => "off",
        "电源开启POWER_ON" => "on",
        );
        return $buttonarray;
}

function ipmi_AdminCustomButtonArray() {
        $buttonarray = array(
        "重启RESET" => "reboot",
        "电源重置POWER_CYCLE" => "cycle",
        "电源关闭POWER_OFF" => "off",
        "电源开启POWER_ON" => "on",
        );
        return $buttonarray;
}
?>
$ G* g* J9 v2 E) x& p* Z: d' E- e5 f
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|第一站论坛 ( 蜀ICP备06004864号-6 )

GMT+8, 2025-11-5 00:53 , Processed in 0.070668 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表