前書き:#
パスワードマネージャーは非常に便利なツールであり、各ウェブサイトのユーザー名や複雑なパスワードなどを簡単に記憶し、安全なパスワードを生成することができます。以前は、Chrome の組み込みのパスワードマネージャーに頼っていました。非常に便利で自動同期、ウェブサイトの読み込み時にパスワードを入力、パスワードの生成など、基本的な機能が備わっています。
しかし、後で気づいたのですが、私は複数の Google アカウントを持っており、異なるアカウントで異なることをしています。パスワードが同期されず、パスワードを取得するのが面倒です。Bitwarden を自分で作成するというアイデアは以前からありましたが、実現するのが面倒で、公式には 4G のメモリを搭載したサーバーが推奨されていますが、最低でも 2G のサーバーが必要で、手元には空きのサーバーがありませんでした。
そこで、数ヶ月間 1Password を使用しました。数ドルの月額料金がかかりますが、ソフトウェアの UI は非常に見栄えが良く、パスワードをホストするために毎月数十ドルを支払うのは少し勿体無いと感じました。幸いなことに、最近、年間プランの 4H4G サーバーを購入してしまいましたが、購入後に後悔し、返金もできませんでした。そこで、自分で Bitwarden を作成することにしました。
まず、これら 2 つの製品の違いについて説明します。1Password は見た目が良く、UI が非常に快適です。パスワードマネージャーの機能も備わっていますが、Chrome のネイティブのパスワード入力と比べても特に快適とは感じませんでした。Bitwarden の UI は普通で、ウェブページの読み込み時のパスワード入力の問題もあります。おそらく、これら 2 つのソフトウェアは使用時間が比較的短いため、まだうまく統合されていないのかもしれません。
インストールガイド:#
公式の Linux 標準デプロイを採用します:https://bitwarden.com/help/install-on-premise-linux/
まず、サーバーにドメインを解決するための準備をし、最低 2G のメモリを搭載したサーバー(4G が最適)を用意し、サーバーをクリーンな状態にします。
Docker と Docker-Compose をインストールします:Docker のワンクリックインストールスクリプト
- bitwarden ユーザーを作成します:
sudo adduser bitwarden
- bitwarden ユーザーにパスワード(強力なパスワード)を設定します:
sudo passwd bitwarden
- docker グループを作成します(まだ存在しない場合):
sudo groupadd docker
- bitwarden ユーザーを docker グループに追加します:
sudo usermod -aG docker bitwarden
- bitwarden ディレクトリを作成します:
sudo mkdir /opt/bitwarden
- /opt/bitwarden ディレクトリのパーミッションを設定します:
sudo chmod -R 700 /opt/bitwarden
- bitwarden ユーザーを /opt/bitwarden ディレクトリの所有者に設定します:
sudo chown -R bitwarden:bitwarden /opt/bitwarden
Bitwarden は、Linux と Windows(PowerShell)で簡単にインストールできるシェルスクリプトを提供しています。以下の手順を実行して、シェルスクリプトを使用して Bitwarden をインストールします:
su bitwarden #ユーザーを切り替えてから以下のスクリプトを実行します
curl -Lso bitwarden.sh "https://func.bitwarden.com/api/dl/?app=self-host&platform=linux" && chmod 700 bitwarden.sh
./bitwarden.sh install
ドメイン名を入力します:
[bitwarden@vultr ~]$ ./bitwarden.sh install
_ _ _ _
| |__ (_) |___ ____ _ _ __ __| | ___ _ __
| '_ \| | __\ \ /\ / / _` | '__/ _` |/ _ \ '_ \
| |_) | | |_ \ V V / (_| | | | (_| | __/ | | |
|_.__/|_|\__| \_/\_/ \__,_|_| \__,_|\___|_| |_|
オープンソースのパスワード管理ソリューション
著作権 2015-2024, 8bit Solutions LLC
https://bitwarden.com, https://github.com/bitwarden
===================================================
bitwarden.sh バージョン 2024.6.1
Docker バージョン 26.1.4, ビルド 5650f9b
docker-compose バージョン 1.29.2, ビルド 5becea4c
(!) Bitwardenインスタンスのドメイン名を入力してください(例:bitwarden.example.com):
SSL を有効にしますか?
(!) Let's Encryptを使用して無料のSSL証明書を生成しますか?(y/n):
証明書を申請するためのメールアドレスを入力します:
証明書の有効期限のリマインダーを受け取るためのメールアドレスを入力してください
数十秒待って証明書を申請し、次の内容が表示されます(データベース名を入力します):
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Certbotが気に入った場合は、次の方法で私たちの活動をサポートしてください:
* ISRG / Let's Encryptに寄付する: https://letsencrypt.org/donate
* EFFに寄付する: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(!) Bitwardenインスタンスのデータベース名を入力してください(例:vault):
https://bitwarden.com/host/から ID と KEY を取得してインストールします:
(!) インストールIDを入力してください(https://bitwarden.com/hostで取得):
(!) インストールキーを入力してください:
(!) リージョンを入力してください(US/EU)[US]:
これらの手順を完了すると、画面にいくつかの点が表示され、数十秒待つとデプロイが進みます。全体のファイルは/home/bitwarden/bwdata
にあります。
/home/bitwarden/bwdata/env/global.override.env
ファイルを編集することもできます。詳細な内容については、https://bitwarden.com/help/install-on-premise-manual/を参照してください。バックグラウンド機能を使用したい場合は、このファイルでメール送信の設定を行うことができます。
バックグラウンドは、ドメイン名 + admin でアクセスし、管理者のメールアドレスを入力してログインする必要があります。おそらく、ID と KEY を入力したメールアドレスでメールを受け取る必要があります。バックグラウンド機能は、ユーザーの管理やユーザーの管理に関する機能しか表示されません。パスワードなどのユーザーの一部の情報は表示されません。私はメール送信の設定を行っていないため、どのような機能があるかはよくわかりません。
このファイルがわからない場合は、変更せずに./bitwarden.sh start
を実行し、イメージのダウンロードが完了するのを待ってから、ドメイン名にアクセスできるようになります。アカウントを作成し、アカウントにログインしてパスワードをインポートし、ブラウザやデバイスに Bitwarden をインストールし、ログイン時に自己ホストを選択します。
Bitwarden は毎日データベースを自動バックアップします。主なファイルは/home/bitwarden/bwdata
にあります。このディレクトリをバックアップすれば OK です。
ファイルのバックアップの復元方法などはまだ試していないので、公式のドキュメントを参照して操作してください。