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

So installieren Sie Passbolt Password Manager unter Rocky Linux

Passbolt ist ein kostenloser Open-Source-Passwortmanager, der auf PHP, MySQL und OpenPGP basiert. Es ist ein selbst gehosteter Anwendungsserver, Sie können ihn auf Ihrem Server installieren. Passbolt ist in erster Linie für Teams konzipiert, Sie können es aber auch als persönlichen Passwort-Manager verwenden.

Passbolt basiert auf OpenPGP und verfügt über eine erweiterbare API. Auf der Clientseite können Sie die Passbolt-Browsererweiterung verwenden, die für die Verschlüsselungsfunktionalität auf OpenPGP.js aufbaut. Auf der Serverseite verwendet Passbolt die GnuPG-PHP-Erweiterung und openpgp-php, um die Schlüsselvalidierung und Benutzerauthentifizierung durchzuführen. Passbolt verwendet das GPGAuth-Protokoll für die Benutzerauthentifizierung.

Voraussetzungen

In diesem Artikel erfahren Sie, wie Sie den selbst gehosteten Passwort-Manager Passbolt auf dem Rocky Linux-Server installieren. Sie installieren Passbolt mit PHP 7.4, MariaDB-Server und Nginx-Webserver.

Für dieses Beispiel verwenden wir die folgenden Serverdetails:

  • Betriebssystem:Rocky Linux 8.4 (grüner Obsidian)
  • IP-Adresse:192.168.1.10
  • Domänenname, in diesem Beispiel verwende ich:https://pass.example.io

Beginnen wir nun mit der Installation von Passbolt.

Installationspaketabhängigkeiten

Zuerst werden Sie neue Repositories hinzufügen und einige Paketabhängigkeiten zum Rocky Linux-System installieren.

1. Führen Sie den folgenden Befehl aus, um das „PowerTools“-Repository zu aktivieren und das EPEL-Repository (Extra Packages for Enterprise Linux) zu installieren.

sudo dnf config-manager --set-enabled powertools
sudo dnf install epel-release -y

2. Führen Sie den folgenden Befehl aus, um das PHP 7.4-Repository zu aktivieren.

sudo dnf module enable php:7.4 -y

3. Installieren Sie als Nächstes PHP-FPM, MariaDB, Nginx und einige zusätzliche Pakete mit dem folgenden DNF-Befehl.

sudo dnf install -y nginx mariadb-server mariadb php php-intl php-gd php-mysqlnd php-pear php-devel php-mbstring php-fpm php-json php-ldap gcc gpgme gpgme-devel git policycoreutils-python-utils unzip haveged make gcc

4. Führen Sie nach Abschluss der Installation den folgenden Befehl aus, um das PHP Composer-Installationsskript herunterzuladen.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Führen Sie nun erneut den folgenden Befehl aus, um den PHP-Composer in der systemweiten Umgebung zu installieren.

php composer-setup.php
sudo mv composer.phar /usr/bin/composer

Überprüfen Sie den PHP-Composer-Befehl wie folgt.

sudo -u nginx composer --version

Sie erhalten eine ähnliche Ausgabe wie unten.

Composer version 2.1.12 2021-11-09 16:02:04

5. Installieren Sie als Nächstes die GnuPG-PHP-Erweiterungen aus dem Repository der PHP Extension Community Library (PECL).

pecl install gnupg

Aktivieren Sie danach die GnuPG-PHP-Erweiterung mit dem folgenden Befehl.

echo "extension=gnupg.so" > /etc/php.d/gnupg.ini

6. Starten und aktivieren Sie nun einige Dienste mit dem folgenden systemctl-Befehl.

sudo systemctl enable --now nginx
sudo systemctl enable --now mariadb
sudo systemctl enable --now php-fpm
sudo systemctl enable --now haveged

Jetzt haben Sie die Installation der Paketabhängigkeiten für Passbolt abgeschlossen.

MariaDB und PHP-FPM konfigurieren

In diesem Schritt richten Sie das MariaDB-Root-Passwort und den PHP-FPM-Dienst ein.

1. Führen Sie den folgenden Befehl aus, um das MariaDB-Root-Passwort einzurichten.

mysql_secure_installation

Geben Sie ein neues sicheres Passwort für den MariaDB-Root-Benutzer ein und wiederholen Sie den Vorgang. Geben Sie dann „Y“ ein für alle MariaDB-Konfigurationen zuzustimmen.

2. Als nächstes bearbeiten Sie die '/etc/php.ini ' Konfigurationsdatei mit dem Nano-Editor.

nano /etc/php.ini

Entkommentieren Sie die Option „date.timezone“ und ändern Sie den Wert mit Ihrer Serverzeitzone.

