GNU/Linux >> LINUX-Kenntnisse >  >> Rocky Linux

So installieren Sie den Padloc Password Manager unter Rocky Linux 8

Padloc ist eine Cloud-basierte Passwortverwaltungslösung, mit der Sie auf Ihre gespeicherten Passwörter auf mehreren Plattformen zugreifen und diese verwenden können. Es bietet eine einfache Schnittstelle und kann verwendet werden, um Ihre Passwörter zu speichern und sensible Dokumente zu verschlüsseln und zu speichern. Es unterstützt auch das Speichern von Zwei-Faktor-Authentifizierungstoken und kann diese direkt von der Webseite hinzufügen.

Padloc bietet auch eine selbst gehostete Open-Source-Lösung, die Sie auf jedem Server installieren können, um die vollständige Kontrolle über Ihre Daten zu behalten. Dies hat jedoch einen Vorbehalt. Sie können die selbst gehostete Anwendung nicht mit ihren Desktop- und mobilen Apps verwenden. Auf der positiven Seite wird Padloc als PWA (Progressive Web App) bereitgestellt, was bedeutet, dass Sie es als native Anwendung auf Mobilgeräten installieren und mehrere seiner Funktionen nutzen können.

In diesem Tutorial erfahren Sie, wie Sie den Padloc Password Manager auf einem Rocky Linux 8-basierten Server installieren.

Voraussetzungen

  • Ein Server mit Rocky Linux 8 und mindestens 1 GB RAM.
  • Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.
  • Ein vollqualifizierter Domänenname (FQDN), der auf den Server verweist, z. B. example.com . Wir gehen davon aus, dass Sie für dieses Tutorial nur einen Domänennamen für diesen Server verwenden werden.

Schritt 1 – Firewall

Der erste Schritt besteht darin, die Firewall zu konfigurieren. Rocky Linux verwendet Firewalld Firewall. Überprüfen Sie den Status der Firewall.

$ sudo firewall-cmd --staterunning

Die Firewall arbeitet mit verschiedenen Zonen, und die öffentliche Zone ist die Standardzone, die wir verwenden werden. Listet alle Dienste und Ports auf, die auf der Firewall aktiv sind.

$ sudo firewall-cmd --permanent --list-services

Es sollte die folgende Ausgabe zeigen.

cockpit dhcpv6-client ssh

HTTP- und HTTPS-Ports zulassen.

$ sudo firewall-cmd --permanent --add-service=http$ sudo firewall-cmd --permanent --add-service=https

Überprüfen Sie den Status der Firewall erneut.

$ sudo firewall-cmd --permanent --list-services

Sie sollten eine ähnliche Ausgabe sehen.

cockpit dhcpv6-client http https ssh

Laden Sie die Firewall neu, um die Änderungen zu aktivieren.

$ sudo firewall-cmd --reload

Schritt 2 – Docker installieren

Rocky Linux wird mit einer älteren Version von Docker ausgeliefert. Um die neueste Version zu installieren, installieren Sie zuerst das offizielle Docker-Repository.

$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo

Installieren Sie die neueste Version von Docker.

$ sudo dnf install docker-ce docker-ce-cli containerd.io

Aktivieren Sie den Docker-Daemon und führen Sie ihn aus.

$ sudo systemctl enable docker --now

Stellen Sie sicher, dass es ausgeführt wird.

$ sudo systemctl Status Docker? docker.service – Container-Engine der Docker-Anwendung Geladen:geladen (/usr/lib/systemd/system/docker.service; aktiviert; Herstellervoreinstellung:deaktiviert) Aktiv:aktiv (läuft) seit Sun 2022-04-09 22:43:21 KOORDINIERTE WELTZEIT; Vor 30 Sekunden Dokumente:https://docs.docker.com Haupt-PID:43005 (dockerd) Aufgaben:7 Arbeitsspeicher:90,5 MB CGroup:/system.slice/docker.service ??43005 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ....

Standardmäßig benötigt Docker Root-Rechte. Wenn Sie die Verwendung von sudo vermeiden möchten jedes Mal, wenn Sie docker ausführen Befehl, fügen Sie Ihren Benutzernamen zum docker hinzu Gruppe.

