Alma/Rocky/CentOS
Passwork Installationsanweisungen für das Betriebssystem:
- CentOS 8 Stream, Alma Linux 8, Rocky Linux 8.
- CentOS 9 Stream, Alma Linux 9, Rocky Linux 9.
Die Anweisungen verwenden umschaltbare Codeblöcke, um Befehle entsprechend den Betriebssystemversionen zu trennen.
1. Mindestsystemanforderungen
Passwork stellt keine Anforderungen an die Systemressourcen und die erforderliche Anzahl an Servern hängt von der Anzahl der aktiven Benutzer, der Menge der gespeicherten Daten und den Anforderungen an die Fehlertoleranz des Systems ab.
Bitte lesen Sie die vollständigen Systemanforderungen.
Wenn der Server über 2–4 GB RAM verfügt, empfehlen wir die Aktivierung einer SWAP-Datei.
2. Grundlegende Aktionen vor der Installation
Erhalten Sie root-Berechtigungen und aktualisieren Sie die lokale Paketdatenbank:
- shell
sudo -i
dnf makecache
Installieren Sie den Apache2-Webserver und das Datenübertragungsdienstprogramm curl:
- shell
dnf install -y httpd unzip curl zip jq
Ersetzen Sie den Speicherort DocumentRoot in der Apache-Konfiguration:
- shell
sed -i 's|^DocumentRoot "/var/www/html"|DocumentRoot "/var/www"|' /etc/httpd/conf/httpd.conf
Starten Sie den Dienst httpd.service:
- shell
systemctl start httpd.service
Aktivieren Sie den automatischen Start des Dienstes:
- shell
systemctl enable httpd.service
2.1 Installation und Grundkonfiguration von Firewalld
Installieren Sie den dynamischen Firewall-Verwaltungsdienst Firewalld:
- shell
dnf install firewalld -y
Starten Sie den Dienst firewalld.service:
- shell
systemctl start firewalld.service
Aktivieren Sie den automatischen Start des Dienstes:
- shell
systemctl enable firewalld.service
Fügen Sie das Protokoll HTTPS zur Liste der zulässigen Dienste in der Firewalld-Konfiguration hinzu:
- shell
firewall-cmd --permanent --add-service=https
Wenden Sie Änderungen an der Firewalld-Konfiguration an:
- shell
firewall-cmd --reload
2.2 SELinux deaktivieren und das Betriebssystem neu starten
Bearbeiten Sie die Konfigurationsdatei /etc/selinux/config:
- shell
nano /etc/selinux/config
Ändern Sie den Parameterwert SELINUX von enforcing in disabled:
- shell
SELINUX=disabled
Änderungen speichern (Strg+O) und beenden (Strg+X). Starten Sie das System neu, um die SELinux-Änderungen zu übernehmen:
- shell
reboot
3. PHP-Installation
Installieren Sie das EPEL-Paket (epel-release) und die Paketverwaltungsdienstprogramme yum (yum-utils):
- shell
dnf -y install epel-release yum-utils
Laden Sie das neueste EPEL-Repository herunter und installieren Sie es:
- OS 9
- OS 8
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Laden Sie das Repository herunter und installieren Sie es, um Zugriff auf PHP-Versionen zu erhalten:
- OS 9
- OS 8
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Aktivieren Sie das PHP 8.3-Modul aus dem REMI-Repository:
- shell
dnf module enable php:remi-8.3
Installieren Sie PHP und zusätzliche Erweiterungen:
- shell
dnf install -y php-cli php-fpm php-curl php-devel php-pear php-gd php-intl php-ldap php-bcmath php-mbstring php-mysqlnd php-opcache php-pgsql php-soap php-zip php-sqlite3 php-xml
Ändern Sie die Menge an RAM, die für die Ausführung von PHP-Skripten verfügbar ist:
- shell
sed -i 's/^memory_limit\s*=.*/memory_limit = 256M/' /etc/php.ini
Es wird empfohlen, den Parameter memory_limit von 256M auf 512M oder höher zu erhöhen, wenn erwartet wird, dass eine große Anzahl von Benutzern Passwork verwenden wird.
Stellen Sie sicher, dass der Dienst php-fpm ausgeführt wird:
- shell
systemctl status php-fpm
Starten und aktivieren Sie den Dienst, wenn er gestoppt ist:
- shell
systemctl start php-fpm
systemctl enable php-fpm
3.1 Installation des PHP-MongoDB-Treibers
Installieren Sie den PHP MongoDB-Treiber:
- shell
pecl install mongodb
Drücken Sie Enter, um die Standard-Build-Optionen zu akzeptieren.
Erstellen Sie eine Konfigurationsdatei zum Laden und Aktivieren von PHP MongoDB:
- shell
echo "extension=mongodb.so" | tee /etc/php.d/20-mongodb.ini
4. Installation der MongoDB-Datenbank
Erstellen Sie eine Datei, um das MongoDB-Repository zum Yum-Paketmanager hinzuzufügen:
- shell
nano /etc/yum.repos.d/mongodb-org-7.0.repo
Fügen Sie den folgenden Inhalt in die Datei ein:
- OS 9
- OS 8
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-7.0.asc
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-7.0.asc
MongoDB installieren:
- shell
dnf install mongodb-org -y
Starten Sie den Dienst mongod.service:
- shell
systemctl start mongod.service
Aktivieren Sie den automatischen Start des Dienstes:
- shell
systemctl enable mongod.service
5. Abrufen und Konfigurieren von Passwork
Online
Besorgen Sie sich das Skript:
- wget
- curl
wget https://repos.passwork.pro/repository/linux/scripts/passwork.sh
curl -O https://repos.passwork.pro/repository/linux/scripts/passwork.sh
Das Installationsskript Passwork darf sich nicht im Verzeichnis mit den Dateien des Anwendungsservers befinden.
Weisen Sie dem Skript Ausführungsberechtigungen zu:
chmod +x passwork.sh
Standardmäßig führt das passwork.sh-Skript Folgendes aus:
- Erstellen Sie eine versteckte
.script_env-Datei im aktuellen Verzeichnis; - Erstellen Sie ein
passwork_archive-Verzeichnis für Passwork-Backups; - Erhalten Sie die neueste verfügbare Passwork-Version, Signatur und den neuesten öffentlichen Schlüssel;
- Installieren Sie das zuvor erhaltene Archiv unter
/var/www/
Um einen nicht standardmäßigen Installationspfad zu verwenden, die Zertifikatsüberprüfung zu deaktivieren oder das Verhalten zu ändern, können Sie Skriptstartparameter verwenden.
Führen Sie das Skript aus:
sudo ./passwork.sh
Bei der ersten Ausführung fordert das Skript einen [API-Schlüssel](URL0 an und führt grundlegende Umgebungsprüfungen durch:

Beispiel für eine erfolgreiche Skriptausführung:

Offline
Rufen Sie das Skript auf einem anderen Computer mit Internetzugang ab:
- wget
- curl
- PowerShell
wget https://repos.passwork.pro/repository/linux/scripts/passwork.sh
curl -O https://repos.passwork.pro/repository/linux/scripts/passwork.sh
(New-Object System.Net.WebClient).DownloadFile("https://repos.passwork.pro/repository/linux/scripts/passwork.sh", "$PWD\passwork.sh")
Oder rufen Sie das passwork.sh-Skript manuell über den [Link](URL1 ab.
Das Installationsskript Passwork darf sich nicht im Verzeichnis mit den Dateien des Anwendungsservers befinden.
Weisen Sie dem Skript Ausführungsberechtigungen zu:
chmod +x passwork.sh
Bevor Sie passwork.sh ausführen, müssen Sie Folgendes tun:
- Erhalten Sie Passwork Version 7 von unserem [Kundenportal](URL0 (mandatory);
- Platzieren Sie es im Startverzeichnis oder verwenden Sie das Argument
--input, um den Speicherort anzugeben (erforderlich); - Erhalten Sie die [Archivsignatur](URL1 and [public key](URL2 of Passwork (optional if using the IC0 argument).
Standardmäßig führt das passwork.sh-Skript Folgendes aus:
- Erstellen Sie ein
passwork_archive-Verzeichnis für Passwork-Backups; - Extrahieren Sie das Passwork-Archiv;
- Installieren Sie das zuvor erhaltene Archiv unter
/var/www/
Um einen nicht standardmäßigen Installationspfad zu verwenden, die Zertifikatsüberprüfung zu deaktivieren oder das Verhalten zu ändern, können Sie Skriptstartparameter verwenden.
Führen Sie nach der Vorbereitung das Skript passwork.sh aus:
sudo ./passwork.sh -offline
Beispiel für eine erfolgreiche Offline-Skriptausführung:

6. Webserverkonfiguration für das HTTPS-Protokoll
Um einen korrekten Betrieb zu gewährleisten, ist die Verwendung des HTTPS-Protokolls erforderlich. Die Verwendung von HTTP führt zu Fehlern.
6.1 Generieren eines selbstsignierten SSL-Zertifikats
Installieren Sie das SSL-Modul für Apache2:
- shell
dnf install mod_ssl -y
Erstellen Sie ein neues Verzeichnis zum Speichern des privaten Schlüssels und des Zertifikats:
- shell
mkdir /etc/ssl/private
Generieren Sie ein selbstsigniertes X.509-Zertifikat für Apache2 mit OpenSSL:
- shell
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -subj '/CN=your.domain.name' -addext 'subjectAltName=DNS:your.domain.name,IP:192.168.0.100' -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
Common Name (CN)– Geben Sie die IP-Adresse oder den Hostnamen Ihres Servers an, damit dieser mit der Art und Weise übereinstimmt, wie Benutzer die Site erreichen (per Domänenname oder IP-Adresse);subjectAltName (SAN)– Übergeben Sie-addext 'subjectAltName=DNS:your.domain.name,IP:192.168.0.100'und ersetzen Sie den Hostnamen und das Beispiel IP durch die Werte, die Ihre Clients tatsächlich verwenden;
Browser und SAN – Browser verlassen sich bei der Validierung von HTTPS in erster Linie auf die Erweiterung Subject Alternative Name (SAN), nicht nur auf CN (Common Name). Um eine Nichtübereinstimmung der Hostnamen zu vermeiden, fügen Sie SAN-Einträge für DNS und IP ein, die mit den Adressen übereinstimmen, die Benutzer im Browser eingeben.
Generieren Sie Diffie-Hellman-Parameter mit einer Schlüssellänge von 2048:
- shell
openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Fügen Sie dem selbstsignierten Zertifikat Diffie-Hellman-Parameter hinzu:
- shell
cat /etc/ssl/certs/dhparam.pem | tee -a /etc/ssl/certs/apache-selfsigned.crt
Legen Sie Root-Benutzerberechtigungen fest, um den privaten Schlüssel und das Zertifikat zu schützen:
- shell
chmod 700 /etc/ssl/private
6.2 Virtuelle Host-Konfiguration für HTTPS-Zugriff
Bevor Sie den Webserver mit aktivierter SSL-Terminierung konfigurieren, wird empfohlen, die Konfigurationsfunktionen zu überprüfen.
Öffnen Sie die Konfigurationsdatei, um das HTTPS-Protokoll einzurichten:
- shell
nano /etc/httpd/conf.d/ssl.conf
Suchen Sie den Abschnitt, der mit <VirtualHost _default_:443> beginnt, und nehmen Sie die folgenden Änderungen vor:
- Kommentieren Sie die Zeile DocumentRoot aus und ändern Sie den Pfad zum Passwork-Stammverzeichnis
/var/www/public; - Kommentieren Sie die Zeile ServerName aus und ändern Sie
www.example.comin die IP-Adresse oder Domäne des Servers (abhängig vom imCommon Namedes Zertifikats angegebenen Wert):
- shell
DocumentRoot /var/www/public
ServerName passwork:443
– Fügen Sie nach ServerName eine <Directory>-Direktive hinzu:
- shell
<Directory /var/www/public>
Options +FollowSymLinks -Indexes -MultiViews
AllowOverride All
Require all granted
</Directory>
- Aktualisieren Sie die Pfade zu den zuvor generierten Zertifikatsdateien:
- shell
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
- Ändern Sie den .php-Datei-Handler, um Anfragen an den PHP-FPM-Socket weiterzuleiten:
- shell
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost/"
</FilesMatch>
– Stellen Sie sicher, dass der SSL Virtual Host Context-Block mit dem Beispiel übereinstimmt:
- shell
<VirtualHost _default_:443>
DocumentRoot "/var/www/public"
ServerName passwork:443
<Directory /var/www/public>
Options +FollowSymLinks -Indexes -MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLHonorCipherOrder on
SSLCipherSuite PROFILE=SYSTEM
SSLProxyCipherSuite PROFILE=SYSTEM
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost/"
</FilesMatch>
BrowserMatch "MSIE [2-5]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
Wichtig: Das Kopieren und Einfügen des obigen Beispiels in die Konfigurationsdatei führt zu Fehlern, da das Beispiel nur einen Fragment des Blocks und nicht die vollständige Konfigurationsdatei zeigt.
Dienste neu starten:
- shell
systemctl restart php-fpm
systemctl restart httpd
7. Checkliste ausfüllen
Wenn Sie sich zum ersten Mal mit Passwork verbinden, müssen Sie eine Parameter-Checkliste ausfüllen, bei der Folgendes durchgeführt wird:
- Überprüfung notwendiger Parameter
- Verbindung zur MongoDB-Datenbank herstellen
- Auswahl eines Datenverschlüsselungsmodus – Zufällig generierter Schlüssel zum Verschlüsseln von Daten in MongoDB
- Überprüfung des Lizenzschlüssels
Nachdem Sie die Checkliste ausgefüllt haben, werden Sie aufgefordert, den ersten Benutzer in Passwork zu erstellen, wo Sie einen Benutzernamen, ein Passwort und eine E-Mail-Adresse zum Senden von Benachrichtigungen angeben müssen.
Zusätzliche Komponentenparameter, Sicherheitseinstellungen und Passwork-Systemkonfigurationen sind im Abschnitt erweiterte Einstellungen verfügbar.