Linux搭建XMPP伺服器Tigase(Spark用戶端測試),xmpptigase
Tigase是一個基於Java開發的XMPP伺服器,類似於Openfire,可用於搭建一個即時通訊(Instant Messaging,簡稱IM)的平台。
1、準備
在安裝Tigase之前,首先需要準備Java環境以及資料庫(本文使用MySQL)。
Tigase下載:https://projects.tigase.org/projects/tigase-server/files
下載:tigase-server-5.2.2-b3463-dist-max.tar.gz,並解壓縮檔案:
wget https://projects.tigase.org/attachments/download/1604/tigase-server-5.2.2-b3463-dist-max.tar.gz
tar zxvf tigase-server-5.2.2-b3463-dist-max.tar.gz -C /tigase
PS:還可以下載tigase-server-5.2.2-b3464.jar進行自動化安裝,運行java -jar tigase-server-5.2.2-b3464.jar可以通過GUI安裝介面來安裝,運行java -jar tigase-server-5.2.2-b3464.jar -console可以通過控制台自動化安裝。這兩種安裝方式本文不再介紹,本文使用tigase-server-5.2.2-b3463-dist-max.tar.gz手動安裝。
2、修改設定檔
需要修改兩個設定檔:etc/tigase.conf、etc/init.properties。
開啟etc/tigase.conf檔案,找到配置項:JAVA_HOME="${JDKPath}",將其修改為Java的主目錄:JAVA_HOME=" /java/jdk1.7.0_67"。
開啟etc/init.properties檔案,檔案中的初始內容:
config-type=--gen-config-def
--admins=admin@$HOST_NAME
--virt-hosts = $HOST_NAME
--debug=server
將檔案中的$HOST_NAME改為IP地址或主機名稱,另外,在檔案中還要加上資料庫的配置:
config-type=--gen-config-def
--admins=admin@192.168.20.128
--virt-hosts = 192.168.20.128
--debug=server
--user-db=mysql
--user-db-uri = jdbc:mysql://127.0.0.1:3306/tigasedb?user=root&password=123456
jdbc:mysql://127.0.0.1:3306/tigasedb?user=root&password=123456是串連MySQL資料庫的URI,其中127.0.0.1是資料庫的主機地址,3306是連接埠號碼,tigasedb是資料庫名,root是使用者名稱,123456密碼。
3、建立資料庫
方法一:
運行scripts/db-create-mysql.sh指令碼:
./scripts/db-create-mysql.sh root 123456 tigasedb root 123456 127.0.0.1
參數中root是資料庫使用者名稱,123456是資料庫密碼,tigasedb是資料庫名,127.0.0.1是資料庫主機地址。
注意sh指令碼一定要在tigase解壓後的主目錄中運行,否則會報以下錯誤:
Loading schema
./db-create-mysql.sh: line 83: database/mysql-schema-5-1.sql: No such file or directory
方法二:
除了運行scripts/db-create-mysql.sh指令碼外,也可以直接執行database/mysql-schema-5-1.sql檔案來建立資料庫:
mysql -h127.0.0.1 -uroot -p123456
mysql> create database tigasedb;
mysql> use tigasedb;
mysql> source database/mysql-schema-5-1.sql
資料庫建立完成後,進入MySQL查看是否建立成功:
4、啟動Tigase伺服器
執行scripts/tigase.sh啟動Tigase伺服器:
./scripts/tigase.sh start etc/tigase.conf
啟動後可以去查看以下logs/tigase-console.log看是否有異常,例如以下的異常說明5222連接埠號碼被佔用:
另外,如果想關閉Tigase伺服器可以執行:
./scripts/tigase.sh stop etc/tigase.conf
5、用Spark測試Tigase伺服器
伺服器啟動成功後,用XMPP用戶端Spark來測試Tigase伺服器。
開啟Spark,註冊一個新使用者,伺服器即為Tigase伺服器的主機名稱或IP地址,和etc/init.properties中的--virt-hosts配置項一致。
建立成功後,直接登入即可。
另外再開一個Spark,建立另一個使用者並登入,新增連絡人...,並用兩個Spark相互聊天來測試Tigase伺服器是否正常工作。
PS:Windows下貌似只能開啟一個Spark,實際上只要把Spark程式檔案夾再拷貝一份,從裡面開啟Spark,就可以開啟多個Spark了。
參考文檔:http://docs.tigase.org/tigase-server/5.3.0/adminguide/#_manual_installation_in_console_mode
作者:叉叉哥 轉載請註明出處:http://blog.csdn.net/xiao__gui/article/details/40891667