在Ubuntu 20.04上安装Openfire XMPP聊天服务器

这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。

将指南下载为PDF


这是续集。

这是续集。
这是续集。

最近的一篇文章介绍了如何安装和配置Ejabberd XMPP服务器。 XMPP(可扩展消息传递和在线状态协议)是一种广泛用于即时消息传递的开放协议。 Openfire是使用XMPP / Jabber协议的功能强大的免费即时消息(IM)服务器。本文重点介绍在Ubuntu 20.04 Linux计算机上设置Openfire XMPP聊天服务器。

以下是Openfire提供的一些出色功能:

  • LDAP集成支持
  • MySQL,Oracle,PostgreSQL和嵌入式数据库支持用户详细信息和消息存储。
  • 同时支持TLS和SSL以确保安全
  • 许多插件扩展功能
  • Web GUI配置管理器
  • Spark IM客户端集成
  • 聚类以避免单点故障
  • 与其他外部IM服务器集成

以下是在Ubuntu 20.04上安装和配置Openfire XMPP聊天服务器的标准步骤。

步骤1:更新系统

确保您正在使用Ubuntu Linux的更新版本。

sudo apt update

升级已安装的软件包是可选的。

sudo apt upgrade

执行操作系统升级时,需要重新启动。

sudo systemctl reboot

第2步:在Ubuntu 20.04上安装Openfire XMPP服务器

下载 最新包装。本文安装的版本是4.5.2。

wget https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4.5.2_all.deb -O openfire.deb

下载Openfire debian软件包后, 适当 命令:

sudo apt install ./openfire.deb

按下以接受安装提示。 ÿ 键盘键。

The following additional packages will be installed:
  ca-certificates-java default-jre-headless fontconfig-config fonts-dejavu-core java-common libavahi-client3 libavahi-common-data libavahi-common3
  libcups2 libfontconfig1 libjpeg-turbo8 libjpeg8 liblcms2-2 libnspr4 libnss3 libpcsclite1 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxext6
  libxi6 libxrender1 libxtst6 openjdk-11-jre-headless x11-common
Suggested packages:
  default-jre cups-common liblcms2-utils pcscd libnss-mdns fonts-dejavu-extra fonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei
  | fonts-wqy-zenhei fonts-indic
The following NEW packages will be installed:
  ca-certificates-java default-jre-headless fontconfig-config fonts-dejavu-core java-common libavahi-client3 libavahi-common-data libavahi-common3
  libcups2 libfontconfig1 libjpeg-turbo8 libjpeg8 liblcms2-2 libnspr4 libnss3 libpcsclite1 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxext6
  libxi6 libxrender1 libxtst6 openfire openjdk-11-jre-headless x11-common
0 upgraded, 28 newly installed, 0 to remove and 0 not upgraded.
Need to get 41.3 MB/80.5 MB of archives.
After this operation, 230 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

在系统启动时启动并启用openfire服务。

sudo systemctl enable --now openfire

检查服务是否正在运行。

$ systemctl status openfire
● openfire.service - LSB: Start/stop openfire jabber server
     Loaded: loaded (/etc/init.d/openfire; generated)
     Active: active (running) since Sat 2020-05-23 17:10:43 CEST; 2min 41s ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 32 (limit: 4567)
     Memory: 199.9M
     CGroup: /system.slice/openfire.service
             └─1800 /bin/java -server -DopenfireHome=/usr/share/openfire -Dlog4j.configurationFile=/usr/share/openfire/lib/log4j2.xml -Dopenfire.lib.di>

May 23 17:10:43 ubuntu systemd[1]: Starting LSB: Start/stop openfire jabber server...
May 23 17:10:43 ubuntu openfire[1784]: best java alternative in:
May 23 17:10:43 ubuntu openfire[1784]: Starting openfire: openfire.
May 23 17:10:43 ubuntu systemd[1]: Started LSB: Start/stop openfire jabber server.

步骤3:为Openfire XMPP服务器配置数据库支持

它使用MariaDB数据库存储消息数据。使用以下命令安装MariaDB数据库服务器:

sudo apt update
sudo apt -y install mariadb-server

创建一个openfire数据库。

$ sudo mysql -u root
CREATE DATABASE openfire;
GRANT ALL PRIVILEGES ON openfire.* TO [email protected] IDENTIFIED BY '[email protected]!';
FLUSH PRIVILEGES;
QUIT

导入Openfire数据库架构。

$ mysql -u openfire -p'[email protected]!'
USE openfire;
source /usr/share/openfire/resources/database/openfire_mysql.sql;

列出并验证数据库中的表。

MariaDB [openfire]> SHOW tables;
+----------------------+
| Tables_in_openfire   |
+----------------------+
| ofExtComponentConf   |
| ofGroup              |
| ofGroupProp          |
| ofGroupUser          |
| ofID                 |
| ofMucAffiliation     |
| ofMucConversationLog |
| ofMucMember          |
| ofMucRoom            |
| ofMucRoomProp        |
| ofMucService         |
| ofMucServiceProp     |
| ofOffline            |
| ofPresence           |
| ofPrivacyList        |
| ofProperty           |
| ofPubsubAffiliation  |
| ofPubsubDefaultConf  |
| ofPubsubItem         |
| ofPubsubNode         |
| ofPubsubNodeGroups   |
| ofPubsubNodeJIDs     |
| ofPubsubSubscription |
| ofRemoteServerConf   |
| ofRoster             |
| ofRosterGroups       |
| ofSASLAuthorized     |
| ofSecurityAuditLog   |
| ofUser               |
| ofUserFlag           |
| ofUserProp           |
| ofVCard              |
| ofVersion            |
+----------------------+
33 rows in set (0.001 sec)

步骤4:配置防火墙并访问Openfire UI

如果您有活动的防火墙服务,请使用Openfire端口。

for i in 9090 9091 5222 7777; do sudo ufw allow $i; done

使用IP地址或服务器主机名和端口9090访问服务器的Openfire Web界面。在第一个提示下,选择安装语言。

选择默认语言, 继续。 在服务器设置窗口中, 单击继续按钮。

在Ubuntu 20.04上安装Openfire XMPP聊天服务器

对于数据库设置, 标准数据库连接..

您也可以使用 嵌入式数据库 如果您不想使用MySQL数据库。

在Ubuntu 20.04上安装Openfire XMPP聊天服务器

这些是我使用的参数:

  • 数据库驱动程序预设:的MySQL
  • JDBC驱动程序类: com.mysql.jdbc.Driver
  • 数据库URL:jdbc:mysql://127.0.0.1/openfire? useUnicode = true characterEncoding = UTF-8和characterSetResults = UTF-8
  • 用户名:
  • 密码: [email protected]!

这是我的截图。

在Ubuntu 20.04上安装Openfire XMPP聊天服务器

点击 继续 使用默认选项进行配置文件设置。您可以稍后添加外部身份验证机制 LDAP

在Ubuntu 20.04上安装Openfire XMPP聊天服务器

设置管理员用户的电子邮件地址和密码。

在Ubuntu 20.04上安装Openfire XMPP聊天服务器

登录到下一页的Openfire控制台。

在Ubuntu 20.04上安装Openfire XMPP聊天服务器

享受使用Openfire的乐趣。

在Ubuntu 20.04上安装Openfire XMPP聊天服务器

这是续集。
这是续集。

这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。

将指南下载为PDF


这是续集。

这是续集。
这是续集。

Sidebar