Administrator
发布于 2022-02-24 / 3 阅读
0

利用宝塔面板+docker搭建密码管理器(Bitwarden)

  • 1、环境准备
  • 一台云服务器(centos系统)
  • 一个域名
  • 2、搭建步骤
  • 2.1、配置yum源

如果以前没有安装过wget,先安装wget

sudo yum install wget
# 更换为阿里云
sudo wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 清除原来的元数据缓存
sudo yum clean all
# 更新新的元数据缓存
sudo yum makecache
  • 2.2、安装宝塔面板

卸载宝塔面板:

wget http://download.bt.cn/install/bt-uninstall.sh
sh bt-uninstall.sh

安装宝塔面板:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

安装完成之后会出现如下界面,如果没有出现,输入 bt default 命令:

img
  • 2.3、安装docker

可以参考 docker install centos 官网文档,我进行了一下整理:

  1. 卸载旧版本
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  1. 安装
sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
  1. 测试
# 开启docker
sudo systemctl start docker
# 查看docker状态
sudo systemctl status docker 
# 运行hello-world镜像
sudo docker run hello-world

出现如下界面表示安装以及运行docker成功!

img
  1. 设置docker开启自启动
sudo systemctl enable docker 
  • 2.4、部署Bitwarden
docker run -d --name bitwarden \
  --restart unless-stopped \
  -e WEBSOCKET_ENABLED=true \
  -v /www/wwwroot/bitwarden/:/data/ \
  -p 6666:80 \
  -p 3012:3012 \
  vaultwarden/server:latest

注意:可修改 /www/wwwroot/bitwarden/ 为自己的路径。

查看容器运行状态:

img
  • 2.5、宝塔面板添加站点
img

站点添加成功后,设置网站目录与部署Bitwarden时的路径一致!

img

此时访问一下域名会出现 403 Forbidden,此时需要配置反向代理:

img

配置如下:

location / {
  proxy_pass http://127.0.0.1:6666/;
  rewrite ^/(.*)$ /$1 break;
  proxy_redirect off;
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Upgrade-Insecure-Requests 1;
  proxy_set_header X-Forwarded-Proto https;
}

添加反向代理成功之后,访问站点,出现登录界面即为成功!

img
  • 2.6、注册账号登录

点击创建账号,填写相应信息,注册成功后跳转到登录界面,使用刚才创建的账号进行登录。出现如下界面表示登录成功!img

  • 3、使用Bitwarden
  • 3.1、关闭新用户注册

首先需要关闭容器和卸载容器:

复制代码123456SHELL# 停止容器
docker stop bitwarden  
# 删除容器
docker rm -f bitwarden
# 查看正在运行的容器
docker ps -a

然后再重新运行:第三行就代表不再允许新用户注册!

docker run -d --name bitwarden \
  --restart unless-stopped \
  -e SIGNUPS_ALLOWED=false \
  -e WEBSOCKET_ENABLED=true \
  -v /www/wwwroot/bitwarden/:/data/ \
  -p 6666:80 \
  -p 3012:3012 \
  vaultwarden/server:latest

出现如下界面表示关闭新用户注册成功!

img
  • 3.2、设置自动同步功能

bitwarden 默认不会自动同步的,不管你添加或者删除又或是修改了一条记录,都只是先保存到本地,只有当你手动点一下同步时才会进行同步。此时我们可以打开 websocket notifications 功能,这样修改后会立刻自动同步到云端。所以,我们还需要再配置一下反向代理。

打开配置,直接将代码复制过去就可以了(可以把上面配置的反向代理那段给覆盖掉)。

img

配置如下:

location / {
  proxy_pass http://127.0.0.1:6666;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
}

location /notifications/hub {
  proxy_pass http://127.0.0.1:3012;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
}

location /notifications/hub/negotiate {
  proxy_pass http://127.0.0.1:6666;
}
  • 3.3、安装浏览器插件

以 Edge 为例,安装 bitwarden 插件。

第一步,找到 Edge 的扩展,点击查找新扩展。

img

第二步,搜索 bitwarden,点击进行安装。

img

出现如下界面代表安装成功!

img
  • 3.4、配置bitwarden插件

点击齿轮,打开配置,设置服务器的 URL 为我们上面的域名,然后点击保存。

img

点击登录,输入上面注册的用户名和密码,出现如下界面表示登录成功!

img

至此,就已经正式搭建成功!!!★,°:.☆( ̄▽ ̄)/$:.°★ 。

本文作者:喜欢小让