So installierst du den SysPass Password Manager auf Rocky Linux

SysPass ist ein in PHP geschriebener Open-Source-Passwortmanager mit AES-256 CTR-Verschlüsselung. Er wurde für die zentrale und kollaborative Passwortverwaltung entwickelt. Er bietet eine erweiterte Profilverwaltung, Multiuser mit Benutzer-, Gruppen- und Profilverwaltung. Unterstützt Authentifizierungsmethoden über MySQL/MariaDB und OpenLDAP Active Directory und wurde interaktiv mit Material Design über HTML5 und AJAX gestaltet.

SysPass bietet eine API, mit der du andere Anwendungen integrieren kannst. Es unterstützt die Keepass-Passwortdatenbank und CSV-Dateien für den Import und Export. Außerdem bietet es Kontoverlauf und Wiederherstellungspunkte, Mehrsprachigkeit und öffentliche Links ohne Anmeldung (anonymer Link).

In diesem Lernprogramm installierst du den SysPass Password Manager mit Apache2, MariaDB und PHP auf dem Rocky Linux Server. Außerdem sicherst du die SysPass-Installation mit SSL-Zertifikaten und lernst, wie du Composer auf Rocky Linux installierst, um PHP-Abhängigkeiten zu verwalten.

Voraussetzungen

Für dieses Tutorial brauchst du die folgenden Voraussetzungen:

  • Einen Rocky Linux Server – Du kannst Rocky Linux v8 oder v9 verwenden.
  • Einen Nicht-Root-Benutzer mit sudo-Root-Rechten.
  • Einen vollständigen Domainnamen, der auf die IP-Adresse deines Servers zeigt.

Installation des Httpd Webservers

Für diese Anleitung wirst du den SysPass Password Manager mit dem Apache oder httpd Webserver betreiben. Unter Rocky Linux ist der httpd-Webserver standardmäßig in den BaseOS- und AppStream-Repositories verfügbar.

Du kannst den httpd-Webserver ganz einfach über das offizielle Rocky Linux Repository installieren.

Führe den folgenden dnf-Befehl aus, um den httpd-Webserver zu installieren.

sudo dnf install httpd

Gib Y ein, um die Installation zu bestätigen und drücke ENTER, um fortzufahren.

httpd installieren

Sobald der httpd installiert ist, führst du den folgenden systemctl-Befehl aus, um den httpd-Dienst zu starten und zu aktivieren. Der Befehl „systemctl enable“ ermöglicht es dir, Dienste beim Systemstart zu starten.

sudo systemctl start httpd
sudo systemctl enable httpd

Führe nun den folgenden Befehl aus, um den Status des httpd-Dienstes zu überprüfen und sicherzustellen, dass der Dienst läuft.

sudo systemctl status httpd

Du erhältst eine Ausgabe wie im folgenden Screenshot. Der httpd-Dienst wird derzeit ausgeführt und ist aktiviert.

mariadb starten

Wenn du die Firewalld auf deinem Rocky Linux Server eingerichtet hast, musst du die HTTP- und HTTPS-Dienste zur Firewalld hinzufügen.

Führe den folgenden Befehl firwewall-cmd aus, um den HTTP- und HTTPS-Dienst zur Firewalld hinzuzufügen.

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

Danach lädst du die Firewalld neu und überprüfst den Status der Regel mit dem unten stehenden Befehl.

sudo firewall-cmd --reload
sudo firewall-cmd --list-services

Du solltest die Ausgabe sehen, dass der HTTP- und HTTPS-Dienst zur Firewalld hinzugefügt wurde.

firewalld einrichten

Installation von MariaDB Server

Der SysPass Password Manager unterstützt MySQL oder MariaDB als Datenbank. In diesem Schritt installierst du MariaDB und sicherst sie mit dem Befehl mysql_secure_installation.

mysql_secure_installation ist eine Befehlszeile, die von den MariaDB-Paketen bereitgestellt wird und mit der du deine MariaDB-Installation einrichten kannst, z. B. das Root-Passwort einrichten, die Fernanmeldung für den Root-Benutzer deaktivieren, den anonymen Benutzer entfernen und die Datenbank testen.

Um MariaDB zu installieren, führe den folgenden dnf-Befehl aus. Wenn du aufgefordert wirst, die Installation zu bestätigen, gibst du Y ein und drückst ENTER, um fortzufahren.

sudo dnf install mariadb-server

mariadb installieren

Sobald MariaDB installiert ist, starte und aktiviere den MariaDB-Dienst mit dem folgenden systemctl-Befehl.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Überprüfe nun den MariaDB-Dienst, um sicherzustellen, dass er aktiviert ist und läuft.

sudo systemctl status mariadb

Du solltest die Ausgabe sehen, dass der MariaDB-Dienst aktiviert ist und beim Systemstart automatisch ausgeführt wird. Und der Status des MariaDB-Dienstes lautet „running“.

mariadb prüfen

Jetzt, wo der MariaDB-Dienst läuft, ist es an der Zeit, die MariaDB-Installation mit dem Befehl„mysql_secure_installation“ zu sichern.

Führe den folgenden Befehl aus, um deine MariaDB-Installation zu sichern.

sudo mysql_secure_installation

Jetzt wirst du nach den folgenden MariaDB-Serverkonfigurationen gefragt:

  1. Authentifizierung auf unix_socket ändern? gib n für no ein.
  2. Ändern des MariaDB-Root-Passworts? Gib zur Bestätigung y ein und gib dann das neue Passwort für deinen MariaDB-Root-Benutzer ein.
  3. Remote-Anmeldung für den Root-Benutzer deaktivieren? gib y für ja ein.
  4. Anonymen Benutzer entfernen? gib y ein.
  5. Den Standard-Datenbanktest entfernen? gib erneut y ein.
  6. Zuletzt lädst du die Tabellenrechte neu und wendest die neuen Konfigurationen an? bestätige mit y.

Jetzt hast du MariaDB auf deinem Server installiert und gesichert.

PHP installieren

Nach der Installation von MariaDB installierst du nun PHP auf deinem Rocky Linux Server. Für den SysPass Password Manager muss PHP 7.4 installiert sein, also installierst du es jetzt über das REMI-Repository.

Für Rocky Linux 8 – führe den folgenden Befehl aus, um das REMI-Repository hinzuzufügen.

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Für Rocky Linux 9 – führe den folgenden Befehl aus, um das REMI-Repository hinzuzufügen

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm

Gib y ein, wenn du aufgefordert wirst, die Installation zu bestätigen.

remi repo hinzufügen

Führe nun den folgenden dnf-Befehl aus, um die Liste der verfügbaren PHP-Pakete zu überprüfen. Du solltest sehen, dass das REMI-Repository mehrere PHP-Versionen 7.4, 8.0, 8.1 und 8.2 bereitstellt.

sudo dnf module list php

php repo auflisten

Für die SysPass-Installation wirst du PHP 7.4 installieren. Führe also den folgenden Befehl aus, um das PHP-Modul „remi-7.4“ zu aktivieren. Gib Y ein, um das Modul zu bestätigen und zu aktivieren.

sudo dnf module enable php:remi-7.4

remi repo aktivieren

Führe nun den folgenden dnf-Befehl aus, um PHP 7.4 auf deinem System zu installieren.

sudo dnf install -y php php-pear php-cgi php-cli php-common php-gd php-json php-mysql php-readline php curl php-intl php-ldap php-mcrypt php-xml php-mbstring php-zip

Die Installation sollte beginnen und du wirst aufgefordert, die Installation zu bestätigen. Gib y ein und drücke ENTER, um fortzufahren.

Sobald PHP installiert ist, bearbeite die Standardkonfigurationsdatei „/etc/php.ini“ mit dem folgenden Befehl.

sudo nano /etc/php/7.4/apache2/php.ini

Ändere die Standard-PHP-Konfiguration mit den folgenden Einstellungen. Achte darauf, dass du die Zeitzone und das memory_limit an deine Systemumgebung anpasst.

post_max_size = 120M
upload_max_filesize = 120M
max_execution_time = 6000
memory_limit = 256M
date.timezone = Europe/Stockholm

Speichere die Datei und beende den Editor, wenn du fertig bist.

Führe nun den folgenden systemctl-Befehl aus, um den httpd-Dienst neu zu starten und die PHP-Konfigurationen anzuwenden. Damit hast du die grundlegende Installation des LAMP-Stacks für den SysPass Password Manager abgeschlossen.

sudo systemctl restart httpd

Installation von Composer

Eine weitere Abhängigkeit, die für SysPass benötigt wird, ist der Composer. Dieser wird verwendet, um die PHP-Abhängigkeiten für die SysPass-Webanwendung zu installieren.

Führe den folgenden Befehl aus, um Composer auf deinem Rocky Linux Rechner zu installieren.

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

Unten siehst du die Ausgabe:

Komponist installieren

Überprüfe nun den Composer mit dem folgenden Befehl. Du solltest die Version des PHP Composers sehen, die auf deinem System installiert ist.

sudo -u apache composer -v

Komponist prüfen

Nachdem Composer installiert ist, startest du als Nächstes die Installation von SysPass.

Installation von SysPass Password Manager

Führe zunächst den folgenden dnf-Befehl aus, um git zu installieren und Pakete auf deinem System zu entpacken.

sudo dnf install git unzip -y

Lade nun den SysPass-Quellcode mit dem git-Befehl in das Ziel-Installationsverzeichnis „/var/www/syspass“ herunter.

git clone https://github.com/nuxsmin/sysPass.git /var/www/syspass

Führe den folgenden Befehl aus, um die Eigentümerschaft und die Rechte für das SysPass-Installationsverzeichnis zu ändern. Der Eigentümer sollte der Benutzer„apache“ sein, unter dem der httpd läuft.

sudo chown -R apache:apache /var/www/syspass
sudo chmod 750 /var/www/syspass/app/config /var/www/syspass/app/backup

Als nächstes führst du den folgenden Befehl aus, um ein Cache-Verzeichnis für Composer zu erstellen. Dann änderst du die Eigentümerschaft auf den Benutzer apache. In diesem Verzeichnis werden die PHP-Abhängigkeiten für deine Anwendung gespeichert.

sudo mkdir -p /usr/share/httpd/.cache
sudo chown -R apache:apache /usr/share/httpd/.cache

Syspass herunterladen

Wechsle schließlich in das SysPass-Installationsverzeichnis„/var/www/syspass“ und installiere die PHP-Abhängigkeiten für SysPass mit dem unten stehenden composer-Befehl.

cd /var/www/syspass
sudo -u apache composer install --no-interaction --no-dev

Auf dem folgenden Screenshot siehst du die Installation der PHP-Abhängigkeiten für den SysPass Password Manager.

Abhängigkeiten installieren

Sobald die PHP-Abhängigkeiten installiert sind, fährst du mit dem nächsten Schritt fort.

SELinux einrichten

Wenn du SysPass mit SELinux im Durchsetzungsmodus betreibst, musst du eine neue SELinux-Regel zu deinem System hinzufügen.

Bevor du mit der Verwaltung von SELinux beginnst, führe den folgenden Befehl aus, um sicherzustellen, dass das folgende Paket installiert ist.

sudo dnf install policycoreutils-python-utils -y

Danach führst du den folgenden Befehl aus, um die SELinux-Richtlinie hinzuzufügen, die von SysPass verwendet werden soll.

Mit diesem Befehl erlaubst du dem httpd-Dienst, sich über das Netzwerk mit dem LDAP zu verbinden (wenn du die LDAP-Authentifizierung verwendest), und du kennzeichnest auch das richtige Label für den SysPass-Quellcode.

sudo setsebool -P httpd_can_connect_ldap 1
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/syspass/app/(config|backup|cache|temp)(/.*)?"
sudo restorecon -R -v /var/www/syspass

Httpd Virtual Host konfigurieren

Jetzt richtest du den virtuellen httpd/apache2-Host für den SysPass Password Manager ein. Bevor du beginnst, stellst du sicher, dass du SSL-Zertifikate hast und der Domainname auf deine Server-IP-Adresse zeigt.

Führe den folgenden dnf-Befehl aus, um das mod_ssl-Paket für den httpd-Webserver zu installieren.

sudo dnf install mod_ssl -y

Nachdem mod_ssl installiert ist, führe den folgenden Befehl aus, um SSL-Zertifikate für localhost zu erzeugen. Du musst dieses Zertifikat generieren, sonst wird der httpd nicht laufen. Dieses Zertifikat wird von localhost in der Konfiguration„/etc/httpd/conf.d/ssl.conf“ verwendet.

sudo openssl req -newkey rsa:4096  -x509  -sha512  -days 365 -nodes -out /etc/pki/tls/certs/localhost.crt -keyout /etc/pki/tls/private/localhost.key

Als Nächstes erstellst du eine neue Konfiguration für den virtuellen Host„/etc/httpd/conf.d/syspass.conf“ mit dem folgenden Befehl des Editors nano.

sudo nano /etc/httpd/conf.d/syspass.conf

Füge die folgende Konfiguration in die Datei ein. Achte auch darauf, den Domainnamen und den Pfad der SSL-Zertifikate zu ändern.

#
# File: syspass.conf
#
RedirectMatch "^/$" "/index.php"

<Directory "/var/www/syspass">
DirectoryIndex index.php
Options -Indexes -FollowSymLinks -Includes -ExecCGI

<RequireAny>
Require expr "%{REQUEST_URI} =~ m#.*/index\.php(\?r=)?#"
Require expr "%{REQUEST_URI} =~ m#.*/api\.php$#"
Require expr "%{REQUEST_URI} =~ m#^/?$#"
</RequireAny>
</Directory>

<FilesMatch ".(png|jpg|js|css|ttf|otf|eot|woff|woff2|ico)$">
Require all granted
</FilesMatch>

<VirtualHost *:80>
ServerName syspass.hwdomain.io

ServerAdmin webmaster@localhost
DocumentRoot /var/www/syspass

ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log combined

<IfModule mod_ssl.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</IfModule>
</VirtualHost>

<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName syspass.hwdomain.io
ServerAdmin webmaster@localhost
DocumentRoot /var/www/syspass

ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log combined

SSLEngine on

SSLCertificateFile        /etc/letsencrypt/live/syspass.hwdomain.io/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/syspass.hwdomain.io/privkey.pem

<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>

BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>

Speichere die Datei und beende den Editor, wenn du fertig bist.

Führe nun den folgenden Befehl aus, um die httpd-Konfiguration zu überprüfen und sicherzustellen, dass du die richtigen httpd-Konfigurationen hast.

sudo apachectl configtest

Wenn die httpd-Konfiguration korrekt ist, siehst du eine Meldung wie„Syntax OK„.

Führe abschließend den Befehl systemctl aus, um den httpd-Dienst neu zu starten und die neuen Änderungen zu übernehmen. Dein SysPass Password Manager ist nun installiert und einsatzbereit.

sudo systemctl restart httpd

SysPass Password Manager Konfiguration

Öffne deinen Webbrowser und rufe den Domänennamen deiner SysPass-Installation auf (z.B.: https://syspass.hwdomain.io).

Jetzt musst du einen neuen Admin-Benutzer und ein Passwort für deinen SysPass erstellen. Dann gibst du das neue Master-Passwort ein. Achte darauf, dass du sowohl für das Admin- als auch für das Master-Passwort ein sicheres und leicht zu merkendes Passwort verwendest.

Admin-Setup

Auf der unteren Seite gibst du den Datenbankbenutzernamen als root ein und gibst dein Passwort ein. Dann gibst du den Datenbanknamen ein, der vom SysPass-Installationsprogramm automatisch erstellt wird.

Außerdem kannst du die Standard-Installationssprache durch deine bevorzugte Sprache ersetzen.

Wenn du bereit bist, klicke auf„INSTALLIEREN„, um die Installation von SysPass zu starten.

Datenbank-Setup

Sobald SysPass installiert ist, wird die Anmeldeseite von SysPass Password Manager angezeigt.

Gib deinen Admin-Benutzer und dein Passwort ein und klicke dann auf die Schaltfläche „Anmelden“.

Anmeldung

Wenn du den richtigen Benutzer und das richtige Passwort benutzt, siehst du das SysPass Password Manager Dashboard.

Dashboard

Von dort aus kannst du nun neue Benutzer und Gruppen hinzufügen, Datenbankpasswörter aus CSV-Dateien oder Kepass-Datenbankdateien importieren oder auch die Authentifizierung über LDAP integrieren.

Fazit

In diesem Lernprogramm hast du den SysPass Password Manager auf Rocky Linux installiert und konfiguriert. Außerdem hast du den LAMP-Stack (Apache2/httpd, MariaDB und PHP) und Composer auf deinem Rocky Linux Server installiert.

Nachdem du SysPass installiert und gesichert hast, kannst du es nun als täglichen Passwortmanager verwenden oder weitere Benutzer für deine interne Organisation hinzufügen.

Das könnte dich auch interessieren …