简单架设Jabber局域网即时通讯服务器.docx

上传人:b****6 文档编号:5677464 上传时间:2022-12-31 格式:DOCX 页数:10 大小:66.75KB
下载 相关 举报
简单架设Jabber局域网即时通讯服务器.docx_第1页
第1页 / 共10页
简单架设Jabber局域网即时通讯服务器.docx_第2页
第2页 / 共10页
简单架设Jabber局域网即时通讯服务器.docx_第3页
第3页 / 共10页
简单架设Jabber局域网即时通讯服务器.docx_第4页
第4页 / 共10页
简单架设Jabber局域网即时通讯服务器.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

简单架设Jabber局域网即时通讯服务器.docx

《简单架设Jabber局域网即时通讯服务器.docx》由会员分享,可在线阅读,更多相关《简单架设Jabber局域网即时通讯服务器.docx(10页珍藏版)》请在冰豆网上搜索。

简单架设Jabber局域网即时通讯服务器.docx

简单架设Jabber局域网即时通讯服务器

简单架设Jabber-局域网即时通讯服务器

简单架设Jabber局域网即时通讯服务器.txt如果不懂就说出来,如果懂了,就笑笑别说出来。

贪婪是最真实的贫穷,满足是最真实的财富。

幽默就是一个人想哭的时候还有笑的兴致。

作者:

北南南北

来自:

LinuxSir.Org

简介:

本文主要介绍Jabber即时通讯服务器最简单的架设方法;目的是自己学习一下,长长见识;另外也是为了对此有兴趣的弟兄所准备的,用于和大家交流;本文所架的JabberServer是通过Mysql数据库来进行用户认证的;目录1、什么是jabberserver;

1.1、我们能否自己架设jabberserver;

1.2、jabber应用范围;

2、jabberserver的简单架设,安装篇;

2.1、JabberServer测试架设环境和用户认证环境;

2.2、JabberServer版本的选择;

2.3、为JabberServer添加一个系统用户,用来管理服务器的启动等;

2.4、编译安装JabberServer所需要的软件环境;

2.5、解压编译安装JabberServer;

3、jabberserver的简单配置;

3.1、创建JabberServer进程存放目录pid及日志存放目录log;

3.2、有关Mysql数据库的操作;

3.3、JabberServer的配置文件的修改;

3.31、c2s.xml文件

3.32、resolver.xml文件

3.33、router-users.xml文件

3.34、router.xml文件

3.35、s2s.xml文件

3.36、sm.xml文件

4、JabberServer启动和管理;5、Jabber客户端的应用;

5.1、Jabber客户端的选择;

5.2、客户机的DNS配置;

5.3、Jabber客户端之一Gaim的使用;

6、一些疑问;

6.1、jabberd2能否和MSN、YahooMessager、ICQ等用户对聊功能;

6.2、jabberd2能否支持客户端传文件功能;

6.3、jabberd2能否让支持语音或电话功能;

7、关于本文;

8、参考文档;

9、相关文档;

+++++++++++++++++++++++++++++++++++++++++++++++++

正文

+++++++++++++++++++++++++++++++++++++++++++++++++

 

1、什么是jabberserver;

Jabber是著名的Linux即时通讯服务服务器,它是一个自由开源软件。

什么是即时通讯服务器呢?

就是类似AIM,ICQ,MSN或YahooMessage类似的服务器;只是Jabber能让我们自己架即时通讯服务器,可以在Internet上应用,也可以在局域网中应用;Jabber最有优势的就是他的通信协议。

他可以和多种即时通讯对接。

比如有第三方插件,能让jabber用户和MSN、YahooMessager、ICQ.....对聊;下面是来自

 

jabberserver能在局域网中应用,当然也一样架一台internet的jabberserver为您自己的用户服务;服务器端支持几乎所有的操作系统,从Linux、MACOS到Unix类的,同样也支持Windows平台;客户端也是一样,无所不包,无所不有......服务器端:

JabberServers客户端:

JabberClients

2、jabberserver的简单架设,安装篇;

我是在局域网中架设并测试的,而且功能也极为简单、安全性也没有评测(或者说没有安全性),就是简单的注册和相互通讯(聊天);

2.1、JabberServer测试架设环境和用户认证环境;

Slackware10.1,其实在哪个发行版都是一样的,只要按官方文档上面说的做,一般都会成功;好象没有不成功的呢;我用的是mysql认证,也就是说用户注册和认证数据库调用的;当然jabber支持多种认证,比如PostgreSQL、BerkeleyDB......因为我不懂其它的认证方式,我对Mysql也只是了解一点点;所以我就用了Mysql的方法;另外如果在局域网中架JabberServer,得有DNS服务器;也就是说局域网中的机器相互能通过hostname来访问;如果您不懂什么是DNS,或者不会DNS的架设。

