如何在Ubuntu 16.04 LTS上设置Openfire XMPP服务器

Openfire是一种免费的开源XMPP服务器,已广泛部署在企业和组织中以提供实时协作。

在本文中,我将指导您在Ubuntu 16.04 LTS x64服​​务器实例上安装Openfire。

先决条件

  • 新鲜的Vultr Ubuntu 16.04 LTS x64服​​务器实例。假设其IP地址为203.0.113.1
  • 一个sudo的用户
  • 已使用将该服务器实例更新为最新的稳定状态apt
  • 服务器实例的主机名,域名,FQDN已设置为openfireexample.comopenfire.example.com分别。

安装OpenJDK 8 Java Runtime Environment

作为Java小程序,Openfire需要Java Runtime Environment 1.7或更高版本。openjdk-8-jre如下安装OpenJDK 8 Java Runtime Environment :

sudo apt install openjdk-8-jre -y

安装了OpenJDK 8 JRE后,请使用以下命令确认结果:

java -version

输出将类似于以下内容:

openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.16.04.2-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

最后,您需要设置JAVA_HOME环境变量:

echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profile

下载并安装最新的Openfire Debian软件包

官方的Openfire下载页面上,找到指向Openfire Debian软件包的最新稳定版本的直接下载URL。

接下来,下载并重命名Openfire 4.2.2 Debian软件包:

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

安装Openfire:

sudo apt install ~/openfire_4.2.2_all.deb -y

Openfire将安装在/var/lib/openfire目录中。

最后,启动Openfire服务,并使其在启动时自动启动:

sudo systemctl start openfire.service
sudo systemctl enable openfire.service

为Openfire设置外部MariaDB数据库

Openfire可以与嵌入式数据库或外部数据库一起使用。为了获得更好的性能,您可以按照此步骤中的说明设置外部数据库。如果嵌入式数据库适合您,请跳过此步骤。

安装最新的稳定版MariaDB:

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo apt install mariadb-server mariadb-client -y

注意: 在安装过程中,系统将提示您多次输入MariaDB根用户的新密码。由于我们稍后将设置此密码,因此暂时跳过这些提示。

启动MariaDB服务,并使其在启动时自动启动:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

确保MariaDB的安装:

sudo /usr/bin/mysql_secure_installation

出现提示时,请回答以下问题:

  • 输入root的当前密码(不输入密码):只需按 ENTER
  • 设置root密码?[是/否]:Y
  • 新密码: your-MariaDB-root-password
  • 重新输入新的密码: your-MariaDB-root-password
  • 删除匿名用户?[是/否]:Y
  • 禁止远程root登录?[是/否]:Y
  • 删除测试数据库并访问它?[是/否]:Y
  • 现在重新加载特权表?[是/否]:Y

使用MySQL Shell为Openfire创建专用的数据库:

mysql -u root -p

在MySQL Shell中,使用以下命令创建数据库,openfire数据库用户openfireuser及其密码yourpassword

CREATE DATABASE openfire;
CREATE USER 'openfireuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON openfire.* TO 'openfireuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

设置Openfire XMPP服务器

您需要先9090通过修改防火墙规则来打开端口,然后才能在其Web界面上设置Openfire XMPP服务器:

sudo ufw allow 9090
sudo ufw enable

接下来,将您的浏览器http://203.0.113.1:9090指向开始安装过程。

在“ Welcome to Setup”页面上,选择您的语言,然后单击“ Continue”按钮。

在“ Server Settings”页面上,输入XMPP域名example.com和服务器主机名(FQDN)openfire.example.com,其他字段保持不变,然后单击“ Continue”按钮。

在“ Database Settings”页面上,选择“ Standard Database Connection”选项,然后单击“ Continue”按钮。

在“ Database Settings - Standard Connection”页面上,如下输入设置,保持其他选项不变,然后单击“ Continue”按钮。

  • 数据库驱动程序预设: MySQL
  • JDBC驱动程序类: com.mysql.jdbc.Driver
  • 数据库URL: jdbc:mysql://localhost:3306/openfire?rewriteBatchedStatements=true
  • 用户名: openfireuser
  • 密码: yourpassword

在“ Profile Settings”页面上,选择“ Default”选项,然后单击“ Continue”按钮。

在“ Administrator Account”页面上,输入[email protected]两次管理员电子邮件地址和新密码,然后单击“ Continue”按钮。如果单击“ Skip This Step”按钮,则必须使用默认密码admin

在“ Setup Complete!”页面上,单击“ Login to the admin console”按钮以完成设置并跳至“ Openfire Administration Console”登录页面。您应该使用之前设置的用户名admin和新密码登录。可以在此页面上微调其他设置。



Leave a Comment

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。