Installiere sysPass Password Manager mit kostenlosem Let’s Encrypt SSL auf Ubuntu 22.04

sysPass ist ein kostenloses, quelloffenes und PHP-basiertes Passwortmanagement-Tool, mit dem du deine Passwörter an einem sicheren Ort speichern kannst. Es ist webbasiert, sicher, zuverlässig und für Mehrbenutzerumgebungen konzipiert. Es verfügt über eine benutzerfreundliche Weboberfläche, mit der du verschiedene Optionen wie LDAP-Authentifizierung, E-Mail, Auditing, Backup, Import/Export usw. konfigurieren kannst. sysPass kann über eine Web-App, eine mobile App und eine Browser-Erweiterung installiert werden.

In diesem Beitrag zeigen wir dir, wie du den sysPass Passwortmanager auf Ubuntu 22.04 installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 22.04 läuft.
  • Ein gültiger Domainname, der auf die IP deines Servers zeigt.
  • Ein Root-Passwort ist auf dem Server eingerichtet.

Installiere Apache, MariaDB und PHP

Bevor du beginnst, musst du den Apache-Webserver, den MariaDB-Datenbankserver, PHP und andere PHP-Erweiterungen auf deinem Server installieren. Installiere zunächst den Apache- und MariaDB-Server mit dem folgenden Befehl:

apt-get install apache2 mariadb-server -y

Ubuntu 22.04 wird standardmäßig mit der Version PHP 8.1 ausgeliefert, aber sysPass unterstützt die Version PHP 8.1 nicht. Daher musst du die Version PHP 7.4 mit anderen Erweiterungen auf deinem Server installieren.

Installiere zunächst alle erforderlichen Abhängigkeiten mit dem folgenden Befehl:

apt install software-properties-common ca-certificates lsb-release apt-transport-https

Als Nächstes fügst du das PHP-Repository mit dem folgenden Befehl hinzu:

add-apt-repository ppa:ondrej/php

Sobald das PHP-Repository hinzugefügt ist, führst du den folgenden Befehl aus, um PHP 7.4 mit allen erforderlichen Erweiterungen zu installieren:

apt install libapache2-mod-php7.4 php7.4 php7.4-mysqli php7.4-pdo php7.4 php7.4-cgi php7.4-cli php7.4-common php7.4-gd php7.4-json php7.4-readline php7.4-curl php7.4-intl php7.4-ldap php7.4-xml php7.4-mbstring git -y

Sobald alle Pakete installiert sind, bearbeite die Datei php.ini und nimm einige Änderungen vor:

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

Ändere die folgenden Einstellungen:

post_max_size = 100M
upload_max_filesize = 100M
max_execution_time = 7200
memory_limit = 512M
date.timezone = UTC

Speichere und schließe die Datei, wenn du fertig bist. Starte anschließend den Apache-Dienst neu, um die Konfigurationsänderungen zu übernehmen:

systemctl restart apache2

MariaDB für sysPass konfigurieren

Standardmäßig ist die MariaDB-Installation nicht gesichert. Deshalb musst du sie zuerst sichern. Du kannst sie mit dem folgenden Befehl sichern:

mysql_secure_installation

Beantworte alle Fragen wie unten gezeigt, um ein MariaDB Root-Passwort festzulegen und die Installation zu sichern:

Enter current password for root (enter for none): 
Switch to unix_socket authentication [Y/n] Y
Change the root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Sobald du fertig bist, melde dich mit folgendem Befehl bei der MariaDB-Oberfläche an:

mysql -u root -p

Du wirst aufgefordert, ein MariaDB Root-Passwort anzugeben. Sobald du eingeloggt bist, erstelle eine Datenbank und einen Benutzer mit dem folgenden Befehl:

MariaDB [(none)]> create database syspassdb;
MariaDB [(none)]> grant all privileges on syspassdb.* to syspassuser@localhost identified by "password";

Als Nächstes löschst du die Berechtigungen und verlässt die MariaDB-Shell mit dem folgenden Befehl:

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Jetzt sind deine MariaDB-Datenbank und der Benutzer bereit für sysPass. Du kannst jetzt mit dem nächsten Schritt fortfahren.

sysPass installieren

Lade zunächst die neueste Version von sysPass aus dem Git-Repository herunter, indem du den folgenden Befehl ausführst:

git clone https://github.com/nuxsmin/sysPass.git

Nachdem du sysPass heruntergeladen hast, verschiebe das heruntergeladene Verzeichnis in das Apache-Web-Root-Verzeichnis:

mv sysPass /var/www/html/syspass

Als Nächstes setzt du mit folgendem Befehl die Eigentumsrechte für das syspass-Verzeichnis:

chown -R www-data:www-data /var/www/html/syspass

Setze dann die richtigen Rechte für die anderen Verzeichnisse:

chmod 750 /var/www/html/syspass/app/{config,backup}

Als Nächstes musst du den Composer auf deinem System installieren.

Erstelle zunächst ein Composer-Installationsskript mit dem folgenden Befehl:

nano /var/www/html/syspass/install-composer.sh

Füge die folgenden Zeilen ein:

