Du benötigst Zugriff per SSH auf den Server um die folgenden Schritte durchzuführen.
Dies ist eine Anleitung für die Kunden IT
Dieser Teil ist für die erstmalige Einrichtung eines SSL Zertifikats. Wenn du dein Zertifikat erneuern möchten, scroll bitte zu dem zweiten Teil der Anleitung.
Bitte ersetze die rot markierten Abschnitte mit deinen Daten.
Erstellung eines Certificate Signing Request (CSR)
Für die Einrichtung von SSL werden root-Berechtigungen benötigt. Statt vim kann auch z.B. der einsteigerfreundlichere Editor "nano" verwendet werden.
1. Erstellung eines private Key
cd /etc/ssl/private
openssl genrsa -out fqdn.key.pem 2048
Bitte ersetze den rot markierten Teil mit dem FQDN deines Q.wiki. Beispielsweise: qwiki.acme.local
2. Anlegen des CSR
vim fqdn.csr.conf
In diese Datei Folgendes einfügen (bitte ändere die rot markierten Abschnitte mit deinen Daten ab):
[req] distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[req_distinguished_name]
C = DE
ST = NRW
L = AACHEN
O = Modell Aachen GmbH
OU = IT-Services
CN = QWIKI-ALIAS.ACME.LOCAL (die URL, über die Q.wiki im Browser aufgerufen wird)
emailAddress = [email protected]
[v3_req]
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = QWIKI-ALIAS.ACME.LOCAL
DNS.2 = qwikiserver.acme.local (fqdn des servers)
Nach dem Speichern kann der CSR mit folgenden Befehl erstellt werden:
openssl req -new -out fqdn.csr -key fqdn.key.pem -config fqdn.csr.conf
Durch den Befehl wird eine Datei fqdn.csr im aktuellen Verzeichnis erstellt. Diese kann per SCP heruntergeladen werden. Alternativ kann der Inhalt auch kopiert und in eine "fqdn.csr" auf einem Windows-Rechner eingefügt werden. Mit dem CSR kann in deinem CA ein neues Zertifikat angefordert werden.
Einrichten oder aktualisieren eines SSL Zertifikats
1. Zertifikat und eventuell Key auf den Q.wiki Server in /etc/ssl/private ablegen. Alle weiteren Schritte, sofern nicht anders angegeben, werden in diesem Verzeichnis durchgeführt.
2. Format prüfen.
Es wird ein RSA Key (ohne Passwort - falls Passwort vorhanden siehst du in Schritt 3), sowie ein base64 kodiertes X509 Zertifikat benötigt. DER und PKCS#12 müssen konvertiert werden.
DER konvertieren
openssl x509 -inform der -in fqdn.xyz -out fqdn.cert.pem
PKCS#12 konvertieren
Private Key extrahieren
openssl pkcs12 -in fqdn.pfx -nocerts -nodes -out fqdn.key.pem
Zertifikat extrahieren
openssl pkcs12 -in fqdn.pfx -clcerts -nokeys -out fqdn.cert.pem
3. Private Key überprüfen
openssl rsa -noout -in fqdn.key.pem
Sollte eine Passwortabfrage kommen, muss diese entfernt werden, da das Passwort ansonsten bei jedem Webserver Neustart manuell eingegeben werden muss.
4. Dateiberechtigung anpassen
chown root:root fqdn.*
chmod 0600 fqdn.*
Solltest du nur eine Aktualisierung des Zertifikats vorgenommen haben, kannst du zu Punkt 7 springen.
5. Bearbeitung der nginx Konfiguration. (nur bei Ersteinrichtung von SSL nötig, oder wenn die Dateinamen des Zertifikats verändert wurden)
vim /etc/nginx/sites-enabled/qwiki_http.conf
Die vorhandene Konfiguration muss gelöscht werden und mit folgender angepasster Konfiguration ersetzt werden.
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name qwiki_http;
rewrite ^/(.*)$ https://qwiki.acme.local/$1 permanent;
}
server {
listen 443 default_server ssl;
listen [::]:443 default_server ssl;
server_name qwiki_https;
root /var/www/qwikis/core;
ssl_certificate /etc/ssl/private/CERT;
ssl_certificate_key /etc/ssl/private/KEY;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location ~ (/pub/System|/robots.txt) {
sendfile on;
tcp_nopush on;
expires 7d;
add_header Cache-Control "public, no-transform";
}
location /api/phoenix {
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://elixir;
}
location / {
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://qwiki;
}
}
6. Anpassung der Q.wiki Konfigurationsdatei (nur bei Ersteinrichtung von SSL nötig)
vim /var/www/qwiki/core/lib/LocalSite.cfg
In dieser Datei nach dem Q.wiki Hosteintrag "DefaultUrlHost" suchen, und zu dem Ergebnis mit der fqdn deines Systems springen.
Hier muss das 'http' durch ein 'https' ersetzt / erweitert werden.
Danach die Datei speichern und die Services neustarten (punkt 7).
7. Neustarten der Services
a2enmod ssl
systemctl restart nginx qwiki
Aktualisieren eines SSL Zertifikats ab Version 6.8
1. Aufrufen der Q.wiki qmmander Shell
qmmander
2. Q.wiki Konfiguration aufrufen
3. Pfad des Zertifikates und Key auf den neuen anpassen oder alte Zertifikate überschreiben - wir legen Zertifikat und Key üblicherweise unter /root/qwiki/ ab.
ABSOLUTE_TLS_CRT_PATH: [/path/to/your/cert]
ABSOLUTE_TLS_KEY_PATH: [/path/to/your/key]
4. Q.wiki Konfiguration aktualisieren
qmmander
Schritt 10) Update certificate
War dieser Artikel hilfreich?
Das ist großartig!
Vielen Dank für das Feedback
Leider konnten wir nicht helfen
Vielen Dank für das Feedback
Feedback gesendet
Wir wissen Ihre Bemühungen zu schätzen und werden versuchen, den Artikel zu korrigieren