安装jabber2,运气真是不错

过完年算是忙过一个阶段,突然起了建一个内部即时通讯系统的念头,到网上找了找,freeBSD下比较有名的是jabber2,从2开始已经支持数据库,默认的是mysql,同时也支持PostgreSQL。单位的机器不能连接外网,但有了上次安装php的经验,不管三七二十一进入ports下的net-im,找到jabberd直接make install。自然是提示找不到文件,将需要的文件复制到google上搜寻下载,然后ftp到ports下的distfiles文件夹继续安装,只是需要两个文件包就安装完毕。

我使用的是mysql数据库,于是先进入/usr/local/share/jabberd目录,再使用有建立数据库权限的用户进入mysql,然后执行. db-setup.mysql执行默认的脚本文件建立数据库。这之后还需要使用grant进行授权,这一点很关键,有很多网上帖子中忽略了这一步。

此后进入/usr/local/etc/jabberd目录,如果不考虑mysql用户和密码,其实只需要修改两个文件sm.xml、c2s.xml,把其中的localhost替代为主机的ip地址就可以了(我使用的是局域网,不需要用域名)。

安装好了之后在rc.conf文件中加入jabberd_enabled=”yes”,重新启动机器后,看message记录一切正常,便从网上下载了gaim作为客户端,注册是成功的,但总是连接不上,正好下班时间到了,便没有再测试。

回到家里,还是不甘心,就又在自己的服务器上试验一下。单位机器系统是6.0,家里的是6.1,年前一次昏头删除了不少功能,所以安装过程中出现了一次错误,主要是提示一个目录不存在,建立后倒是正常,再就是安装结束后,无法正常启动。查看message,是提示没有权限操作 /var/jabberd/pid/下的文件,网上说是没有建立jabberd用户,查看其实已经建立了,单位机器不存在这个问题,估计是系统不完整的原因,就使用chmod命令进行授权,再重起机器,一切正常了。

单位的gaim不能工作,就换了psi,界面操作都要好不少,但却又无法注册,直接查看mysql数据库,里面也没有记录。后来查看网上资料,有一篇提到修改sm.xml文件,启用auto-create功能,进去一看,果然,6.1下的和6.0不同,默认的是关闭用户自动注册的,取消了限制,登录成功!

一晚上都很兴奋,早上到了单位换上psi,一切正常,加了几个用户,传输文件、通讯都没有问题。虽然小有挫折,这次算是顺利的,运气不错。

从存在的问题看,是与版本有关,下次安装6.2的时候重新测试一下,应该有结论。

Leave a Reply

您的邮箱地址不会被公开。 必填项已用 * 标注

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>