基于开源jabber(XMPP)架设内部即时通讯服务的解决方案
Jabber?是著名的即時通訊服務服務器,它是一個自由開源軟件,能讓用戶自己架即時通訊服務器,可以在Internet上應用,也可以在局域網中應用。
????XMPP(可擴展消息處理現場協議)是基于可擴展標記語言(XML)的協議,它用于即時消息(IM)以及在線現場探測。它在促進服務器之間的準即時操作。這個協議可能最終允許因特網用戶向因特網上的其他任何人發送即時消息,即使其操作系統和瀏覽器不同。XMPP的技術來自于Jabber,其實它是 Jabber的核心協定,所以XMPP有時被誤稱為Jabber協議。Jabber是一個基于XMPP協議的IM應用,除Jabber之外,XMPP還支持很多應用。下面就是如何架設內部即時通訊服務的步驟:
第一步:安裝Jabber服務器軟件
Jabber服務軟件有很多,具體可以參考jabber官方網站的列表:
Jabber官網地址:http://www.jabber.org/
常用Jabber服務器軟件:http://www.jabber.org/software/servers.shtml
其中最為方便安裝搭建的無疑是Openfire(Wildfire),一款基于GPL協議開源軟件,Openfire有linux、windows和MAC的不同版本,軟件需要java環境支持,不過軟件本身自帶了環境包,你可以根據你的需要下載不同的版本。
下載地址:http://www.igniterealtime.org/downloads/index.jsp#openfire
最新版本:Openfire 3.3.2
1、Windows版本安裝方法:
下載:openfire_3_3_2.exe帶java環境版本
安裝:直接運行安裝文件,程序默認安裝至c:\Program Files\Openfire
運行:\bin\openfire.exe
?
2、Linux/Unix版本安裝方法
如果使用rpm包安裝,下載:openfire-3.3.2-1.i386.rpm
運行:
#rpm -ivh openfire_3_0_0.rpm
默認安裝路徑位于:/opt/openfire
使用源碼包安裝,下載:?openfire_3_0_0.tar.gz(不帶java環境,請自行安裝)
#tar -xzvf openfire_3_0_0.tar.gz
# mv openfire /opt
啟動方法:
#/opt/openfire/bin/openfire.sh
第二步:配置jabber服務器
Openfire(Wildfire)支持完全的web安裝,如果你在本地按安裝只需要在瀏覽器中輸入http://localhost:9090(遠程服務器為http://你的服務器地址:9090)即可開始即時通訊服務器配置。
(1)語言選擇:中文簡體
?
(2)服務期設置:選擇域及端口,建議默認
?
(3)數據庫設置:根據需要,這里選“標準數據庫”
?
(4)標準數據庫設置:選擇MySQL,數據庫URL填入你的數據庫地址,端口和數據庫名稱(請自行創建),用戶名密碼填入你的mysql的帳號密碼,其他更具需要選擇填寫。繼續之后會在你的mysql中創建表并初始化。
?
(5)特性設置:如果你不打算用LDAP,保留默認
?
(6)管理員帳戶設置:填入系統管理員信息
?
(7)安裝完成
?
至此,Openfire安裝完畢。你可以繼續登錄到管理控制臺,進行更為詳細的設置。
?
第三步:Jabber客戶端安裝配置
支持Jabber有很多很好的客戶端軟件,官方推薦的有:
| 平臺 | 建議客戶端 |
| Windows | Exodus,?Pandion,?Psi,?Spark |
| Linux | Gajim,?Gossip,?Kopete,?Pidgin,?Psi,?Spark,?Tkabber |
| Macintosh | Adium,?iChat,?Psi,?Spark |
更多的列表請參考:http://www.jabber.org/software/clients.shtml
這里我們建議使用Spark,因為Spark和Openfire能夠很好的相互支持,可說黃金組合。軟件下載地址:http://www.igniterealtime.org/downloads/index.jsp#spark
目前最新的版本為:2.5.4(6月22日發版)
(1)下載for windows的版本,安裝比較簡單。
??
(2)選擇高級選項:服務器填入你的服務器地址,端口為5222
?
(3)注冊一個新帳號:服務器參照前文填寫
?
(4)注冊成功后,開始登錄。
?
(5)登陸后界面
?
現在你就可以和局域網內其擁有jabber帳號的用戶通訊了
注:Spark官方并沒有中文漢化版本,關于Spark的漢化,請參考松鼠的blog,地址:http://blog.csdn.net/squirrelme
基于jabber/xmpp即時通訊服務器OpenFire的客戶端Spark的中文漢化包
第四步:Jabber連接與MSN、ICQ等IM通訊
Jabber最有優勢的就是其通信協議,可以和多種即時通訊對接。比如有第三方插件,能讓jabber用戶和MSN 、Yahoo Messager、ICQ等IM用戶相互通訊。因為Google遵從jabber協議,并且Google已經將Gtalk的服務器開放給了其它的Jabber服務器。所以PSI、Giam等Jabber客戶端軟件支持GTalk用戶登陸。
使用Openfire+Spark的組合也可以實現這個功能,下面具體介紹
(1)下載Openfire網關插件IM Gateway,下載地址:
http://www.igniterealtime.org/forum/servlet/JiveServlet/download/59-27104-149490-2743/gateway.jar
下載一個名為gateway.jar的文件,該文件為Openfire的插件,Openfire通過這個插件實現與其他IM的通訊。
(2)安裝gateway
Gateway的安裝非常簡單,你只需要把gateway.ja拷貝到openfire/plugins目錄下,重啟Openfire服務,即可安裝成功。
(3)配置gatway
安裝成功后,打開Openfire的后臺管理(例如:http://localhost:9090),即可看到gateway的安裝選項(目前沒有中文版),如圖:
?
在你需要激活的服務上打勾即可。
(4)重新用Spark登錄Openfire,你會發現你的Spark多了一些選項。填入你的msn帳號和密碼,就可登錄MSN了。
?
上面就是內容全部,祝您好運。
?
服務器端
[root@localhost mysql]# tar -zxvf openfire_3_6_0a.tar.gz
[root@localhost mysql]# mv openfire /opt
[root@localhost mysql]# /opt/openfire/bin/openfire start
mysql> create database chart;
mysql> grant all privileges on *.* to?wang@'%'?identified by 'wang' with grant option;
?
客戶端?Spark?下載
http://www.igniterealtime.org/downloads/index.jsp#spark
---------------------------------------------------------
參考文當:http://blog.sina.com.cn/s/blog_561da4c501008t39.html
?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的基于开源jabber(XMPP)架设内部即时通讯服务的解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2015人脸检测研究进展
- 下一篇: 视频直播技术详解(5)延迟优化