GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie den selbstgehosteten Passwort-Manager von Passbolt unter CentOS 8

Passbolt ist ein Open-Source-Passwortmanager, mit dem Sie Ihr Passwort sicher speichern und teilen können. Es wurde für kleine und mittlere Organisationen entwickelt, um die Anmeldeinformationen zwischen Teammitgliedern zu speichern und zu teilen. Es wird selbst gehostet und ist sowohl in Community- als auch in abonnementbasierten Editionen verfügbar.

In diesem Tutorial zeigen wir Ihnen, wie Sie den Passbolt-Passwortmanager mit Nginx und Let’s Encrypt SSL unter CentOS 8 installieren.

Voraussetzungen

  • Ein Server mit CentOS 8.
  • Ein gültiger Domainname, auf den Ihre Server-IP verweist.
  • Auf Ihrem Server ist ein Root-Passwort konfiguriert.

LEMP-Server installieren

Installieren Sie zuerst den Nginx- und MariaDB-Datenbankserver mit dem folgenden Befehl:

dnf install nginx mariadb-server -y

Als nächstes müssen Sie die neueste Version von PHP und andere erforderliche PHP-Erweiterungen auf Ihrem Server installieren. Standardmäßig ist die neueste Version von PHP nicht im CentOS-Standardrepository verfügbar. Sie müssen also EPEL und REMI Repo zu Ihrem System hinzufügen.

Sie können beide Repos mit dem folgenden Befehl hinzufügen:

dnf install epel-release -y
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y

Deaktivieren Sie als Nächstes das Standard-PHP-Repo und aktivieren Sie das REMI-Repo mit dem folgenden Befehl:

dnf module reset php
dnf module enable php:remi-7.4

Installieren Sie als Nächstes PHP mit anderen erforderlichen Abhängigkeiten, indem Sie den folgenden Befehl ausführen:

dnf install php php-fpm php-intl php-gd php-mysqli php-json php-pear php-devel php-mbstring php-fpm git make unzip -y

Nach der Installation aller Pakete müssen Sie die PHP-FPM-Konfigurationsdatei bearbeiten und den Benutzer und die Gruppe in Nginx ändern.

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

Ändern Sie die folgenden Zeilen:

user = nginx
group = nginx

Speichern und schließen Sie die Datei und ändern Sie dann den Eigentümer des Sitzungsverzeichnisses:

chgrp nginx /var/lib/php/session

Starten Sie als Nächstes den Nginx-, MariaDB- und PHP-FPM-Dienst und ermöglichen Sie ihnen, beim Systemneustart mit dem folgenden Befehl zu starten:

systemctl start mariadb nginx php-fpm
systemctl enable mariadb nginx php-fpm

Als nächstes müssen Sie die GNUPG-Erweiterung auf Ihrem System installieren. Sie können es installieren, indem Sie die folgenden Befehle ausführen:

dnf config-manager --set-enabled powertools
dnf install gpgme-devel
pecl install gnupg
echo "extension=gnupg.so" > /etc/php.d/gnupg.ini

Starten Sie als Nächstes den PHP-FPM-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart php-fpm

Composer installieren

Composer ist ein Abhängigkeitsmanager für PHP. Sie müssen es in Ihrem System installieren.

Laden Sie zunächst die Composer-Setup-Datei mit dem folgenden Befehl herunter:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Als nächstes installieren Sie den Composer mit dem folgenden Befehl:

php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Sie sollten die folgende Ausgabe erhalten:

All settings correct for using Composer
Downloading...

Composer (version 2.0.11) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

Überprüfen Sie als Nächstes die Composer-Version mit dem folgenden Befehl:

composer -V

Sie sollten die folgende Ausgabe erhalten:

Composer version 2.0.11 2021-02-24 14:57:23

Datenbank erstellen

Als nächstes müssen Sie eine Datenbank und einen Benutzer für Passbolt erstellen.

Stellen Sie zunächst mit dem folgenden Befehl eine Verbindung zu MariaDB her:

mysql

Sobald die Verbindung hergestellt ist, erstellen Sie eine Datenbank und einen Benutzer mit dem folgenden Befehl:

MariaDB [(none)]> CREATE DATABASE passbolt DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> GRANT ALL ON passbolt.* TO 'passbolt'@'localhost' IDENTIFIED BY 'password';

Leeren Sie als Nächstes die Berechtigungen und beenden Sie die MariaDB mit dem folgenden Befehl:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Passbolt installieren und konfigurieren

Ändern Sie zunächst das Verzeichnis in das Nginx-Web-Root-Verzeichnis und laden Sie die neueste Version von Passbolt mit dem folgenden Befehl herunter:

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

Sobald der Download abgeschlossen ist, ändern Sie das Verzeichnis in passbolt und installieren Sie alle erforderlichen Abhängigkeiten mit dem folgenden Befehl:

cd passbolt
composer install --no-dev

Als nächstes müssen Sie haveged installieren, um den GPG-Schlüssel zu generieren. Installieren Sie zuerst das Haveged mit dem folgenden Befehl:

dnf install haveged

Starten Sie als Nächstes den Haveged-Dienst mit dem folgenden Befehl:
systemctl start haveged

Als nächstes generieren Sie den GPG-Schlüssel mit dem folgenden Befehl:

gpg --full-generate-key

Beantworten Sie alle Fragen sorgfältig. Lassen Sie das Passwortfeld leer, wenn Sie aufgefordert werden, ein Passwort festzulegen:

gpg (GnuPG) 2.2.9; Copyright (C) 2018 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.

gpg: directory '/root/.gnupg' created
gpg: keybox '/root/.gnupg/pubring.kbx' created
Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
Your selection? 
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 
Requested keysize is 2048 bits
Please specify how long the key should be valid.
         0 = key does not expire
        = key expires in n days
      w = key expires in n weeks
      m = key expires in n months
      y = key expires in n years
Key is valid for? (0) 
Key does not expire at all
Is this correct? (y/N) y

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

Real name: Hitesh
Email address: [email protected]
Comment: Welcome
You selected this USER-ID:
    "Hitesh (Welcome) <[email protected]>"

