简介

WHMCS是一套国外流行的域名主机管理软件,跟国内众所周知的IDCSystem一样,主要在用户管理、财务管理、域名接口、服务器管理面板接口等方面设计的非常人性化。 WHMCS是一套全面支持域名注册管理解析,主机开通管理,VPS开通管理和服务器管理的一站式管理软件,目前已经被越来越多的中国站长们所熟悉和了解。

安装

  1. 进入到官网:https://www.whmcs.com/ ,注册一个账号购买授权,最便宜是一个月16美元。如果你只要想测试学习,也可以到网上搜索下载特别版,但是记得不要用于生产,以避免后门。
  2. 付款成功后,进入WHMCS的产品中心,你可以看到授权已经有了。
  3. 点击,就可以下载WHMCS最新版本。
  4. 将WHMCS解压上传到你的网站根目录,然后打开网址开始安装。如果没有配置文件,WHMCS会提示你让你修改。
  5. 进入到WHMCS目录,直接将示例文件重命名为配置文件,该文件是空的,你也可以自己上传一个同名称的配置文件。
  6. 在WHMCS安装过程中,会要你输入授权码,同时填写好MysqL数据库。貌似MysqL 5.7有点兼容问题,建议使用MysqL 5.6
  7. WHMCS安装成功提示。
  8. 按照提示删除安装目录、修改目录权限、设置定时任务等。如果是VPS,可以按照下面的格式添加命令,表示每隔十分钟执行一次。
*/10 * * * * php -q /data/wwwroot/wzfou.net/crons/cron.php

开心版

此处内容需要评论回复后(审核通过)方可阅读。

汉化

【适用于6.0以上的】备用下载

【对应版本7.6.1- 7.7.1- 7.8.3】

项目:https://github.com/kaneawk/WHMCS-CN-translations

使用方法
  1. 选择您的WHMCS版本下载语言文件,上传到whmcs根目录覆盖
  2. 注销您的管理员帐户,然后在登录页面上选择中文。
  3. 单击“我的帐户”,将语言更改为中文,在“确认密码”行输入您的管理员密码,最后单击“保存更改”按钮。
  4. 转到“设置>常规设置”,单击“本地化”选项卡,将“默认语言”设置为中文,最后单击“保存更改”按钮。

使用

基本设置

  1. 登录到WHMCS后,会自动弹出设置向导,你也可以进入到“设置”中点击设置向导,来对WHMCS作基本的设置操作。首先是设置Logo、邮箱、地址等基本信息。
  2. 开通支付网关,默认的Paypal已经为你配置好了,你只需要填入你的Paypal账号即可。
  3. 是否开通域名注册服务?WHMCS自带了Enom的域名分销,你只需要填入你的Enom域名分销账号与密码,就可以实现在WHMCS分销域名了。
  4. 在Enom中添加你的服务器IP,以免出现无法购买域名情况。
  5. 如果有Cpanel面板,那么可以直接填写你的Cpanel账号与密码,将Cpanel与WHMCS整合了。

邮件发送

  1. WHMCS邮件无法发送,可能是你的主机禁用了PHPmail,建议直接使用SMTP来发信,还可以避免被判定为垃圾邮件。方法是进入“设置”选择“常规设置”,最后在邮件当中填写你的SMTP账号与密码。
  2. WHMCS默认已经有了 账号注册、激活、修改密码等各类邮件模板,但是这类模板都是英文,我们需要将它们转化中文。

进入“设置”选择“邮件模板”,然后选择其中一个你想要修改的模板,直接在线修改,在页面最下方是有参数,你只需要将这些参数放在邮件模板里面就可以显示内容了。

邮件发送详解 【点此查看】

SMTP发邮件
SMTP设置

进入网站:https://www.whmcs.com/
进入WHMCS后,在“设置”中选择“邮件”,然后选择使用SMTP发信,一般来说你可以选择465端口+SSL的形式,如下图:

发信错误

测试时可能出现错误,在日志中可以看到。

解决:
一般25端口基本上被各大主机商已经关闭了,465端口可以自己在防火墙中打开,命令如下:

/sbin/iptables -I INPUT -p tcp --dport 465 -j ACCEPT
/sbin/iptables -I OUTPUT -p tcp --dport 465 -j ACCEPT

保存 /etc/rc.d/init.d/iptables save ,重启服务 service iptables restart ,查看需要打开的端口是否生效

/etc/init.d/iptables status

然后再使用 SMTP 的 465 SSL 连接方式发信即可。如果安装的 CSF 防火墙,在 csf.conf 文件里,修改PORTFLOOD 配置,加上465的出和入就OK。一般CSF防火墙默认的是开放了465的入站,但是没有开放出,所以要配置下。修改后保存,然后csf -r ,重启,就OK了。

