在Ubuntu 20.04上安装OpenFire XMPP聊天服务器
XMPP(可扩展消息传递和状态协议)是即时通讯的广泛采用的开放协议。
OpenFire是一个可自由的使用和强大的即时消息(IM)服务器,它使用XMPP/Jabber协议。
本文将集中在Ubuntu 20.04 Linux机器上设置OpenFire XMPP聊天服务器
以下是OpenFire提供的一些很酷的功能:LDAP Integration SupportMysql,Oracle,PostgreSQL和嵌入式数据库支持用户详细信息和按摩存储。
支持SecurityA批次插件的TLS和SSL,以扩展其函数Web GUI配置ManagersPark IM客户端集成Clustering避免单点与其他外部IM服务器一起失败
以下是在Ubuntu 20.04上安装和配置OpenFire XMPP聊天服务器的标准步骤。
第1步:更新系统
确保我们正在进行更新版本的Ubuntu Linux。
sudo apt update
升级已安装的包是可选的。
sudo apt upgrade
如果执行操作系统升级,则需要重新启动:
sudo systemctl reboot
第2步:在Ubuntu 20.04上安装OpenFire XMPP服务器
下载OpenFire最新软件包。
我们将在本文中安装的版本为4.5.2.
wget https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4.5.2_all.deb -O openfire.deb
已下载OpenFire Debian软件包后,使用APT命令安装它:
sudo apt install ./openfire.deb
按键盘中的Y键接受安装提示。
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 2017-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> Jan 23 17:10:43 ubuntu systemd[1]: Starting LSB: Start/stop openfire jabber server... Jan 23 17:10:43 ubuntu openfire[1784]: best java alternative in: Jan 23 17:10:43 ubuntu openfire[1784]: Starting openfire: openfire. Jan 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 Hyman@theitroad IDENTIFIED BY 'Hyman@theitroad!'; FLUSH PRIVILEGES; QUIT
导入OpenFire数据库架构:
$mysql -u openfire -p'Hyman@theitroad!' 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界面。
在第一个提示中选择安装语言:
选择默认语言,然后单击"继续"。
在服务器设置窗口中,设置域,然后单击"继续"按钮。
有关数据库设置,请选择"标准数据库连接"。
如果我们不想使用MySQL数据库,我们可以使用嵌入式数据库。