天天看點

OpenFire 安裝文檔

1 XMPP和OpenFire的基本介紹

1.1 XMPP協定

http://baike.baidu.com/view/189676.htm

1.2 XMPP協定的實作

1.2.1 XMPP協定服務端

OpenFire

1.2.2 XMPP協定用戶端

Spark、JWChat

http://zh.wikipedia.org/wiki/XMPP%E5%8D%94%E8%AD%B0%E7%9A%84%E5%AE%A2%E6%88%B6%E7%AB%AF%E8%BB%9F%E9%AB%94%E5%88%97%E8%A1%A

2 OpenFire叢集的搭建

2.1 安裝Linux作業系統和MySQL資料庫

2.2 安裝JDK環境

1、利用Xshell工具将jdk安裝檔案jdk-7u55-linux-i586.tar.gz放到/usr/local目錄中

2、解壓縮檔案

       tar –zxvf jdk-7u55-linux-i586.tar.gz

3、将解壓縮後的檔案名重命名為jdk

OpenFire 安裝文檔
OpenFire 安裝文檔
OpenFire 安裝文檔

4、用vi編輯器配置jdk環境變量

OpenFire 安裝文檔

在檔案最後加上如下配置:

OpenFire 安裝文檔

5、vi編輯器儲存修改後的檔案(:wq退出),用source讓剛剛編輯的檔案生效

OpenFire 安裝文檔

6、輸入java -version指令,列印出如下資訊表示jdk安裝成功

OpenFire 安裝文檔

2.3 安裝OpenFire

1、利用Xshell工具将OpenFire的安裝檔案openfire_3_9_3.tar.gz傳到/opt/目錄下

2、利用tar指令解壓縮該檔案

OpenFire 安裝文檔

3、啟動OpenFire

OpenFire 安裝文檔

4、進入網頁對伺服器進行配置(選擇語言、資料庫等)

http://localhost:9090/index.jsp

注意【資料庫選擇外接的資料庫,不要選擇預設的資料庫,本測試環境安裝的是MySQL資料庫,所有openfire都配置到同一個MySQL資料庫中】

5、安裝broadcast和Hazelcast ClusteringPlugin插件【配置叢集用的】

       登入伺服器以後,點選插件-》可用的插件,點選右側的 + 按鈕,安裝Broadcast和Hazelcast ClusteringPlugin插件

OpenFire 安裝文檔

6、安裝好插件以後,配置/etc/hosts檔案,分别配置對應Server的ip和名稱

OpenFire 安裝文檔

添加紅色選中内容

OpenFire 安裝文檔

2.4 配置OpenFire叢集

1、按照2.3步驟分别在三台機器上安裝好OpenFire【注意:每台機器上要分别配置好所有Openfire的ip和機器名】

2、分别修改HazelcastClustering 插件的配置檔案hazelcast-cache-config.xml

先進入配置檔案目錄:

OpenFire 安裝文檔

當然,修改檔案之前備份一下檔案是一個良好的習慣,是以先備份一下

OpenFire 安裝文檔
OpenFire 安裝文檔

用vim編輯器修改檔案内容如下:

OpenFire 安裝文檔

注意<interface></interface>中填寫目前伺服器的名稱(openfires1、openfires2等,不同的機器的配置是不一樣的)

3、關閉防火牆(由于openfire 叢集涉及到不同機器之間的通信,防火牆可能會過濾掉這些端口之間的通信,先關掉,跑通以後在開啟)

OpenFire 安裝文檔

4、按照如上1-3步驟分别修改其他OpenFire機器的配置

5、啟動openfire(每個用戶端要分别啟動)

OpenFire 安裝文檔

6、别在浏覽器打開三個Server的管理頁

http://192.168.32.128:9090/

http://192.168.32.131:9090/

http://192.168.32.132:9090/

選擇伺服器-》Clustering->Enabled

OpenFire 安裝文檔

重新開機openfire以後在重新登入該網頁,看到如下資訊,恭喜你,叢集配置成功

OpenFire 安裝文檔

2.5 其他說明

2.5.1 OpenFire的開啟關閉等指令

/opt/openfire/bin/openfire start|stop|restart|status

分别代表Openfire的啟動|關閉|重新開機|目前狀态指令

2.5.2 安裝telnet工具進行調試

1、安裝telnet-server(注意:需要root權限)

OpenFire 安裝文檔

2、安裝telnet相關的用戶端(注意:需要root權限)

OpenFire 安裝文檔

3、預設情況下telnet是關閉的,需要開啟,有如下兩種方式:

一、使用chkconfig指令直接開啟

OpenFire 安裝文檔

二、直接修改配置檔案

将disable = yes 改為 disable = no

OpenFire 安裝文檔
OpenFire 安裝文檔

4、重新開機xinetd,激活telnet服務

OpenFire 安裝文檔

5、關閉防火牆(每個OpenFire都要關閉,這裡是為了防止防火牆把openfire通信的端口給過濾掉了,後面再介紹如何開啟)

OpenFire 安裝文檔

6、測試不同OpenFire之間是否能通信(出現如下資訊,辨別openfires3分别能與openfires1和openfires2之間進行通信了,當然也可以在其他機器上連openfires3,5701是openfire叢集通信的一個端口,退出telnet的指令是Ctrl + ] ,再輸入close指令就能關閉連接配接)

OpenFire 安裝文檔
OpenFire 安裝文檔

2.5.3 防火牆開啟情況

1、開啟防火牆

OpenFire 安裝文檔

2、在openfires1機器上通過telnet連接配接openfires3的5701端口時,發現不能連接配接,原因是openfires3的防火牆直接把通路該端口的請求給pass掉了

OpenFire 安裝文檔

3、解決上述問題的方法是開啟對5701端口的通路

OpenFire 安裝文檔

儲存一下:

OpenFire 安裝文檔

重新開機防火牆讓修改生效:

OpenFire 安裝文檔

再檢視防火牆狀态

OpenFire 安裝文檔

可以看到多了如下一條記錄,表示可以通路5701端口了

OpenFire 安裝文檔

再次在openfies1上用telnet通路openfires3的5701端口,就可以連上了

OpenFire 安裝文檔

2.5.4 防火牆指令

OpenFire 安裝文檔
OpenFire 安裝文檔
OpenFire 安裝文檔