Linux (Alma)
Einleitung
Befolgen Sie diese Anweisungen zum Einrichten von Relution 5 auf AlmaLinux 8 oder 9. Diese Anleitung verwendet MariaDB als Datenbank und nginx als Reverse-Proxy.
Für zusätzliche Sicherheit und Leistung empfehlen wir, Relution zu installieren und MariaDB sowie nginx auf separaten Rechnern zu betreiben. Die Installation auf einer einzelnen Maschine oder auf einer oder mehreren virtuellen Maschinen sind ebenfalls möglich.
Diese Anleitung behandelt die Installation und Konfiguration einer einfachen Instanz von Relution.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass:
- Die Maschinen sich mit dem Internet verbinden können.
- Sie
root
(odersudo
) Rechte haben. - Sie haben ein gültiges SSL-Zertifikat für Ihren externen Hostnamen besitzen.
Selbst signierte Zertifikate funktionieren nicht, da mobile Geräte ihnen nicht vertrauen. Sie können Ihr Root-Zertifikat manuell auf einem Gerät installieren, damit es Ihrem Zertifikat vertraut. Diese Vorgehensweise wird nicht empfohlen.
Zertifikate von Let’s Encrypt → sind getestet und funktionieren.
Vorbereitung
Stellen Sie sicher, dass Ihr System aktuell ist und wget
installiert
ist. Diese Anleitung verwenden wget
, um Skripte aus unserem
GitHub-Repository herunterzuladen. Wenn Sie mit curl
vertraut sind,
können Sie alternativ wget durch curl` ersetzen.
sudo yum -y update
sudo yum -y install wget
Während dieser Installation müssen einige Dateien manuell bearbeitet werden. Wenn Sie mit vim vertraut sind, können Sie ihn als Standardeditor mit den folgenden Befehlen festlegen. Wenn Sie mit vim nicht vertraut sind, überspringen Sie diesen Abschnitt bitte und verwenden Sie weiterhin den Standardeditor.
sudo yum -y install vim
sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim 100
Optional: Passwortgenerator installieren
Im Standard ist pwgen
(password generator) nicht in CentOS
verfügbar. Um es zu verwenden, müssen Sie zunächst das epel
(Extra
Packages Enterprise Linux)-Repository aktivieren. Da es sich um ein
nicht unterstütztes Repository eines Drittanbieters handelt, müssen Sie es
manuell installieren. Wenn Sie diese Pakete nicht auf Ihrem Server
installieren möchten, können Sie diesen Schritt überspringen und sichere
Kennwörter auf einem anderen Rechner generieren.
sudo yum -y install epel-release
sudo yum -y install pwgen
MariaDB installieren
Bitte verwenden Sie eine LTS Version von MariaDB min V. 10.11. Prüfen Sie, welche Version die letzte stabile Version ist MariaDB →
Bei der Erstellung dieser Anleitung war die letzte stabile Version die 11.1. Bei der 10.11 und 11.4 handelt es sich jeweils um eine LTS Version, die ebenfalls verwendet werden können.
Prüfen Sie zudem, welche Version direkt installiert werden kann:
sudo dnf module list mariadb
Hierbei handelt es sich um eine ältere Version. Aus diesem Grund sollte darauf nicht zurückgegriffen werden.
Es ist stattdessen möglich, die Version 11.1 zu installieren. Da es sich bei der Version 10.11 um eine LTS Version handelt, zeigen wir hier, wie diese installiert wird.
Führen Sie diesen Befehl aus:
sudo vi /etc/yum.repos.d/mariadb.repo
Fügen Sie anschließend diesen Abschnitt ein und speichern Sie die Datei.
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.11/rhel8-amd64
module_hotfixes=1
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Als nächstes muss das Repository geupdatet werden.
sudo dnf update
Nun kann MariaDB installiert werden. Folgen Sie dazu den Bildschirmanweisungen.
sudo dnf install mariadb-server mariadb
Konfiguration von MariaDB für Relution
Laden Sie das relution.cnf
Template aus dem GitHub Repository herunter
und speichern Sie es unter /etc/my.cnf.d/relution.cnf
.
wget https://raw.githubusercontent.com/relution-io/relution-setup/master/native/Linux/etc/my.cnf.d/relution.cnf.template
sudo mv relution.cnf.template /etc/my.cnf.d/relution.cnf
sudo chmod og-w /etc/my.cnf.d/relution.cnf
Wenn SELinux im Enforcing Mode betrieben wird (Standard), sind die Berechtigungen für die Datei nach dem Verschieben falsch.
Führen Sie den folgenden Befehl aus, um sie zu korrigieren. Andernfalls wird SELinux den Dienst aus Sicherheitsgründen am Zugriff auf die Datei hindern.
sudo restorecon -v /etc/my.cnf.d/relution.cnf
Starten Sie MariaDB und stellen Sie sicher, dass der Dienst nach einem Systemneustart automatisch gestartet wird.
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
MariaDB Installation prüfen
Sie sollten nun in der Lage sein, eine Verbindung zu dieser
MariaDB-Instanz herzustellen. Beachten Sie, dass aus Gründen der
Abwärtskompatibilität die Kommandozeilen-Tools immer noch mysql
verwenden, dies ist kein Fehler.
mysql -u root
Sie sollten eine ähnliche Ausgabe wie die folgende sehen:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Geben Sie diesen Befehl ein, um zu überprüfen, ob die Kollation des Servers und der Datenbank wie gewünscht eingestellt ist wie gewünscht auf utf8mb4 gesetzt sind:
SHOW VARIABLES LIKE '%collation%';
Stellen Sie sicher dass collation_database
und collation_server
auf
utf8mb4_general_ci
konfiguriert wurden.
Drücken Sie Ctrl+D
, um sich von der Datenbank zu trennen und zurück zur
Eingabeaufforderung zu gelangen.
Relution Datenbank erstellen
Als Nächstes erstellen wir die Datenbank relution
und einen
zugehörigen Datenbank-Benutzer. Dieser Benutzer wird vom Dienst Relution
verwendet, um sich mit der Datenbank verbinden. Laden Sie das Skript von
GitHub herunter.
wget https://raw.githubusercontent.com/relution-io/relution-setup/master/native/Linux/scripts/create_database.sh --directory-prefix=/opt
Stellen Sie sicher, dass die Datei von root ausführbar ist:
chmod 700 /opt/create_database.sh
(Optional) Nutzen Sie pwgen
um ein sicheres Passwort zu erzeugen:
pwgen -snc 48 1
Führen Sie das Skript aus, um die Datenbank zu erstellen:
/opt/create_database.sh "relution" "<password>"
Dadurch wird eine neue Datenbank namens relution
und ein neuer
Datenbankbenutzer mit dem Namen relution
, der volle Rechte auf diese
Datenbank hat, erstellt.
Dieser Benutzer wird vom Dienst Relution für den Zugriff auf die Datenbank verwendet. Wenn administrativer Zugriff auf die Datenbank für Wartungszwecke benötigt wird, empfehlen wir, dafür einen separaten Datenbankbenutzer anzulegen.
Stellen Sie sicher, dass Sie das Kennwort ohne die Anführungszeichen
an einem sicheren Ort speichern. Sie müssen dieses Kennwort später
benutzen, um Relution Zugriff auf die Datenbank zu gewähren.
Vergewissern Sie sich, dass Sie sich als dieser Benutzer mit der Datenbank verbinden können:
mysql -u relution -p relution
Geben Sie das Passwort ein, wenn Sie dazu aufgefordert werden. Sie
sollten in der MariaDB-Eingabeaufforderung wie oben beschrieben Strg+D
verwenden, um sich wieder abzumelden.
Firewall-Konfiguration
Wenn Sie Relution auf einem anderen Rechner installieren, müssen Sie den
Port 3306
auf diesem Rechner öffnen, damit Relution mit MariaDB
kommunizieren kann. Wenn Relution auf demselben Rechner installiert
wird, können Sie diese Schritte überspringen.
Ersetzen Sie ADDRESS
durch die IP-Adresse und Netzmaske des Rechners
oder des Netzwerks, dem Sie den Zugriff auf diese MariaDB-Instanz
gewähren möchten. Beispiele: Verwenden Sie 192.168.0.1/32
, um den
Zugriff auf den Rechner mit der IP-Adresse 192.168.0.1
zu geben.
Verwenden Sie 192.168.0.0/24
, um den Zugriff von jeder Maschine im
IP-Adressbereich 192.168.0.x
zu gewähren. Im Zweifelsfall fragen Sie
Ihren Netzwerkadministrator.
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="###ADDRESS###" port protocol="tcp" port="3306" accept'
sudo firewall-cmd --reload
Relution installieren
JAVA
Installieren Sie die folgenden Pakete. Inklusive Java.
sudo yum -y install java-21-openjdk unzip wget
Java home konfigurieren
sudo echo "export JAVA_HOME=/usr" >> /etc/profile.d/relution_profile.sh
source /etc/profile
Sicherstellen, dass die Änderungen angewendet wurden
echo $JAVA_HOME
Es sollte dieser Pfad angezeigt werden (/usr
).
Einen Relution User anlegen
Einen User ohne Berechtigungen anlegen, sodass Relution durch ihn ausgeführt werden kann:
useradd -s /usr/bin/false -r relution
Dadurch wird ein unprivilegierter Benutzer mit dem Namen relution
angelegt, der verwendet wird, um den Relution-Dienst auszuführen. Dies
geschieht aus Sicherheitsgründen, da das Ausführen von Diensten mit
root
-Rechten nicht empfohlen wird.
Relution herunterladen
Das Relution Paket herunterladen und entpacken:
wget http://repo.relution.io/package/latest/relution-package.zip --directory-prefix=/opt
unzip /opt/relution-package.zip -d /opt
Eigentümer vom relution
Verzeichnis setzen:
sudo chown -R relution:relution /opt/relution
Relution Basiskonfiguration
Relution Konfigurationsdatei herunterladen:
wget https://raw.githubusercontent.com/relution-io/relution-setup/master/native/Linux/opt/relution/application.yml.template
Bearbeiten Sie die application.yml.template
und passen Sie sie an Ihre
Umgebung an. Alle Parameter mit Platzhaltern wie %VALUE%
, zum Beispiel
%MYSQL_PASSWORD%
müssen angepasst werden. Es müssen die folgenden Parameter angepasst werden:
Platzhalter | Beschreibung |
---|---|
%EXT_HOSTNAME_URL% | Die externe Adresse des Relution-Servers, z.B.https://mdm.example.com |
%MYSQL_PASSWORD% | Das Passwort des Relution-Datenbank-Benutzers |
%SYSTEM_ADMIN_PASSWORD% | Das initiale Passwort des Systemadministrator. Ändern Sie dies nach dem ersten Login und entfernen Sie danach diese Zeile. |
%SYSTEM_ADMIN_EMAIL% | Die Mailadresse des Systemadministrators |
HINWEIS: Erwägen Sie die Verwendung von pwgen
, um das anfängliche
Passwort für Ihr administratives Konto zu generieren. Wir empfehlen, das
Passwort zu ändern, nachdem Sie sich zum ersten Mal angemeldet haben.
Verschieben Sie die Datei in das Installationsverzeichnis des Relution-Servers:
mv application.yml.template /opt/relution/application.yml
Stellen Sie sicher, dass nur root diese Datei bearbeiten kann und erlauben Sie relution, sie zu lesen.
chown root:relution /opt/relution/application.yml
chmod 640 /opt/relution/application.yml
Installation testen
Um zu überprüfen, ob die Einrichtung bis zu diesem Punkt korrekt ist, starten Sie den Relution Dienst im Vordergrund.
cd /opt/relution
sudo -u relution JAVA_HOME=/usr bin/relution-foreground.sh
Warten Sie, bis der Relution-Dienst gestartet ist. Sobald die Terminalausgabe aufgehört hat, sich zu bewegen, sollten Sie in der Lage sein, eine Verbindung zum Portal mit einem Browser herzustellen. Um eine Verbindung von einem entfernten Rechner aus herzustellen, stellen Sie sicher, dass der Port 8080 in der Firewall des Rechners geöffnet ist. Aus Sicherheitsgründen sollten Sie diesen Port schließen, sobald Relution und Nginx konfiguriert sind. Beachten Sie, dass ein Login über Port 8080 aus Sicherheitsgründen nur von localhost oder 127.0.0.1 möglich ist.
http://<hostname>:8080
So lassen Sie vorübergehend Verbindungen über Port 8080 bis zum nächsten Server-Neustart zu:
sudo firewall-cmd --zone=public --add-port=8080/tcp
Wenn alles funktioniert, sollten Sie das Relution-Portal sehen und sich
mit dem administrativen Konto anmelden können, das in der Datei
application.yml
definiert wurde. Aus Sicherheitsgründen sollten Sie
das Passwort des Administrators ändern, nachdem Sie sich angemeldet
haben. Erwägen Sie das Entfernen der ursprünglichen Organisation und die
Administratorkonfiguration aus der application.yml
.
Wenn Sie Fehler erhalten, überprüfen Sie, ob Sie alle oben genannten Schritte durchgeführt haben. Verwenden Sie Strg+C", um den Dienst anzuhalten, und warten Sie, bis der Dienst heruntergefahren ist. Wenn der Dienst nicht beendet wird, verwenden Sie erneut die Tastenkombination “Strg+C”, um das Beenden des Dienstes zu erzwingen.
Erstellen des systemd service files
Um Relution als Systemdienst zu starten, erstellen Sie eine systemd-Dienstdatei für Relution. Sie können die Datei von unserem GitHub-Repository herunterladen.
wget https://raw.githubusercontent.com/relution-io/relution-setup/master/native/Linux/etc/systemd/system/relution.service.template
Verschieben Sie die Datei in das systemd-Verzeichnis.
sudo mv relution.service.template /etc/systemd/system/relution.service
Laden Sie den systemd-Daemon neu, um den neuen Dienst zu übernehmen.
sudo systemctl daemon-reload
Wenn SELinux im Enforcing Mode betrieben wird (Standard), sind ggf. die Berechtigungen für die Datei nach dem Verschieben falsch.
Führen Sie den folgenden Befehl aus, um sie zu korrigieren. Andernfalls wird SELinux den Dienst aus Sicherheitsgründen am Zugriff auf die Datei hindern.
sudo restorecon -v /etc/systemd/system/relution.service
Stellen Sie sicher, dass die Verzeichnisse von Relution für den Dienst
noch zugänglich sind. Wenn die Anwendung zuvor als root
gestartet
wurde, kann es vorkommen, das Relution nicht in die Logfiles schreiben
kann.
sudo chown -R relution:relution /opt/relution
sudo chown -R relution:relution /tmp/relution.tmp
Starten Sie Relution und stellen Sie sicher, dass der Dienst nach einem Neustart des Systems automatisch gestartet wird.
sudo systemctl start relution
sudo systemctl enable relution
Um den Start des Dienstes zu überwachen, können Sie seine Logfile verfolgen (Drücken Sie STRG+C zum Beenden).
tail -f /opt/relution/log/relution.log
Warten Sie, bis der Relution-Dienst gestartet ist. Sie sollten nun wieder in der Lage sein mit einem Browser das Relution Portal zu öffnen.
http://<hostname>:8080
Es ist auch ratsam, den Firewall-Port zu schließen, der für den Test geöffnet war. Andernfalls bleibt der Port bis zum nächsten nächsten Neustart des Systems offen. Wenn Nginx auf einem anderen Rechner installiert werden soll, können Sie diesen Schritt überspringen und mit der Firewall-Konfiguration unten fortfahren.
sudo firewall-cmd --zone=public --remove-port=8080/tcp
Firewall Konfiguration
Wenn Sie Nginx auf einem anderen Rechner installieren, müssen Sie
dauerhaft den Port 8080
auf diesem Rechner geöffnet lassen, damit
Nginx mit Relution kommunizieren kann. Wenn Nginx auf demselben Rechner
installiert werden soll, können Sie diese Schritte überspringen.
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="###ADDRESS###" port protocol="tcp" port="8080" accept'
sudo firewall-cmd --reload
Nginx installieren
Voraussetzungen
Sie haben ein gültiges SSL-Zertifikat und einen Zertifikatsschlüssel von Ihrem
SSL-Anbieter (Zertifizierungsstelle, CA) erhalten. Wenn Sie [OCSP] verwenden möchten
verwenden möchten, sollten Sie auch eine Datei für die Zertifikatskette haben.
stapling →
Kopieren Sie diese Dateien auf den Server, auf dem Sie Nginx einrichten werden einrichten wollen (z.B. über SSH). Verschieben Sie diese Dateien in die entsprechenden Verzeichnisse und sichern Sie sie nach Bedarf.
Verschieben Sie die Zertifikatsdatei an ihren Standardspeicherort:
mv server.pem /etc/pki/tls/certs
chown root:root /etc/pki/tls/certs/server.pem
chmod 644 /etc/pki/tls/certs/server.pem
Das Zertifikat ist öffentlich, es wird an jeden gesendet, der eine Verbindung zu Ihrer Website herstellt. Es ist in Ordnung, diese Datei für jeden lesbar zu machen.
Verschieben Sie den Zertifikatsschlüssel an seinen Standardspeicherort:
mv server.key /etc/pki/tls/private
chown root:root /etc/pki/tls/private/server.key
chmod 600 /etc/pki/tls/private/server.key
Wenn SELinux im erzwingenden (enforcing) Modus ist (Standard), kann der Sicherheitskontext der Dateien nach dem Verschieben falsch sein. Führen Sie die folgenden Befehle aus, um dies zu korrigieren. Andernfalls verhindert SELinux den Zugriff von Diensten auf diese Dateien aus Sicherheitsgründen.
sudo restorecon -v /etc/pki/tls/certs/server.pem
sudo restorecon -v /etc/pki/tls/private/server.key
Aus Sicherheitsgründen werden diese Dateien ignoriert, wenn ihre Berechtigungen korrekt gesetzt sind. Stellen Sie sicher, dass Sie die Berechtigungen wie wie oben beschrieben gesetzt wurden. Der private Schlüssel darf nur von root lesbar sein. Stellen Sie Sie diese Datei sicher auf. Jeder, der Zugang zu diesem Schlüssel hat, kann Daten in Ihrem Namen signieren und, an Sie gesendete private Informationen entschlüsseln.
Wenn Sie Let's Encrypt
und Certbot →
sollten Sie darauf achten, dass die Schlüssel an einem sicheren Platz gespeichert werden.
Installation von Nginx
Installieren Sie die notwendigen Pakete:
sudo yum -y install epel-release
sudo yum -y install nginx
Erzeugen sicherer Diffie-Hellman-Parameter
sudo openssl dhparam -out /etc/nginx/dhparams.pem 4096
Dies kann, abhängig von der Serverperformance sehr lange dauern. Erstellen Sie ein Cache-Verzeichnis für nginx. Dieses wird zum Zwischenspeichern heruntergeladener großer Dateien verwendet.
sudo mkdir /usr/share/nginx/cache
sudo chown nginx:nginx /usr/share/nginx/cache
Laden Sie die Konfigurationsdateien herunter:
wget https://raw.githubusercontent.com/relution-io/relution-setup/master/native/Linux/etc/nginx/conf.d/relution-ssl.conf.template
wget https://raw.githubusercontent.com/relution-io/relution-setup/master/native/Linux/etc/nginx/conf.d/relution-location.include.template
Bearbeiten Sie die relution-ssl.conf.template
und passen Sie sie an Ihre Umgebung an.
Alle Parameter mit Platzhaltern %VALUE%
müssen konfiguriert werden.
zum Beispiel: %EXT_HOSTNAME%
. Es handelt sich um diese Parameter:
Parameter | Beschreibung |
---|---|
%EXT_HOSTNAME% | Muss mit dem Common Name
( |
%SSL_CERT_PATH% | Pfad zum SSL Zertifikat |
%SSL_CERT_KEY_PATH% | Pfad zum Key des SSL Zertifikats |
%SSL_CERT_CHAIN_PATH% | Pfad zur SSL Zertifikatskette |
Wenn sich Ihr Relution-Server auf einem anderen Rechner befindet, ändern Sie die IP-Adresse
in den Parametern proxy_pass
in die IP-Adresse des Relution-Servers. Beachten Sie, dass diese Option sowohl in relution-ssl.conf.template
als auch in
relution-location.include.template
vorhanden ist.
- Von
proxy_pass http://127.0.0.1:8080;
- Auf
proxy_pass http://<relution-ip>:8080;
Wenn Sie [OCSP] nicht verwenden möchten stapling](https://www.digicert.com/ssl-support/nginx-enable-ocsp-stapling-on-server.htm), kommentieren Sie die folgenden Optionen aus:
# ssl_stapling on;
# ssl_stapling_verify on;
# ssl_trusted_certificate %SSL_CERT_CHAIN_PATH%;
Wenn Sie planen native Windows Apps mit Relution auf Windows Geräten zu installieren, kommentieren Sie folgende Zeilen aus:
Andernfalls wird die Installation der Apps fehlschlagen.
Verschieben Sie die Dateien in die Zielverzeichnisse:
sudo mv relution-ssl.conf.template /etc/nginx/conf.d/relution-ssl.conf
sudo mv relution-location.include.template /etc/nginx/conf.d/relution-location.include
Wenn SELinux im Enforcing Mode
betrieben wird (Standard), sind die
Berechtigungen für die Datei nach dem Verschieben falsch. Führen Sie den
folgenden Befehl aus, um sie zu korrigieren. Andernfalls wird SELinux
den Dienst aus Sicherheitsgründen am Zugriff auf die Datei hindern.
sudo restorecon -v /etc/nginx/conf.d/relution-ssl.conf
sudo restorecon -v /etc/nginx/conf.d/relution-location.include
Prüfen Sie die Konfiguration mit diesem Befehl:
sudo nginx -t
Sie sollten eine Meldung wie syntax is okay
und test is successful
erhalten.
Wenn Sie Fehler erhalten, überprüfen Sie Ihre Nginx-Konfiguration auf Tippfehler.
Standardserver
Die Standardkonfiguration von Nginx konfiguriert eine Site für ihre Platzhalter Webseite. Wenn die Webanwendung von Relution die einzige Seite ist, die auf diesem Server gehostet wird, können Sie diesen “Standard-Server” deaktivieren und Relution zum Standard machen. Wenn Sie mehrere Sites hosten (“virtuelle Hosts”), überspringen Sie diesen Schritt.
Öffnen Sie die globale Nginx-Konfiguration:
sudo vi /etc/nginx/nginx.conf
Kommentieren Sie den server { ... }
Bereich aus:
# server {
# listen 80 default_server;
# listen [::]:80 default_server;
[...]
# }
Es gibt noch einen weiteren server { ... }
Bereich für SSL (i.e. HTTPS). KOmmentieren Sie diesen ebenfalls aus:
# server {
# listen 443 ssl default_server;
# listen [::]:443 ssl;
[...]
# }
Ändern Sie die Nginx-Konfiguration für Relution:
sudo vi /etc/nginx/conf.d/relution-ssl.conf
Fügen Sie default_server
an die erste Listen-Option eines jeden Servers an. Sie sollte
ähnlich wie diese aussehen:
server {
listen 0.0.0.0:80 default_server;
listen [::]:80;
[...]
server {
listen 0.0.0.0:443 ssl default_server;
listen [::]:443 ssl;
[...]
Wenn Sie planen native Windows Apps mit Relution auf Windows Geräten zu installieren, kommentieren Sie folgende Zeilen aus:
Andernfalls wird die Installation der Apps fehlschlagen.
Prüfen Sie, dass Ihre Nginx Konfiguration gültig ist:
sudo nginx -t
Wenn Sie eine Meldung wie syntax is okay
und test is successful
erhalten, ist dies der Fall..
Wenn Sie Fehlermeldungen bekommen, prüfen Sie bitte die Konfiguration.
Nginx Dienst starten und aktivieren
Wenn alles in Ordnung ist, starten und aktivieren Sie den Nginx Dienst:
sudo systemctl start nginx
sudo systemctl enable nginx
Wenn Sie Fehlermeldungen erhalten, oder der Dienst nicht starten, schauen Sie in diesem Log: (/var/log/nginx/error.log
).
Firewall
Öffnen Sie die Ports 80 und 443 in der Firewall, sodass HTTP und HTTPS funktionieren.
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
sudo firewall-cmd --reload
SELinux Konfiguration
Möglicherweise können Sie nicht sofort eine Verbindung zu https://<Ihr-fqdn-hostname>
herstellen. Wenn dies der Fall ist, überprüfen Sie die Fehlerprotokolle von Nginx.
cat /var/log/nginx/relution_error.log | grep "13: Permission denied"
Möglicherweise sehen Sie Fehlermeldungen wie diese::
2022/06/27 18:12:41 [crit] 11111#0: *2 connect() to <relution-ip>:8080 failed (13: Permission denied) while connecting to upstream, client: <client-ip>, server: <your-fqdn-hostname>, request: "GET / HTTP/1.1", upstream: "http://<relution-ip>:8080/", host: "<nginx-ip>"
Überprüfen Sie, ob es sich tatsächlich um ein SELinux-Problem handelt:
sudo cat /var/log/audit/audit.log | grep nginx | grep denied
Sie sollten eine oder mehrere denied
Nachrichten, ähnlich dieser, sehen:
type=AVC msg=audit(1524845545.644:365): avc: denied { name_connect } for pid=11111 comm="nginx" dest=8080 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_cache_port_t:s0 tclass=tcp_socket
Erlauben Sie nginx, sich mit dem anderen Rechner zu verbinden:
sudo setsebool -P httpd_can_network_connect 1
Sie sollten nun in der Lage sein, sich mit Ihrer Relution-Instanz über HTTPS zu verbinden.