whmcs和服务器IPMI对接的相关资料收集
whmcs和服务器IPMI对接的相关资料收集
IPMI是我们独立服务器中常用的一种远程运维系统,知识兔可以远程进行开关机重启、重做系统等操作。
目前大部分商家都将IPMI和whmcs进行了对接,知识兔使用户登录账号后可以自行进行基础操作。
下面是收集的这些方面的资料,仅做备份,防止原资料博客删除。下面资料本人目前无法验证其可行性。大家有需求的话,谨慎操作。
更新:发一下whmcs的IPMI插件,本人未测试,自己测试是否可用,有能力就自己改下
https://down.zhishitu.com/%E7%BD%91%E7%AB%99%E6%BA%90%E7%A0%81/whmcs/Plugins/ipmi.zip
本文目录
WHMCS的IPMI管理模块,WHMCS的IPMI管理插件,可以控制IPMI机器的开机关机重启
在WHMCS后台可以控制IPMI机器的电源项目…开/关 等.
要求WHMCS所在机器安装OpenIPMI组件
yum install OpenIPMI OpenIPMI-tools
而且知识兔PHP要允许EXEC这个危险函数(执行内部程序)
还要配置WHMCS产品..选择该模块功能
产品还要新增三个自定义区域,名称分别是ipmiip/ipmiuser/ipmipass 类型为文本框
登陆到IPMI页面";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 = "登陆到IPMI页面";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 = "登陆到IPMI页面";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;}?>
Whmcs IPMI模块
yum install OpenIPMI OpenIPMI-tools
登陆whmcs后台》设置》产品/服务》相关产品》自定义字段》分别添加ipmiip/ipmiuser/ipmipass 类型为文本框的字段
下列代码保存路径modules/servers/ipmi/ipmi.php
登陆到IPMI页面”;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 = “登陆到IPMI页面”;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_off($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;}?>
NOC-PS
除了上面两个之外,还有很多机房使用“NOC-PS”
NOC-PS官网:https://www.noc-ps.com/
英文PDF资料:https://down.zhishitu.com/%E6%96%87%E6%A1%A3%E7%B1%BB/NOCPS-Manual-EN.pdf
注意事项
1.必须先购买授权,授权与体验功能完全有差别;
2.IPMI必须开启 IPMI over LAN is enabled;
下载仅供下载体验和测试学习,不得商用和正当使用。
[ppwp passwords=”zhishitu.cn”]
下载体验
应版权要求,禁止分享,敬请谅解,有问题务必找客服哈。
有问题找客服哈,并领取学习福利!
[/ppwp]