布景
之前一向在用 iPhone 备忘录作为账号暗码办理,但在有些场景下用起来不是很顺手,比方会误修正文本,修正完后,自动给保存,找不到原始文本。用起来不是很便利。看看业界有那些暗码办理计划。1Password,付费,用不起。经朋友引荐,测验测验 bitwarden 自建立,免费版平替 1Password
准备工作
服务器
Tips:bitwarden 官方引荐装备最低2GRAM起步
准备一台靠谱的服务器
域名
注册一个域名用于拜访你的服务器,然后进入域名 DNS 解析后台,新增一条 A 记录指向你的服务器 IP (这一步最好先做,因为部分 DNS 收效会比较久)
假如没有域名,裸 IP 号 + 端口也不是不行
SSL 证书
各大云厂商都有固定的免费额度 SSL 证书申请,假如没有的话,请点击这
再不行,bitwarden 能够一键生成 SSL
开始
这儿以 CentOS7 为例
装置 Docker
假如你的服务器上现已装置了 Docker
和 Docker Compose
,这一步就能够跳过了。Docker
要求 CentOS
体系的内核版别高于 3.10,能够运转 uname -r 检查版别。
Tips:装置,假如超时的话,主张运用国内镜像装置
# 1、(可选)更新体系的软件包
yum update -y
# 2、装置 docker 依靠的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、添加 docker 的 yum 源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 4、通过 yum 装置 docker
sudo yum install docker-ce docker-ce-cli containerd.io
# 如上述指令出错,或许是体系上已有旧版别 Docker,需求先卸载旧版别
# 卸载指令:yum remove docker docker-common docker-selinux docker-engine docer-io
# 5、测验 docker 是否装置成功 (检查版别号)
docker version
# 有 client 和 service 两部分表明 docker 装置并发动成功了(有部分错误不必管)
# 6、发动 Docker 服务并设置开机发动
sudo systemctl start docker
sudo systemctl enable docker
# 7、检查Docker是否发动
sudo systemctl status docker
装置 Docker Compose
Tips:装置,假如超时的话,主张运用国内镜像装置
# 1、首要前往 https://github.com/docker/compose/releases/latest 检查最新的 docker-compose 版别号,比方截稿时最新版别为 2.1.1。
# 2、下载最新版别的 docker-compose,你需求将下面的 2.1.1 替换成最新的版别号
sudo curl -L "https://github.com/docker/compose/releases/download/2.1.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 3、颁发可履行权限
sudo chmod +x /usr/local/bin/docker-compose
# 4、测验是否装置成功(或许需求重启体系)
docker-compose -v
# 装置成功会显现 docker-compose 版别
阿里云
装置 Docker
# 1、运转以下指令,下载docker-ce的yum源
sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 2、运转以下指令,装置Docker
sudo yum -y install docker-ce
# 3、测验 docker 是否装置成功 (检查版别号)
docker version
# 有 client 和 service 两部分表明 docker 装置并发动成功了(有部分错误不必管)
# 4、设置开机发动
sudo systemctl start docker
sudo systemctl enable docker
# 5、检查Docker是否发动
sudo systemctl status docker
装置 Docker Compose
Tips:仅Python 3及以上版别支撑docker-compose,并请确保已装置pip。
# 1、装置setuptools
sudo pip3 install -U pip setuptools
# 2、装置docker-compose
sudo pip3 install docker-compose
# 3、验证docker-compose是否装置成功
docker-compose --version
验证
起飞
装置官方 Bitwarden
确认服务器已成功装置好 Docker
和 Docker Compose
之后,我们就能够来装置 Bitwarden 了。其实 Bitwarden 官方就现已供给了十分便利的一键装置脚本,我们只需履行即可。
Tips:因为 docker 镜像的体积比较大,国内服务器或许遇到半途卡住不动的状况
可通过,输入域名网址 https://go.btwrdn.co/bw-sh
,下载到本地,再上传到服务器,履行 ./bitwarden.sh install
# 1、下载 Bitwarden 的装置脚本
curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh && chmod 700 bitwarden.sh
# 2、履行装置程序
./bitwarden.sh install
然后,装置脚本会一步步提示你输入,下面是部分要点选项
-
Enter the domain name for your Bitwarden instance 输入你要给 Bitwarden 分配的域名,这儿比方为 bitwarden.iplaysoft.com
-
Do you want to use Let’s Encrypt to generate a free SSL certificate? (y/n) 是否运用 Let’s Encrypt 自动生成免费的 SSL 证书,一般选 y (你有自己的证书也能够选 n,后边需求装备证书的途径)
-
Enter the database name for your Bitwarden instance 输入用于 Bitwarden 的数据库名称
-
Enter your installation id / Enter your installation key 你需求拜访 bitwarden.com/host 获取一组装置 ID 和装置密钥 Key (官网被 xx 无法拜访的话,只能各显神通了)
修正装备文件 (端口号、SSL 证书等)
-
假如你需求运用自己的 SSL 证书、修正默许的端口号等需求,能够编辑装备文件
./bwdata/config.yml
。比方你的服务器自身就有服务占用了 80 和 443 端口,那么能够修正装备里的 http_port 和 https_port 端口号来避免抵触。比方我改成 9980 和 9443,这样日后我拜访时的域名便是 bitwarden.iplaysoft.com:9980。 -
要注意的是,腾讯云、阿里云等机器默许的「安全组规则」会阻止十分用端口的拜访,如运用非 80/443 端口,需求登录后台修正安全组规则答应你设置的端谈锋行。
-
别的,假如你运用「浮屠面板」,或者懂得修正 Nginx 的装备,也能够对你的 bitwarden 服务进行“反代”,有建站经验的朋友,能够查查相关的资料,搞定应该不难。
-
修正完后,有必要履行一下
./bitwarden.sh rebuild
指令才能让新装备收效。
(可选) 修正环境装备文件:
-
别的,在环境装备文件
./bwdata/env/global.override.env
里还有诸如 SMTP、启用 Yubico、启用体系办理员门户、是否禁止用户注册等设置。 -
其间,假如你的 Bitwarden 打算是私人运用,主张在注册完自己账号之后,改成 “禁止用户注册”,对应的项为:
globalSettings__disableUserRegistration=false
-
修正此文件后,需求重启 Bitwarden 容器才能收效,重启指令为:
./bitwarden.sh restart
发动 Bitwarden 服务
./bitwarden.sh start
验证所有容器是否正常运转
docker ps
假如运转不正常,请检查日志,日志服务在 bitwarden/logs/
装置第三方 Bitwarden
机器装备不合格,比方发动容器之后,mssql
无法正常工作,估量便是 RAM 装备不合格,官方 mssql
占 RAM 1.3G 内存。无法运转官方 Bitwarden,这时引荐运用第三方 Bitwarden
# 1、下载 vaultwarden 的装置脚本
docker run -d --name vaultwarden -v /vw-data/:/data/ -p 80:80 vaultwarden/server:latest
# 2、发动容器
docker start vaultwarden
自定义装备
docker run -d --name bitwarden
-e SIGNUPS_ALLOWED=false
-e TZ=Asia/Shanghai
-e SIGNUPS_ALLOWED=false
-e INVITATIONS_ALLOWED=false
-e SMTP_USERNAME=你的邮箱
-e SMTP_PASSWORD=邮箱暗码
-v /vw-data/:/data/
-p 9980:80
vaultwarden/server:latest
验证容器是否正常运转
docker ps
反向署理
假如你有自己的 Nginx 服务,需求反向署理 官方 bitwarden 和第三方bitwarden,以及装备自己的 SSL 证书,能够参考以下装备:
user root;
worker_processes auto;
pid /run/nginx.pid;
#include /usr/share/nginx/modules/*.conf;
events {
worker_connections 512;
}
http {
etag on;
expires 7d;
gzip on;
gzip_min_length 1k;
gzip_buffers 2 8k;
client_max_body_size 50m;
gzip_comp_level 2;
gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg;
gzip_vary off;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
#include /etc/nginx/mime.types;
include mime.types;
default_type application/octet-stream;
#include /etc/nginx/conf.d/*.conf;
server {
listen 80;
server_name bitwarden.iplaysoft.com;
rewrite ^(.*)$ https://$host$1 permanent;
}
server {
listen 443 ssl;
server_name bitwarden.iplaysoft.com;
index index.html;
ssl_certificate /usr/local/webserver/nginx/cert/vd.downfuture.com.pem;
ssl_certificate_key /usr/local/webserver/nginx/cert/vd.downfuture.com.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
access_log /usr/local/webserver/nginx/logs/nginx_access.log;
error_log /usr/local/webserver/nginx/logs/nginx_error.log error;
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
location / {
proxy_pass http://服务器公网IP:9980;
}
}
}
总结
bitwarden 强大的自保管程序,让我具有了免费暗码办理器,感谢!
文章同步更新平台:、CSDN、知乎、思否、博客,公众号(野生程序猿江辰) 我的联系方式,v:Jiang9684,欢迎和我一同学习交流
完