Change (N)ame, (C)omment, (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: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 1A0448FECA43E1F9 marked as ultimately trusted
gpg: directory '/root/.gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/root/.gnupg/openpgp-revocs.d/40733A5076D11E86EF2FE5B51A0448FECA43E1F9.rev'
public and secret key created and signed.

pub   rsa2048 2021-03-12 [SC]
      40733A5076D11E86EF2FE5B51A0448FECA43E1F9
uid                      Hitesh (Welcome) <[email protected]>
sub   rsa2048 2021-03-12 [E]

Hinweis :Merken Sie sich den oben generierten geheimen Schlüssel.

Als nächstes exportieren Sie den geheimen Schlüssel mit dem folgenden Befehl in die Datei serverkey_private.asc und serverkey.asc:

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

Legen Sie als Nächstes den richtigen Besitz für das Passbolt-Verzeichnis fest:

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

Als nächstes initialisieren Sie den Nginx-Schlüsselbund mit dem folgenden Befehl:

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

Ausgabe:

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

Benennen Sie als Nächstes die Standardkonfigurationsdatei von Passbolt um:

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

Bearbeiten Sie als Nächstes die Datei passbolt.php und definieren Sie Ihre Datenbankeinstellungen und die Basis-URL:

nano config/passbolt.php

Ändern Sie die folgenden Zeilen:

        'fullBaseUrl' => 'https://passbolt.linuxbuz.com',
    // Database configuration.
    'Datasources' => [
        'default' => [
            'host' => 'localhost',
            //'port' => 'non_standard_port_number',
            'username' => 'passbolt',
            'password' => 'password',
            'database' => 'passbolt',
            'serverKey' => [
                // Server private key fingerprint.
                'fingerprint' => '40733A5076D11E86EF2FE5B51A0448FECA43E1F9',
                'public' => CONFIG . 'gpg' . DS . 'serverkey.asc',
                'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc',

Speichern und schließen Sie die Datei und installieren Sie dann Passbolt mit dem folgenden Befehl:

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

Sie sollten die folgende Ausgabe erhalten:

All Done. Took 0.9595s

Import the server private key in the keyring
---------------------------------------------------------------
Importing /var/www/passbolt/config/gpg/serverkey_private.asc
Keyring init OK

Passbolt installation success! Enjoy! ?

Nginx für Passbolt konfigurieren

Als nächstes müssen Sie eine Nginx-Konfigurationsdatei für Passbolt erstellen. Sie können es mit dem folgenden Befehl erstellen:

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

Fügen Sie die folgenden Zeilen hinzu:

server {
  listen 80;
  server_name passbolt.linuxbuz.com;
  root /var/www/passbolt;
  
  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 und schließen Sie die Datei und überprüfen Sie dann Nginx auf Syntaxfehler:

nginx -t

Ausgabe:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Als nächstes starten Sie Nginx neu, um die Änderungen zu übernehmen:

systemctl restart nginx

Secure Passbolt mit Let's Encrypt SSL

Als Nächstes müssen Sie den Certbot-Client installieren, um Let’s Encrypt SSL für Passbolt zu installieren. Sie können es mit dem folgenden Befehl installieren:

dnf install letsencrypt python3-certbot-nginx

Rufen Sie als Nächstes mit dem folgenden Befehl ein SSL-Zertifikat für Ihre lets-Domain ab und installieren Sie es:

certbot --nginx -d passbolt.linuxbuz.com

Sie werden aufgefordert, Ihre E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Account registered.
Requesting a certificate for passbolt.linuxbuz.com
Performing the following challenges:
http-01 challenge for passbolt.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/passbolt.conf
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/passbolt.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://passbolt.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Subscribe to the EFF mailing list (email: [email protected]).


IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/passbolt.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/passbolt.linuxbuz.com/privkey.pem
   Your certificate will expire on 2021-06-09. To obtain a new or
   tweaked version of this certificate in the future, simply run
   certbot again with the "certonly" option. To non-interactively
   renew *all* of your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Registrieren Sie einen Benutzer für Passbolt

Als Nächstes müssen Sie einen Benutzer für Passbolt registrieren. Sie können dies mit dem folgenden Befehl tun:

cd /var/www/passbolt
sudo su -s /bin/bash -c "./bin/cake passbolt register_user -u [email protected] -f howtoforge -l Demo -r admin" nginx

Sie sollten die folgende Ausgabe erhalten:

     ____                  __          ____  
    / __ \____  _____ ____/ /_  ____  / / /_ 
   / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/ 
  / ____/ /_/ (__  |__  ) /_/ / /_/ / / /    
 /_/    \__,_/____/____/_.___/\____/_/\__/   

 Open source password manager for teams
---------------------------------------------------------------
User saved successfully.
To start registration follow the link provided in your mailbox or here: 
https://passbolt.linuxbuz.com/setup/install/f81227bc-b0b6-44b5-99a7-6b490a4ba262/5a112de0-6ca4-4e1b-97c8-26453ef3828b

Sie können den obigen Link verwenden, um auf den Paabolt zuzugreifen.

Firewall konfigurieren

Als nächstes müssen Sie die Ports 80 und 443 durch die Firewall zulassen. Sie können dies mit dem folgenden Befehl tun:

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp

Laden Sie jetzt die Firewall neu, um die Änderungen zu übernehmen:

firewall-cmd --reload

Zugang zur Passbolt-Web-UI

Öffnen Sie nun Ihren Webbrowser und geben Sie die URL https://passbolt.linuxbuz.com/setup/install/f81227bc-b0b6-44b5-99a7-6b490a4ba262/5a112de0-6ca4-4e1b-97c8-26453ef3828b ein . Sie werden auf die folgende Seite weitergeleitet:

Hier müssen Sie die Passbolt-Browsererweiterungen herunterladen und die Seite nach der Installation aktualisieren. Sie sollten die folgende Seite sehen:

Geben Sie das sichere Passwort ein und klicken Sie auf Weiter Taste. Sie sollten die folgende Seite sehen:

Wählen Sie eine Farbe, geben Sie ein Sicherheitstoken ein und klicken Sie auf Weiter Taste. Sie werden auf der folgenden Seite zum Passbolt-Dashboard weitergeleitet:

Schlussfolgerung

Herzliche Glückwünsche! Sie haben Passbolt Password Manager erfolgreich mit Nginx und Let’s Encrypt SSL auf CentOS 8 installiert. Sie können Passbolt jetzt in Ihrer Organisation implementieren und damit beginnen, die Anmeldeinformationen sicher zu speichern und für alle Teammitglieder freizugeben.


Cent OS
  1. So installieren Sie MongoDB unter CentOS 8

  2. So installieren Sie Apache Cassandra unter CentOS 7

  3. So installieren Sie Redis Server auf CentOS 8

  4. So installieren Sie XWiki unter CentOS 7

  5. So installieren Sie offene Kleinanzeigen unter CentOS 7

So installieren Sie den selbst gehosteten URL-Shortener von YOURLS unter CentOS 8

So installieren Sie WebERP auf CentOS 8

So installieren Sie den selbst gehosteten Passwort-Manager von Passbolt unter Debian 11

So installieren Sie XAMPP unter CentOS 8

So installieren Sie Graylog unter CentOS 7

So installieren Sie Passbolt Password Manager unter Ubuntu 18.04