Tigase手動安裝過程
公司要做一個IM系統,現階段人力資源很有限。產品、研發、測試目前就我一個人。跟領導溝通後決定先採用開源原件tigase先解決有無問題,後續人員到位後進行重構。本文主要介紹生產環境下tigase的安裝問題(此次安裝是在測試機器中進行,但是周邊環境近似生產環境)。
網上已有很多Tigase的安裝文件,Tigase官方文件(英文)也很詳細。但是我還是要再寫一下安裝過程,主要原因是網上的安裝文件基本都是在特別簡單的環境中進行安裝的過程,細節不夠豐富;Tigase官方文件內容和方式很多,也很詳細,但是對於新手閱讀準備時間較長,此外英文讀起來相對困難,一不小心會遺漏細節(原版文件隨著版本的更新,有些錯誤的地方)。
tigase官方文件有很多安裝方式,但是在真實的生產環境下,GUI等方式並不適用。linux伺服器需要透過ssh方式連線,中間有堡壘機,研發人員拿不到linux使用者的密碼(Web安裝方式在某些步驟需要輸入root密碼,該方式也不一定適用)。DBA要掌握資料庫管理許可權,一般也不會給資料庫使用者提供超級管理員許可權,埠也可能不是預設埠(tigase如果用mysql資料庫,個別儲存過程需要此許可權。DBA提供的使用者密碼往往很複雜,含有特殊字元,也需要進行特殊處理)。因此在初步研究後,開始了tigase的安裝。安裝大概花了1天半時間,期間各種趟坑。
安裝環境
環境 | 版本 |
作業系統 | CentOS release 6.5 (Final) |
資料庫 | MySQL 5.6.23 |
tigase server | 7.1.0 |
JDK | 1.8 |
一、硬體伺服器作業系統
運維團隊負責上架,作業系統CentOS release 6.5 (Final)。 感謝 蓋益
兩臺機器 bw-test-ab-v01,bw-test-ab-v02(暫時不可訪問,運維團隊跟進)
原計劃在兩臺上部署tigase叢集,結果有一臺不可使用,方案果斷改成先單機部署(以後再上叢集部署方法)。
二、資料庫
DBA團隊負責安裝資料庫 MySQL 5.6.23,安裝在bw-test-ab-v01伺服器。感謝 盛亮、畢常奇
資料庫安裝在bw-test-ab-v01
具體引數如下 使用者:tigasedb_test 密碼:r#xxxxxxx09H^jTQ%p 埠:3324 地址:10.xxx.90.194 (用x隱去敏感資訊)
三、JDK安裝
1、在usr目錄下建立java安裝目錄
cd /usr
mkdir java
2、複製檔案jdk-8u112-linux-x64.tar.gz 到/usr/java 目錄(java目錄需要提前建立)
3、解壓jdk到當前目錄
tar -zxvf jdk-8u112-linux-x64.tar.gz得到資料夾jdk1.8.0_112
4、建立快捷連線(節省目錄長度)
ln -s /usr/java/jdk1.8.0_60/ /usr/jdk
5、編輯配置檔案,配置環境變數
vim /etc/profile
檔案末尾新增如下內容:
JAVA_HOME=/usr/jdk
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
6、執行命令配置生效
source /etc/profile
四、Tigase伺服器安裝
1、準備tigase伺服器檔案
將tigase-server-7.1.0-b4379-dist-max.tar.gz 檔案複製到bw-test-ab-v01 機器的 /usr目錄。解壓縮 tar -xzvf tigase-server-7.1.0-b4379-dist-max.tar.gz ,將得到的目錄重新命名為tigase。 tigase伺服器的安裝目錄為 /usr/tigase。
2、修改tigase.conf (/usr/tigase/etc目錄中) 中 JAVA_HOME=/usr/jdk (JDK安裝路徑)。
3、初始化資料庫
(1)在/usr/tigase目錄執行命令 mysql -h 10.xxx.90.194 -P 3324 -utigasedb_test -p'r#xxxxxxx09H^jTQ%p'; (密碼用由於有特殊字元,需要用''括起來,另外發現mysql -h localhost -P 3324 -utigasedb_test -p'r#xxxxxxx09H^jTQ%p'; 連不上資料庫,可能跟資料庫安裝方式相關)
(2)官方文件Prepare the MySQL Database for the Tigase Server章節有一堆資料庫賬號授權過程,我這邊DBA估計已經做了相關工作了,此步驟略過。
(3)初始化資料庫表結構
mysql> use tigasedb;(切換當前資料庫)
分別執行如下5條語句
mysql> source database/mysql-schema-7-1-schema.sql; (這一條檔名官方文件寫出錯了 )
mysql> source database/mysql-pubsub-schema-3.2.0.sql;
mysql> source database/mysql-socks5-schema.sql;
mysql> source database/mysql-schema-7-1-sp.sql (官方文件遺漏此條,如果不執行,tigase server無法正常啟動)
mysql> source database/mysql-schema-7-1-props.sql (不確定是否必須執行)
注意:在執行mysql-schema-7-1-sp.sql語句時,由於DBA提供的賬號沒有SUPER許可權(一般DBA都不會給),出現如下錯誤
ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
經排查,是mysql-schema-4-sp.sql檔案中的TigGetDBProperty函式沒有建立成功,果斷聯絡DBA給開了許可權,將此函式的creat語句單獨執行了一遍,成功。
(4)配置資料庫UTF-8支援。DBA給的庫已經是該編碼了,忽略。
4、修改init.properties檔案。配置如下
config-type=--gen-config-def
--admins=admin@bw-test-ab-v01.dns.guazi.com
--virt-hosts=bw-test-ab-v01.dns.guazi.com
--debug=server
--comp-name-1=http
--comp-class-1=tigase.http.HttpMessageReceiver
--user-db=mysql
--user-db-uri=jdbc:mysql://10.xxx.90.194:3324/tigasedb?user=tigasedb_test&password=r#xxxxxxx09H^jTQ%25p&useUnicode=true&characterEncoding=UTF-8
http/setup/admin-credentials=admin:tigase
注意幾個點:
(1)virt-hosts配什麼
tigase有一個安裝方式 Installation Using Web Installer,才用此方式,中間某一步,tigase會自動讀出虛擬主機名字。這個方式我不詳細講了。
virt-hosts值跟具體的網路環境有關,更多細節未來再描述。我用的方法,透過兩個linux命令
cat /etc/resolv.conf 得到dns.guazi.com
hostname 得到bw-test-ab-v01
拼接起來搞定。(之前我在windows上配置tigase7.0.4的時候,是修改了一下hosts檔案,設定127.0.0.1為test@org,最後hosts貌似配的機器名)
(2)user-db-uri的配置
由於資料庫密碼中含有'%'需要轉碼, '%'需要改為 '%25' 配置為r#I7Gk9sn09H^jTQ%25p 。否則tigase連不上資料庫
(3)admins配置
此時,tigase資料庫中還沒有使用者,這裡配置admin@bw-test-ab-v01.dns.guazi.com為管理員,等到伺服器裝好後,註冊admin@bw-test-ab-v01.dns.guazi.com使用者,該使用者預設就會具有管理員許可權。當然可以配置多個管理員。
(4)http/setup/admin-credentials=admin:tigase 是透過Web方式安裝的初始賬戶和密碼,我沒有將它刪掉。
5、啟動tigase伺服器
按照以上步驟,完成了Tigase伺服器配置,在/usr/tigase目錄下執行 ./scripts/tigase.sh start 即可啟動伺服器。觀察日誌logs/tigase-console.log 和 logs/tigase.log.0 沒有報錯。伺服器安裝完畢。訪問 正常。
四、註冊使用者
訪問地址ui,能看到註冊按鈕,理論上就可以註冊使用者使用了。但是我裝的tigase-server-7.1.0-b4379這個版本此功能竟然無法使用(註冊使用者沒反應,資料庫中也沒有成功),目前我還不確定是我安裝問題,還是這個版本的什麼bug。
怎麼解決呢?透過資料庫直接註冊使用者。
在Navicat(我連線資料庫的客戶端),執行命令 call TigAddUserPlainPw('test1@bw-test-ab-v01.dns.guazi.com', 'test1'); 成功註冊使用者test1@bw-test-ab-v01.dns.guazi.com,密碼test1。 在註冊一個admin@bw-test-ab-v01.dns.guazi.com使用者(管理員)。
檢查資料庫表tig_users,使用者註冊成功。
五、使用
我是用的Psi軟體,兩個使用者能夠正常使用。同時透過Psi軟體能夠註冊新使用者。更多使用細節,以後再聊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31556438/viewspace-2284421/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- selenium安裝過程
- webpack的安裝過程Web
- 【一】TYPORA安裝過程
- 安裝wampserver的過程Server
- 配置ks.cfg實現自動安裝過程
- RabbitMQ安裝過程詳解MQ
- 原始碼包安裝過程原始碼
- windows7安裝redis過程WindowsRedis
- VisualStudio(Mac)安裝過程筆記Mac筆記
- Python 3安裝IPython過程分享Python
- Oracle 18c rpm 安裝及解析安裝過程Oracle
- App 啟動過程(含 Activity 啟動過程) | 安卓 offer 收割基APP安卓
- Visual Studio 2010詳細安裝過程
- mysql5.7.23安裝詳細過程MySql
- 使用pip安裝selenium過程筆記筆記
- Ubuntu 16.04 安裝 MySQL 8.0 全過程UbuntuMySql
- nuxtjs 安裝過程中出現問題UXJS
- CentOS7下PostgreSQL安裝過程CentOSSQL
- 秒搞VirtualBox 、CentOS 的安裝過程CentOS
- android apk安裝過程原始碼解析AndroidAPK原始碼
- redhat 5.4下安裝MYSQL全過程RedhatMySql
- ubuntu 12.10 php55安裝過程UbuntuPHP
- 快速手動安裝 msyql
- nvidia驅動安裝過程中報已有nouveau驅動錯誤解決
- atom-package 安裝緩慢,手動安裝Package
- PYTORCH安裝過程以及遇到的問題PyTorch
- Webpack安裝配置及打包詳細過程Web
- 記錄NLTK安裝使用全過程--pythonPython
- ESXI 6.7 系統安裝詳細過程
- 安裝yeoman,grunt過程中的問題
- Nebula 2.5.0安裝過程及遇到的坑
- WSL 2 的安裝過程(以及介紹)
- centos7安裝的詳細過程CentOS
- 手動安裝ROS2ROS
- CentOS 8 停止維護後透過 rpm 包手動安裝 dockerCentOSDocker
- SQL Server 2000詳細安裝過程及配置SQLServer
- SQL Server 2005詳細安裝過程及配置SQLServer
- Visual Studio 2013安裝及番茄助手配置過程