我感觉也没有什么,现在几乎所有的路由器都有这个功能,点几下鼠标就能弄得起来;如果你只一台机器,我看架JabberServer也没有必要了;所以本文架设JabberServer的前提条件是你懂DNS(至少你有一个路由器,并且能在路由器上指定DNS来解析每台机器的hostname);另外您还要懂一点Mysql服务器的架设和简单的应用;

2.2、JabberServer版本的选择;

我用的JabberServer的版本是jabberd-2.0s10.tar.gz;http:

//jabberd.jabberstudio.org/2/#download

2.3、为JabberServer添加一个系统用户,用来管理服务器的启动等;

一般的说来root超级用户是能对所有服务器程序进行管理的;但这样做有点不安全;所以尽可能的少用root权限来启动一个服务器;

[root@localhost~]#groupaddjabber注:

添加jabber用户组;

[root@localhost~]#useraddjabber注:

添加jabber用户;

至于设置不设置jabber用户的密码,您看着办。

如果您当前操作的普通用户,想通过su命令切换到root用户下,然后再通过sujabber,这样就不用密码也行;如果您认为这样切来切换去的有点麻烦,那你就设置一下jabber用户的密码;

[root@localhost~]#passwdjabber注:

设置jabber用户的密码;

 

2.4、编译安装JabberServer所需要的软件环境;

在Linux中编译安装JabberServer需要编译工具;比如gcc之类的,如果您没有编译环境,就要找出自己所用发行版的光盘,把这些安装上;JabberServer依赖openssl,您也得安装上;在您的Linux发版的安装盘中也应该有;

JabberServer依赖Mysql,因为我们要用Mysql存储用户资料;这个不可缺少吧;在发行版的光盘也有;

libidn这个软件包也在各大发行版中有;自己找找看;也可以自己编译安装;参考文档:

《Jabberd2InstallationandAdministrationGuide》

2.5、解压编译安装JabberServer;

 

[root@localhost~]#tarzxvfjabberd-2.0s10.tar.gz

[root@localhost~]#cdjabberd-2.0s10

[root@localhostjabberd-2.0s10]#./configure--enable-ssl--enable-mysql--enable-idn\

--with-extra-include-path=/usr/include/mysql\

--with-extra-library-path=/usr/lib/mysql\

--prefix=/opt/jabberd2

[root@localhostjabberd-2.0s10]#make

[root@localhostjabberd-2.0s10]#makeinstall

注意:

在./configure中要指定您的Mysql的include所在的位置,也要指定mysql的lib所在的位置;您应该知道这些东西在哪里;我的mysql的include和lib分别是/usr/include/mysql和/usr/lib/mysql--prefix用来指定把jabberd安装在哪个位置上。

我是安装到了/opt/jabberd2目录中;自己看着办吧。

这样指定比较方便。

当我们不需要jabberd的时候,就直接删除/opt/jabberd2目录就行了。

就是重装也方便;卸载就更方便了;

3、jabberserver的简单配置;

3.1、创建JabberServer进程存放目录pid及日志存放目录log

 

[root@localhost~]#mkdir-p/opt/jabberd2/var/jabberd/pid

[root@localhost~]#mkdir-p/opt/jabberd2/var/jabberd/log

 

[root@localhost~]#chown-Rjabber:

jabber/opt/jabberd2/var

 

说明:

改变/opt/jabberd2/var权限,让用户jabber可以写数据到/opt/jabberd2/var及下级目录;

3.2、有关Mysql数据库的操作;

在我们的解压编译的JabberServer目录中jabberd-2.0s10,有一个目录tools,里面有一个文件db-setup.mysql,就是创建数据库的脚本;首先我们得启动Mysql服务器;这个过程省略;然后我们导入db-setup.mysql;

 

[root@localhostjabberd-2.0s10]#cdtools

[root@localhosttools]#mysql-uroot-p

Enterpassword:

在这里输入Mysql数据库的管理密码

 

经过上一步,我们就导入了一个jabberd2的数据库;下一步我们要进行授权;让jabberd2数据库有一个专门的管理用户;

[root@localhosttools]#mysql-uroot-p

Enterpassword:

注:

在这里输入Mysql数据库的管理密码

 

然后我们在mysql数据库中运行下面的一条指令;

mysql>GRANTselect,insert,delete,updateONjabberd2.*\

tojabberd2beinan@localhostIDENTIFIEDby'123456';