date.timezone = Europe/Paris

Speichern Sie die Konfiguration und beenden Sie.

3. Bearbeiten Sie die PHP-FPM-Konfiguration '/etc/php-fpm.d/www.conf ' mit dem Nano-Editor.

nano /etc/php-fpm.d/www.conf

Ändern Sie den Standardbenutzer und die Standardgruppe für PHP-FPM in „nginx '.

user = nginx
group = nginx

Entkommentieren Sie 'listen.owner ' und 'listen.group ' und ändern Sie den Wert in Benutzer 'nginx '.

listen.owner = nginx
listen.group = nginx

Speichern Sie die Konfiguration und beenden Sie.

Wenden Sie nun die neue PHP-FPM-Konfiguration an, indem Sie den PHP-FPM-Dienst mit dem folgenden systemctl-Befehl neu starten.

sudo systemctl restart php-fpm

Und Sie haben die grundlegende Konfiguration von PHP-FPM abgeschlossen und ein neues Passwort für den MariaDB-Root-Benutzer erstellt.

Neue Datenbank für Passbolt erstellen

Um eine neue Datenbank für die Passbolt-Installation zu erstellen, melden Sie sich mit dem 'mysql ' Befehl unten.

mysql -u root -p

1. Erstellen Sie eine neue Datenbank „passdb“ mit der folgenden Abfrage.

CREATE DATABASE passdb;

2. Gewähren Sie alle Berechtigungen für die Datenbank 'passdb ' an den neuen Benutzer. Die folgende Abfrage erstellt automatisch einen neuen MariaDB-Benutzer 'passbolt '.

GRANT ALL ON passdb.* to [email protected] IDENTIFIED BY 'PassboltdbPass';

3. Alle Tabellenrechte neu laden.

FLUSH PRIVILEGES;

Geben Sie nun 'EXIT ein ' und drücken Sie 'Enter ', um sich von der MariaDB-Shell abzumelden.

Fahren Sie mit dem nächsten Schritt fort, um die Installation von Passbolt zu starten.

Passbolt herunterladen und PHP-Abhängigkeiten installieren

Für diesen Schritt laden Sie den Passbolt-Quellcode auf Ihren Server herunter und installieren PHP-Abhängigkeiten mit dem PHP-Composer.

1. Ändern Sie das aktuelle Arbeitsverzeichnis in „/var/www“ und klonen Sie die Passbolt-Quelle mit dem folgenden Befehl.

cd /var/www/
git clone https://github.com/passbolt/passbolt_api.git passbolt

Die Passbolt-Installation ist '/var/www/passbolt'

2. Ändern Sie den Eigentümer des Passbolt-Installationsverzeichnisses auf den Benutzer „nginx '.

sudo chown -R nginx:nginx /var/www/passbolt

3. Wechseln Sie in das Passbolt-Installationsverzeichnis und installieren Sie PHP-Abhängigkeiten mit dem PHP-Composer-Befehl. Und stellen Sie sicher, dass Sie den PHP-Composer-Befehl als Benutzer „nginx“ ausführen '.

cd /var/www/passbolt
sudo -u nginx composer install --no-dev

Wenn die Installation aller PHP-Abhängigkeiten abgeschlossen ist, fahren Sie mit dem nächsten Schritt fort, um den GPG-Schlüssel zu generieren.

GPG-Schlüssel für Server generieren

In diesem Schritt generieren Sie einen neuen GPG-Schlüssel für den Passbolt-Server.

Die aktuelle PHP-Erweiterung openpgp-php und GnuPG PHP unterstützen immer noch keine Passphrasen, daher erstellen Sie einen neuen GPG-Schlüssel ohne Passphrase.

1. Um den GPG-Schlüssel zu generieren, führen Sie den folgenden gpg-Befehl aus.

gpg --gen-key

Geben Sie Ihren Namen und Ihre E-Mail-Adresse ein und verwenden Sie keine Passphrase.

gpg (GnuPG) 2.2.20; Copyright (C) 2020 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Note: Use "gpg --full-generate-key" for a full featured key generation dialog.

GnuPG needs to construct a user ID to identify your key.

Real name: johndoe
Email address: [email protected]
You selected this USER-ID:
    "johndoe <[email protected]>"

Change (N)ame, (E)mail, or (O)kay/(Q)uit? O
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: key 14F31ED1FBEBAD9A marked as ultimately trusted
gpg: revocation certificate stored as '/root/.gnupg/openpgp-revocs.d/BCD52DF829FF8F9408A2F1B214F31ED1FBEBAD9A.rev'
public and secret key created and signed.

pub   rsa2048 2021-11-16 [SC] [expires: 2023-11-16]
      BCD52DF829FF8F9408A2F1B214F31ED1FBEBAD9A
