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