Kloxo面板后台SSL证书替换

最近在自己的服务器上搭建Kloxo面板造福大众,然后遇到了一点问题,就是Kloxo面板的后台7777端口访问的时候总是会提示证书是由不受信任的颁发机构颁发。做完一个重度强迫症患者(误),这是绝对不能忍的!

但是找来找去一直没有发现相关的文章。看了大家对不常用的东西一点都不在乎= =|||于是只好自己动手。

首先在你的命令行中输入:

ps -aux|grep kloxo.httpd

然后你会看到类似这样的显示:

lxlabs   16186  0.0  0.2   7256  3544 ?        S    04:07   0:01 /usr/local/lxlabs/ext/lxlighttpd/sbin/kloxo.httpd -f /usr/local/lxlabs/kloxo/file/lighttpd.conf
root     24325  0.0  0.0   3188   796 pts/0    S+   17:26   0:00 grep kloxo.httpd

其中/usr/local/lxlabs/kloxo/file/lighttpd.conf就是Kloxo控制面板的Lighttpd配置文件。(找到它真不容易啊。。。在Apache那绕了一个小时的弯,突然灵光一闪看了下进程列表然后哭了。。。这货居然用的是独立的一套Lighttpd。。。)

打开拉到最下方,能看到:

$SERVER["socket"] == ":7777" {
        server.document-root = "/usr/local/lxlabs/kloxo/httpdocs/"
        ssl.engine = "enable"
        ssl.pemfile             = "/usr/local/lxlabs/kloxo/etc/program.pem"
        ssl.ca-file             = "/usr/local/lxlabs/kloxo/etc/program.ca"
        ssl.use-sslv2 = "disable"
 }

其中ssl.pemfile和ssl.ca-file就是我们需要修改的内容所指的文件就是我们要修改的内容。这里指向的是Kloxo自带的一个证书文件。现在我们修改这两项,将其指定到我们自己的证书文件。注意,ssl.pemfile我之所以没用ssl.crt是因为Lighttpd需要的证书文件比较特殊,是把Key私钥直接附加在crt证书后面生成的。为了不破坏原式证书,我起了一个不一样的名字来区分。 现在我们找到这两个program.pem和program.ca并将其替换成我们自己的证书。

接下来以StartSSL的免费SSL证书为例,说明这两个文件如何生成。

首先,我们从StartSSL拿到的证书文件包括:

ca.pem
ssl.crt
ssl.key
sub.class1.server.ca.pem

四个文件。其中ssl.key是预先解密好的私钥文件。当然不解密应该也可以,但是每次启动服务的时候都需要输入私钥密码,非常麻烦。

首先我们生成program.pem:

cat ssl.crt ssl.key > program.pem

这个ssl_key.crt就是我们最终需要的文件,即ssl.pemfile

然后生成ca-certs.crt:

cat sub.class1.server.ca.pem ca.pem > program.ca

此时生成的文件就是我们需要的文件。

然后将两个文件替换掉原来的文件,把Lighttpd重启一下,再访问就能看到效果了。