利用宝塔面板+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
命令:
2.3、安装docker
可以参考 docker install centos 官网文档,我进行了一下整理:
- 卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- 安装
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
- 测试
# 开启docker
sudo systemctl start docker
# 查看docker状态
sudo systemctl status docker
# 运行hello-world镜像
sudo docker run hello-world
出现如下界面表示安装以及运行docker成功!
- 设置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/ 为自己的路径。
查看容器运行状态:
2.5、宝塔面板添加站点
站点添加成功后,设置网站目录与部署Bitwarden时的路径一致!
此时访问一下域名会出现 403 Forbidden,此时需要配置反向代理:
配置如下:
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;
}
添加反向代理成功之后,访问站点,出现登录界面即为成功!
2.6、注册账号登录
点击创建账号,填写相应信息,注册成功后跳转到登录界面,使用刚才创建的账号进行登录。出现如下界面表示登录成功!
3、使用Bitwarden
3.1、关闭新用户注册
首先需要关闭容器和卸载容器:
# 停止容器
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
出现如下界面表示关闭新用户注册成功!
3.2、设置自动同步功能
bitwarden 默认不会自动同步的,不管你添加或者删除又或是修改了一条记录,都只是先保存到本地,只有当你手动点一下同步时才会进行同步。此时我们可以打开 websocket notifications 功能,这样修改后会立刻自动同步到云端。所以,我们还需要再配置一下反向代理。
打开配置,直接将代码复制过去就可以了(可以把上面配置的反向代理那段给覆盖掉)。
配置如下:
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 的扩展,点击查找新扩展。
第二步,搜索 bitwarden,点击进行安装。
出现如下界面代表安装成功!
3.4、配置bitwarden插件
点击齿轮,打开配置,设置服务器的 URL 为我们上面的域名,然后点击保存。
点击登录,输入上面注册的用户名和密码,出现如下界面表示登录成功!
至此,就已经正式搭建成功!!!★,°:.☆( ̄▽ ̄)/$:.°★ 。