$ sudo usermod -aG docker $(whoami)

Sie müssen sich vom Server abmelden und als derselbe Benutzer wieder anmelden, um diese Änderung zu aktivieren.

Schritt 3 – Docker-Compose installieren

Laden Sie die neueste stabile Version von Docker Compose herunter.

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o / usr/local/bin/docker-compose

Wenden Sie ausführbare Berechtigungen auf die Docker Compose-Binärdatei an.

$ sudo chmod +x /usr/local/bin/docker-compose

Testen Sie die Installation.

$ docker-compose --versiondocker-compose Version 1.29.2, Build 5becea4c

Installieren Sie das Docker-compose Bash Completion-Skript.

$ sudo curl \ -L https://raw.githubusercontent.com/docker/compose/1.29.2/contrib/completion/bash/docker-compose \ -o /etc/bash_completion.d/docker-compose

Laden Sie Ihre Profileinstellungen neu, damit die Bash-Vervollständigung funktioniert.

$ source ~/.bashrc

Schritt 4 – Datenverzeichnisse erstellen

Erstellen Sie ein Verzeichnis für padloc.

$ mkdir ~/padloc

Wechseln Sie in das Padloc-Verzeichnis.

$ cd ~/padloc

Erstellen Sie Verzeichnisse für die Benutzerdatenbank, Anwendungsprotokolle, Anhänge, die PWA-App und die SSL-Konfiguration.

$ mkdir {attachments,db,logs,pwa,ssl}

Erstellen Sie ein Verzeichnis für Nginx-Protokolle.

$ mkdir logs/nginx

Schritt 5 – Docker-Compose-Datei erstellen

Erstellen und öffnen Sie die Datei ~/padloc/docker-compose.yml Datei zum Bearbeiten.

$ nano docker-compose.yml

Fügen Sie den folgenden Code ein.

Version:"3"Dienste:Server:Image:Padloc/Server Containername:Padloc_Server Neustart:Sofern nicht gestoppt #Ports:# - ${PL_SERVER_PORT:-3000}:3000 Expose:- 3000 Volumes:- ${PL_DB_DIR:-./db}:/data:Z - ${PL_ATTACHMENTS_DIR:-./attachments}:/docs:Z - ./logs:/logs:Z Umgebung:- PL_PWA_URL - PL_EMAIL_SERVER - PL_EMAIL_PORT - PL_EMAIL_USER - PL_EMAIL_PASSWORD - PL_EMAIL_FROM pwa:image:padloc/pwa Containername:padloc_pwa Neustart:sofern nicht gestoppt #Ports:# - ${PL_PWA_PORT:-8080}:8080 Expose:- 8080 Volumes:- ${PL_PWA_DIR:-./pwa}:/pwa:Z Umgebung:- PL_SERVER_URL nginx:Bild:nginx container_name:nginx-Neustart:Sofern nicht gestoppte Volumes:- ./nginx.conf:/etc/nginx/nginx.conf - ${PL_SSL_CERT:-./ssl/cert.pem}:/ssl/cert - ${PL_SSL_KEY:-./ssl/key.pem}:/ssl/key - ${PL_SSL_CONF:-./ssl/ssl. conf}:/ssl/ssl.conf - /etc/ssl/certs/dhparam.pem:/ssl/dhparam.pem - ./logs/nginx:/var/log/nginx:Z Ports:- 80:80 - 443 :443

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.

