本文介绍如何通过 APT(高级软件包工具)在 Debian 或 Ubuntu 系统上安装和更新自托管 UniFi Network 服务器,以使用当前稳定版本。如果您在按照本文所述流程操作时遇到问题,请查看此处提供的脚本,以安装和更新 UniFi Network 应用程序。

要求

要通过 APT 更新 UniFi Network 服务器,您需要使用 Linux 文本编辑器 vinano 创建源文件,或编辑现有 sources.list 文件中的行。软件源结构应保持不变;如果发生任何变化,会在 Community 的版本发布部分中的 UniFi Network 软件版本发布文章中说明。

升级 UniFi Network 服务器之前,请确保已备份 UniFi Network 数据库。您还需要确保用户拥有 sudo 权限。有关将用户添加到 sudo 列表的更多信息,请参阅这篇 Debian 文章

Ubuntu 或基于 Debian 的脚本

请参阅这篇 Community 文章

UniFi Network APT 步骤

  1. 开始前,使用以下命令安装所需软件包:sudo apt-get update && sudo apt-get install ca-certificates apt-transport-https
  2. 使用以下命令添加新的软件源列表:echo 'deb [ arch=amd64,arm64 ] https://www.ui.com/downloads/unifi/debian stable ubiquiti' | sudo tee /etc/apt/sources.list.d/100-ubnt-unifi.list
  3. 添加 GPG 密钥。
    1. 将以下受信任密钥安装到 /etc/apt/trusted.gpg.dsudo wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ui.com/unifi/unifi-repo.gpg
  4. 安装正确版本的 MongoDB。
    1. 全新安装 UniFi: 运行以下命令:echo "deb [trusted=yes] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list sudo apt-get update 注意: 根据您的 Linux 发行版,可能不需要执行此步骤。如果您的发行版不包含 MongoDB,且其软件源中也没有提供 MongoDB,请参阅 MongoDB 安装指南(Ubuntu | Debian)。
    2. 现有安装(UniFi Network v 7.5 或更高版本): 跳过此步骤。
    3. 现有安装(UniFi Network v 7.4 或更早版本): 请参阅 MongoDB 帮助文章,了解将 MongoDB 更新到 v 3.6 或更高版本的说明。
  5. 使用以下命令安装和升级 UniFi Network 应用程序:sudo apt-get update && sudo apt-get install unifi -y
  6. 现在,您应该可以在浏览器地址栏中输入计算机配置的本地或公共 IP 地址,访问 UniFi Network 应用程序(建议使用 Chrome)。如果应用程序未启动,请使用以下命令:sudo service unifi start

使用上述命令时,默认您已安装 sudowget。有关 sudo 的更多信息,请参阅此处;有关 wget 的信息,请参阅此处

其他有用命令

  • 停止 UniFi 服务:sudo service unifi stop
  • 重启 UniFi 服务:sudo service unifi restart
  • 查看 UniFi 服务状态:sudo service unifi status
  1. 可点击此处查看可能的套件名称和代号。
    注意:我们强烈建议使用稳定版本。

    “Testing” 指尚未向公众发布的下一代版本。“Stable” 指当前稳定版本,由 Ubiquiti 提供支持,本文也对此进行了介绍。“Old Stable” 指以前的稳定版本,该版本已被新的稳定版本取代。

    套件名称 代号 已归档的代号
    oldstable unifi-5.10 这些代号已归档,不再受支持
    stable unifi-5.11
    testing * unifi3, unifi4, unifi-5.3, unifi-5.4, unifi-5.5, unifi-5.6, unifi-5.7, unifi-5.8, unifi-5.9

    *Testing 目前为空

日志文件位置

日志文件对于排查问题至关重要。日志文件位于:

  • /usr/lib/unifi/logs/server.log
  • /usr/lib/unifi/logs/mongod.log

如果您的应用程序运行在基于 Unix/Linux 的系统上,则需要超级用户(sudo)权限才能访问这些日志文件。

注意事项和提示

  1. 这些注意事项由用户协作补充。单击以展开。
    • 这篇 Community 文章 分享了一些脚本,可用于在近期版本的 Ubuntu 或 Debian 上安装和更新 UniFi Network 应用程序。
    • 如果您在虚拟机或无头服务器中安装,可能会遇到熵问题。这可能表现为服务启动或重启缓慢,甚至服务完全失败。解决方法是安装 haveged。这是一个介绍相关主题的教程外部链接。
    • 从 UniFi Network v 5.6.x 开始,UniFi 服务不再以 root 身份运行。这意味着您无法绑定特权端口(< 1024)。如果尝试使用这些端口,应用程序将无法启动。 
    • 以下内容适用于 APT v 1.5 及更高版本(Ubuntu 17.10 以及 Debian Sid 或更高版本)。最新版本的 apt-secure 手册页指出:“从 v 1.5 开始,Release 文件中有关软件源的信息发生变化时,需要先确认,APT 才会继续从该软件源应用更新”,这意味着从一个主要版本更新到下一个主要版本时(例如从 5.5.x 更新到 5.6.x),apt-get update 将产生错误。
      • 要解决此问题,请按以下方式运行命令: apt-get update --allow-releaseinfo-change
      • 如果收到指出该命令无法与其他选项组合使用的错误,用户反馈执行以下两个命令可以解决问题:运行 apt clean 并按 Enter,然后运行 apt-get update 并按 Enter。
    • 在 Debian 和 Ubuntu 上安装时,UniFi Network 应用程序作为服务运行,因此不会提供 GUI。请使用 service 命令启动、停止和重启 UniFi Network 应用程序。
    • 如果您在 DNS 服务器上看到以下错误,某位用户报告称,强制系统使用 8.8.8.8 作为 DNS 服务器,而不是使用其 ISP 提供的 DNS 服务器,可以解决此问题。
    • 目前 Ubiquiti 不支持 arm 64,因此软件源中不提供该版本。您需要下载并手动安装。
    • 添加 GPG 密钥,方法 B: 来源:外部链接中,对于处于严格防火墙之后的用户,以下命令可用于导入 GPG 密钥:

      apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 06E85760C0A52C50

    • 由于依赖 Java 8,使用 UniFi Network 5.7.X 时可能需要执行一些额外步骤。详情请参阅这篇 Community 文章
    • 在早于 16.04 的 Ubuntu 中,命令 apt-get 为 apt