# whmcs安装 **Repository Path**: weimomolin/whmcs ## Basic Information - **Project Name**: whmcs安装 - **Description**: whmcs安装使用记录 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-06 - **Last Updated**: 2024-11-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 免责声明:本人小白,之前从没使用过whmcs系统,一步步摸索学习 # whmcs 安装使用(测试版+开心+中文) #### 介绍 whmcs 安装使用 #### 软件架构 WHMCS是一套国外流行的域名主机管理软件,跟国内众所周知的IDCSystem一样,主要在用户管理、财务管理、域名接口、服务器管理面板接口等方面设计的非常人性化。WHMCS是一套全面支持域名注册管理解析,主机开通管理,VPS开通管理和服务器管理的一站式管理软件, #### 安装教程 1. 下载whmcs代码 官网地址:https://www.whmcs.com/ 官网最底部的Resources中找到Download,选择Beta Releases测试版本 目前使用版本为:V8.10.0 2. 配置宝塔环境 需要环境: 需要有宝塔,已注册域名 (whmcs开心版需要配置)宝塔面板(软件商店)选择PHP版本 --> 对应PHP右侧设置界面 --> 安装扩展界面 --> 安装ionCube(用于解密ionCube Encoder加密脚本!) 宝塔创建站点 --> 勾选数据库utf8 --> 选择php版本(有ionCube拓展版) --> 安装ssl(也可以暂时不装) 3. 安装whmcs 将下载的whmcs代码解压放入对应网站文件目录下 --> 进入访问网站(将会看到如下界面) --> 点击 Click here to begin...开始进行安装  --> 一些协议,点击 I AGREE  --> (此时whmcs会自动检测运行环境)完成后点击 Begin Installation  --> (按照下图填写相关信息)完成后点击 Continue  --> (填写一些个人账号信息,可以随便写写)完成后点击 Complete Setup  --> 开心版文件和中文语言文件都放在仓库中 开心版配置:将License.php文件替换到vendor/whmcs/whmcs-foundation/lib目录中 中文语言配置:将admin和lang分别放入/admin和/lang目录中 (其余按照下图要求配置修改)完成后点击 Go to the Admin Area Now  --> 输入自己的账号密码开始使用  --> 登录后再弹出的基本配置界面(第二步)如下选择中文语言即可配置成中文  后续配置根据自己需求进行配置即可 配置完成后,刷新界面,就能切换成中文了 #### 使用说明 ##### 1. 集成插件(文件版)安装以及使用 --> 准备好需要安装的插件文件(此处举例随便找的支付集成插件文件)  --> 打开网站文件目录,进入如下目录/modules,直接将插件文件拖拽上传到该目录  --> 进入whmcs后台,在网页右上角进入“系统设置”界面,进入“应用集成”界面,搜索需要启动的集成插件  ##### 2. 普通插件(文件版)安装以及使用 安装方式与集成插件大致相同,只不过在上传插件文件时需要放到modules/addons路径下 在“系统设置”界面中的“插件模块”界面激活配置使用   #### 简单的普通模块插件开发(例:testmo) 插件代码在仓库中 创建模块插件文件夹及配置文件目录   ##### 1、入口文件(模块名.php testmo.php) ``` '测试插件模板页面使用', 'description' => '测试插件模板页面使用', 'author' => '测试人员', 'language' => 'english', 'version' => '1.0', ]; } // XXXXX_clientarea($vars):这是 WHMCS 客户区页面处理的核心函数 // $vars 是一个数组,包含了客户区页面需要的一些数据,如模块链接、模块版本、当前语言等。 function testmo_clientarea($vars) { // 获取参数: // $modulelink:模块链接,通常用来生成指向插件页面的 URL。 // $version:模块版本,来自 $vars 中的 version。 // $_lang:当前语言的代码,来自 $vars 中的 _lang。 $modulelink = $vars['modulelink']; $version = $vars['version']; $_lang = $vars['_lang']; // 获取 action 参数: // 通过 $_REQUEST['action'] 获取前端请求中 action 参数的值,决定要执行的操作。 // 如果没有提供 action 参数,则默认为空字符串。 $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : ''; // 实例化 ClientDispatcher: // 创建一个 ClientDispatcher 类的实例,用来处理客户端的请求。 // 调用 dispatch() 方法,传入 action 和 vars 参数,决定具体要执行的逻辑。 // dispatch() 会根据传入的 action 调度到相应的客户端控制器方法。 $dispatcher = new ClientDispatcher(); return $dispatcher->dispatch($action, $vars); } ``` ##### 2、钩子文件(hooks.php) WHMCS 将在每次页面加载时检测并加载此钩子文件。 [官方文档 关于菜单钩子](https://developers.whmcs.com/themes/navigation/) ``` getChild('Services'))) { // 在 "Services" 下添加 "测试插件" 子菜单项 $primaryNavbar->getChild('Services') ->addChild('TestMo', array( 'label' => '测试插件', // 菜单项标题 'uri' => 'index.php?m=testmo&page=hello', // 点击后的跳转地址 'order' => 15, // 显示顺序 )); } }); ``` ##### 3、用户端模版文件(templates/文件名.tpl hello.tpl) 此处就是用户端界面显示的内容部分 ```