Eigenen Bitwarden Server auf einem VPS installieren

In der heutigen, digitalen Zeit sind Passwörter präsenter als je zu vor. Viele von uns benutzen Social Media, Online Banking und vieles mehr. All diese Zugänge sind unter anderem mit Passwörtern abgesichert. Im Optimalfall nutzt Ihr für jede Plattform ein anderes Passwort, was zu dem noch lang ist und Sonderzeichen, sowie Zahlen beinhaltet. Bei all diesen Passwörtern kann man schnell den überblick verlieren. Hier kommen Passwortmanager ins Spiel. 

Bitwarden ist ein beliebter Passwortmanager, welcher Open-Source ist. Es gibt sowohl eine kostenfreie, als auch eine kostenpflichtige Variante, bei welcher die Passwörter auf den Servern der Firma gehostet werden, welche Bitwarden entwickelt. 

Bei der kostenfreien Variante hostet man die Bitwarden-Instanz auf einem eigenen Server. Wie das geht zeigen wir Euch heute. 

Es gibt zudem zwei Varianten, wie man Bitwarden installieren kann. Wenn Du ausschließlich eine Bitwarden-Instanz auf Deinem Server betreiben willst, stellt die Standalone Variante von Bitwarden die beste Lösung für Dich dar. 

Wenn Du Deinen Server aber auch für andere Dinge benutzen willst, solltest Du Dich für die “modifizierte” bzw. in Rust geschriebene Variante von Bitwarden, nämlich “Vaultwarden”, entscheiden. Mehr über “Vaultwarden” erfährst Du hier.

Inhaltsverzeichnis

Bitwarden Server (Standalone) installieren

Die Installation von der Bitwarden Standalone Variante ist denkbar einfach, da die Entwickler von Bitwarden ein fertiges Installationsscript zur Verfügung stellen. 

