
类型:自动化平台
简介:专为Web托管公司、域名注册商及在线商店提供全面的管理解决方案。
在WHMCS中,创建测试和开发环境可以让你在不影响生产系统的情况下验证所有自定义项。建议在升级WHMCS、编写模块、主题或进行其他自定义设置时进行此设置。设置步骤详见下文。
一、WHMCS创建测试环境
1、获取开发许可证
联系 WHMCS 客户服务以获取开发许可证。如果直接从 WHMCS 购买有效许可证,可获得一个免费的开发许可证;若通过经销商购买 WHMCS 许可证,则需要购买开发许可证。付费许可证的插件将在测试安装中可用,但 Live Chat 除外。使用此类许可证的安装必须是私有的,且如果被访问,必须返回错误或登录提示。
2、满足系统要求
测试和开发环境应满足与生产安装相同的系统要求。
3、复制 WHMCS 安装
为获得最准确的结果,安装应与生产设置相同,具有相同的数据和配置。复制安装的方法取决于使用的托管控制面板。如果使用 cPanel,可以在文件管理器界面中进行复制:
- 登录到 cPanel 并转到 “文件”>“文件管理器”;
- 选择用于生产安装的文件夹;
- 单击 “复制”;
- 输入新位置(开发安装的位置);
- 在开发环境中编辑文件以反映新位置,如 configuration.php 文件。
4、复制数据库
还必须复制 WHMCS 操作的数据,即创建第二个数据库,导出现有数据库,然后将其导入到新数据库。方法同样取决于使用的主机控制面板。如果使用 cPanel,可以这样操作:
- 使用 MySQL 数据库界面创建新数据库;
- 使用 phpMyAdmin 导出现有数据并将其导入到新数据库中。
5、使用密码保护安装目录
开发许可证要求使用密码保护或其他返回错误或登录提示的方法使开发安装不可访问。在 cPanel 中,可以在 “文件”>“目录隐私” 中对安装目录进行密码保护。
6、更新系统URL
确保在 “常规设置”(“配置”>“系统设置”>“常规设置”)中更新系统 URL,以使用新测试环境的 URL。如果无法在界面中执行此操作,可以使用 MySQL 命令或在 phpMyAdmin 中手动更新该值:
UPDATE `tblconfiguration` SET value ='https://www.example.com/whmcs/' WHERE setting='SystemURL';
7、阻止发送邮件
要防止将测试邮件从开发安装发送给真实客户,可以在 “邮件” 选项卡(“配置”>“系统设置”>“常规设置”)中将 “禁用电子邮件发送” 设置为 “开”。
也可以使用 Mailtrap.io 等服务来实现此目的。但在操作时必须小心,以免在生产安装上意外进行此类更改导致严重问题。还可以将支付网关和域注册商设置为测试模式并断开与生产服务器的连接,通过向开发环境文件中的加密哈希添加额外字符来防止意外向客户收费,使 WHMCS 无法读取加密数据,确保无法从信用卡扣款或执行其他操作。
二、测试新版本
复制生产安装并确认一切正常后,可以将 WHMCS 升级到新版本。WHMCS 建议使用 Automatic Updater 以简化流程。升级后,通过 WHMCS 并练习最常用的所有特性和功能,检查 “客户区” 和 “管理区”,并确保为各种产品下多个订单,在流程的每一步推进这些测试订单,包括将其标记为已付款并确保正确配置。
监控 “配置”>“系统运行状况” 并查找任何问题或不兼容性。Cron 作业活动报告电子邮件将确认自动化任务是否成功。成功完成所有操作后,可以升级生产安装。WHMCS 建议按照以下步骤测试 WHMCS 安装,然后将其重置以供生产使用,然后再将其提供给客户。
三、测试模块
在可能的情况下,WHMCS 提供的注册商和网关模块带有测试模式或使用测试环境测试交易和域订单的能力。测试 Provisioning 模块不需要测试模式,但要确保能够撤消执行的所有操作,以将系统恢复到其原始状态并测试更多功能。例如,可以在远程服务器上配置一个 cPanel 帐户,然后使用 “Terminate module” 命令将其删除。
四、下订单
在测试模式下配置所需的模块后,下一些测试订单。要在 “管理区” 中下达测试订单:
1、创建客户账户。如果有 PHP 经验,还可以使用 API 添加客户端(AddClient)。
在继续测试订单之前,请务必配置相关的域或产品定价。
2、创建多个测试订单。例如,要下订单进行域注册:
- 在客户配置文件的 “Summary” 选项卡中,单击 “添加新订单”;
- 填写显示的表格,首先选择希望客户未来发票使用的支付网关;
- 从 “Product/Service” 菜单中选择 “None”;
- 从产品部分的 “Billing Cycle” 菜单中选择 “Monthly”;
- 为 “Domain”(域)输入域,然后选择 “注册域注册”;
- 选择在续订时要向客户开具发票的年数。
还可以通过单击客户配置文件的 “Summary” 选项卡中的 “Login as Owner” 来下订单,这样就能看到客户将看到的工作流程。WHMCS 只会在客户支付发票时触发域名的注册请求。
五、处理交易
要在发票上测试付款,请查看 WHMCS 的模块文档,并按照正在使用的网关模块的必要流程进行操作。例如,PayPal Checkout 要求以客户身份登录并通过选择发票本身从客户区付款,而 Stripe™ 要求使用存储的卡或付款方式获取付款。可以在 “账单> 网关日志” 中找到有关系统根据发票处理的付款的详细信息。该日志将列出结果和其他数据,以便验证成功。
六、重置数据库
成功测试 WHMCS 配置后,可能需要重置它,以便删除创建的测试账户、订单、发票和其他项目。可以通过在数据库上运行以下 SQL 代码来清空包含客户端数据的所有表:
TRUNCATE `mod_invoicedata` ; TRUNCATE `tblinvoicedata` ; TRUNCATE `tblaccounts` ; TRUNCATE `tblactivitylog` ; TRUNCATE `tblaffiliates` ; TRUNCATE `tblaffiliatesaccounts` ; TRUNCATE `tblaffiliateshistory` ; TRUNCATE `tblaffiliatespending` ; TRUNCATE `tblaffiliateswithdrawals` ; TRUNCATE `tblbankaccts`; TRUNCATE `tblbillableitems` ; TRUNCATE `tblcancelrequests` ; TRUNCATE `tblclients` ; TRUNCATE `tblclientsfiles` ; TRUNCATE `tblcontacts` ; TRUNCATE `tblcredit` ; TRUNCATE `tblcreditcards`; TRUNCATE `tblcustomfieldsvalues` ; TRUNCATE `tbldomains` ; TRUNCATE `tbldomainsadditionalfields` ; TRUNCATE `tblemails` ; TRUNCATE `tblhosting` ; TRUNCATE `tblhostingaddons` ; TRUNCATE `tblhostingconfigoptions` ; TRUNCATE `tblinvoiceitems` ; TRUNCATE `tblinvoices` ; TRUNCATE `tblmodulequeue` ; TRUNCATE `tblnotes` ; TRUNCATE `tblorders` ; TRUNCATE `tblpaymethods`; TRUNCATE `tblquotes` ; TRUNCATE `tblquoteitems` ; TRUNCATE `tblsslorders` ; TRUNCATE `tblticketlog` ; TRUNCATE `tblticketnotes` ; TRUNCATE `tblticketreplies` ; TRUNCATE `tbltickets` ; TRUNCATE `tbltodolist` ; TRUNCATE `tbltransaction_history` ; TRUNCATE `tblupgrades` ; TRUNCATE `tblusers`; TRUNCATE `tblusers_clients`; TRUNCATE `tbluser_invites`;
重置数据库只会删除客户账户和信息,不会丢失任何配置或产品设置。
七、存储设置和测试环境
当使用本地存储位置并在开发(测试)或实时环境之间切换时,更新存储设置非常重要。如果服务器上不存在配置的存储位置,则某些功能(例如发送电子邮件)可能无法正常运行。Amazon S3™ 存储位置必须具有所需的访问凭证才能运行。


