VPS上成功部署SSL方式的Yuchberry

Yuchberry是黑莓用户自主开发的实现Push Mail的开源程序,有VPS或支持Java的空间就可以免费部署,解决了没有BIS或BES无法即时接收邮件的问题,详情可以查看工程说明。

我这里以服务端v1.3.926.2为例简单说明遇到的问题及解决办法。(昨天我在部署服务端v1.3.926.1时没能搞定SSL,作者昨天晚上升级了,是不是解决我遇到的问题不得而知)

首先使用SSH登录VPS,在Yuchberry的开源工程找到服务端的下载链接,使用wget下载到VPS上:
wget http://yuchberry.googlecode.com/files/yuchberry_server_1.3.926.2.zip

然后使用unzip解压到当前目录下:
unzip yuchberry_server_1.3.926.2.zip

使用winscp登录到VPS编辑yuchberry_server_1.3.926.2目录下的config.xml,参考config的配置。刚开始先不配置SSL(userSSL设为0),非SSL成功后再来配。

作者没有提供加密邮箱密码的.sh文件,可以从cryptPasswordTool_console.bat找到命令行:
java -jar svr.jar cryptTool console
第一步输入密码算子,要跟客户端高级设置里的密码算子一致,第二步才是输入邮箱的密码,会生成一个cryptPass.txt文件,把里面的加密串设给config.xml的cryptPassword属性,password属性则留空。

都配好后在VPS上试运行非SSL的服务,首先得给.sh文件增加可执行权限:
chmod +x *.sh

在执行runSvr.sh或runSvr_SSH.sh时会提示出错,我打开.sh文件对比别的文件发现是在#!/bin/sh下少了个空行,于是我加上个空行保存再执行就可以了:(看样子作者对Linux的Shell脚本不熟,我也是 ^_^)
./runSvr.sh 或 ./runSvr_SSH.sh

客户端设置的密码要跟config.xml的userPassword属性一致,别外就是IP、端口号和密码算子了。

连接成功后就可以配SSL了,首先执行genkey.sh文件,此时又会提示出错,我打开这个.sh文件对比了一下,发现them和fi后面都多了个空格,删除后保存就可以了。(原因同上)

生成证书见这里,第一步的密码要跟config.xml的userPassword属性一致,把useSSL设为1,然后重启Yuchberry:
1. 如果是用runSvr.sh执行的话直接按Ctrl+C停止服务,如果是用runSrv_SSH.sh的话需要用“ps -ef | grep java”来找到“java -jar svr.jar”项的PID,然后用kill PID把进程杀掉。
2. 然后重新执行.sh运行服务,客户端高级设置配成使用SSL,然后发起连接。此时会提示证书问题,这时要点“下载证书”(我昨天在这一步是点“继续”的,也许这个是失败的原因),输入机器的证书保护密码保存到证书区后去“信任”一下,我就是这样做搞定SSL的。

Tags: ,

Leave a Reply