一、    实验环境

Ubuntu server14.04

openfire:http://www.igniterealtime.org/downloads/index.jsp

spark:http://www.igniterealtime.org/downloads/index.jsp

JDK:要求1.7以上

二、安装过程

1、首先在安装openfire之前,先确保你的系统已经更新到最新。以避免后续不必要的麻烦

  $ sudo apt-get update

  $ sudo apt-get upgrade

2、在安装最新版本的Oracle JRE/JDK,使用PPA(personal package archieve)WEBUPD8的方式安装。

  $ sudo apt-get install python-software-properties

  $ sudo add-apt-repository ppa:webupd8team/java

  $ sudo apt-get update

  如果你正在使用OPenJDK,那么先将它移除以免产生任何的冲突

  $ sudo apt-get remove --purge openjdk*

  然后使用下面的命令安装Oracle Java 8

  $  sudo apt-get install oracle-java8-installer

3、下载并且安装openfire_4.2.3_all.deb,并使用使用dpkg命令安装openfire_4.2.3_all.deb

  $  wget http://download.igniterealtime.org/openfire/openfire_4.2.3_all.deb

  $ sudo dpkg -i openfire_4.2.3_all.deb

  $ sudo service openfire start

  

4、.配置openfire的相关端口。你需要安装防火墙并且允许一些openfire的端口通过。使用ufw命令来配置。

sudo ufw allow 9090/tcp
sudo ufw allow 9091/tcp
sudo ufw allow 5222/tcp
sudo ufw allow 7777/tcp
sudo ufw allow 7443/tcp
sudo ufw allow 7070/tcp
sudo ufw allow 3478/tcp
sudo ufw allow 3479/tcp

  经过以上的配置,openfire的初始化安装步骤已经完成了。下一步,我们继续通过web浏览器来配置。

7、配置openfire服务器。配置openfire服务器是相当简单的,只需要几个步骤就能完成。下面就是如何配置openfire。你先在你的电脑上打开浏览器并且打开如下地址。

http://192.168.159.128:9090/index.jsp
进入之后一直默认即可,关于数据库的选择,我选择的是自带的数据库,也可以选择mysql等其他的数据库(但是前提需要在这一步之前安装好所需要的数据库)
到此,openfire已安装完成,接着开始安装客户端的spark

8、安装spark (windows版的)

  就跟安装qq软件差不多(具体就不介绍了)

  安装完成之后,打开spark客户端。在高级选项中配置如下信息(域名为你的服务器主机名或者IP地址)

  

  点击确定按钮即可。接着输入:

   

到此spark已安装完成。

PS:在自己虚拟机上搭建外网不能访问,这个需要你的路由器支持端口转发,或者直接dmz设置。在远程服务器上搭建好的,即可实现通讯。

Openfire+spark在linux上搭建内部聊天系统的更多相关文章

  1. 使用Nginx在windows和linux上搭建集群

    Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 特点:反向代理 负载均衡 动静分离… 反向代理(Reverse Pro ...

  2. linux上搭建ftp

    linux上搭建ftp 重要 解决如何搭建ftp         解决用户指定访问其根目录         解决访问ftp超时连接         解决ftp主动连接.被动连接的问题 1.安装ftp ...

  3. linux上搭建ftp、vsftp, 解决访问ftp超时连接, 解决用户指定访问其根目录,解决ftp主动连接、被动连接的问题

    linux上搭建ftp 重要 解决如何搭建ftp         解决用户指定访问其根目录         解决访问ftp超时连接         解决ftp主动连接.被动连接的问题 1.安装ftp ...

  4. CentOS Linux上搭建PPPoE服务器及拨号设置

    CentOS Linux上搭建PPPoE服务器及拨号设置 搭建PPPoE,成功了的话,就觉得超级简单,在CentOS Linux更是5步左右就能搞定. 1.安装pppoe,安装完成后,会有pppoe- ...

  5. 【转帖】Linux上搭建Samba,实现windows与Linux文件数据同步

    Linux上搭建Samba,实现windows与Linux文件数据同步 2018年06月09日 :: m_nanle_xiaobudiu 阅读数 15812更多 分类专栏: Linux Samba 版 ...

  6. Linux上搭建SVN服务

    环境:centos7 一.搭建svn服务 1. 安装svn yum -y install subversion 2. 创建一个目录作为svn服务的地址(svn://192.168.0.2:3690 访 ...

  7. mongo学习笔记(六):linux上搭建

    linux分以下几台 monogos mongocfg mongod1 mongod2 1.用ssh把 mongodb-linux-x86_64-3.0.6.tgz 移到linux /root上 2. ...

  8. linux上搭建nginx+php+mysql环境详细讲解

    1.mysql安装 #安装编译环境 yum install -y gcc gcc-c++ gcc-devel g++ g++-devel; yum install -y wget yum instal ...

  9. linux上搭建svn

    参照网址:http://www.cnblogs.com/LusYoHo/p/6056377.html(如何在linux下搭建svn服务)                http://www.cnblo ...

随机推荐

  1. 4.XXE (XML External Entity Injection)

    XXE (XML External Entity Injection) 0x01 什么是XXE XML外部实体注入 若是PHP,libxml_disable_entity_loader设置为TRUE可 ...

  2. hdu1080

    #include<iostream> using namespace std; char s1[105],s2[105]; int val[5][5]={ {5,-1,-2,-1,-3}, ...

  3. js复习笔记

    isNaN(x) 1.判断结果不是纯数字, var a=1234var b =isNan(a) //b是 false 因为a是纯数字 var a="abc123"var b =is ...

  4. SuperSocket框架中BinaryRequestInfo协议的使用

    一.开发环境 1.Windows 10 企业版 64位 2.Microsoft Visual Studio 2017 企业版 二.项目开始 1.新建控制台程序,项目名称“BinarySuperSock ...

  5. 获取指定日期相关DATENAME和DATEPART数据

    DATENAME和DATEPART有何区别,Insus.NET写成一个函数,可以方便查询与对比: 一个是返回一个字符串,另一个是返回一个整数. SET ANSI_NULLS ON GO SET QUO ...

  6. xml 的使用和解析 及解析工具

    xml 一.xml简介 1. 什么是xml XML:Extensiable Markup Language,可扩展标记语言.和HTML有语法相似之处,也有作用上的不同: 和html相似: 都是由一堆标 ...

  7. 洛谷P4878 [USACO05DEC]layout布局

    题目描述 正如其他物种一样,奶牛们也喜欢在排队打饭时与它们的朋友挨在一起.\(FJ\) 有编号为 \(1\dots N\) 的 \(N\) 头奶牛 \((2\le N\le 1000)\).开始时,奶 ...

  8. NppFTP小插件的使用

    大家在Linux系统中配置运行环境时,一定会遇到相关配置文件的修改,虽说在Linux系统中可以使用vi,vim的命令进行文本编辑,但是操作起来还是没有在Windows系统中用的爽,特别是操作大文本量的 ...

  9. Docker基础 :网络配置详解

    本篇文章将讲述 Docker 的网络功能,包括使用端口映射机制来将容器内应用服务提供给外部网络,以及通过容器互联系统让多个容器之间进行快捷的网络通信,有兴趣的可以了解下. 大量的互联网应用服务包含多个 ...

  10. Appium + Python自动化3 - 输入中文

    在做app自动化过程中会踩很多坑,咱们都是用中文的app,所以首先要解决中文输入的问题!本篇通过屏蔽软键盘,绕过手机的软键盘方法,解决中文输入问题. 一.定位搜索 1.打开淘宝点击搜索按钮,进入搜索页 ...