• openfire服务器
             Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。您可以使用它轻易的构建高效率的即时通信服务器.Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器可支持上万并发用户。由于是采用开放的XMPP协议,您可以使用各种支持XMPP协议的IM客户端软件登陆服务。openfire允许集群操作,单台服务器据说可以支持10000同时在线。
  • openfire目录结构
      openfire/
         |- readme.html
         |- license.html
         |- conf/
         |- bin/
         |- jre/
         |- lib/
         |- plugins/
             |- admin/
         |- resources/
             |-database/
             |-security/
         |- documentation/
    openfire目录作用介绍
            conf 目录Openfire用来存放配置文件.
            bin 目录包含了服务器的可执行文件. 根据你安装的不同分发版, 可用的执行文件也不同.
            jre 目录包含了一个 Java 5 虚拟机,打包在Windows和RPM版本Openfire里面的.
            lib 目录包含了运行Openfire所需要的库.
            plugins 目录包含了服务器插件. 缺省地, Openfire带了一个基于web的管理控制台插件.
            resources/database 目录包含 SQL 架构文件,用来新建Openfire数据库, 以及已有安装的更新脚本.
            resources/security 目录是Openfire维护keystores的地方,用来支持SSL连接安全性.
            documentation 目录包含了服务器文档
  • ubuntu下openfire安装的前期工作

1、至少是JDK1.5

2、支持Servlet 2.3

3、支持JSP 1.2

4、Openfire 类

5、安装oracle数据库,如果使用外部数据库,而不是使用openfire自带的内嵌数据库,则根据自己需要安装数据库

  • ubuntu下的openfire安装

1、从http://www.igniterealtime.org/downloads/index.jsp#openfire下载最新版的openfire

2、解压openfire文件

        tar -xzvf openfire_3_9_1.tar.gz

3、将已解压的openfire目录移到usr下

        mv /home/download/openfire /usr/openfire

4、在/etc/profile中设置openfire的环境变量

        export OPENFIRE_HOME=/usr/openfire
export PATH=$PATH:$OPENFIRE_HOME/bin

5、给openfire目录加上可执行权限

        chmod +x $OPENFIRE_HOME/bin/openfire

6、创建一个独立执行的openfire账户和密码

       useradd openfire  #设置openfire的系统用户名,下面会使用到
passwd XXXXXX #设置密码

7、设置openfire的执行账户和密码
         8、将/usr/openfire/bin/extra/openfired文件拷贝到init.d文件中
         9、openfired是一个bash文件,用于将openfire设置为守护进程,随机启动,给openfired授予可执行权限

       chmod +x openfired

10、打开openfired文件,进行部分配置
               a)设置执行openfire用户

         export OPENFIRE_USER=openfire

b)修改CMD="./openfire.sh $1"为
                   CMD="./openfire $1"
               c)进行文件链接

          cd /etc/rc3.d
ln -s ../init.d/openfired $90openfired

11、openfire启动和停止

         openfire start
openfire stop
openfire restart

12、openfire随机自启动

         chkconfig --add openfire
chkconfig openfire on
chkconfig --list openfire
  • 安装过程中遇到的错误问题哦错误

在安装openfire中出现错误,openfire的提示信息不够详细,可以在linux的错误日志文件查看具体错误原因

       cat /logs/error.log

错误1:

TNS:listener does not currently know of SID given in connect descriptor

原因:

数据库驱动配置出现错误或者数据库访问账户错误

错误2、
                    The Openfire database schema does not appear to be installed. Follow the installation guide to fix this error.
              实际原因是openfire在创建自身表时因为表空间太小导致执行创建sql语句错误

  • openfire的运行配置

1、openfire的web访问

http://[server IP]:9090,初次默认用户名和密码都是admin

2、语言选择

3、服务器域修改成对应的服务器ip,设定对应的端口号,默认为9090

4、选择数据库,若是需要使用外部数据库,需要选择标准数据库连接,否则使用openfire内嵌的数据库

5、配置标准数据库连接信息,选择相应的数据库类型,设置数据库驱动、用户名、密码
   

  • openfire插件管理

openfire支持插件管理模式,可以通过登录web模式,在插件菜单中,选择需要上传的插件jar包。插件的存放位置是在/usr/openfire/plugins目录中

上传插件后,需要重启openfire服务器

#openfire stop

#openfire start

  • openfire插件开发

1、openfire源代码
2、vivi插件编译环境为jdk1.6,因为openfire实现的代码比较老旧,为了兼容openfire
3、xmpp协议栈实现源代码smck源代码
4、查看openfire源代码
5、查看openfire数据库,从openfire官网上面查看,中文有但比较老旧,英文最新的
6、数据库访问接口采用jdbc并通过泛型类实现
7、apns需要使用开源的javapns包

8、openfire服务器中有 Push 和 IM 个模块,其中Push又分为Android的模块和iOS模块。

