本页内容
- 环境要求
- 配置软件仓库
- 安装 Passbolt 密码管理器
- 确保服务正常运行
- 从客户端配置 Passbolt
- 总结
Passbolt 是一款基于 PHP、MySQL 和 OpenPGP 的自由开源密码管理器。它是一个自托管的应用程序服务器,你可以将其安装在自己的服务器上。Passbolt 主要面向团队设计,但你也可以将其用作个人密码管理器。
Passbolt 构建于 OpenPGP 之上,并带有可扩展的 API。在客户端,你可以使用 Passbolt 浏览器扩展,它通过 OpenPGP.js 提供加密功能。在服务器端,Passbolt 使用 GnuPG PHP 扩展和 OpenPGP-php 来执行密钥验证和用户认证。Passbolt 使用 GPGAuth 协议进行用户认证。
本教程将向你展示如何在 AlmaLinux 9 服务器上使用 MariaDB 数据库服务器和 Nginx Web 服务器安装 Passbolt 密码管理器。
环境要求
在开始本指南之前,请确保你具备以下条件:
- 一台 AlmaLinux 9 服务器 —— 本演示使用主机名为 almalinux9 的服务器。
- 一个具有 root/管理员权限的非 root 用户。
- 一个解析到服务器 IP 地址的域名。
- 已生成的 SSL/TLS 证书 —— 你可以使用 Letsencrypt 和 Certbot。
配置软件仓库
Passbolt 是一款灵活的密码管理器,可安装在多种平台上。你可以在虚拟机上安装 Passbolt,或通过 Docker 以容器方式、通过 Kubernetes 以 Pod 方式安装。
通常你会在 AlmaLinux 虚拟机上安装 Passbolt 密码管理器。为此,你必须先将 Passbolt 软件仓库添加到系统中。
运行以下 dnf 命令将 wget 软件包安装到你的系统。
sudo dnf install wget -y

现在,运行以下 wget 命令下载 Passbolt 仓库设置脚本及其 SHA512SUM 文件。
wget https://download.passbolt.com/ce/installer/passbolt-repo-setup.ce.sh
wget https://github.com/passbolt/passbolt-dep-scripts/releases/latest/download/passbolt-ce-SHA512SUM.txt
然后,请运行以下命令验证 Passbolt 仓库设置脚本的完整性,并运行该脚本将 Passbolt 仓库添加到你的系统。
sudo export LC_ALL=en_EN.UTF-8
sha512sum -c passbolt-ce-SHA512SUM.txt && sudo bash ./passbolt-repo-setup.ce.sh || echo "Bad checksum. Aborting" && rm -f passbolt-repo-setup.ce.sh
添加 Passbolt 仓库后,你的终端会显示如下输出。

安装 Passbolt 密码管理器
添加 Passbolt 仓库后,你将开始安装并配置 Passbolt 密码管理器。
本节重点介绍如何安装 Passbolt CE(社区版),使用 MariaDB 数据库服务器进行配置,并通过 SSL 和 Nginx Web 服务器保护 Passbolt 的安全。
运行以下 dnf 命令将 passbolt-ce-server 软件包安装到你的系统。
sudo dnf install passbolt-ce-server
当提示出现时,输入 y 确认安装并按 ENTER。

再次输入 y 以接受来自 EPEL 和 Passbolt 仓库的 GPG 密钥。
图片
安装 passbolt-ce-server 后,运行 passbolt-configure 命令开始配置 Passbolt。该命令将启动 Passbolt 密码管理器的设置向导。
sudo /usr/local/bin/passbolt-configure
输入 y 以添加 GPG 密钥。

首先,系统会提示你设置 MariaDB 数据库服务器。
- 输入 y 并按 ENTER 确认安装 MariaDB 服务器。
- 输入 MariaDB root 用户的新密码并重复确认。
- 为密码输入新的 MariaDB 用户。
- 输入 passbolt 用户的密码并重复确认。
- 输入 passbolt 将使用的数据库名称。
在下面的示例中,你将创建用于 Passbolt 安装的新 MariaDB 用户和数据库密码。

现在,输入 y 确认并安装 haveged,以提升生成 GPG 密钥或 SSL/TLS 证书的速度。

接下来,输入你的 Passbolt 安装所用的域名。本演示将使用域名 pb.howtoforge.local 进行安装。

