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 -yAls 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 -yAls 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.4Als 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 -yNachdem 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 = nginxSpeichern Sie die Datei und schließen Sie sie, und ändern Sie dann den Besitz des Sitzungsverzeichnisses:
chgrp nginx /var/lib/php/sessionAls 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-fpmAls 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.iniAls nächstes starten Sie den PHP-FPM-Dienst neu, um die Änderungen anzuwenden:
systemctl restart php-fpmInstallieren 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=composerSie 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/composerAls nächstes überprüfen Sie die Composer-Version mit dem folgenden Befehl:
composer -VSie sollten die folgende Ausgabe erhalten:
Composer version 2.0.11 2021-02-24 14:57:23Erstellen 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:
mysqlSobald 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 passboltSobald 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-devAls nächstes müssen Sie haveged installieren, um den GPG-Schlüssel zu generieren. Zuerst installieren Sie haveged mit dem folgenden Befehl:
dnf install havegedAls 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-keyBeantworten 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.ascAls nächstes setzen Sie den richtigen Besitz für das Passbolt-Verzeichnis:
chown -R nginx:nginx /var/www/passboltAls nächstes initialisieren Sie den Nginx-Schlüsselbund mit dem folgenden Befehl:
sudo su -s /bin/bash -c "gpg --list-keys" nginxAusgabe:
gpg: directory '/var/lib/nginx/.gnupg' created
gpg: keybox '/var/lib/nginx/.gnupg/pubring.kbx' created
gpg: /var/lib/nginx/.gnupg/trustdb.gpg: trustdb createdAls nächstes benennen Sie die Standardkonfigurationsdatei von Passbolt um:
cp config/passbolt.default.php config/passbolt.phpAls 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" nginxSie 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.confFü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 -tAusgabe:
ginx: the configuration file /etc/nginx/nginx.conf syntax is ok
ginx: configuration file /etc/nginx/nginx.conf test is successfulAls nächstes starten Sie Nginx neu, um die Änderungen anzuwenden:
systemctl restart nginxSichern 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-nginxAls nächstes erhalten und installieren Sie ein SSL-Zertifikat für Ihre Domain mit dem folgenden Befehl:
certbot --nginx -d passbolt.linuxbuz.comSie 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-leRegistrieren 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" nginxSie 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-26453ef3828bSie 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/tcpLaden Sie nun die firewalld neu, um die Änderungen anzuwenden:
firewall-cmd --reloadZugriff 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:

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 an und klicken Sie auf die Schaltfläche Weiter. Sie sollten die folgende Seite sehen:

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:

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.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.