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.
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.
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.
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
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“.
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:
- Authentifizierung auf unix_socket ändern? gib n für no ein.
- Ändern des MariaDB-Root-Passworts? Gib zur Bestätigung y ein und gib dann das neue Passwort für deinen MariaDB-Root-Benutzer ein.
- Remote-Anmeldung für den Root-Benutzer deaktivieren? gib y für ja ein.
- Anonymen Benutzer entfernen? gib y ein.
- Den Standard-Datenbanktest entfernen? gib erneut y ein.
- 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.
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
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
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:
Ü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
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
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.
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.
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.
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“.
Wenn du den richtigen Benutzer und das richtige Passwort benutzt, siehst du das SysPass Password Manager 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.