现在系统会要求你为 Passbolt 安装配置 SSL。你可以使用不同的方式来配置 SSL:手动提供 SSL 证书的完整路径,或通过 Letsencrypt 自动生成 SSL 证书。
本示例将使用手动方式为 Passbolt 配置 SSL。
- 输入数字 1 以使用手动方式。
- 输入 SSL 公钥的完整路径。
- 输入 SSL 私钥的完整路径。
MariaDB 服务器安装应该会开始。

Passbolt 配置完成后,你应该会看到如下输出:

至此,Passbolt 密码管理器的配置已完成。
确保服务正常运行
完成前面的步骤后,你应该已经让 Passbolt 配合 MariaDB 数据库和 Nginx Web 服务器运行起来了。
接下来,你将验证 MariaDB、PHP-FPM 和 Nginx 服务,以确保它们正在运行。同时,你还要确保 HTTP 和 HTTPS 协议已添加到 firewalld。
运行以下命令以确保 MariaDB、PHP-FPM 和 Nginx 服务已启用。输出 enabled 表示服务已启用,并将在系统启动时自动启动。
sudo systemctl is-enabled mariadb
sudo systemctl is-enabled php-fpm
sudo systemctl is-enabled nginx
现在运行以下 firewall-cmd 命令验证 firewalld 规则列表。确保规则列表中包含 HTTP 和 HTTPS 协议。
sudo firewall-cmd --list-all

如果在 firewalld 规则中没有看到 HTTP 和 HTTPS 协议,请使用以下命令将这两种协议添加到 firewalld:
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload
最后,运行以下 systemctl 命令以确保 MariaDB、PHP-FPM 和 Nginx 服务正在运行。
sudo systemctl status mariadb nginx php-fpm
如果服务正在运行,终端上将显示 active (running) 的结果。

从客户端配置 Passbolt
确认 MariaDB、PHP-FPM 和 Nginx 服务正在运行后,你将开始从客户端机器配置 Passbolt。你需要一个 Web 浏览器以及对应浏览器的 Passbolt 扩展。
首先,打开你的 Web 浏览器并安装适用于该浏览器的 Passbolt 扩展。
Passbolt for Firefox。Passbolt for Google Chrome/Chromium。
访问 Passbolt 安装的域名(即:https://pb.howtoforge.local/),你应该会看到 Passbolt 的欢迎信息。
点击 Get Started 按钮开始安装。

现在 Passbolt 设置向导将检查安装所需的系统环境。确保所有检查项都已就绪,然后点击 Start Configuration 按钮。

接下来,输入 Passbolt 的 MariaDB 数据库配置信息。在本演示中,数据库主机为 localhost,数据库用户和数据库名称均为 passbolt,然后输入你之前创建的密码。
点击 Next 继续。

输入用于生成 Passbolt GPG 密钥的服务器名称或域名以及电子邮件地址信息。再次点击 Next 确认并继续。

对于 SMTP 配置,输入你的 SMTP 服务的服务器名称信息并点击 Next。你也可以在配置完成后再设置 SMTP。

现在输入名字、姓氏和电子邮件地址,以创建 Passbolt 的管理员用户。然后点击 Next 继续。

Passbolt 密码管理器的安装应该会开始进行。

安装完成后,并且 Passbolt 浏览器扩展也已安装,你会被重定向到设置 Passbolt 口令的界面。你必须牢记这个口令,因为它是你 Passbolt GPG 密钥的口令。
点击 Next 继续。

现在密钥恢复工具包会自动下载到你的本地机器,文件名为 passbolt-recovery-kit,它是你 Passbolt 安装的 GPG 密钥的私钥。再次点击 Next 继续。

为你的新 Passbolt 会话选择安全令牌,然后点击 Next 完成安装。

Passbolt 安装完成后,你应该会看到如下的 Passbolt 用户仪表盘。

总结
大功告成!你已经在 AlmaLinux 9 服务器上完成了使用 MariaDB 数据库服务器、Nginx Web 服务器和 PHP-FPM 的 Passbolt 密码管理器的安装。现在你可以将 Passbolt 用作日常密码管理器,或者为 Passbolt 搭建额外的 SMTP 服务器,并在你的组织或内部伙伴中使用 Passbolt。