#!/bin/sh
 EXPECTED_SIGNATURE="$(wget -q -O - https://composer.github.io/installer.sig)"
 php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
 ACTUAL_SIGNATURE="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
 if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ]
 then
     >&2 echo 'ERROR: Invalid installer signature'
     rm composer-setup.php
     exit 1
 fi
 php composer-setup.php --quiet
 RESULT=$?
 rm composer-setup.php
 exit $RESULT

Speichere und schließe die Datei und führe dann das Composer-Installationsskript mit dem folgenden Befehl aus:

cd /var/www/html/syspass/
sh install-composer.sh

Sobald der Composer installiert ist, führe den folgenden Befehl aus, um alle erforderlichen PHP-Abhängigkeiten zu installieren:

php composer.phar install --no-dev

Sobald alle Abhängigkeiten installiert sind, kannst du mit dem nächsten Schritt fortfahren.

Apache für sysPass konfigurieren

Als Nächstes musst du eine Konfigurationsdatei für einen virtuellen Apache-Host erstellen, um sysPass im Internet zu hosten. Du kannst sie mit dem folgenden Befehl erstellen:

nano /etc/apache2/sites-available/syspass.conf

Füge die folgenden Zeilen hinzu:

<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot "/var/www/html/syspass"
ServerName syspass.example.com
<Directory "/var/www/html/syspass/">
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
TransferLog /var/log/apache2/syspass_access.log
ErrorLog /var/log/apache2/syspass_error.log
</VirtualHost>

Speichere und schließe die Datei, wenn du fertig bist, und aktiviere den virtuellen Apache-Host mit dem folgenden Befehl:

a2ensite syspass

Starte anschließend den Apache-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart apache2

Du kannst den Status des Apache-Dienstes auch mit folgendem Befehl überprüfen:

systemctl status apache2

Du solltest die folgende Ausgabe erhalten:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
     Active: active (running) since Sun 2022-07-24 04:27:17 UTC; 6s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 62773 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/S>
   Main PID: 62777 (apache2)
      Tasks: 6 (limit: 2242)
     Memory: 14.3M
        CPU: 109ms
     CGroup: /system.slice/apache2.service
             ??62777 /usr/sbin/apache2 -k start
             ??62778 /usr/sbin/apache2 -k start
             ??62779 /usr/sbin/apache2 -k start
             ??62780 /usr/sbin/apache2 -k start
             ??62781 /usr/sbin/apache2 -k start
             ??62782 /usr/sbin/apache2 -k start

Jul 24 04:27:17 ubuntu systemd[1]: Starting The Apache HTTP Server...

Sobald du fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Zugriff auf die sysPass Admin-Oberfläche

Öffne nun deinen Webbrowser und rufe die sysPass Admin-Oberfläche über die URL http://syspass.example.com auf. Du wirst auf die folgende Seite weitergeleitet:

sysPass Master-Passwort

Anmeldung bei sysPass

Gib deinen Admin-Benutzernamen, dein Passwort, dein Master-Passwort und deine Datenbank-Anmeldedaten ein, wähle deine Sprache und den Hosting-Modus aus und klicke auf die Schaltfläche INSTALLIEREN. Sobald die Installation abgeschlossen ist, wirst du zur Anmeldeseite von sysPass weitergeleitet.

System-Passwort-Manager

Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche >. Auf der folgenden Seite solltest du das sysPass-Dashboard sehen:

sysPass dashboard

Let’s Encrypt SSL auf sysPass installieren

Es ist immer eine gute Idee, deine Website mit Let’s Encrypt SSL zu sichern. Zuerst musst du den Certbot-Client installieren, um das SSL zu installieren und zu verwalten. Standardmäßig ist das Certbot-Paket im Standard-Repository von Ubuntu 22.04 enthalten, sodass du es mit dem folgenden Befehl installieren kannst:

apt-get install python3-certbot-apache -y

Sobald Certbot installiert ist, führst du den folgenden Befehl aus, um deine Website mit Let’s Encrypt SSL zu sichern:

certbot --apache -d syspass.example.com

Du wirst aufgefordert, deine E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren (siehe unten):

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): hitjethva1981@gmail.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing 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
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for syspass.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/syspass-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/syspass-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/syspass-le-ssl.conf

Als Nächstes wählst du aus, ob der HTTP-Verkehr auf HTTPS umgeleitet werden soll oder nicht (siehe unten):

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Gib 2 ein und drücke die Eingabetaste, um Let’s Encrypt SSL für deine Website zu installieren:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/syspass.conf to ssl vhost in /etc/apache2/sites-available/syspass-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://syspass.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=syspass.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/syspass.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/syspass.example.com/privkey.pem
   Your cert will expire on 2022-10-20. 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

Fazit

Herzlichen Glückwunsch! Du hast den sysPass Passwortmanager mit Apache und Let’s Encrypt SSL erfolgreich auf Ubuntu 22.04 installiert. Jetzt kannst du den sysPass Passwortmanager ausprobieren und ihn in deiner Produktionsumgebung einsetzen.

Das könnte dich auch interessieren …