本文介绍如何在 Debian 或 Ubuntu 系统上,通过 APT(高级包管理工具)安装或更新自行托管的 UniFi Network 服务器到当前稳定版本的步骤。如果在按照本指南操作过程中遇到问题,请参考此处提供的脚本来安装和更新 UniFi Network 应用程序。

要求

要通过 APT 更新 UniFi Network 服务器,必须使用 Linux 文本编辑器(如 vinano)新建源文件,或编辑现有 sources.list 文件的内容。软件源的结构通常是固定的,如有变更,会在社区的 UniFi Network 软件版本发布帖子、Release 版块中指出。

在升级 UniFi Network 服务器前,请确保已备份 UniFi Network 数据库。你还需要确认当前用户具备 sudo 权限。关于如何将用户添加到 sudo 列表,请参阅这篇 Debian 文章

Ubuntu 或 Debian 脚本

请参考社区帖子

UniFi Network 的 APT 步骤

  1. 在开始前,先用以下命令安装所需的软件包:
sudo apt-get update && sudo apt-get install ca-certificates apt-transport-https
  1. 使用以下命令添加新的源列表:
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
  1. 添加 GPG 密钥。
    • 方法A(推荐):将以下可信密钥安装到 /etc/apt/trusted.gpg.dsudo wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ui.com/unifi/unifi-repo.gpg
    • 方法B:使用 apt-key: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 06E85760C0A52C50
  1. 安装正确版本的 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 安装指南(Ubuntu | Debian)。

    1. 已存在的安装(UniFi Network v7.5 或更高):跳过此步骤。
    2. 已存在的安装(UniFi Network v7.4 或更低)请参考 MongoDB 帮助文档,升级到 v3.6 或更高版本的 MongoDB。
  2. 用以下命令安装或升级 UniFi Network 应用程序:
    sudo apt-get update && sudo apt-get install unifi -y
  3. 此时可通过电脑配置的本地或公网 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. 点击此处查看可用的软件套件名称及其代号说明。

    注意:我们强烈推荐始终使用 stable(稳定版)版本。

    “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. 以下内容为用户贡献整理,点击可展开查看。
    • 本社区帖子分享了用于安装和更新 UniFi Network 应用(支持最近 Ubuntu 或 Debian 版本)的脚本。
    • 如果你是在虚拟机或无头服务器上安装,可能遇到熵(entropy)不足问题,这可能导致服务启动/重启缓慢或完全失败。解决方法是安装 haveged。此处有相关教程的 外部链接
    • 自 UniFi Network 版本 5.6.x 起,UniFi 服务不再以 root 用户运行。这意味着你无法绑定到特权端口(<1024)。若尝试绑定这些端口,应用将无法启动。
    • 下面的内容适用于 APT 1.5 及以上版本(Ubuntu 17.10 或 Debian Sid 或更新版)。 apt-secure 手册最近提到:“自1.5版本起,APT 需要确认 Release 文件中存储库的信息有变更后,才会继续从该源更新”, 也就是说,主版本升级时(如5.5.x到5.6.x)运行 apt-get update 会报错
      • 修复方法:执行以下命令 apt-get update --allow-releaseinfo-change
      • 若你收到命令不被其他选项识别的错误,有用户反馈执行以下两条命令能修复:先运行 apt clean 并回车,然后 apt-get update 并回车。
    • UniFi Network 应用在 Debian 和 Ubuntu 上安装时,不带图形界面(GUI),因为它作为服务运行。请使用 service 命令启动、停止或重启 UniFi Network 应用。
    • 如在 DNS 服务器上看到如下错误,有用户建议将系统 DNS 强制设为 8.8.8.8(Google),不要用 ISP 的服务器。
    • 目前 Ubiquiti 不支持 arm64,因此该架构无法在软件仓库中获得。此时需下载安装包手动安装。
    • 关于 添加 GPG 密钥的 B 方法:来源为 外部链接。 如你处于受限防火墙环境,以下命令可用于导入 GPG 密钥:
      apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 06E85760C0A52C50
    • 由于 Java 8 的依赖,如果你使用 UniFi Network 5.7.X,可能需要额外步骤。详情参见 本社区帖子
    • apt-get 命令在 Ubuntu 16.04 以前版本中为 apt