如果上面方法还没有解决,可以尝试在 configuration.php 中添加:

$smtp_debug = true;

这时候就可以看到详细的错误信息了。对于Gmail,还需要通过以下三个链接地址来解决安全限制。尤其是第三个:

https://security.google.com/settings/security/activity?hl=en&pli=1
https://www.google.com/settings/u/1/security/lesssecureapps
https://accounts.google.com/b/0/DisplayUnlockCaptcha

Google对于新设备登录会要求验证,我们可以手动取消它。

如果SSL发信方式失败的话,可以使用587+TSL来发信,如下图:

如果遇到邮件模板出错导致邮件发送失败,解决办法就是学会看邮件日志,然后自己修改邮件模板。

支付网关

  1. WHMCS支付宝插件都会用到支付宝开放平台的公钥和私钥,需首先到支付宝开放平台注册一个账号并提交应用开发。
    蚂蚁开放平台:https://open.alipay.com/platform/home.htm

  1. 选择支付接入,填写应用开发信息
  2. 在下方会APP支付、网站支付、当面付等功能选项,根据你自己的实际情况“签约”,否则应用上线也无法使用支付
  3. 下载支付宝提供的RSA密钥工具,点击生成公钥和私钥
  4. 点击“加签方式”,选择填入应用公钥,填入你的应用公钥保存。
  5. 等应用审核上线后,就可以得到APP ID、支付宝公钥(提交应用公钥后会自动生成)和应用私钥(之前本地生成的,记得保存下来)。
  6. 推荐使用WHMCS-Payment-Gateway-alipay这个WHMCS支付宝模块(@weloveidc)
    项目:https://github.com/weloveidc/WHMCS-Payment-Gateway-alipay

需开通即时到账或当面付API 、LNMP/LAMP With PHP5.4+ 、curl、openssl扩展 、whmcs5、 whmcs6、 whmcs7版本

  1. 启用 WHMCS-Payment-Gateway-alipay 插件,这里以支付宝当面付为例,填写你的当面付的APPID、支付宝公钥和APP私钥,保存即可。

.. 用户直接使用手机扫一扫就可以付款了,付款完成后就会弹出付款成功的提示,浏览器自动显示付款成功。

备选方案 【点此查看】

金沙江(金莎云) - 支付宝,微信和QQ钱包

项目:https://github.com/tutugreen/WHMCS-JSJ-API-Pay-Gateway
注册:https://yun.jsjapp.com/

WHMCS-JSJ-API-Pay-Gateway为金莎云(原金沙江)支付免签API写的WHMCS接口,支持支付宝/微信/QQ钱包免签支付。

金沙江API后台 注册/登录账户,下载插件并把文件放到站点的/modules/gateways/里。启用插件并在 Manage Existing Gateways 选项卡中填写APIID&APIKEY等,手续费仅用于WHMCS内部记账统计,但是必须填写(可以填0,WHMCS记账有手续费这么个特性,不会对实际支付金额产生影响)。

支付宝当面付精简版
项目:https://github.com/52fancy/whmcs-alipay
同样来自 @52fancy ,是基于 WHMCS-Payment-Gateway-alipay 修改过来,仅保留了支付宝当面付。操作和上面的设置是一样的。

模板主题

  1. 上传模板文件。你可以到网上下载免费的WHMCS模板文件,解压上传到Templates。
  2. 选择主题模板,上传了主题文件后,到WHMCS的“系统设置”的常规设置,将主题选择为你上传的主题。
  3. 刷新一下,你就会看到你的新的WHMCS主题生效了。

定时任务

  1. 安装完WHMCS,一般会给出一段定时任务的代码,要求添加:
php -q /home/ensu.cc/admin/cron.php
  1. 如果是VPS主机,请执行以下命令:
crontab -e
php -q /home/ensu.cc/admin/cron.php

#如果不执行,请加上环境变量
01 1 * * * /usr/local/php/bin/php -q /home/ensu.cc/admin/cron.php
  1. 如果是虚拟主机,以Cpanel为例,可以在定时任务中添加。

优惠码

  1. WHMCS优惠码可以在付款中查看,选中循环优惠码就可以每次续费也可以享受优惠。
  2. WHMCS优惠码可以专门设置针对升级或者降级。

时区(时间)

WHMCS上的时间和服务器上设置的是不一样的,按照他的默认时区显示,因此为了让WHMCS显示的时间和自己的时间一致,需要在配置文件中设置时区。编辑 configuration.php 文件,在php区块(?>)最后位置加上:

date_default_timezone_set('Asia/Shanghai');

第三方

整合DirectAdmin面板

整合方法 【点此查看】

网站:https://www.directadmin.com/

  1. 准备一台VPS主机或者独立服务器,VPS主机选购可以参考我的评测:VPS主机排行榜单。购买DirectAdmin授权,不建议使用特殊版的,可能存在后门风险。DirectAdmin支持操作系统如下:
CloudLinux (recommended)     6.x 32/64-bit, 7.x 64-bit
RedHat Enterprise / CentOS    6.x 32/64-bit, 7.x 64-bit
Debian    8.x 64-bit, , 9.x 64-bit, (click for Ubuntu)
FreeBSD    11.x 64-bit
  1. DirectAdmin要求在安装前保持干净纯净的系统,同时还要求安装一些必要的组件,如:gcc, g++, and perl等。命令如下:
1、关闭selinux (如果有selinux)
vi /etc/sysconfig/selinux
修改/etc/sysconfig/selinux文件中的SELINUX="" 为 disabled
再reboot重启电脑
2、删除必要的服务
yum remove httpd php mysql nginx sendmail
#更彻底的卸载
yum -y remove httpd
yum remove mysql mysql-server mysql-libs compat-mysql51
yum remove mysql mysql-server mysql-libs compat-mysql51
rm -rf /var/lib/mysql
rm /etc/my.cnf
查看是否还有mysql软件:
rpm -qa|grep mysql
which mysql
mysql -V
以上三条命令如果有返回信息的话就说明还没有删除干净,继续搜索文件删除
rpm -qa|grep httpd
rpm -qa|grep mysql
rpm -qa|grep php
yum -y remove sendmail 
3、更新系统
yum update -y
4、安装gcc, gcc-c++等必要的组件
#On Rehat/Fedora/CentOS(其它的请参考:https://help.directadmin.com/item.php?id=354):
yum install wget gcc gcc-c++ flex bison make bind bind-libs bind-utils openssl openssl-devel perl quota libaio \
libcom_err-devel libcurl-devel gd zlib-devel zip unzip libcap-devel cronie bzip2 cyrus-sasl-devel perl-ExtUtils-Embed \
autoconf automake libtool which patch mailx bzip2-devel lsof glibc-headers kernel-devel expat-devel db4-devel
  1. 执行以下命令开始安装:
#开始安装DirectAdmin
wget https://www.directadmin.com/setup.sh
chmod 755 setup.sh
./setup.sh
  1. DirectAdmin会要求你在安装的过程中输入Client ID与License ID,如下图:
  2. 输入主机名,必须是二级域名,如: da.ensu.cc ,这里一定要输入二级域名,接着选择安装属性包, 一般建议选择1, 如果是CentOS 7.x不会出现这个选择,自动默认为custombuild 2.0,并且MySQL自动换成MariaDB。最后就是耐心地等待完成了。
  3. DirectAdmin控制面板基本操作命令需要掌握:
# DirectAdmin控制面板的Web环境启动、重启等操作S——S——H命令
# Apache:
service httpd {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}
# MySQL
/sbin/service mysqld {start|stop|restart|reload|force-reload|status}
#或者
/etc/init.d/mysqld {start|stop|restart|reload|force-reload|status}
# DirectAdmin 面板
service directadmin {start|stop|status|reload|restart}
  1. DirectAdmin面板后台登录启用LetsEncrypt,如果要给DirectAdmin后台登录也启用LetsEncrypt免费SSL证书,使用以下命令:
#执行申请SSL证书命令
cd /usr/local/directadmin/scripts
./letsencrypt.sh request_single xxx.qyfou.com 4096
#开启SSL证书
cd /usr/local/directadmin/conf
perl -pi -e 's/SSL=0/SSL=1/' directadmin.conf
echo "carootcert=/usr/local/directadmin/conf/carootcert.pem" >> directadmin.conf
echo "force_hostname=sc3.qyfou.com" >> directadmin.conf
echo "ssl_redirect_host=sc3.qyfou.com" >> directadmin.conf
#重启DA面板
service directadmin restart

新版本的DirectAdmin已经支持用户自己申请和安装LetsEncrypt证书了。

  1. 默认的DirectAdmin是英文的,不过网上已经有了不少的汉化语言包了:https://github.com/hostsoft/diretcadmin-chinese-lang ,语言包安装方法如下:
#安装教程1 Git方式
rm -rf /usr/local/directadmin/data/skins/enhanced/lang/cn
cd /usr/local/directadmin/data/skins/enhanced/lang/
git clone https://github.com/ninetian/diretcadmin-chinese-lang cn
chown diradmin:diradmin -R cn
perl -pi -e 's/language=en/language=cn/' /usr/local/directadmin/data/users/*/user.conf
#安装教程2 zip方式 注意替换版本号
rm -rf /usr/local/directadmin/data/skins/enhanced/lang/cn
cd /usr/local/directadmin/data/skins/enhanced/lang
da_langver=1.55
wget --no-check-certificate  -c https://github.com/ninetian/diretcadmin-chinese-lang/archive/${da_langver}.zip
unzip ${da_langver}.zip
rm -rf ${da_langver}.zip
mv diretcadmin-chinese-lang-${da_langver} cn
chown diradmin:diradmin -R cn
perl -pi -e 's/language=en/language=cn/' /usr/local/directadmin/data/users/*/user.conf
  1. 安全建议
    禁用函数命令如下:
#禁用函数。当然你也可以编辑php.ini以从列表中删除所需的函数,然后重新启动apache。这样又可以启用该函数了。命令:
cd /usr/local/directadmin/custombuild
./build update
./build secure_php

更新系统命令如下:

#保持系统最新
cd /usr/local/directadmin/custombuild
./build update
./build all d

定时自动更新系统命令如下:

#设置定时更新,在配置在custombuild目录中有一个名为“options.conf”的文件里
#Cron settings
cron=yes
cron_frequency=weekly
email=email@domain.com
notifications=yes
da_autoupdate=yes
updates=no
webapps_updates=yes
#然后执行:
./build cron
#有更新的话会收到通知,你需要执行手动升级:
./build update_versions

禁止远程MysqL命令如下:

#打开/etc/my.cnf,找到[mysqld] 部分,添加以下代码:
bind-address = 127.0.0.1
  1. WHMCS整合DirectAdmin,在DirectAdmin中新建一个套餐,目的是给WHMCS开通空间使用的。
  2. 套餐主要是设置空间的容量、月流量、可绑域名数、数据库、FTP等。
  3. 进入WHMCS,在“服务器设置”中添加一个DirectAdmin服务器。
  4. 填写你的DirectAdmin服务器IP地址。
  5. 在下方选择类型“DirectAdmin”,用户名使用你的DirectAdmin Reseller账户与密码。
  6. 没有分销账号和密码,可以回到DirectAdmin创建一个。
  7. 添加完了服务器后,你需要添加DirectAdmin虚拟主机产品了。
  8. 在模块设置中选择“DirectAdmin”,如果你刚刚的服务器设置正确的话,此时你会看到刚刚在DirectAdmin创建的主机套餐。
  9. 最后保存的话就可以看到WHMCS与DirectAdmin已经完美整合在一起了。
  10. 在WHMCS中可以看到DirectAdmin登录按钮。

整合Cpanel/WHM

整合方法 【点此查看】

  1. 先在WHMCS中添加服务器
  2. 添加服务器分组
  3. 填写WHM的IP地址和域名,有多个IP也可以一块填入
  4. 到WHM中生成一个API
  5. 服务器设置中填入WHM的用户名、密码、API等,默认的SSL端口是2087,如果是其它的可以自定义设置
  6. 添加了服务器后可以点击测试连接,有错误可以从WHMCS日志中找到
  7. 在产品模块中选择Cpanel,以及你的关联虚拟主机套餐。(前提是在上面的WHM中已经创建好)
  8. 如果想自定义产品套餐的话,可以直接在该页面点击“高级选项”,在这里就可以添加额外的配置了,这里的配置会覆盖掉在WHM里给虚拟主机套餐的设定。

其它

  1. WHMCS需要Ioncube,而PHP 7.1以上的没有Ioncube,所以最好是选择PHP 5.6来安装。
  2. 对文件目录写入权限的要求,安装过程中会自动检测,只有修改符合要求才可以进入安装。
  3. WHMCS免费主题不兼容的问题。经过测试,我发现不少的免费WHMCS主题容量出现不兼容的问题,造成这种问题主要还是因为WHMCS更新太频繁的原因,版本不同WHMCS主题也就要作相应的调整。
  4. WHMCS添加Paypal支付宝问题。普通的Paypal账号就可以实现WHMCS收款,但是没有用户退款等相应的操作。你还需要升级一下Paypal到商家。

升级后可以得到Paypal的API

返回WHMCS进入到Paypal网关设置中,填入API账号、密码和签名。





整理转载自:互联网

Last modification:November 5th, 2019 at 10:30 pm
如果觉得我的文章对你有用,欢迎打赏!