Vorraussetzungen

  • Ein Server mit Linux-Betriebssystem (z.B. einen VPS
  • Root-Zugriff auf den Server 
  • Eine bereits mit dem Server verbundene (Sub)Domain 

Vorbereitung

Bevor wir das Installationsscript ausführen können, müssen wir zunächst die benötigten Programme installieren. Da Bitwarden später in einem Docker-Container läuft, muss Docker zunächst installiert werden. Hinzu kommen andere kleinere Pakete wie curl. 

Die benötigten Programme können mit dem folgenden Befehl installiert werden: 

apt install docker.io docker-compose curl -y

Herunterladen des Installationsscripts

Der Download des Scripts ist denkbar einfach und mit einem Befehl erledigt. 

Zusätzlich wird das Script ausführbar gemacht. 

Nutzt hierfür den folgenden Befehl: 

curl -s -o bitwarden.sh \ 

https://raw.githubusercontent.com/bitwarden/server/master/scripts/bitwarden.sh \ 

&& chmod +x bitwarden.sh

Ausführen des Installationsscripts und Installation

Um die Installation zu starten, führt das Installationsscript mit dem folgenden Befehl aus: 

./bitwarden.sh install

Nun werdet ihr dazu aufgefordert, eure (Sub)Domain einzugeben: 

Bitwarden Installationsscript

Im nächsten Schritt könnt ihr auswählen, ob direkt ein kostenloses SSL-Zertifikat von Let’s Encrypt mitinstalliert werden soll. Dieser Schritt ist optional, da es sich aber später um einen Speicherort für eure Passwörter handelt, ist es sehr empfehlenswert, ein Zertifikat zu installieren: 

Solltet ihr euch dazu entscheiden, ein SSL-Zertifikat zu installieren, müsst ihr im nächsten Schritt eure E-Mail Adresse eingeben. 

Nachdem das Zertifikat installiert wude, müsst ihr eure Instanz bei Bitwarden registrieren. 

Ruft hierzu https://bitwarden.com/host auf und tragt auf dieser Seite eure E-Mail Adresse ein. 

Danach bekommt ihr sowohl eine Installation ID, als auch einen Installation Key, welche ihr in die Konsole einfügen müsst. 

Ihr werdet erst nach der Installation ID gefragt: 

Und dann nach dem Installation Key: 

Nachdem ihr diese beiden Keys eingetragen habt, installiert das Script noch den Rest und eure Instanz ist aktiv. 

Ruft nun eure (Sub)Domain im Browser auf und erstellt euch dort ein Konto. 

Glückwunsch! Eure Bitwarden Instanz ist nun vollständig installiert und einsatzbereit. 

Wenn ihr auf eurem Server mehr als nur Bitwarden betreiben wollt, sind die folgenden Kapitel für euch wichtig: 

Vaultwarden Server (Bitwarden) installieren

Wenn ihr zusätzlich zu eurer Bitwarden Instanz noch andere Dinge auf eurem Server betreiben wollt eignet sich diese Variante deutlich besser für euch. 

Hier kommt eine modifizierte Version von Bitwarden, nämlich Vaultwarden, zum Éinsatz. Hierbei handelt es sich um eine Implementation der Bitwarden API in einem Rust Programm, welches auch in einem Docker-Container läuft. 

Vorraussetzungen

  • Ein Server mit Linux-Betriebssystem 
  • Root-Zugriff auf den Server 
  • Eine bereits mit dem Server verbundene (Sub)Domain 

Vorbereitung

Bevor wir mit der Installation von Vaultwarden anfangen können, müssen wir auch bei dieser Variante einige Programme installieren. 

Die benötigten Programme können mit dem folgenden Befehl installiert werden: 

apt install apache2 docker.io docker-compose curl git wget sudo certbot python3-certbot-apache –y

Virtual Host einfügen

Um den Webserver mitzuteilen, auf welchem Port Vaultwarden läuft, müssen wir zunächst einen Virtual Host einfügen. Wir erstellen diesen mit dem folgenden Befehl: 

nano /etc/apache2/sites-available/bitwarden.conf

Und fügen folgendes ein: 

<VirtualHost *:80> 

    ServerName <Eure(Sub)Domain> 

    ProxyPreserveHost On 

    <Proxy *> 

        Order allow,deny 

        Allow from all 

    </Proxy> 

    ProxyPass / http://localhost:8081/ 

    ProxyPassReverse / http://localhost:8081/ 

</VirtualHost>

Wichtig: Ersetzt <Eure(Sub)Domain> mit eurer (Sub)Domain, unter welcher die Bitwarden Instanz erreichbar sein soll. Die Klammern (also “<” und “>” müssen entfernt werden!) 

Nun aktiviert den Virtual Host mit diesem Befehl: 

a2ensite bitwarden.conf

Benötigte Module aktivieren

Damit der Webserver richtig funktionieren kann, müssen einige Module aktiviert werden. Dies ist mit einem einzigen Befehl erledigt: 

a2enmod ssl proxy proxy_http proxy_balancer lbmethod_byrequest

Im Anschluss muss der Webserver neugestartet werden, damit alle Änderungen übernonmen werden. Dies geht mit diesem Befehl: 

systemctl restart apache2

SSL-Zertifikat installieren

Anders als bei der ersten Variante muss das SSL-Zertifikat hier manuell installiert werden. 

Allerdings ist dies recht simpel. Startet hierfür den Zertifizierungsprozess mit diesem Befehl: 

certbot --apache

Der folgende Zertifizierungsprozess ist ziemlich selbsterklärend, weshalb dieser hier nicht weiter behandelt wird. 

Vaultwarden herunterladen und starten

Nachdem alle Vorbereitungen abgeschlossen sind könnnen wir das Vaultwarden Image mit diesem Befehl herunterladen: 

docker pull vaultwarden/server:latest

Nachdem das aktuellste Image von Vaultwarden heruntergeladen wurde, kann der Container mit dem folgenden Befehl gestartet werden: 

docker run -d --name vaultwarden -v /vw-data/:/data/ -p 8081:80 vaultwarden/server:latest

Ruft nun eure (Sub)Domain im Browser auf und erstellt euch dort ein Konto. 

Glückwunsch! Eure Vaultwarden (bzw. Bitwarden Instanz) ist nun vollständig installiert und einsatzbereit.