OpenFire配置XMPP服务实现Nextcloud在线聊天

Posted by 橙叶 on Mon, Jul 17, 2017

Nextcloud/ownCloud JSXC插件

JSXC是一款用JavaScript编写的开源XMPP客户端,免去了桌面客户端的下载安装的繁琐,并且能与Nextcloud/ownCloud、SOGo有机地结合起来,提高效率。

 

安装XMPP Openfire服务

OpenFire需要Java环境的支持。安装JRE:

sudo apt-get install default-jre-headless

下载Openfire安装包并安装

http://www.igniterealtime.org/downloads/index.jsp下载Openfire

下载到服务器里之后就可以直接用dpkg安装了。

dpkg -i openfire_4.1.5_all.deb

创建数据库

Openfire需要数据库来支持,我们就地取材直接使用MySQL即可。

#登录MySQL
mysql -u root -p

#创建数据库和用户
mysql> CREATE DATABASE dbopenfire CHARACTER SET='utf8';   #创建数据库
mysql> CREATE USER 'openfire'@'localhost' IDENTIFIED BY 'openfirepwd';  #创建用户,用户名为openfire,密码为openfirewd
mysql> GRANT ALL PRIVILEGES ON dbopenfire.* TO openfire@localhost WITH GRANT OPTION; #授予权限
mysql> FLUSH PRIVILEGES;
mysql> quit

当然你也可以用phpMyAdmin之类的来创建,这个不再赘述。

Openfire的初始配置

现在,访问http://你的服务器地址:9090/ 登录到Openfire的管理页面。

1.先选择语言,openfire是支持中文的。然后点击"Continue"进入下一步。

无需修改,点击“继续”

2.配置数据库。选择“标准数据库连接”将数据库URL一栏中的[host-name]和[database-name]分别修改为localhost和openfire,也就是MySQL服务的地址和数据库openfire。然后在用户名、密码中分别填入之前设置的MySQL用户的用户名和密码。如下图。

3.配置文件设置。保持默认即可,继续。

4.设置管理员账户。

5.完成管理员账户的设置后,用管理员账户登录Openfire后台,启用Script Syntax。

好了,Openfire的配置就差不多了,当然只有一个管理员用户是无法愉快地聊天的,你可以到“用户/用户群”添加用户和群组。

创建用户群后,别忘了把用户添加到同一群组,否则是看不到对方的。

配置Apache反向代理

先激活反向代理模块

sudo a2enmod proxy proxy_http

在虚拟主机的配置文件

<VirtualHost>...</VirtualHost>

 之间加入以下内容

ProxyPass /http-bind/ http://localhost:7070/http-bind/
ProxypassReverse /httpd-bind/ http://localhost:7070/http-bind/

重启Apache

service apache2 restart

配置Nextcloud

首先到应用页面激活JavaScript XMPP Chat插件

然后进入到管理->JavaScript Xmpp Client,选择“External”,然后按下图输入配置信息。

拉到最下面,点击“Save settings”保存设置。

Enjoy it!

点击顶栏的消息气泡图标,然后在弹出的右侧边栏点击“relogin”登录。

用openfire的管理员账户或者其它账号登录:

稍等之后,就可以看到群组内的用户了。

测试

因为服务器在海外,所以交流的话会有一定延迟。

搭配Collabora Online使用,效果更佳~

 



comments powered by Disqus