Passwortmanager · 11 min read · Nov 09, 2025

Wie man den selbst gehosteten Passwortmanager Passbolt auf CentOS 8 installiert

Passbolt ist ein Open-Source-Passwortmanager, der es Ihnen ermöglicht, Ihre Passwörter sicher zu speichern und zu teilen. Er ist für kleine und mittelständische Unternehmen konzipiert, um die Anmeldedaten zwischen Teammitgliedern zu speichern und zu teilen. Er ist selbst gehostet und in einer Community- und einer abonnementbasierten Edition verfügbar.

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

Voraussetzungen

  • Ein Server, der CentOS 8 ausführt.
  • Ein gültiger Domainname, der auf Ihre Server-IP verweist.
  • Ein Root-Passwort, das auf Ihrem Server konfiguriert ist.

Installieren Sie den LEMP-Server

Zuerst installieren Sie Nginx und den 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 im CentOS-Standard-Repo nicht verfügbar. Daher müssen Sie das 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

Als nächstes deaktivieren Sie das Standard-PHP-Repo und aktivieren das REMI-Repo mit dem folgenden Befehl:

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

Als nächstes installieren Sie PHP mit den 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

Nachdem Sie alle Pakete installiert haben, müssen Sie die PHP-FPM-Konfigurationsdatei bearbeiten und den Benutzer und die Gruppe auf Nginx ändern.

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

Ändern Sie die folgenden Zeilen:

user = nginx
group = nginx

Speichern Sie die Datei und schließen Sie sie, und ändern Sie dann den Besitz des Sitzungsverzeichnisses:

chgrp nginx /var/lib/php/session

Als nächstes starten Sie die Dienste Nginx, MariaDB und PHP-FPM und aktivieren sie, damit sie beim Systemneustart gestartet werden, mit dem folgenden Befehl:

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 sie 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

Als nächstes starten Sie den PHP-FPM-Dienst neu, um die Änderungen anzuwenden:

systemctl restart php-fpm

Installieren Sie Composer

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

Zuerst laden Sie die Composer-Setup-Datei mit dem folgenden Befehl herunter:

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

Als nächstes installieren Sie 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

Als nächstes überprüfen Sie 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

Erstellen Sie eine Datenbank

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

Zuerst verbinden Sie sich mit MariaDB mit dem folgenden Befehl:

mysql

Sobald Sie verbunden sind, 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';

Als nächstes leeren Sie die Berechtigungen und verlassen Sie MariaDB mit dem folgenden Befehl:

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

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

Installieren und Konfigurieren von Passbolt

Zuerst wechseln Sie in das Nginx-Webstammverzeichnis und laden 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, wechseln Sie in das Verzeichnis passbolt und installieren 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. Zuerst installieren Sie haveged mit dem folgenden Befehl:

dnf install haveged

Als nächstes starten Sie 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: Willkommen
You selected this USER-ID:
    "Hitesh (Willkommen) <[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 (Willkommen) <[email protected]>
sub   rsa2048 2021-03-12 [E]

Hinweis: Denken Sie daran, den oben generierten geheimen Schlüssel zu speichern.

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

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

Als nächstes setzen Sie den richtigen Besitz für das Passbolt-Verzeichnis:

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

Als nächstes benennen Sie die Standardkonfigurationsdatei von Passbolt um:

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

Als nächstes bearbeiten Sie die passbolt.php-Datei und definieren Ihre Datenbankeinstellungen und die Basis-URL:

nano config/passbolt.php

Ändern Sie die folgenden Zeilen:

        'fullBaseUrl' => 'https://passbolt.linuxbuz.com',
    // Datenbankkonfiguration.
    'Datasources' => [
        'default' => [
            'host' => 'localhost',
            //'port' => 'non_standard_port_number',
            'username' => 'passbolt',
            'password' => 'password',
            'database' => 'passbolt',
            'serverKey' => [
                // Fingerabdruck des privaten Schlüssels des Servers.
                'fingerprint' => '40733A5076D11E86EF2FE5B51A0448FECA43E1F9',
                'public' => CONFIG . 'gpg' . DS . 'serverkey.asc',
                'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc',

Speichern Sie die Datei und schließen Sie sie, 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! ?

Konfigurieren Sie Nginx für Passbolt

Als nächstes müssen Sie eine Nginx-Konfigurationsdatei für Passbolt erstellen. Sie können sie 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 Sie die Datei und schließen Sie sie, und überprüfen Sie dann Nginx auf Syntaxfehler:

ginx -t

Ausgabe:

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

Als nächstes starten Sie Nginx neu, um die Änderungen anzuwenden:

systemctl restart nginx

Sichern Sie Passbolt mit Let’s Encrypt SSL

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

dnf install letsencrypt python3-certbot-nginx

Als nächstes erhalten und installieren Sie ein SSL-Zertifikat für Ihre Domain mit dem folgenden Befehl:

certbot --nginx -d passbolt.linuxbuz.com

Sie werden aufgefordert, Ihre E-Mail-Adresse anzugeben und den Nutzungsbedingungen zuzustimmen:

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 Passbolt zuzugreifen.

Konfigurieren Sie die Firewall

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 nun die firewalld neu, um die Änderungen anzuwenden:

firewall-cmd --reload

Zugriff auf die Passbolt-Weboberfläche

Öffnen Sie jetzt 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:

Passbolt

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

Passwort für Passbolt festlegen

Geben Sie das sichere Passwort an und klicken Sie auf die Schaltfläche Weiter. Sie sollten die folgende Seite sehen:

Wählen Sie eine Farbe

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

Passbolt Passwortmanager

Fazit

Herzlichen Glückwunsch! Sie haben den Passwortmanager Passbolt erfolgreich mit Nginx und Let’s Encrypt SSL auf CentOS 8 installiert. Sie können Passbolt jetzt in Ihrer Organisation implementieren und beginnen, die Anmeldedaten sicher zwischen den Teammitgliedern zu speichern und zu teilen.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.