注解:

其中jabberd2beinan是jabberd2数据库的管理员,这个可以自己定义;定义你自己喜欢的;其中123456是用户jabberd2beinan用户的密码;如果没有问题的话,我们从mysql退出后,就要吧用jabberd2beinan用户来连接Mysql服务器了;

[root@localhosttools]#mysql-ujabberd2beinan-p

Enterpassword:

在这里输入jabberd2数据库管理员jabberd2beinan的密码;

 

mysql>showdatabases;注:

查看数据库;

+----------+

|Database|

+----------+

|jabberd2|

|test|

+----------+

2rowsinset(0.00sec)

mysql>quit

 

3.3、JabberServer的配置文件的修改;以我的安装和配置环境为准,我是安装JabberServer在/opt/jabberd2目录中;配置文件在/opt/jabberd2/etc/目录中;我们需要改的文件,有如下几个;c2s.xmlresolver.xmlrouter-users.xmlrouter.xmls2s.xmlsm.xml我只是简单的说一下我的配置,不一定对,但能用得起来;注意:

所有192.168.1.4的IP都是我架JabberServer这台机器的IP,您要根据自己的情况来进行改动;3.31、c2s.xml文件第77行;

localhost

改为

linuxsir

重要:

这个是极为重要的,linuxsir是服务器的hostname,并且能被局域网每台机器都能识别的,也就是我们前面所说要自己做DNS,或通过路由器来做解析;一般路由器都有这个功能;这个需要您自己来弄;

第81行;

0.0.0.0

改为

192.168.1.4

277和278行,是Mysql服务器认证的;

--Databaseusernameandpassword-->

jabberd2

secret

改为:

下面改动是根据您在Mysql数据库jabberd2授权给你所设置的用户名和密码;

--Databaseusernameandpassword-->

jabberd2beinan

123456

 

3.32、resolver.xml文件不做改动,默认就行;

3.33、router-users.xml文件不做改动;如果您要改动,其它文件也要改。

这个文档是简单架设。

没有考虑的太多;大多是默认的配置;我的建议是为了安全,你还是改一下用户和密码;也就是下面的;

jabberd

secret

把上面的改一改,最好改的比较安全一点;下面只是一个简单的例子;

jabberd1234

654321

如果router-users.xml中做了改动其它文件中的如下内容也要改动;

--IP/porttherouteriswaitingforconnectionson-->

127.0.0.1

--default:

127.0.0.1-->

5347

--default:

5347-->

--Username/passwordtoauthenticateas-->

jabberd

--default:

jabberd-->

secret

--default:

secret-->

也就是要改动上面的中的

--Username/passwordtoauthenticateas-->

jabberd1234

--default:

jabberd-->

654321

--default:

secret-->

3.34、router.xml文件不做改动,默认就好;3.35、s2s.xml文件第77行;

0.0.0.0

改为

192.168.1.4

 

3.36、sm.xml文件第7行;这是服务器hostname的设置,您所用的hostname要在局域网中被识别;这就涉及到DNS;现在路由器大多都有指定DNS的功能;这个需要您自己来弄;我的这台机器在路由器上做了DNS后,被指定解析为linuxsir;

localhost

改为

linuxsir

第88、89行;这两行也是连接Mysql数据库服务器;也要改动;

jabberd2

secret

改为

jabberd2beinan

123456

 

4、JabberServer启动和管理;我们在前面已经添加了jabber这个用户,目的就是为了服务的安全性,让这个用户来添加和启动JabberServer;当然我们要切换到jabber这个用户,然后让jabber这个用户来启动jabberd服务器;

[root@localhost~]#sujabber

[jabber@localhost~]$/opt/jabberd2/bin/jabberd-D

这个Debug模式运行,如果有什么错误,就能显示出来;如果不行,你就按几下回车,看看是不是有错误发生。

如果没有,就Ctrl+C结束运行,然后转为后台运行;

[jabber@localhost~]$/opt/jabberd2/bin/jabberd&

[jabber@localhost~]$ps-aux|grepjabberd

 

jabber704812.31.250723184pts/0R05:

330:

00perl-w-x/opt/jabberd2/bin/jabberd

jabber70492.30.546561452pts/0S05:

330:

00/opt/jabberd2/bin/router-c/opt/jabberd2/etc/jabberd/router.xml

jabber70500.60.445521252pts/0S05:

330:

00/opt/jabberd2/bin/resolver-c/opt/jabberd2/etc/jabberd/resolver.xml

jabber70512.00.647961716pts/0S05:

330:

00/opt/jabberd2/bin/sm-c/opt/jabberd2/etc/jabberd/sm.xml

jabber70520.60.546441340pts/0S05:

330:

00/opt/jabberd2/bin/s2s-c/opt/jabberd2/etc/jabberd/s2s.xml

jabber70531.60.647521672pts/0S05:

330:

00/opt/jabberd2/bin/c2s-c/opt/jabberd2/etc/jabberd/c2s.xml

jabber70550.00.22256732pts/0R+05:

330:

00grepjabberd

说明:

第一行是后台运行;第二行是查看是否jabberd已经启动起来了;如果出现类似上面的提示,这表示jabberd已经运行;

5、Jabber客户端的应用;5.1、Jabber客户端的选择;对于客户端的选择,您可以用gaim;也可能用其它的,我用的是gaim;请到Jabber客户端:

JabberClients去找适合自己;如果您想用gaim,可以到上去下载;Windows版本和Linux版本都有;如果您用的是Linux,各大发行版都有这个软件包;安装上就行了;5.2、客户机的DNS配置;如果您是Linux,就得让/etc/resolv.conf有DNS主机的设置;比如我的设置是

nameserver192.168.1.1

192.168.1.1这行就是DNS服务器的,我用的是路由器,路由器我配置DNS的时候,用的就是这个地址;如果您是用Windows,也得在网卡设置IP那个界面上,写上这个吧;自己看着办吧;5.3、Jabber客户端之一Gaim的使用;Gaim使用就简单了,我们可以通过Gaim来向局域网JabberServer申请ID;第一步:

添加帐号;点击[帐号]=>添加=》协议:

选择Jabber

用户名:

先随便写一个您喜欢的,比如我写是的beinan

服务器:

也就是我们前面设置的JabberServer那台机器的hostname;我的机器是linuxsir;

资源:

不用管他;

密码:

自己写一个吧;因为没有注册呢;这个不是重要的;

别名:

就是昵称,比如大灰狼之类;点击[显示主要选项]Jabber选项可用则使用TLS这个要选中,其它两个是[强制旧SSL]和[允许不加密流上的纯文本验证],这两个就不要选中了;l端口:

5222连接服务器:

就是JabberServer所在机器的IP地址,我这台机器是192.168.1.4代理类型:

不用改变,保持原来的状态就行;[使用全局代理设置]第二步注册帐号;这些都添写好了,再点击[注册];然后写上用户名和密码;他会提示注册成功;第三步修改帐户我们还得从头再来,点击[帐户],然后选中您刚才注册的成功的那个帐户;点击修改;就按前面所说的来修改;只是在[显示主要选项]中的连接服务器改一改就行了。

因为这个是空的;要改为你自己服务器的IP地址就行了;我的服务器是192.168.1.4。

我就改成了192.168.1.4;至于Windows用户的Gaim的使用同理;6、一些疑问;6.1、jabberd2能否和MSN、YahooMessager、ICQ等用户对聊功能;能的;但要安装一些插件;在我看来这些插件有点难度。

因为我测试过一些插件;但不能解决一些依赖关系;等解决了依赖关系,却不能应用;错误是的。

http:

//www.jabber.org/software/components.shtml6.2、jabberd2能否支持客户端传文件功能;如果是默认安装是不支持的,这也需要第三方插件;目前有三种方法吧;在jabber的主页上说,如果想要实现相互传文件功能,与客户端有关;我测试了好多种,但还是不行。

psi据说是能行,我测试后也不行;可能依靠客户端传文件还是有点难度。

或许不久就以解决?

如果通过服务器端解决呢?

也是有可能的,有两种方法;proxy65和定义apachedav模块的办法;apachedav模块据说比较简单。

但我没有试过。

据有关洋人说,不太安全;proxy65的方法也有难度,他依赖太多的东西,比如python、zope、twist、pyopenssl......多多;虽然也能解决依赖关系,但proxy65还是一样运行不起来;大家还是自己测试吧;写这些东西只不是想让新手走太多的路;6.3、jabberd2能否让支持语音或电话功能;可能有这个成功案例,我没有仔细看;但通过jabberd2文档,我没有看到,或许有第三方插件能解决;或许有点难度;7、关于本文本文是最简单的Jabber即时通讯服务器的架设;没有太多的功能,当然安全机制也没有考虑;高水平的文档并不是我能写的出来的,当然我也在努力写一写高水平的文档,到现在还没有这个能力,所以只能期待高手出现,或者期待自己某一天成为高手;本文面向初学者;8、参考文档《Jabberd2InstallationandAdministrationGuide》9、相关文档

展开阅读全文
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1