静看光阴荏苒
不管不顾不问不说也不念

WHMCS整合Shadowsocks实现购买与自动开通

昨天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整合插件。

赞(1)
未经允许不得转载:荒岛 » WHMCS整合Shadowsocks实现购买与自动开通
分享到: 更多 (0)

评论 33

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    博主你好,感谢分享这么好的教程,有一个问题想请教下:
    我现在都安装好了,但是当我去前台尝试购买一个SS服务,点击支付订单时,出现“Unexpected payment method value. Exiting.” 请问如何解决?

    bang7年前 (2017-07-30) Google Chrome 59.0.3071.115 Google Chrome 59.0.3071.115 Windows 7 x64 Edition Windows 7 x64 Edition回复
    • 你没有配置好WHMCS的支付网关,不过这个也怪我这篇文章里面没有说明。
      WHMCS配置支付网关在后台-系统设置-付款里面。有关WHMCS配置支付网关的方法可以参考这里:https://lala.im/504.html

      LALA7年前 (2017-07-31) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
  2. #2

    为什么我按照您的方法装了PHP拓展
    它还是报错Site error: the file /www/wwwroot/ss.wuyucun.info/install/index.php requires the ionCube PHP Loader ioncube_loader_lin_5.6.so to be installed by the website

    黑猫7年前 (2017-09-01) Safari 10.1 Safari 10.1 Mac OS X  10.12.4 Mac OS X 10.12.4回复
    • 我多台机器都是这样安装的,没有遇到过你这种问题。貌似是ionCube没生效还是根本没装上。重启PHP试试看,如果不行就卸载,重新装一次。

      LALA7年前 (2017-09-01) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
  3. #3

    这个和你推荐的那个SSRpanel哪个好用?

    筑楼7年前 (2017-10-17) Opera 48.0.2685.35 Opera 48.0.2685.35 Windows 7 x64 Edition Windows 7 x64 Edition回复
    • SSRpanel好用一点。

      LALA7年前 (2017-10-17) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
  4. #4

    源代码失效了,大佬什么时候更新一下这个啊

    banyt7年前 (2017-11-15) Google Chrome 55.0.2883.87 Google Chrome 55.0.2883.87 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 失效?表示我很久没用过这个了,这个目前也有一个替代品的:https://lala.im/499.html

      LALA7年前 (2017-11-15) Firefox 57.0 Firefox 57.0 Windows 7 x64 Edition Windows 7 x64 Edition回复
  5. #5

    git clone -b manyuser https://github.com/shadowsocksr/shadowsocksr.git这个不行了好像

    banyt7年前 (2017-11-16) Google Chrome 55.0.2883.87 Google Chrome 55.0.2883.87 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 接盘侠:https://github.com/shadowsocksrr/shadowsocksr

      LALA7年前 (2017-11-16) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
  6. #6

    大佬为啥会这样啊,一直是
    [root@iZ2zee9bjg74li7cbf68bwZ ~]# git clone https://github.com/shadowsocksr/shadowsocksr.git
    Cloning into ‘shadowsocksr’…
    Username for ‘https://github.com’:
    Password for ‘https://github.com’:
    remote: Repository not found.
    fatal: Authentication failed for ‘https://github.com/shadowsocksr/shadowsocksr.git/’

    117年前 (2017-11-16) Google Chrome 55.0.2883.87 Google Chrome 55.0.2883.87 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 这个git是破娃的,她早就洗手不干了,请使用接盘侠的新地址:https://github.com/shadowsocksrr/shadowsocksr.git

      LALA7年前 (2017-11-18) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
  7. #7

    博主有没有安装节点的教程。教程只能使用本机的一个节点。

    yayazee6年前 (2017-12-12) Google Chrome 63.0.3239.84 Google Chrome 63.0.3239.84 Windows 10 x64 Edition Windows 10 x64 Edition回复
  8. #8

    dalao请问这个什么问题:
    测试购买的账号连上了没有上传下载流量 全是超时。
    下面这个后端调试信息正常吗?
    2017-12-13 19:26:11 INFO util.py:85 loading libcrypto from libcrypto.so.1.0.0
    2017-12-13 19:26:11 INFO asyncdns.py:324 dns server: [(‘108.61.10.10’, 53)]
    2017-12-13 19:26:11 INFO shell.py:72 ShadowsocksR 3.4.0 2017-07-27
    2017-12-13 19:26:11 INFO db_transfer.py:238 current process RLIMIT_NOFILE resource: soft 1024 hard 4096
    2017-12-13 19:26:11 INFO db_transfer.py:205 db start server at port [2333] pass [111] protocol [auth_aes128_md5] method [aes-128-ctr] obfs [tls1.2_ticket_auth_compatible]
    2017-12-13 19:26:11 INFO server_pool.py:127 starting server at [::]:2333
    2017-12-13 19:26:11 WARNING server_pool.py:140 IPV6 [Errno 98] Address already in use
    2017-12-13 19:26:11 INFO server_pool.py:153 starting server at 0.0.0.0:2333
    2017-12-13 19:26:11 WARNING server_pool.py:165 IPV4 [Errno 98] Address already in use

    ayaya6年前 (2017-12-13) QQbrowser 9.6.12624.400 QQbrowser 9.6.12624.400 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 重复开了多个后端,地址和端口被占用了。

      LALA6年前 (2017-12-13) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
      • 可是我只开了一个端口,大佬有没联系方式.帮忙看下 :!:

        yayazeo6年前 (2017-12-18) Google Chrome 63.0.3239.84 Google Chrome 63.0.3239.84 Mac OS X  10.13.2 Mac OS X 10.13.2回复
        • 你贴上来的这个后端日志内容,可以明确以及肯定的告诉你,是地址和端口被占用了。

          LALA6年前 (2017-12-18) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
  9. #9

    博主,我是萌新,之前用ss spanl看你的教程勉强弄好了,然后看到你这个教程,插件更新后,我配置总是出问题,可以请教吗,有偿的。
    我qq:513993979

    yangyzp6年前 (2018-02-13) Google Chrome 63.0.3239.132 Google Chrome 63.0.3239.132 Windows 7 x64 Edition Windows 7 x64 Edition回复
    • 最近没什么时间折腾,有偿也腾不出时间。。。

      LALA6年前 (2018-02-13) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
      • 不用了,我昨天折腾了一天,终于弄好了,感谢博主的教程,就是发现提交订单超慢、··
        ···

        yangyzp6年前 (2018-02-14) Google Chrome 63.0.3239.132 Google Chrome 63.0.3239.132 Windows 7 x64 Edition Windows 7 x64 Edition回复
  10. #10

    有没有一起买插件的 加我群https://t.me/joinchat/Gc7hiUtsO-xaftop5NSf8Q

    blackrose6年前 (2018-06-22) Google Chrome 67.0.3396.87 Google Chrome 67.0.3396.87 Mac OS X  10.12.6 Mac OS X 10.12.6回复
  11. #11

    你好,我想研究一下ss服务器如何搭建,感谢博主分享心得!

    绘画画的小猫6年前 (2018-09-13) Google Chrome 56.0.2924.90 Google Chrome 56.0.2924.90 Windows 7 x64 Edition Windows 7 x64 Edition回复

分享创造快乐

广告合作资源投稿