Wir verwenden drei Docker-Images für Padloc.

  1. Das Server-Image - enthält die gesamte Backend-Logik für die Anwendung. Es läuft standardmäßig auf Port 3000. Wir haben die Ports-Variable in unserer Compose-Datei auskommentiert, um den Port für den Server unsichtbar zu machen. Stattdessen verwenden wir die Expose-Variable, um den Port innerhalb der Docker-Engine für den Nginx-Container verfügbar zu machen. Die Umgebungsvariablen für das Image werden später konfiguriert. Wir haben auch Verzeichnisse für eine Benutzerdatenbank, Anhänge und Anwendungsprotokolle zugeordnet.

  2. Das PWA-Bild - enthält das Frontend der Anwendung. Es läuft standardmäßig auf Port 8080. Was das Server-Image betrifft, so haben wir den Abschnitt „Ports“ für dieses Image ausgeblendet und den Port innerhalb der Docker-Engine verfügbar gemacht. Wir haben das Verzeichnis für die Web-App gemappt.

  3. Das Nginx-Image - enthält die Nginx-Serveranwendung. Wir haben die Ports für HTTP(80) und HTTPS(443) zum Server, um ihn von außen zugänglich zu machen. Wir haben mehrere Verzeichnisse und Dateien zugeordnet, damit es funktioniert.

    • Die erste Datei ist nginx.conf die alle Hauptkonfigurationen für Nginx enthält, um die Padloc-Anwendung zu bedienen.
    • Die nächsten beiden Dateien, cert.pem und key.pem sind das SSL-Zertifikat und die Schlüssel, die wir mit Let's encrypt generieren werden.
    • Die Datei ssl.conf enthält zusätzliche Informationen zur Bereitstellung von SSL über Nginx.
    • Die Datei dhparam.pem soll der Diffie-Hellman-Gruppe dienen Zertifikat.
    • Der letzte Eintrag besteht darin, die Nginx-Protokolle wieder dem Server zuzuordnen, damit Sie außerhalb von Docker darauf zugreifen können.
  4. Das :Z Das Flag am Ende der Ordnerzuordnungen zeigt an, dass auf diese Verzeichnisse nur von den entsprechenden Containern aus zugegriffen werden kann. Dies geschieht, da SELINUX auf unserem Server aktiviert ist. Wenn Sie SELinux nicht verwenden, können Sie das Flag entfernen.

Schritt 6 – NGinx konfigurieren

Erstellen und öffnen Sie die Datei ~/padloc/nginx.conf zum Bearbeiten.

$ nano nginx.conf

Fügen Sie den folgenden Code ein.