9、iOS模块的Push通道,即APNS(Apple Push Notification Server)是和push服务器地址无关的。

10、openfire的错误日志放在/usr/openfire/logs/error.log

ubuntu下的openfire安装、配置、运行的更多相关文章

  1. ubuntu下nginx+PHP-FPM安装配置

    安装nginx apt-get install nginx 配置nginx 位置: /etc/nginx/nginx.conf  ,其中包含了 include /etc/nginx/conf.d/*. ...

  2. Linux(Ubuntu)下MySQL的安装与配置

    转自:http://www.2cto.com/database/201401/273423.html 在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今 ...

  3. Ubuntu下opencv的安装及IDEA开发配置

    Ubuntu下opencv的安装及IDEA开发配置 环境配置  这篇博客主要介绍Ubuntu下opencv的安装编译,以及IDEA对opencv进行Java开发的环境配置 安装opencv 首先安装o ...

  4. Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

    Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我 ...

  5. ubuntu中VNC的安装配置笔记

    使用服务器时,利用远程桌面是非常方便的,否则需要跑到服务器机房操作非常的费事,或者需要远程操作机器是也可以使用,一般的操作系统都会带有远程桌面功能,但是不如第三方的的软件好用,对于linux系统常用的 ...

  6. ubuntu 下搭建apache+python的运行环境

    ubuntu下怎么搭建apache+python运行环境,可以参考http://www.01happy.com/ubuntu-apache-mod-python/ ,这里只是简单的记录下步骤,本文主要 ...

  7. 2010-01-20 12:09 ubuntu下minicom的安装及使用

    转http://hi.baidu.com/npugtawqdnbgqrq/item/106f805409b42813db163527 ubuntu下minicom的安装及使用 安装: sudo apt ...

  8. ubuntu下root和安装mysql

    sudo password创建新的root密码: 1.用当前登录用户打开终端,在终端输入命令 sudo passwd,输入当前用户的密码然后回车 2.会提示输入新密码,输入完成后回车(http://w ...

  9. ubuntu下Open vSwitch安装

    ubuntu下Open vSwitch安装 有关Open vSwitch的安装,网上有各种的教程资料,但一些已经过时,按照网上的教程,花费了大量时间,都没能安装成功.于是,通过查阅官方安装教程以及综合 ...

随机推荐

  1. JSP中两种模式的总结

    运用JSP/Servlet实现的Web动态交互,主要采用: 模式一:JSP+JavaBean 链接:http://wxmimperio.coding.io/?p=155 模式二;JSP+Servlet ...

  2. Codeforces 446-C DZY Loves Fibonacci Numbers 同余 线段树 斐波那契数列

    C. DZY Loves Fibonacci Numbers time limit per test 4 seconds memory limit per test 256 megabytes inp ...

  3. 代理Delegate的小应用(代理日期控件和下拉框)

    前言 在平时关于表格一类的的控件使用中,不可避免需要修改每个Item的值,通过在Item中嵌入不同的控件对编辑的内容进行限定,然而在表格的Item中插入的控件始终显示,当表格中item项很多的时候,会 ...

  4. 启用VSFTPD日志及其解读

    启用vsftpd日志及其解读(转贴)在vsftpd.conf中有如下内容定义了日志的记录方式:# 表明FTP服务器记录上传下载的情况xferlog_enable=YES# 表明将记录的上传下载情况写在 ...

  5. Android Studio 运行、编译卡死的解决办法

    Android stuido作为google主推的IDE,配合gradle编译,有很多的优点和便捷性.唯一使用过程中不舒服的地方就是莫名其妙的卡顿,经常在Gradle Build的时候卡死强制重启电脑 ...

  6. sort merge join,hash join,netsloop join

    Join Operations ? SORT-MERGE JOIN – Sorts tables on the join key and then merges them together – Sor ...

  7. bzoj2653

    CLJ神牛的可持久化论文的题目,果然厉害其实第一步能想到后面就还是很简单的首先是二分答案,转化为判定性问题然后对于区间内的数,比他大的标为1,小的标为-1显然,如果存在一个左右端点符合的区间使得这个区 ...

  8. bzoj2466,poj1222

    都是简单的异或高斯消元 由于bzoj2466要求解得最小和,所以我们最后还要穷举自由元取最优解 type node=record        po,next:longint;      end; . ...

  9. CMD打开远程并使用空白密码远程登录

    记录一下,在单位管理局域网机器时 写出的小程序: 应用场景:比如异地A的局域网内主机需要远程登录进入系统调试,而A电脑的Radmin之类的远程控制软件无效,就只能使用操作系统自带的远程桌面功能,而,异 ...

  10. HTML-通过点击网页上的文字弹出QQ添加好友页面

    在网上参考了部分方法,综合了一下. 发现有2中方式: 第一种是不能直接弹出添加界面的,只能弹出网页,再通过网页中的添加好友才能添加: 弹出的网页是这样的(我是写成在新的网页中打开) 现在看实现的代码: ...