lala.im:WHMCS整合Shadowsocks实现购买与自动开通

運維技術·VPN代理·lala.im · 2017-07-06 · 183 人浏览

原文地址:https://lala.im/375.html,請支持原作者!該處僅作轉載。

昨天LALA整理了一下WHMCS相关的一些资源后,本来只是想分享点资源然后稍微提一下建站方面的东西,但最终自己还是没忍住,尝试了一下使用WHMCS整合Shadowsocks来搭建SS销售站点这个方案。最后还是搭建成功了,并且在功能方面都是正常的,但也有一些坑点,在下面的文章中我会更详细的说明。
之前LALA也确实是不想折腾WHMCS这玩意,毕竟这东西还是用来销售VPS类服务较好,单纯拿来销售Shadowsocks真的有点大材小用,或者说功能太多,显得臃肿。当然最重要的一个点在于用来整合的SS插件都是收费的,并且价格昂贵。也有免费的,但免费的多半都是辣鸡,要么功能简陋,要么一堆BUG。但是没办法,LALA空闲的时间太多,我就想着去Github上面翻翻看,说不定能找到一款不错的插件也说不定,还别说,真让我找到了。。。
那么现在就详细说一下整个的搭建过程吧,我们先来做一下准备工作。
一台性能不错的VPS、系统安装CentOS6X64位。现在使用Xshell登录你的VPS内。
首先安装宝塔面板:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh

面板安装完成后,接着安装LAMP环境,建议Apache2.4、PHP5.6。其他默认即可。

範例
在这个安装过程中,我们可以先将WHMCS的安装包下载到本地。建议各位下载6.3.2版本,因为我搭建的环境是使用的这个版本。
下载地址:https://lala.im/366.html
接着下载Shadowsocks整合whmcs的插件并解压。在此先感谢一下插件作者~
下载地址:https://github.com/kesuki/whmcs-shadowsocks-plugin
如Github的页面失效,可从我的私有云下载:https://0o0.lol/index.php/s/4IRnBYsSUg3m8zR 密码:www.lala.im
准备工作做的差不多了,就先开始安装WHMCS。还是老样子新建一个网站,然后将WHMCS的压缩包上传并解压。这里LALA建议将WHMCS安装在一个子目录内,因为WHMCS只是一个IDC销售平台,一般网站前端还需要其他页面来做首页,如果直接把WHMCS安装在根目录内以后可能会遇到一些文件夹以及文件名冲突的问题。就无法随心所欲的给我们的官网换风格、主题了。
接着打开宝塔面板的数据库界面,打开phpmyadmin新建一个数据库命名为:whmcs。
继续点击phpmyadmin的“用户”选项卡,点击添加用户:

範例
按如图添加一个用户并创建一个与此用户名相同的数据库:

範例
进入到这个shadowsocks数据库中,点击导入按钮,导入whmcs-shadowsocks-plugin-master插件目录内的shadowsocks.sql数据库文件:

範例
到此数据库相关的配置就完成了。回到宝塔面板中点击软件管理。找到你的PHP所属版本后的设置按钮,点击它。
重要:WHMCS需要ionCube组件的支持,所以我们要给PHP安装一下这个扩展。

範例
现在打开你的站点访问,没出意外的话就能看到WHMCS的安装界面了,点击一下进入到环境检测的界面:

範例
可以看到当前WHMCS需要的组件都是正确配置好的:

範例
关闭检测界面点击Begin Installation开始安装,在这里填写你的数据库相关信息(是填写whmcs这个数据库的信息,不是shadowsocks这个数据库)。注意上面有一个License Key,这是让你填写授权许可的地方,因为我们使用的是开心版,所以这里随便填写就行了。如图:

範例
点击Complete Setup进入到下一步安装界面,这里就是要你填写管理员的账号、密码、邮箱以及姓名的地方了,如图:

範例
再次点击Complete Setup稍等一会儿WHMCS就安装完成了,如图:

範例
此时打开你的网站可能会出现如下警告页面:

範例
这是WHMCS为了安全起见给你的一个提示,你必须删除掉WHMCS的安装目录,也就是install才能开始使用。我们就在宝塔面板内删除一下即可。
现在就能访问到后台登录界面了:

範例
登录进去,对于一般英语不是特别好的人来说,我们第一步要做的事情就是把后台的语言改成中文。因为我已经改成中文了,所以这里截图也是中文,你们只要按照如图箭头所指的位置做改动就行了:

範例
需要输入一遍你的管理员密码才能完成更改:

範例
WHMCS的安装我们先告一段落,现在来安装Shadowsocks整合whmcs的插件。打开你的宝塔面板进入到网站根目录。找到如下路径:
modules/servers/
在这个路径下新建一个文件夹命名为:shadowsocks
最后完整的路径为:modules/servers/shadowsocks。将插件的所有文件上传到这个目录中。
现在回到Xshell中去,来安装一下Shadowsocks需要用到的后端服务。
安装Git:

yum install git

获取源代码:

git clone -b manyuser https://github.com/shadowsocksr/shadowsocksr.git

进入到shadowsocksr目录中:

cd shadowsocksr

安装依赖:

./setup_cymysql.sh

初始化配置:

./initcfg.sh

vi编辑后端数据库配置信息:

vi usermysql.json

host填写你的服务器公网ip。数据库名和用户名都是填写我们之前创建好的shadowsocks,密码是你自己设置的,一定要填写对。如图:

範例
接着vi编辑用户配置文件:

vi user-config.json

建议将protocol的值改成origin,obfs的值改成plain。这是SSR的协议与混淆插件的名称,有些宽带下面启用了这些后会导致SS连接速度非常慢。另外我不知道这个后端是否支持chacha20类的加密算法,如果不支持的话可能还需要安装一下libsodium。

範例
现在关闭一下CentOS6的防火墙:

service iptables stop

接着以调错的方式运行一下后端:

python server.py

看到如下图界面则说明后端运行正常:

範例
现在可以把后端放到后台去运行了。按键盘组合键Ctrl+C退出python。接着输入下面命令:

./run.sh

后端到此就安装完成,现在回到WHMCS的后台中去。开始将WHMCS和Shadowsocks进行整合。
点击如图后台设置界面:

範例
点击添加一个新服务器:

範例
在新页面中,名称我们随便写一个,主机名填写localhost。IP地址填写我们的服务器公网IP,如图所示:

範例
接着看到如下图的地方,在类型这里我们选择Shadowsocks for whmcs,并填写我们之前创建的shadowsocks数据库的账号密码。测试连接一下,没问题就会显示成功了!

範例
保存更改后来到如图所示界面:

範例
新建一个分组:

範例
然后就是填写分组名、产品标语、标题什么的,这个你们自由发挥。写好了保存更改就行。
接着添加一个产品:

範例
重点来了,选择接口设置选项卡,选择Shadowsocks for whmcs接口,如图:

範例
然后按如下图设置相关内容:

範例
注意:起始端口这里要填写10001,数据库名填写shadowsocks,重置流量选择需要重置。在线路列表那里要按照如下格式来填写:

韩国|127.0.0.1|aes-128-ctr|origin|plain|

接着点击客户自定义区域,一定要按照我如图填写,并且区域类型一定要选择密码,下方的必填、在订购产品时显示这两个要打勾:

範例
LALA给你们都备好了相关的内容,直接复制即可:

password|连接密码
Shadowsocks的连接密码
/[0-9a-zA-Z\-\_\.\@\#\$\%\^\&\*\(\)\:\;\"\'\<\>\?\/]/

到此,所有的配置就大功告成啦。我们可以去前台尝试购买一个SS服务试试看。这里LALA就不详细演示了。贴一张我测试开通后并且能正常使用的截图吧:

範例
LALA的后话:
按文章开头所说,现在来讲一下坑点。LALA前后在三台不同的VPS相继搭建了这个WHMCS与SS整合插件。在数据库连接这块有一个坑点就是,不知道什么情况下会莫名其妙的导致连接不上,或者是连接上了,当用户购买SS后数据库里面不添加用户信息,即便是我在后台审核通过用户的订单后数据库里依旧没有用户的SS信息。其次,重复搭建了这么多次,只有第一次在下单到整个使用过程中是正常的,后面搭建的几次都会出现卡在CheckOut结算界面,直到Apache返回脚本执行超时的503界面。我在看错误日志也看不出个所以然来,最后也没有解决这个问题。然后问了一下别人,有人说是因为支付接口没有配置的原因,但是我第一次搭建也没有配置支付接口就能用呀。由于LALA没有支付接口,所以这个问题到底是不是支付接口导致的或者是别的问题导致的,我还不能做进一步判断。当然在503界面后,用户如果重新打开我的产品页面,是可以看到自己的产品是待审查的。我们在后台也能看到用户的订单,并且我们审核通过后,用户也是能够正常使用SS的。
另外就是这个插件的坑点了,首先是插件前台的扫描二维码那个按钮,点击二维码按钮后,二维码图片直接显示到网页的最下方去了,很明显是一个错误或者说是界面错位。其次,在不明情况下会出现前台多一个空白节点列表的情况。
最后,LALA想说的是,这个方案目前还不是特别成熟,如果想做SS销售,LALA还是建议使用ss-panel-v3-mod。如果硬要使用WHMCS可以尝试购买收费的SS整合插件。

運維技術 VPN代理 WHMCS lala.im
Theme Jasmine by Kent Liao