http { # Dies ist erforderlich, wenn Sie Anhänge hochladen möchten client_max_body_size 10m; # Den gesamten http-Verkehr auf den https-Server umleiten { listen 80 default_server; hören [::]:80 default_server; Servername _; return 301 https://$host$request_uri; } server { # Wir brauchen hier keinen Hostnamen, da wir es nur mit einer # Domain zu tun haben, aber Sie können hier Ihre Domain einfügen. Servername _; # Server und pwa werden über https bedient listen 443 ssl http2; hören [::]:443 ssl http2; # Dies wird zum Standort der Serverinstanz aufgelöst /server/ { proxy_pass http://padloc_server:3000; umschreiben ^/padloc_server(.*)$ $1 break; } # Dies wird zum Speicherort der Webanwendung aufgelöst / { proxy_pass http://padloc_pwa:8080; umschreiben ^/padloc_pwa(.*)$ $1 break; } # SSL-Zertifikat ssl_certificate /ssl/cert; # Privater SSL-Schlüssel ssl_certificate_key /ssl/key; # Fügen Sie diese Datei hinzu, um eine erweiterte SSL-Konfiguration hinzuzufügen include /ssl/ssl.conf; }}# Dieser Abschnitt wird von nginxevents {}
benötigt

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.

Die obige Konfiguration leitet alle Anfragen vom padloc_server weiter Container auf /server Speicherort des Domainnamens und alle Anfragen, die von padlock_pwa gestellt werden Container zur Wurzel. Es leitet auch den gesamten HTTP-Verkehr auf HTTPS um. Wir haben auch die Datei-Upload-Größe für Anhänge auf 10 MB festgelegt. Sie können die Größe nach Ihren Anforderungen ändern. Die SSL-Einstellungen wurden über eine externe Datei eingefügt, die wir später konfigurieren werden.

Schritt 7 – Umgebungsdatei erstellen

Erstellen und öffnen Sie die Datei ~/padloc/.env Datei zum Bearbeiten.

$ nano .env

Fügen Sie den folgenden Code ein.

# ALLGEMEINE EINSTELLUNGEN# ================# URL, die zur Serverinstanz aufgelöst wirdPL_PWA_URL=https://example.com/# URL, die zur Web-AppPL_SERVER_URL aufgelöst wird =https://example.com/server/# SERVEREINSTELLUNGEN# ===============# Port, auf dem die Serverinstanz lauschtPL_SERVER_PORT=3000# Verzeichnis, in dem Datenbankdateien gespeichert werdenPL_DB_DIR=. /db# Verzeichnis, in dem Anhangsdateien gespeichert werdenPL_ATTACHMENTS_DIR=./attachments# PWA SETTINGS# ============# Port, von dem aus die Webanwendung bereitgestellt wirdPL_PWA_PORT=8080# Verzeichnis, in dem der statische Code für das Web gespeichert wird App wird gespeichertPL_PWA_DIR=./pwa# E-MAIL-EINSTELLUNGEN# =============# SMTP-HostPL_EMAIL_SERVER=smtp.example.com# SMTP-Benutzername[E-Mail-geschützt]# SMTP-PortPL_EMAIL_PORT=443# SMTP-PasswortPL_EMAIL_PASSWORD=your_smtp_password# Beim Senden von E-Mails immer TLS verwenden# PL_EMAIL_SECURE=false# E-Mail-ID zum Senden von E-Mails von[E-Mail-geschützt]# SSL-EINSTELLUNGEN# ============# Der Pfad zu Ihrem SSL-ZertifikatPL_SSL_CERT=/etc/ letsencrypt/live/example.com/fullcha in.pem# Der Pfad zu Ihrem privaten SSL-SchlüsselPL_SSL_KEY=/etc/letsencrypt/live/example.com/privkey.pem# Erweiterte KonfigurationsdateiPL_SSL_CONF=./ssl/ssl.conf

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden. Die meisten Einstellungen sind selbsterklärend. Die vorhandene Nginx-Konfiguration erwartet, dass die App über die Hauptdomäne und der Server über /server bereitgestellt wird Verzeichnis. Der PL_PWA_DIR muss hier und in der Docker-compose-Datei nicht zwingend gesetzt werden, aber es beschleunigt den Start des Containers und sollte daher immer gesetzt werden.

Padloc benötigt die Fähigkeit, E-Mails für Funktionen wie die Verifizierung neuer Benutzer, die Zwei-Faktor-Authentifizierung und das Zurücksetzen von Passwörtern zu senden. Daher sind SMTP-Angaben obligatorisch.

Für die SSL-Funktion verwenden wir die Standardverzeichnisse von Let’s Encrypt, in denen sich die Zertifikate befinden. Die zusätzliche SSL-Konfiguration wird über die Datei /ssl/ssl.conf bereitgestellt .

Schritt 8 – SSL installieren

Um ein SSL-Zertifikat mit Let's Encrypt zu installieren, müssen wir das Certbot-Tool installieren.

Zuerst müssen Sie das EPEL-Repository herunterladen und installieren.

$ sudo dnf install epel-release

Führen Sie die folgenden Befehle aus, um Certbot zu installieren.

$ sudo dnf install certbot

Generieren Sie das SSL-Zertifikat.

$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d example.com

Der obige Befehl lädt ein Zertifikat in /etc/letsencrypt/live/example.com herunter Verzeichnis auf Ihrem Server.

Erstellen Sie eine Diffie-Hellman-Gruppe Zertifikat.

$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Erstellen Sie einen Cron-Job, um das SSL zu erneuern. Es wird jede Woche ausgeführt, um das Zertifikat zu überprüfen und bei Bedarf zu erneuern. Erstellen Sie dazu zunächst die Datei /etc/cron.weekly/certbot-renew und zum Bearbeiten öffnen.

$ sudo nano /etc/cron.weekly/certbot-renew

Fügen Sie den folgenden Code ein. Wir verwenden die Docker-Befehle, um den Nginx-Container je nach Erneuerungsstatus zu starten, zu stoppen und neu zu starten.

#!/bin/shcertbot renew --cert-name example.com --pre-hook "docker stop nginx" --post-hook "docker start nginx" --renew-hook "docker restart nginx" 

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.

Ändern Sie die Berechtigungen für die Aufgabendatei, um sie ausführbar zu machen.

$ sudo chmod +x /etc/cron.weekly/certbot-renew

Schritt 9 – SSL konfigurieren

Erstellen und öffnen Sie die Datei ~/padloc/ssl/ssl.conf zum Bearbeiten.

$ nano ssl/ssl.conf

Fügen Sie den folgenden Code ein.

ssl_session_timeout 1d;ssl_session_cache shared:MozSSL:10m;ssl_session_tickets off;ssl_prefer_server_ciphers off;ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA-25 ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256- GCM-SHA384;ssl_stapling on;ssl_stapling_verify on;ssl_dhparam /ssl/dhparam.pem;resolver 1.1.1.1 1.0.0.1 [2606:4700:4700::1111] [2606:4700:4700::1001] 8.8.8.8 8.8. 4.4 [2001:4860:4860::8888] [2001:4860:4860::8844] valid=60s;resolver_timeout 2s;

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.

Die obige Datei führt einige empfohlene SSL-Einstellungen ein, um Ihre Website sicherer zu machen. Es beschränkt die TLS-Protokolle auf v1.2 und v1.3 und ermöglicht das Stapeln und Verifizieren des Online Certificate Status Protocol (OCSP).

Schritt 10 – Padloc ausführen

Nachdem Sie nun alles konfiguriert haben, führen Sie Padloc mit dem folgenden Befehl aus.

$ docker-compose up -d

Überprüfen Sie den Status der Container.

$ Docker-PS

Sie sollten eine ähnliche Ausgabe erhalten.

Schritt 11 – Zugriff und Konfiguration von Padloc

Öffnen Sie die URL https://example.com in Ihrem Browser und Sie gelangen auf dessen Anmeldeseite.

Klicken Sie auf Jetzt anmelden Link um die Registrierung zu starten.

Geben Sie Ihren Namen und Ihre E-Mail-Adresse ein und klicken Sie auf Weiter um fortzufahren.

Padloc sendet Ihnen eine E-Mail mit einem Bestätigungscode. Geben Sie den Bestätigungscode in das obige Feld ein und klicken Sie auf Weiter um fortzufahren.

Padloc generiert automatisch ein Master-Passwort für Sie. Bewegen Sie den Mauszeiger über das Feld und kopieren Sie es. Fügen Sie es erneut in das Feld unten ein. Sie können auch Ihr Passwort verwenden. Drücken Sie Weiter wenn fertig.

Sie werden zur Padloc-Homepage weitergeleitet. Sie können damit beginnen, Ihre Anmeldedaten und sensiblen Dokumente zu speichern.

Schritt 12 – Padloc aktualisieren

Das Aktualisieren von Padloc ist ein zweistufiger Prozess. Wechseln Sie zunächst in das Padloc-Verzeichnis.

$ cd ~/padloc

Fahren Sie die vorhandenen Padloc-Container herunter und entfernen Sie sie.

$ docker-compose down --remove-orphans

Holen Sie sich die neuesten Bilder.

$ docker-compose pull

Starten Sie die Container erneut.

$ docker-compose up -d

Schlussfolgerung

Damit ist unser Tutorial zur Installation des selbstgehosteten Padloc-Passwortmanagers auf einem Rocky Linux 8-Server abgeschlossen. Wenn Sie Fragen haben, posten Sie diese in den Kommentaren unten.


Rocky Linux
  1. So installieren Sie Docker und Docker-Compose unter Rocky Linux 8

  2. So installieren Sie Docker unter Rocky Linux 8

  3. So installieren Sie Python 3.9 auf Rocky Linux 8

  4. So installieren Sie Passbolt Password Manager unter Rocky Linux

  5. So installieren Sie Redis unter Rocky Linux 8

So installieren Sie Snap unter Rocky Linux 8

So installieren Sie MySQL 8.0 auf Rocky Linux 8

So installieren Sie Docker unter Rocky Linux und AlmaLinux

So installieren Sie PHP 7.4 auf Rocky Linux 8

So installieren Sie Python 3.9 unter Rocky Linux

So installieren Sie Snap Package Manager unter Rocky Linux 8