自行搭建 Bitwarden 服务

文章目录

    • 1 Bitwarden 是什么
    • 2 Bitwarden 的服务端程序安装准备
      • 2.1 有自己的 VPS 或者家里有一个主机 / NAS
      • 2.2 准备一个域名和一个 SSL 证书
      • 2.3 安装 docker 和 docker-compose
      • 1.4 有一个不错的网(ti)络(zi)
    • 3 Bitwarden 服务的安装
    • 4 服务配置
    • 5 调试与使用
    • 6 客户端的使用

1 Bitwarden 是什么

能看到这篇文章的,通常已经知道 Bitwarden 是什么了。
简单讲,Bitwarden 是一个密码管理软件,主要功能包括:

  • 能够生成复杂的密码,避免你在注册的时候使用相同的、简单的密码
  • 记录你的账号、密码,并支持云同步,这些数据和通信都是经过加密的
  • 在 iOS、Android、PC 浏览器中进行集成,方便你快捷登录,而不用担心忘记密码
  • 支持加密笔记,保存你的信用卡等私密信息

更多信息可以通过 Bitwarden 官网 来了解
简单来讲就是 1Password 的竞品。而 1Password 服务需要付费,而 Bitwarden 是免费的(提供增值服务),同时还是开源的。
如果你不想使用 Bitwarden 的云服务,也可以自建服务器。

2 Bitwarden 的服务端程序安装准备

2.1 有自己的 VPS 或者家里有一个主机 / NAS

显然这是必要的

2.2 准备一个域名和一个 SSL 证书

腾讯云、阿里云等都有提供非常便宜的域名购买,而且会赠送 SSL 证书(需要申请);
当然也有 noip 等提供免费域名服务,但是这些域名通常需要定期确认,所以还是比较麻烦的。

2.3 安装 docker 和 docker-compose

Bitwarden 服务端是通过 docker-compose 的方式提供的,官网有具体的安装教程,如果你还没安装,可以参考

  • docker 安装,Mac 和 Windows 可以安装 docker app,Linux 需要参考各个系统的说明
  • docker-compose 安装,这个文档相对比较简单

1.4 有一个不错的网(ti)络(zi)

很多服务需要下载,并且没有镜像服务器,所以你需要有一个不错的网络,能够设置命令行的 proxy。

3 Bitwarden 服务的安装

Bitwarden 提供了一个脚本来进行相关的管理。整个过程其实封装地非常简单

# 强烈建议为 bitwarden 的脚本创建一个文件夹
mkdir bitwarden

curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh
sudo chmod +x bitwarden.sh
# 查看帮助
./bitwarden.sh help

# 进行安装,主要是 docker 相关分支的下载
./bitwarden.sh install
# 安装过程中会需要填写域名、证书等相关信息,填错了也不要紧,安装完成后依然可以修改这些配置
# 安装完成后,会在当前目录下生成一个 bwdata 目录,相关文件均会放在文件夹中

4 服务配置

我们需要把 SSL 的证书放到 bwdata/ssl 文件夹下。例如我的证书和密钥分别放在 bwdata/ssl/etc/ssl/ca_bundle.crtbwdata/ssl/etc/ssl/private.key

我们可以查看 bitwarden 的具体配置

cd bwdata
vi config.yml

里边配置项最主要需要确认的包括

# 配置外部访问的 URL
url: https://www.abc.com

# 配置 http 端口,如果为空,则 http 端口关闭
http_port: 80

# 配置 https 端口,外部可以通过这个地址进行访问
https_port: 8080

# 设置 ssl 证书的路径,附在 ./ssl 路径后
# 这个证书需要是 key 和 certificate 的 bundle
ssl_certificate_path: /etc/ssl/ca_bundle.crt
# 最终生成的地址会是 ./ssl/etc/ssl/ca_bundle.crt

# 设置 ssl key 的文件路径,附在 ./ssl 路径后
ssl_key_path: /etc/ssl/private.key
# 最终生成的地址会是 ./ssl/etc/ssl/private.key

除此外还需要配置一个 identity.pfx 证书,请进入你的证书和密钥所在的目录

openssl pkcs12 -export -out identity.pfx -inkey 密钥文件 -in 证书文件

生成过程中会让你输入一个密码,请打开 bwdata/env/global.override.env 文件,找到 globalSettings__identityServer__certificatePassword 选项,并把这一项的值改为这个密码

最请把刚刚生成的 identity.pfx 文件放到 bwdata/identity 文件夹下

至此,完整的配置完成,但是你需要重新构建一个 docker-compose 相关的文件

# 请先返回 bitwarden.sh 所在的目录
./bitwarden.sh rebuild

5 调试与使用

# 运行 bitwarden
./bitwarden.sh start

# 查看相关镜像的状态,包括端口映射的情况
docker ps

# 如果发现问题,可以查看日志
cd bwdata/logs
# 你的问题可能主要集中在 nginx 中,那么可以
cd nginx
tail error.log
# 通常是你的证书有问题,例如
## 你的证书文件不是 key 和 certificate 的 bundle,那就仔细看下证书文件
## 你当前的用户没有文件的读写权限,那么请 chmod 或 chown
## 你的文件没放到正确的目录下,请检查你的文件目录

至此,安装和调试完成,你可以尝试通过 https://网址:端口 来进行访问,并注册一个账号。

6 客户端的使用

这里只谈如何切换服务器。
在各个端的登录页面,都能明显看见一个齿轮图标,可以在这里对使用的服务器进行设置。

你可能感兴趣的:(网络应用,实验室)