如何在 Ubuntu 18.04 服务器上安装 Passbolt 密码管理器

Passbolt 是一个开源的自托管密码管理器,它允许您安全地共享和存储网站的登录凭据、路由器密码、Wi-Fi 密码等。本教程将向您展示如何安装 Passbolt 社区版 (CE)在 Ubuntu 18.04 上 Apache 或 Nginx 网络服务器。

Passbolt 特点

  • 免费和开源
  • 密码使用成熟的加密标准 OpenPGP 进行加密。
  • 可用于 Firefox 和 Google Chrome 的浏览器扩展。
  • 轻松与您的团队共享登录凭据,而不会影响安全性。
  • 干净,用户友好的界面。
  • 导入和导出密码。
  • 您可以手动添加登录凭据。

您可能听说过 Bitwarden 等其他自托管密码管理器,但它需要安装 Docker,因此只能在 64 位计算机上运行。 本 Passbolt 教程适用于 32 位和 64 位计算机。

在 Ubuntu 18.04 服务器上安装 Passbolt 的先决条件

Passbolt 是用 PHP 编写的,依赖于 MySQL/MariaDB 数据库服务器。 所以你需要设置一个 LAMP 堆栈或 LEMP 堆栈。 若你宁可 Apache Web 服务器,然后设置 LAMP 堆栈。

  • 如何在 Ubuntu 18.04 服务器/桌面上安装 LAMP 堆栈

如果您更喜欢 Nginx Web 服务器,则设置 LEMP 堆栈。

  • 如何在 Ubuntu 18.04 LTS 上安装 LEMP Stack(Nginx、MariaDB、PHP7.2)

您还需要一个域名,这样您就可以使用网络浏览器从任何地方访问 Passbolt。 我从 NameCheap 注册了我的域名,因为价格低廉而且他们免费提供 whois 隐私保护。

第 1 步:将 Passbolt 下载到您的 Ubuntu 18.04 服务器上

如果去官网下载Passbolt,需要输入姓名和邮箱。 如果这不是您喜欢的,那么通过在您的服务器上执行以下命令从 Github 下载最新的稳定版本。

sudo apt install git cd /var/www/ sudo git clone https://github.com/passbolt/passbolt_api.git

文件将保存在 passbolt_api 目录。 我们将其重命名为 passbolt.

sudo mv passbolt_api passbolt

然后使网络服务器用户(www-data) 作为此目录的所有者。

sudo chown -R www-data:www-data /var/www/passbolt/

更改目录。

cd /var/www/passbolt/

安装 Composer – PHP 依赖管理器。

sudo apt install composer

使用 Composer 安装依赖项。

sudo -u www-data composer install --no-dev

如果它要求您设置文件夹权限,请选择 Y.

步骤 2:为 Passbolt 创建 MariaDB 数据库和用户

现在我们需要登录到 MariaDB 控制台并为 Passbolt 创建一个数据库和用户。 默认情况下,Ubuntu 上的 MaraiDB 包使用 unix_socket 来验证用户登录,这基本上意味着您可以使用操作系统的用户名和密码登录到 MariaDB 控制台。 因此,您可以运行以下命令进行登录,而无需提供 MariaDB 的 root 密码。

sudo mysql -u root

接下来,使用以下命令为 Passbolt 创建一个新数据库。 本教程将其命名为 passbolt,您可以为数据库使用任何您喜欢的名称。 我们还指定 utf8mb4 作为支持非拉丁字符和表情符号的字符集。

CREATE DATABASE passbolt DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

以下命令将创建数据库用户和密码,同时将新数据库的所有权限授予新用户,以便稍后 Passbolt 可以写入数据库。 用您首选的数据库名称、用户名和密码替换红色文本。

GRANT ALL ON passbolt.* TO 'passboltuser'@'localhost' IDENTIFIED BY 'password';

刷新权限表并退出 MariaDB 控制台。

FLUSH PRIVILEGES;  EXIT;

第 3 步:安装必需和推荐的 PHP 模块。

运行以下命令安装 Passbolt 需要或推荐的 PHP 模块

sudo apt install php-imagick php-gnupg php7.2-common php7.2-mysql php7.2-fpm php7.2-ldap php7.2-gd php7.2-imap php7.2-json php7.2-curl php7.2-zip php7.2-xml php7.2-mbstring php7.2-bz2 php7.2-intl php7.2-gmp php7.2-xsl

然后重启 Apache. (如果使用 Nginx,则无需重启 Nginx。)

sudo systemctl restart apache2

第 4 步:生成 OpenPGP 密钥

如果您使用的是 VPS(虚拟专用服务器),建议安装 已经死了 包以产生足够的熵。

sudo apt install haveged

然后运行以下命令以生成新的密钥对。

gpg --gen-key

您将被要求输入您的姓名和电子邮件地址。 如果要求您设置密码,只需按 Tab 键并选择 OK,因为 php-gnupg 模块目前不支持使用密码。