本教程适用于以下操作系统版本
- Ubuntu 22.04(Jammy Jellyfish)
- Ubuntu 20.04(Focal Fossa)
本页内容
- 准备工作
- 配置软件仓库
- 安装 Passbolt CE(Community Edition)
- 配置 MySQL 数据库和用户
- 配置 Nginx Web 服务器
- 从客户端配置 Passbolt
- 总结
Passbolt 是一款基于 PHP、MySQL 和 OpenPGP 构建的免费开源密码管理器。它是一个自托管的应用服务器,你可以安装在自己的服务器上。Passbolt 主要面向团队设计,但你也可以将其用作个人密码管理器。Passbolt 构建于 OpenPGP 之上,并提供了可扩展的 API。在客户端,你可以使用 Passbolt 浏览器扩展,它通过 OpenPGP.js 提供加密功能。在服务器端,Passbolt 使用 GnuPG PHP 扩展和 openpgp-php 来执行密钥验证和用户认证。Passbolt 使用 GPGAuth 协议进行用户认证。
在本指南中,你将在 Ubuntu 22.04 服务器上安装并配置 Passbolt 密码管理器。你还将学习如何将 Passbolt 与你的浏览器集成配置。
准备工作
要完成本指南,你需要一台运行 Ubuntu 22.04 的服务器,且该服务器应为纯净或全新的系统。你还需要一个具备 sudo 权限的非 root 用户,并启用 UFW 防火墙。对于生产环境,你还需要将域名解析到服务器 IP 地址,并提前生成 SSL 证书。
现在让我们开始安装 Passbolt。
配置软件仓库
Passbolt 是一款密码管理器,可安装在多种 Linux 发行版上,也可以通过 Docker 以容器化方式安装。
安装 Passbolt 有多种方式,在本示例中,你将通过官方 Passbolt 软件仓库进行安装。
现在运行以下命令下载 Passbolt 仓库的设置脚本。该脚本会自动在你的 Ubuntu 系统上配置 Passbolt 仓库。
curl -O https://raw.githubusercontent.com/passbolt/passbolt-dep-scripts/main/passbolt-repo-setup.ce.sh
接下来,运行以下命令验证 Passbolt 脚本的完整性。然后执行该 Passbolt 脚本,开始添加 Passbolt 仓库。
[ "$(sha256sum passbolt-repo-setup.ce.sh | awk '{print $1}')" = "6a378dd2c021dbbfe25b5dba08949f81df62605babc64d4a07a5fb91b8cbd347" ] && sudo bash ./passbolt-repo-setup.ce.sh || echo "Bad checksum. Aborting" && rm -f passbolt-repo-setup.ce.sh
添加 Passbolt 仓库后,你将看到如下输出中的配置信息。你会看到类似“passbolt repository setup is finished”的提示信息,此时就可以开始安装 Passbolt 密码管理器了。

安装 Passbolt CE(Community Edition)
Passbolt CE(Community Edition)的仓库已添加,现在你可以安装 Passbolt 了。在此过程中,还会安装运行 Passbolt 所需的其他软件包,例如 LEMP 套件(Nginx、MySQL 和 PHP-FPM)。
简单来说,该软件包只是一个用于安装 Passbolt 密码管理器及所有必需依赖项的安装脚本。
运行以下 apt 命令安装 'passbolt-ce-server' 软件包。
sudo apt install passbolt-ce-server
当提示确认安装时,按 Y 然后回车继续。

现在安装过程中,系统会要求你配置系统。包括以下配置项:
- 配置 MySQL 数据库和用户。
- 配置 Nginx server block(虚拟主机)。
- 配置 SSL 证书以保障 Passbolt 安装的安全。
配置 MySQL 数据库和用户
在第一个提示中,系统会要求你在本地 MySQL 服务器上创建数据库。
选择 Yes 并按回车。

现在你需要提供 MySQL root 用户和密码。在本例中,MySQL 服务器由 Passbolt 安装脚本自动安装,因此默认的 MySQL 用户为 'root',且没有密码。
输入 MySQL 用户 root 并选择 Ok。

对于 MySQL root 管理员密码,留空并选择 Ok。

现在是时候为 Passbolt 创建新的数据库和用户了。
对于将用于 Passbolt 的数据库用户,你可以更改为自己的用户名,或保留默认的 'passboltadmin',然后选择 Ok。

输入 MySQL 用户 'passboltadmin' 的密码。该密码也将用于 Passbolt 数据库。

重复输入密码并选择 Ok。

接下来,输入 Passbolt 的新数据库名称并选择 Ok。将创建的默认数据库为 'passboltdb'。

至此,你已通过 Passbolt 软件包自动完成了 Passbolt 的 MySQL 数据库和用户配置。请务必记下刚刚创建的数据库信息,下一步在配置 Passbolt 时会用到。
在下一个提示中,系统会要求你配置 Passbolt 密码管理器的 Nginx。
配置 Nginx Web 服务器
在下一阶段,系统会提示你为 Passbolt 安装配置 Nginx。
选择 Yes 以开始配置 Nginx Web 服务器。

现在系统会要求你设置 Nginx 安装方式。共有三个选项:none、manual 和 auto。
- none:仅配置 Nginx server block,不设置 SSL 证书。
- manual:配置 Nginx server block,并使用你手动提供的 SSL 证书。
- auto:配置 Nginx server block,并通过 Let's Encrypt 自动设置 SSL 证书。
在本示例中,我们将演示使用 "manual" 配置并手动输入 SSL 证书路径。因此,选择 "manual" 并移动到 Ok 确认。

现在输入 Passbolt 安装的域名并选择 Ok。在本示例中,将使用域名 "passbolt.howtoforge.local"。

接下来,输入 SSL 公钥证书的路径并选择 Ok。

现在输入 SSL 证书的私钥并选择 Ok。

安装完成后,你将看到类似下图的输出。你的 Passbolt 密码管理器已可通过域名访问。

从客户端配置 Passbolt
至此,你已通过安装程序完成了 Passbolt 的安装。Passbolt 现在以 MySQL 作为数据库、Nginx 作为 Web 服务器运行,并已启用 SSL 证书。
现在打开 Web 浏览器,访问你的 Passbolt 安装域名(例如:https://passbolt.howtoforge.local/)。
你将看到 Passbolt 安装页面。点击 "Get Started" 按钮开始配置 Passbolt。

现在安装程序将检查你的环境是否满足安装要求。如果环境已就绪,你将看到类似 "Nice one! Your environment is ready for passbolt" 的信息。
点击 "Start configuration" 按钮。

现在你需要填写 MySQL 数据库、用户和密码信息。然后点击 "Next"。
此处使用的数据库是在 Passbolt 安装过程中创建的。因此,请务必填写正确的数据库配置信息。

现在你需要设置用于 Passbolt 的 OpenPGP 密钥。如果你已生成 OpenPGP 密钥,可以导入它,也可以生成一个新的 OpenPGP 密钥。
在本示例中,你将生成一个新的 OpenPGP 密钥,因此请填写相关信息,然后点击 "Next" 继续。

现在你需要设置 SMTP 服务器配置。当你想邀请他人加入 Passbolt 时会用到。
如果你在组织/公司生产环境中运行 Passbolt,建议配置正确的 SMTP 服务器。但如果你只是在本地环境中测试或使用 Passbolt,也可以输入一个占位的 SMTP 服务器配置。
再次点击 "Next" 继续。

在其他选项部分,输入 Passbolt 安装的域名详情。然后,在 "Force SSL?" 选项上选择 "Yes",以强制用户通过安全的 HTTPS 连接访问。
点击 "Next" 为 Passbolt 设置管理员用户。

输入将作为 Passbolt 管理员的第一个用户的详细信息。填写 Passbolt 管理员的名字(First name)、姓氏(Lastname)和用户名(Username),然后点击 "Next"。

现在 Passbolt 配置将开始进行。完成后,你将看到类似下图的输出。

Passbolt 配置完成后,你需要下载适用于你浏览器的 Passbolt 扩展。安装程序会自动检测你当前使用的浏览器,并提供 Passbolt 扩展的下载链接。
下载并安装 Passbolt 浏览器扩展后,你将跳转到新页面以创建 Passbolt 密码短语(passphrase)。
为你的 Passbolt 输入一个强密码短语,然后点击 Next。

现在你将获得自动下载到本地电脑的恢复工具包密钥。请务必将 Passbolt 恢复工具包保存在安全的地方。
再次点击 Next 继续。

为你的 Passbolt 账户选择一个随机安全令牌,然后再次点击 Next。

至此你已完成 Passbolt 配置,你将看到 Passbolt 用户仪表盘。

如果你进入 Users 菜单,将看到用户管理页面。现在你可以向 Passbolt 添加新用户。

至此,你已通过安装脚本在 Ubuntu 22.04 服务器上完成了 Passbolt 密码管理器的安装。现在你可以添加新用户、新增数据库密码,也可以与其他用户共享。
Passbolt 提供了多种可在你的设备上使用的客户端应用:电脑用户可以使用 Passbolt 浏览器扩展;手机用户可以使用各自对应的 Passbolt 应用——Android 用户使用 Passbolt Android 客户端,iOS 用户使用 Passbolt for iOS 版本。借助这些客户端,你可以轻松地在多个设备之间同步密码。
对于开发者,你可以使用 Passbolt 提供的 Passbolt CLI。它允许你通过命令行终端和 API 管理密码和密钥(secret)。
总结
按照本指南,你已在 Ubuntu 22.04 服务器上完成并安装了 Passbolt 密码管理器。通过本指南,你现在运行的 Passbolt 使用了 MySQL 数据库服务器和 Nginx Web 服务器。此外,你还通过 SSL 证书保障了 Passbolt 安装的安全。
如需进一步了解如何将 Passbolt 用作你的密码管理器,请查阅官方文档:https://help.passbolt.com。