MJJ 必备自建 IDC 系统 WHMCS V8.13.1 开心版 圆你一个老板梦
前言
WHMCS 是我们买 VPS 的最常见到的 IDC 系统,最近为了写 VPS 库存监控脚本,自己搭了一个 WHMCS 用来测试,顺便分享一下如何搭建属于自己的 WHMCS,圆你一个老板梦。WHMCS 开心版仅限学习、开发使用,商业用途请前往官网购买官方授权。
下载链接:夸克网盘 / UC 网盘(已更新 V8.13.1)
准备工作
本文基于 1Panel 面板进行搭建,你也可以使用其他面板,例如宝塔等等,也可以直接手搓,只要有 PHP + MySQL 环境即可。
PHP 环境
创建 PHP 运行环境,建议使用 PHP 7,我测试下来 PHP 8 安装 ioncube_loader 不成功
新版 1Panel 可以安装 PHP 8.1,扩展里有带 ioncube_loader
至少需要包含以下扩展 : mbstring,curl,pdo_mysql,bcmath,gmp,gd,ioncube_loader,如需更多功能,请参考官方扩展页面

MySQL 数据库
创建 MySQL 数据库

网站
创建网站,选择刚才创建好的运行环境

安装 WHMCS
上传
首先将下载好的 WHMCS 压缩包上传到网站根目录并解压

替换 License
接着还要替换授权文件,进入 /vendor/whmcs/whmcs-foundation/lib/ 目录将自带的 License.php 删除,然后将下载到的 License-8.10.1.php 重命名为 License.php 上传到该目录
安装
如果你用的也是 1Panel 的话,上传 WHMCS 和 License 之后,还需要在网站设置中的“运行用户/组”点一下保存,否则可能导致网站访问 Access denied 错误。

进入 https://example.com/install/install.php 开始安装程序,一路下一步,来到填写数据库信息的界面
- Database Host:数据库地址
- 如果是 1Panel 安装的 MySQL 填写 MySQL 的容器名,例如
1Panel-mysql-xxxx - 如果是宿主机安装的 MySQL 则填写
host.docker.internal,同时还需要在 PHP 运行环境中添加上host.docker.internal映射host-gateway
- 如果是 1Panel 安装的 MySQL 填写 MySQL 的容器名,例如

- License Key:随意填写

创建管理员账户

收尾工作
看到下面这个界面就说明 WHMCS 已经安装完成了,但还需要根据提示做一些收尾工作
- 删除
/install/文件夹,非常的简单,直接删除即可 - 修改以下文件/文件夹权限
/configuration.php—CHMOD 400(Readable)/attachments—CHMOD 777(Writable)/downloads—CHMOD 777(Writable)/templates_c—CHMOD 777(Writable)
- 定时运行
/usr/local/bin/php -q /www/sites/example.com/index/crons/cron.php
提示
由于我们是容器运行的 PHP,因此第三步的命令需要在容器内执行,并且由于容器内的文件路径也有点不同,最终命令需要移除开头的 /www/
/usr/local/bin/php -q sites/example.com/index/crons/cron.php添加好计划任务,每 5 分钟执行一次


效果展示


安装 Lagom 主题
由于 WHMCS 自带的主题比较丑,目前最流行的主题是 Lagom,网盘中提供的版本较老,可能和最新版的 WHMCS 有些不兼容,不过体验一下 UI 还是没什么问题的,商用请购买官方授权 官方演示站
建议在开始之前先备份一下整个网站目录,避免安装失败
将 templates 和 modules 中的所有文件,上传至 WHMCS 对应文件夹中,并赋予
/templates/lagom2/core/styles/目录写入权限按照 Lagom 官方指导,在 WHMCS 后台将其启用

