# 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...开始进行安装 ![输入图片说明](readmeImage/%E5%AE%89%E8%A3%85%E6%88%AA%E5%9B%BE1.png) --> 一些协议,点击 I AGREE ![输入图片说明](readmeImage/%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B2.png) --> (此时whmcs会自动检测运行环境)完成后点击 Begin Installation ![输入图片说明](readmeImage/%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B3.png) --> (按照下图填写相关信息)完成后点击 Continue ![输入图片说明](readmeImage/%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B4.png) --> (填写一些个人账号信息,可以随便写写)完成后点击 Complete Setup ![输入图片说明](readmeImage/%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B5.png) --> 开心版文件和中文语言文件都放在仓库中 开心版配置:将License.php文件替换到vendor/whmcs/whmcs-foundation/lib目录中 中文语言配置:将admin和lang分别放入/admin和/lang目录中 (其余按照下图要求配置修改)完成后点击 Go to the Admin Area Now ![输入图片说明](readmeImage/%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B6.png) --> 输入自己的账号密码开始使用 ![输入图片说明](readmeImage/%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B7.png) --> 登录后再弹出的基本配置界面(第二步)如下选择中文语言即可配置成中文 ![输入图片说明](readmeImage/%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE8.png) 后续配置根据自己需求进行配置即可 配置完成后,刷新界面,就能切换成中文了 #### 使用说明 ##### 1. 集成插件(文件版)安装以及使用 --> 准备好需要安装的插件文件(此处举例随便找的支付集成插件文件) ![输入图片说明](readmeImage/%E6%8F%92%E4%BB%B6%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B1.png) --> 打开网站文件目录,进入如下目录/modules,直接将插件文件拖拽上传到该目录 ![输入图片说明](readmeImage/%E6%8F%92%E4%BB%B6%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B2.png) --> 进入whmcs后台,在网页右上角进入“系统设置”界面,进入“应用集成”界面,搜索需要启动的集成插件 ![输入图片说明](readmeImage/%E6%8F%92%E4%BB%B6%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B3.png) ##### 2. 普通插件(文件版)安装以及使用 安装方式与集成插件大致相同,只不过在上传插件文件时需要放到modules/addons路径下 在“系统设置”界面中的“插件模块”界面激活配置使用 ![输入图片说明](readmeImage/%E6%8F%92%E4%BB%B6%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B5.png) ![输入图片说明](readmeImage/%E6%8F%92%E4%BB%B6%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B4.png) #### 简单的普通模块插件开发(例:testmo) 插件代码在仓库中 创建模块插件文件夹及配置文件目录 ![输入图片说明](readmeImage/%E6%A8%A1%E5%9D%97%E5%BC%80%E5%8F%911.png) ![输入图片说明](readmeImage/%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%912.png) ##### 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) 此处就是用户端界面显示的内容部分 ```

测试模版界面显示样式

``` ##### 4、前后台控制器文件(lib/Admin Client) /Admin(主要存放后台方面的处理文件) /Client(主要存放用户端方面的处理文件) ClientDispatcher.php WHMCS 系统中的一个 PHP 文件,它通常涉及客户端请求的处理和分发 ``` $action($parameters); } } } ``` Controller.php 控制器 ``` '测试标题', // 面包屑导航 用户当前所在的页面路径 'breadcrumb' => array( 'index.php?m=testmo' => '测试测试标题', ), // 指定要渲染的模板文件 'templatefile' => 'hello', // 此字段为 false,表示访问该页面不需要登录 'requirelogin' => false, // 此字段为 false,表示访问页面时不强制使用 SSL。 'forcessl' => false, // 要传递给模板的变量数组 'vars' => array( // 插件的链接 'modulelink' => $modulelink, // 未定义的变量,应该根据插件的配置或功能来设定。它可能是一个从配置文件或数据库获取的值,用于在页面中显示 'configTextField' => $configTextField, // 一个自定义变量,用于在模板中显示内容 'customVariable' => '模版显示内容', ), ); } } ``` ##### 5、语言文件(lang/语言名.php) 此处文件夹下主要就是存放语言文件 ##### 6、激活启用模版插件 进入WHMCS后台界面,右上角“系统设置” ---> “插件模块” ---> 激活编写的插件 右侧设置中配置权限 Full Administrator (完全管理员) 是 WHMCS 系统中的最高权限角色,拥有对系统的完全访问权限。 Sales Operator (销售操作员) 负责与销售相关的任务,管理和处理与客户购买和订购相关的操作。 Support Operator (支持操作员) 负责处理客户支持请求,如提交的技术支持票、服务问题等。 ![输入图片说明](readmeImage/%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%913.png) ##### 7、查看效果 WHMCS 后台界面效果 ![输入图片说明](readmeImage/%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%914.png) WHMCS 用户端界面效果 ![输入图片说明](readmeImage/%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%915.png) ![输入图片说明](readmeImage/%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%916.png) #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)