Jabber服务器软件有很多种,具体可到这个网址查询:http://www.jabber.org/software/servers.shtml。其中jabberd是用C写的一个Jabber服务器,在Debian中有一个jabber软件包可安装jabberd1.4.3服务器。现在最新的jabberd是2.x版本的,包含了jabber的最新功能,但支持的组件较少,jabberd1.4.x版本中没有包含最新的功能,如不支持SASL。但它的支持组件很多,而且很稳定。所以这里我以jabberd1.4.3版的jabberd服务器进行介绍。
用Debian标准的软件安装方法即可完成软件包的下载和安装。
debian:~# apt-get install jabber
安装完软件后,jabberd服务就会自动启动。我们可用telnet程序与服务器连接测试一下服务器是否能正常工作。
debian:~# telnet localhost 5222 #5222是jabberd服务的默认端口号
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
在上面的状态下输入以下xml文本内容:
xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams'>
按回车,jabber服务器会显示如下信息:
如果出现如下的信息,则说明jabberd服务器已正常运行。我们可用
下面我们可以开始配置jabber服务器。jabber的配置文件在/etc/jabber目录下,叫jabber.xml。首先,我们需配置主机名,上面我们是用localhost主机名来测试的。正式使用的话需要有一个唯一的名称来标识该服务器。用vi程序打开该文件,找到这句:
把localhost改成你的主机名,我的主机名是debian,存盘退出。现在我们就可用主机名来访问jabberd服务了,如:
debian:~# telnet debian 5222
Trying 127.0.0.1...
Connected to debian. #主机名已改变
Escape character is '^]'.
现在我们可以添加一个jabber帐号了,我们可以通过gaim之类的jabber客户端软件自动添加,也可手动方法添加。下面介绍用telnet手动添加的方法,这种方法可让我们详细了解jabberd服务的添加用户的处理过程。
debian:~# telnet debian 5222
Trying 127.0.0.1...
Connected to debian.
Escape character is '^]'.
xmlns="jabber:client"
xmlns:stream="http://etherx.jabber.org/streams">
系统显示以下信息:
使用以下XML查询注册需提供些什么信息:
查询的结果如下:
这里显示注册需提供password,username,email和name四项信息。下面我把按要求把注册信息发给服务器:
每个注册用户的信息保存在/var/lib/jabber/目录下。现在我们可以用刚注册的帐号登录jabber服务器了,在登录之前,我们可用以下XML命令查询服务器登录需要些什么信息:
返回的信息如下:
最后,我们要把test用户切换到在线状态。
Welcome to the Jabber server -- we hope you enjoy this service! For information about how to us
e Jabber, visit the Jabber User's Guide at http://jabbermanual.jabberstudio.org/
现在,我们就可发送和接收信息了。发送信息的XML命令格式如下:
hello jims
如果jims用户已在gaim中登录,则会显示“hello jims”的信息。如果在gaim中发一条叫“hello test,this m essage form gaim.”给test@debian,则会在telnet里收到如下格式的信息:
用以下命令可退出会话:
从上面的信息可以看到,在jabber传送的信息流是XML格式的。这为jabber服务的扩展提供了很好的发展空间。