您的位置:首页 > 数据库 > SQL

openfire+mysql部署聊天系统和视频会议系统

2020-09-08 10:14 1086 查看

Openfire 是一款基于XMPP协议的及时通讯工具,采用java编写,具有丰富的插件扩展功能,插件中比喻视频会议meetting等插件,视频客户端支持web浏览器方式,无需任何插件。
openfire具有丰富的客户端spark,oneteam等客户端,并支持windows 和linux 系统
openfire支持统一身份认证AD 和openldap来管理,本次介绍的主要是本地身份证认证模式

查看cnetos版本
cat /etc/redhat-release
修改主机名:hostnamectl set-hostname xmpp
安装wget yum install -y wget
安装vim yum install -y vim
安装epel源
yum install -y epel-release
wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
修改yum源为阿里云
第一步:备份原镜像文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
第二步:下载CentOS-Base.repo 到/etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum clean all
yum makecache

永久关闭 selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
停止防火墙systemctl stop firewalld

正式开始安装openfire,openfire是java写的,所以你懂的,目前最新版本是需要jdk1.8
JDK下载地址:https://www.oracle.com/java/technologies/javase-downloads.html
解压tar -zxvf jdk-8u251-linux-i586.tar.gz
环境变量设置vim /etc/profile/
注意yum 安装jdk不需要设置
#set java env
export JAVA_HOME=/usr/local/jdk1.8.0_251
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

使生效source /etc/profile
安装glibc yum install glibc.i686

java -version

##############################################################################################

一,下载并安装openfire服务端程序

下载openfire 地址http://www.igniterealtime.org/projects/openfire/index.jsp
我们一RPM形式安装RPM包 rpm -ivh openfire-4.5.2-1.x86_64.rpm
也可以使用tar.gz包安装,不过要自己创建service.openfire启动项,我们这里就用RPM包安装,安装的目录自动到/opt/openfire/文件中,

systemctl enable openfire 开机启动
systemctl start openfire 启动程序
systemctl status openfire 查看程序状态

查看openfire状态并且以网页形式登录9090端口是否可用,

二,安装mysql5.7数据库,openfire支持多种数据库,可以在/opt/openfire/resources/database中查看

Centos7 安装 mysql5.7
添加MySQL Yum存储库
从官网下载最新的mysql源
官网地址:https://dev.mysql.com/downloads/repo/yum/ 
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
使用以下命令安装下载的发行包
-Uvh:升级软件包
rpm -Uvh mysql80-community-release-el7-3.noarch.rpm --force --nodeps ##升级软件包不验证签名
选择发行版本,进行安装
使用MySQL Yum存储库时,默认情况下会选择要安装的最新GA版本MySQL。如果这是您想要的,则可以跳到下一步。
默认情况下,默认启用最新GA系列(当前为MySQL 8.0)的子存储库,而所有其他系列(例如,MySQL 5.7系列)的子存储库均被禁用。使用此命令可查看MySQL Yum存储库中的所有子存储库,并查看已启用或禁用了哪些子存储库。
列出所有版本
yum repolist all | grep mysql
发现8.0版本是enabled的,5.7版本是disabled的
这里我们需要安装5.7版本的,所以把8.0的进行禁用,然后再启用5.7版本
安装 工具 yum -y install yum-utils
先禁用8.0版本:
yum-config-manager --disable mysql80-community

安装yum-config-manager
yum -y install yum-utils
然后启用5.7版本
yum-config-manager --enable mysql57-community

安装
yum install mysql-community-server

启动
systemctl start mysqld.service

systemctl status mysqld.service
查看初始密码
grep 'temporary password' /var/log/mysqld.log
也可以在/etc/my.cnf 设置跳过密码
skip-grant-tables
更新密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'P@ssw0rd';
Query OK, 0 rows affected (0.00 sec)
查看mysql5.7用户登录策略,只能本地登录
select user,host from mysql.user;

创建用户admin并赋予所有IP都可以登录
mysql> create user 'admin'@'%' identified by 'P@ssw0rd123456';
Query OK, 0 rows affected (0.00 sec)
给admin用户授权所有权限
mysql> grant all privileges on . to 'admin'@'%' identified by 'P@ssw0rd123456' with grant option;
Query OK, 0 rows affected, 1 warning (0.01 sec)
查看用户权限SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

删除用户DROP USER 'lij'@'%';

查看字符集
show variables like '%collation_%';
show variables like '%characterset%';

修改数据库配置文件vim /etc/my.cnf

修改后查看字符集

创建数据库openfire 字符集为utf8
CREATE DATABASE openfire DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

导出旧的mysql数据库数据;
查看数据库位置

导出数据库openfire 到/home目录
mysqldump -u root -p openfire > /home/openfire.sql

导入数据库
[root@xmpp opt]# mysql -u root -p openfire < /opt/openfire.sql
Enter password:

导入数据库成功后利用工具查看数据库表格数据是否存在

三,openfire 连接数据库操作,登录openfire控制台9090端口,按照提示选择语言和数据库类型

如图所示注意修改2个地方,数据库服务器地址和数据库名称,我这里数据库在本地,数据库名称为openfire

输入控制台管理员账户和密码后完成设置

四,openfire配置介绍

4.1登录管理界面后,可以先对openfire进行配置管理,显示openfire版本,安装目录,java版本,主机名,操作系统等

4.2客户端连接服务器的端口

4.3是否允许用户自动注册,一般企业由管理员创建

4.4客户端管理,这里可以通过一个插件更方便管理客户端的动作,如是否允许通过客户端传输文件和图片,是否允许删除和修改组,插件名称为   Client Control

4.5  我们一般需要创建本地用户群组和用户,创建新用户并把用户放到用户群组中去,这里有一个小技巧,默认数据库是不支持用户名和用户群组中文名称,我们需要把这2个表修改为中文字符集,或者创建数据库的时候修改

ofGroup 和ofUser 字符集支持中文,就可以创建中文群组和用户啦

修改方法:当然是登录数据库,然后修改表格字符集

mysql> alter table ofUser convert to character set utf8;           <strong>#将数据表的编码方式改成utf8</strong>

alter table ofGroupProp convert to character set utf8;

4.6  openfire 其他辅助扩展插件功能

4.6.1 统计表插件Monitoring Service 用于统计当前现在人数等状态和客户端活动频率,

4.6.2  档案文件用于 记录用户之间聊天记录

4.6.3   视频会议meetings   插件openfire meetings  主要用于本地化部署的视频会议,此为web网页形式进行的视频通话,支持firefox和chrome 浏览器,会主动调用笔记本音频和摄像头设备,访问地址https://xxx.xxx.xxx.x:7443/ofmeet 这个视频会议系统 实际就是openmeet/jitsi,  进入后登陆openfire中创建的用户名密码认证,输入对应的房间号就可以通话啦

4.6.4  还有很多插件可以适用,根据自己内部环境安装,可以支持在线安装,前提是你openfire这台服务器有外网权限, 不过一般会安装失败,因为插件网站在国外http://www.igniterealtime.org/projects/openfire/index.jsp

丢包有点严重,一般建议找国际互联网专线 下载插件,然后本地上次插件方式。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: