一、    实验环境

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. [亂數] <細說> C/C++ 亂數基本使用與常見問題

    陸陸續續寫了 EA  一.二年,以前亂數引導文回頭看時才發現,怎麼有這麼多細節的錯誤.沒系統. 這篇文章主要引導初學者使用亂數,同時附上常被翻出來討論的議題,C/C++適用,唯以 C 語言撰之. 也由 ...

  2. Python开发【第二篇】: 基本数据类型(一)

    1. 整型   整型即整数,用 int 表示,在 Python3 中整型没有长度限制. 1.1 内置函数   1. int(num, base=None)   int( ) 函数用于将字符串转换为整型 ...

  3. AQS(AbstractQueuedSynchronizer)应用案例-02

    1.概述 通过对AQS源码的熟悉,我们可以通过实现AQS实现自定义的锁来加深认识. 2.实现 1.首先我们确定目标是实现一个独占模式的锁,当其中一个线程获得资源时,其他线程再来请求,让它进入队列进行公 ...

  4. Asp.net Core 启动流程分析

    新建的.net core 程序启动本质上是一个控制台应用程序,所以它的入口在Main方法中,所以启动的开始时从Main方法开始. public class Program { public stati ...

  5. HierarchyId通过父节点创建一个新的子节点

    --HierarchyId通过父节点创建一个新的子节点 CREATE TABLE #temp( node HierarchyID ); insert into #temp select '/' uni ...

  6. 浅谈JavaScript--闭包

    闭包的概念 由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数". 变量的作用域 要理解闭包,首先必须理解J ...

  7. 读《JavaScript权威指南》笔记(一)

    1.Number()  parseInt()  parseFloat() 如果通过Number()转换函数传入一个字符串,它会试图将其转换为一个整数或浮点数直接量,这个方法只能基于十进制数进行转换,并 ...

  8. 洛谷P1038 神经网络

    P1038 神经网络 题目背景 人工神经网络(Artificial Neural Network)是一种新兴的具有自我学习能力的计算系统,在模式识别.函数逼近及贷款风险评估等诸多领域有广泛的应用.对神 ...

  9. 位运算 之(1) 按位与(AND)& 操作

    文章作者:ktyanny 由于位运算直接对内存数据进行操作,不需要转成十进制,因此处理速度非常快. 按位与(Bitwise AND),运算符号为& a&b 的操作的结果:a.b中对应位 ...

  10. springBoot2.0 配置@ControllerAdvice 捕获异常统一处理

    一.前言 基于上一篇 springBoot2.0 配置shiro实现权限管理 这一篇配置 异常统一处理 二.新建文件夹:common,param 三.返回结果集对象 1.ResultData.java ...