uid                      johndoe <[email protected]>
sub   rsa2048 2021-11-16 [E] [expires: 2023-11-16]

Notieren Sie sich auch den Fingerabdruck Ihres neuen Schlüssels. In diesem Beispiel lautet der Fingerabdruck des Schlüssels 'BCD52DF829FF8F9408A2F1B214F31ED1FBEBAD9A '.

2. Als nächstes exportieren Sie den GPG-Schlüssel in das Passbolt-Installationsverzeichnis „/var/www/passbolt/config/gpg/ '.

gpg --armor --export-secret-keys [email protected] > /var/www/passbolt/config/gpg/serverkey_private.asc
gpg --armor --export [email protected] > /var/www/passbolt/config/gpg/serverkey.asc

An dieser Stelle müssen Sie sich eine Notiz zu Ihren GPG-Schlüsselinformationen wie unten machen.

  • Fingerabdruck:BCD52DF829FF8F9408A2F1B214F31ED1FBEBAD9A
  • E-Mail:[email protected]
  • Öffentlicher Schlüssel:serverkey.asc
  • Privater Schlüssel:serverkey_private.asc

3. Als nächstes müssen Sie das GNUPG-Verzeichnis für den Benutzer nginx mit dem folgenden Befehl generieren.

sudo su -s /bin/bash -c "gpg --list-keys" nginx

Sie werden eine ähnliche Ausgabe wie unten sehen.

gpg: directory '/var/lib/nginx/.gnupg' created
gpg: keybox '/var/lib/nginx/.gnupg/pubring.kbx' created
gpg: /var/lib/nginx/.gnupg/trustdb.gpg: trustdb created

Jetzt haben Sie die GPG-Schlüsselkonfiguration für Passbolt abgeschlossen. Fahren Sie mit dem nächsten Schritt für die Passbolt-Konfiguration fort.

Passbolt- und Nginx-Server-Blöcke konfigurieren

In diesem Schritt konfigurieren Sie den Domänennamen, die Datenbank und den GPG-Schlüssel der Passbolt-Installation.

Bevor Sie beginnen, ändern Sie Ihr Arbeitsverzeichnis in '/var/www/passbolt' Verzeichnis.

export PASSBOLT=/var/www/passbolt/
cd $PASSBOLT

1. Kopieren Sie die Standardkonfiguration in die „passbolt.php“ und bearbeiten Sie sie dann mit dem Nano-Editor.

cp config/passbolt.default.php config/passbolt.php
nano config/passbolt.php

Ändern Sie die 'fullBaseUrl '-Option bei der Installation Ihres Passbolt-Domainnamens. Für dieses Beispiel ist es 'https://pass.example.io'

    'App' => [
        // comment

        'fullBaseUrl' => 'https://pass.example.io',
        
        // comment..
    ],

Ändern Sie die Datenbankkonfiguration mit Ihrem MariaDB-Benutzer und Passwort unten.

    // Database configuration.
    'Datasources' => [
        'default' => [
            'host' => 'localhost',
            //'port' => 'non_standard_port_number',
            'username' => 'passbolt',
            'password' => 'PassboltdbPass',
            'database' => 'passdb',
        ],
    ],

