XMPP介绍一:服务器及数据库搭建

来源:互联网 发布:淘宝客不小心退出了 编辑:程序博客网 时间:2024/04/30 20:27

最近一段时间一直在开发类似微博的项目,好久没有更新博客了。接下来几节,我将为大家介绍XMPP相关的内容。在介绍之前,先将后台搭建的工作做起来。

我这里使用的服务器是 openfire,下载地址:http://www.igniterealtime.org/downloads/

数据库是mysql, 下载地址:http://www.mysql.com/downloads/

关于怎样下载他们,网上有很多说明教程,这里我就不多做解释了。我只说明他们的作用,及配置过程中遇到的"坑"。


openfire是一个基于java jdk的服务器, 类似于.Net中的IIS。采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器可支持上万并发用户。

使用注意事项:

1. 安装完成openfire之后,我们需要将对应的sql脚本文件拷贝一份。

在终端敲入以下命令:open /usr/local/openfire/resources/database, 打开openfire自带的sql脚本(过会会在mysql数据库中执行这个脚本语句,用来创建相应的操作所需要的表),这里我们选择mysql。



2. 安装完openfire后,它并不会出现在 "应用程序" 列表中,我们可以在 "系统偏好设置" 中看到它的快捷方式。



3. 启动openfire的时候,有可能出现永远启动不了的情况,我们可以使用以下的命令尝试去解决它。

a:sudo su

b:cd /usr/local/openfire/bin

c:export JAVA_HOME=`/usr/libexec/java_home`

d:echo $JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home

e: cd /usr/local/openfire/bin

f: ./openfire.sh

注: 步奏d中的java jdk的版本,如果不是很清楚的话,可以事先使用命令行(java -version)查看。

执行过程中也许会提示 "Permission Denied"。 我们可以接着使用命令(chmod a+x ./openfire.sh)来提升用户权限。


4. 忘记了openfire管理控制器的密码处理办法。


因为这里操作的openfire后台操作是连接的mysql,所以登陆相关的信息也保存在mysql的数据库中,了解到这一点,我们就可以手动的修改相关表的数据记录,来为自己分配账户等信息。

由于这里的操作涉及到mysql的操作,所以我会在后续介绍mysql的时候予以说明。


5. 安装完mysql之后,旧版(默认没有密码),新版(会给你一个默认密码)。但不管怎样,当你打开mysql的时候,都需要重置密码。一开始我是尝试使用命令行来进行重置工作的,但是一直失败!!! 所以后来还是使用可视化工具解决的(方便又快捷)。这里推荐MySQLWorkbench。


用它可以方便快捷的进行mysql的控制管理工作。


6. 导入第一步保存的sql脚本,并且在mysql中执行。这样就可以生成即时通讯所需要的相关表了。



7. 现在我们来解决第4步,忘记密码的工作。由于自己有足够的管理控制权限,所以我们在管理控制平台中忘记密码,完全没有关系,我们可以直接在数据库的表中查看用户的相关记录。


或者直接添加自己想要的用户信息

INSERT INTO ofUser (username, plainPassword, name, email, creationDate, modificationDate) VALUES ('admin', 'admin', 'Administrator', 'admin@example.com', '0', '0');

以上总结,就是本人在配置openfire及mysql过程中遇到的一些问题的分析总结。


1 0