本篇内容主要讲解“Tigase手动安装的详细过程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Tigase手动安装的详细过程”吧!
安装环境
环境 | 版本 |
操作系统 | 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安装
在usr目录下创建java安装目录
cd /usr
mkdir java
拷贝文件jdk-8u112-linux-x64.tar.gz 到/usr/java 目录(java目录需要提前创建)
解压jdk到当前目录
tar -zxvf jdk-8u112-linux-x64.tar.gz得到文件夹jdk1.8.0_112
建立快捷连接(节省目录长度)
ln -s /usr/java/jdk1.8.0_60/ /usr/jdk
编辑配置文件,配置环境变量
vim /etc/profile
文件末尾添加如下内容:
JAVA_HOME=/usr/jdk
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
执行命令配置生效
source /etc/profile
四、Tigase服务器安装
准备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。
修改tigase.conf (/usr/tigase/etc目录中) 中 JAVA_HOME=/usr/jdk (JDK安装路径)。
初始化数据库
(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给的库已经是该编码了,忽略。
修改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方式安装的初始账户和密码,我没有将它删掉。
启动tigase服务器
按照以上步骤,完成了Tigase服务器配置,在/usr/tigase目录下运行 ./scripts/tigase.sh start 即可启动服务器。观察日志logs/tigase-console.log 和 logs/tigase.log.0 没有报错。服务器安装完毕。访问 http://10.xxx.90.194:8080/ 正常。
四、注册用户
访问地址http://10.xxx.90.194:8080/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,用户注册成功。
到此,相信大家对“Tigase手动安装的详细过程”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!