Kopieren Sie Ihren GPG-Fingerabdruck und fügen Sie ihn ein und kommentieren Sie die Optionen „Öffentlich“ und „Privat“ aus.

        'gpg' => [
            //
            // COMMENT REMOVED
            //
            'serverKey' => [
                // Server private key fingerprint.
                'fingerprint' => '38E3736DD02860F8CBA57BB99C8B82A2C3A6959F',
                'public' => CONFIG . 'gpg' . DS . 'serverkey.asc',
                'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc',
            ],

Speichern Sie die Konfiguration und beenden Sie.

2. Erstellen Sie als Nächstes eine neue Nginx-Serverblockkonfiguration '/etc/nginx/conf.d/passbolt.conf ' mit dem Nano-Editor.

nano /etc/nginx/conf.d/passbolt.conf

Kopieren Sie die folgende Konfiguration und fügen Sie sie ein. Stellen Sie sicher, dass Sie den Domänennamen und den Pfad der SSL-Zertifikate ändern.

server {
    listen 80;

    server_name pass.example.io;

    return 302 https://$server_name$request_uri;
}

server {
  listen 443 ssl http2;

  server_name pass.example.io;
  root /var/www/passbolt;

  ssl_certificate /etc/letsencrypt/live/pass.example.io/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/pass.example.io/privkey.pem;

  ssl_protocols TLSv1.2;
  ssl_prefer_server_ciphers on;
  ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
  ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
  ssl_session_timeout  10m;
  ssl_session_cache shared:SSL:10m;
  ssl_session_tickets off; # Requires nginx >= 1.5.9
  # ssl_stapling on; # Requires nginx >= 1.3.7
  # ssl_stapling_verify on; # Requires nginx => 1.3.7
  resolver 8.8.8.8 8.8.4.4 valid=300s;
  resolver_timeout 5s;
  add_header X-Frame-Options DENY;
  add_header X-Content-Type-Options nosniff;
  add_header X-XSS-Protection "1; mode=block";
 
  location / {
    try_files $uri $uri/ /index.php?$args;
    index index.php;
  }
 
  location ~ \.php$ {
    fastcgi_index           index.php;
    fastcgi_pass            unix:/var/run/php-fpm/www.sock;
    fastcgi_split_path_info ^(.+\.php)(.+)$;
    include                 fastcgi_params;
    fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param           SERVER_NAME $http_host;
  }
       
  location ~* \.(jpe?g|woff|woff2|ttf|gif|png|bmp|ico|css|js|json|pdf|zip|htm|html|docx?|xlsx?|pptx?|txt|wav|swf|svg|avi|mp\d)$ {
    access_log off;
    log_not_found off;
    try_files $uri /webroot/$uri /index.php?$args;
  }
}

Speichern Sie die Konfiguration und beenden Sie.

Überprüfen Sie nun die Nginx-Konfiguration und stellen Sie sicher, dass keine Fehler angezeigt werden, und starten Sie dann den Nginx-Dienst neu.

nginx -t
sudo systemctl restart nginx

3. Ändern Sie als Nächstes das Arbeitsverzeichnis in „/var/www/passbolt ' und starten Sie die Passbolt-Installation mit dem folgenden Befehl.

cd /var/www/passbolt
sudo su -s /bin/bash -c "./bin/cake passbolt install" nginx

Am Ende des Passbolt-Installationsprozesses erstellen Sie einen neuen Admin-Benutzer für Passbolt.

Geben Sie Ihre E-Mail-Adresse, Ihren Vornamen und Ihren Nachnamen ein. Kopieren Sie dann Ihren Passbolt-Installationslink.

Zugriff auf Passbolt über einen Webbrowser

Öffnen Sie Ihren Webbrowser und fügen Sie den vom Passbolt-Installationsprogramm generierten Passbolt-Installationslink in die Adressleiste ein.

https://pass.example.io/setup/install/8383584c-2eca-496a-a0ca-4fe35a157d24/fc5ad911-9409-416a-8175-a18cd19dcb20

1. Passbolt erkennt Ihren Webbrowser automatisch und zeigt den Installationslink der Passbolt-Browsererweiterung an.

Klicken Sie auf die Schaltfläche 'Erweiterung herunterladen ' und installieren Sie die Passbolt-Browsererweiterung.

2. Geben Sie eine neue starke Passphrase ein und klicken Sie auf 'Weiter ' Schaltfläche.

3. Laden Sie das Wiederherstellungskit auf Ihren lokalen Computer herunter und klicken Sie auf 'Weiter ' Taste. Sie können das Wiederherstellungskit verwenden, um Ihre Passbolt-Passphrase zurückzusetzen.

4. Wählen Sie die Farbe für Ihr Passbolt-Sicherheitstoken und merken Sie sich diese drei Buchstaben. Klicken Sie auf 'Weiter ' Taste erneut.

5. Jetzt werden Sie wie unten beschrieben zum Passbolt-Benutzer-Dashboard weitergeleitet.

6. Benutzer der Passbolt-Liste.

Und Sie haben die Installation des Passbolt-Passwort-Managers abgeschlossen.

Schlussfolgerung

Glückwunsch! Sie haben den Passbolt-Passwortmanager mit PHP-FPM, MariaDB-Server und Nginx-Webserver erfolgreich auf Rocky Linux installiert.

Im nächsten Schritt können Sie neue Passbolt-Benutzer für Ihr Team erstellen.


Rocky Linux
  1. So installieren Sie den Padloc Password Manager unter Rocky Linux 8

  2. So installieren Sie Nextcloud unter Rocky Linux

  3. So installieren Sie das neueste PHP 8 auf Rocky Linux

  4. So installieren Sie phpMyAdmin unter Rocky Linux

  5. So installieren Sie PHP 8 auf Alma Linux &Rocky Linux

So installieren Sie PHP 7.4 auf Rocky Linux 8

So installieren Sie Passbolt Password Manager unter Ubuntu 18.04

So installieren Sie Memcached auf Rocky Linux 8

So installieren Sie PHP 8 auf Rocky Linux 8

So installieren Sie Laravel auf Rocky Linux 8

So installieren Sie Snap Package Manager unter Rocky Linux 8