昨天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整合插件。
博主你好,感谢分享这么好的教程,有一个问题想请教下:
我现在都安装好了,但是当我去前台尝试购买一个SS服务,点击支付订单时,出现“Unexpected payment method value. Exiting.” 请问如何解决?
你没有配置好WHMCS的支付网关,不过这个也怪我这篇文章里面没有说明。
WHMCS配置支付网关在后台-系统设置-付款里面。有关WHMCS配置支付网关的方法可以参考这里:https://lala.im/504.html
为什么我按照您的方法装了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
我多台机器都是这样安装的,没有遇到过你这种问题。貌似是ionCube没生效还是根本没装上。重启PHP试试看,如果不行就卸载,重新装一次。
这个和你推荐的那个SSRpanel哪个好用?
SSRpanel好用一点。
源代码失效了,大佬什么时候更新一下这个啊
失效?表示我很久没用过这个了,这个目前也有一个替代品的:https://lala.im/499.html
git clone -b manyuser https://github.com/shadowsocksr/shadowsocksr.git这个不行了好像
接盘侠:https://github.com/shadowsocksrr/shadowsocksr
大佬为啥会这样啊,一直是
[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/’
这个git是破娃的,她早就洗手不干了,请使用接盘侠的新地址:https://github.com/shadowsocksrr/shadowsocksr.git
博主有没有安装节点的教程。教程只能使用本机的一个节点。
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
重复开了多个后端,地址和端口被占用了。
可是我只开了一个端口,大佬有没联系方式.帮忙看下
你贴上来的这个后端日志内容,可以明确以及肯定的告诉你,是地址和端口被占用了。
博主,我是萌新,之前用ss spanl看你的教程勉强弄好了,然后看到你这个教程,插件更新后,我配置总是出问题,可以请教吗,有偿的。
我qq:513993979
最近没什么时间折腾,有偿也腾不出时间。。。
不用了,我昨天折腾了一天,终于弄好了,感谢博主的教程,就是发现提交订单超慢、··
···
有没有一起买插件的 加我群https://t.me/joinchat/Gc7hiUtsO-xaftop5NSf8Q
你好,我想研究一下ss服务器如何搭建,感谢博主分享心得!