1.前言
本文檔是簡單介紹XMPP、openfire、spark。以及如何配置一個以openfire為服務器,spark為客戶端的一個局域網聊天網。其中openfire服務器的構架在linux上架構的,我所使用的linux版本是虛擬機上安裝的ubuntu 8.04。本文檔不準備介紹linux的基礎知識,所以本文檔假設讀者都是在linux上有一定開發經驗,能夠熟練使用linux各種命令的用戶,能夠熟練的使用vim、創建數據庫、導入導出表、起停服務、安裝軟件等的操作。Spark客戶端是在windows上的應用程式,只需要簡單的安裝。關於XMPP以及其他的方面的詳細介紹文檔,請參閱我的其他文檔,本文檔關注的重點是如何配置服務器和客戶端。
2.什麽是XMPP
XMPP(Extensible Messaging and Presence Protocol,可擴展消息處理現場協議)是基於可擴展標記語言(XML)的協議,它的前稱是jabber,它用於即時消息(IM)以及在線現場探測,它在促進服務器之間的準即時操作,這個協議可能最終容許因特網用戶向因特網上的其他人發送即時消息,即使其操作系統和瀏覽器不同。
3.什麽是openfire
Openfire采用java開發,開源的實時協作服務器,基於XMPP協議。使用它可以輕易的構建高效的即時通訊服務器。
4.什麽是spark
Spark是一個開源的,跨平臺的IM客戶端。它的特性支持集組聊天,電話集成和強大的安全性能。
5.openfire服務器端的配置
5.1簡介
Jabber服務器軟件有很多,具體可以參考jabber官方網站的列表,jabber的官方網站地址:http://www.jabber.org。
Openfire也有linux、windows和MAC的不同版本,軟件需要java環境支持。Windows上可以直接下載exe文件,直接運行即可。Linux上有三種辦法來安裝:
1.Red Het Linux上可以下載rpm包來安裝(適用于red hat系列);
2.Ubuntu上可以下載deb包來安裝;
3.使用源碼包安裝,下載openfire_3_6_4.tar.gz來安裝(需要自己配置java環境)。
我所使用的是第三種方法。
5.2前提條件
1.以下配置過程全部在root權限下配置,請切換到root權限下操作。
2.下載的源碼包是不帶java環境的,需要自行安裝java環境,需要的java環境必須是java5以上版本,可以使用(aot-get install sun-java5-jdk)命令來安裝,并設置好java的環境變量。
3.安裝mysql,可以使用(apt-get install mysql-server)命令來安裝。
4.以下使用的openfire的版本是3.6.4。
5.3安裝和配置openfire
將下好的tar.gz文件解壓
#tar –xzvf openfire_3_6_4.tar.gz
#move openfire /opt
啟動openfire:
#cd /opt/openfire/bin
#./openfire
#./openfire start
5.4配置數據庫
進入數據庫并創建一個數據庫(openfire):
#mysql –u root –p password
Mysql>create database openfire; (創建一個叫openfire的數據庫)
Mysql>grant all on openfire.* to openfire@hostname identified by “123456”;(這一步是可選的,也不用設置,這步的目的只是給一個訪問openfire的權限,這樣就不用root權限去訪問openfire了)
Mysql>quit
導入openfire需要的表:
#mysql openfire < /opt/openfire/resource/database/openfire_mysql.sql
你可以到數據庫中查看新建的數據庫以及各表,具體的命令就不再列出來了。
在瀏覽器中輸入http://IP:9090或者http://hostname:9090,即可進入openfire服務器的設置。具體設置過程如下:
5.5設置openfire服務器
1.選擇語言
2.服務器設置:選擇域以及端口,建議默認
3.數據庫設置:根據需求,我所選的是“標準數據庫”
4.標準數據庫設置
這裡選擇mysql,數據庫的url裡面就填寫數據庫的地址。其中用戶名和密碼,可填寫mysql的root權限,如果5.4步中已經為openfire數據庫分配過權限的話,也可以填寫在5.4中為openfire分配的訪問權限。其他保持默認。
5.特性設置:如果你不打算用LDPA,保留默認
6.管理員帳戶設置:填入管理員密碼
7.完成安裝
8.登陸到控制臺進行更多的設置
注意賬號是:admin 密碼是上面你所設置的密碼。
安裝過程基本上沒有什麽困難和異常情況。如果你所使用的版本和我使用的版本一致的話,可能遇到無法登陸到openfire的控制臺的情況,它會一直提醒你賬號密碼錯誤,即使你敢肯定輸入的密碼就是你剛剛設置的密碼。我也沒有找到具體的原因,google了一下,據說是這個版本的bug,不過沒有關係,我來帶你解決這個問題。
進入數據庫:
#mysql –u root –p password
Mysql>show databases; 查看所有的數據庫,可以看到openfire這個數據庫
Mysql>use openfire; 使用openfire這個數據庫
Mysql>show tables; 查看所有的表,你可以看到ofUser表,這個表即存儲所有用戶的用戶信息的表。
Mysql>select * from ofUser; 看到表中的全部信息。可以看到用戶admin,但是密碼是加密之後的密碼,是無法得知的。
Mysql>update ofUser set plainPassword=’123456’, encryptedPassword=null where username=’admin’; 修改原始密碼,將admin的密碼改為‘123456’或者其他。
Mysql>quit 完成,退出數據庫
#reboot 重啟ubuntu(我也不知道為什麽要重啟,嘗試了很多次沒有重啟之前,問題還是存在,重啟后就好了)
再次啟動你的openfire,然後通過瀏覽器打開openfire的頁面,輸入賬號密碼,賬號為:admin 密碼為剛才數據裡面設置的”123456”,這次應該能進去了吧,哈哈o(∩_∩)o…。下面就可以到openfire的服務器裡面進行更詳細的配置,享受openfire給我們帶來的服務吧。
6.客戶端的安裝
1.安裝spark,選擇windows版本的spark,因為安裝比較簡單,直接點擊exe文件的圖標即可安裝,按照提示完成安裝。安裝完成運行即出現spark的界面:
2.選擇高級出現如下界面
填入你剛配置的openfire的服務器的地址,設置完成后,點擊確定。
3.選擇帳戶來創建帳戶
這裡的服務器還是輸入上面配置的openfire的服務器的IP地址。輸入完成后點擊創建帳戶即可完成創建帳戶。
完成后你就可以使用剛創建的帳戶來登陸spark了,這樣一個聊天網路即可配置成功了。
7.遇到的問題以及解決
本文檔是我經過我成功配置完成后寫下的,如果按照本文檔配置的話,基本上沒有什麽問題,在我配置的過程中出現過如下兩個問題,都已經解決。
如果遇到上面提到的無法登陸到控制臺的話,請使用上面我介紹的方法來解決問題,如果還不可以的話請換個版本的openfire嘗試一下或者google一下。
如果遇到開機后用瀏覽器打開openfire網頁的時候出現錯誤“Home not found”那是由於conf中openfire.xml的權限問題,此時只需要將openfire的服務關閉,切換到root權限下重新把openfire的服務起起來即可。也可以google一下,也會有解決方法,不過我沒有驗證過。