Setup:Installationsanleitung/Docker: Unterschied zwischen den Versionen

Hua Jing (Diskussion | Beiträge)
K fix data directory
Markierung: Quelltext-Bearbeitung 2017
Hua Jing (Diskussion | Beiträge)
Improve default value for db settings
Markierung: Quelltext-Bearbeitung 2017
 
(40 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Textbox
|boxtype=important
|header=Migration von 4.4
|text=Mit BlueSpice 4.5 gab es einige wichtige Änderungen am Container-Portfolio:
# Es gibt keine „All-in-One“-Container mehr. Weder für die ''free'' noch für die ''pro'' oder ''farm'' Editionen
# Das „Distributed-Services“-Setup für die ''pro'' und ''farm'' Editionen wurde komplett überarbeitet.
Wenn Sie von einem der oben genannten Setups aktualisieren, lesen Sie bitte den [[{{FULLPAGENAME}}/Migration_4.4 to 4.5|Migrationsleitfaden]].
|icon=yes
}}


__TOC__
== Übersicht ==
 
===Übersicht===
Seit Version 4.5 kann BlueSpice MediaWiki einfach mithilfe eines Stapels von Docker-Container-Images installiert werden. Alles ist modular aufgebaut, um verschiedene Arten von Setups zu ermöglichen.
Seit Version 4.5 kann BlueSpice MediaWiki einfach mithilfe eines Stapels von Docker-Container-Images installiert werden. Alles ist modular aufgebaut, um verschiedene Arten von Setups zu ermöglichen.


Zeile 19: Zeile 8:
#Benutzerdefinierter Load Balancer / Proxy
#Benutzerdefinierter Load Balancer / Proxy


===Schritt 1: Den Stack abrufen===
== Architektur ==
Von https://github.com/hallowelt/bluespice-deploy die „docker-compose“-Dateien abrufen.
<drawio filename="Setup:Installationsanleitung_Docker-Achitektur" alt="Diagramm der BlueSpice Docker Stack-Architektur" />
 
'''Hinweise'''
* Interne HTTP-Verbindungen können nicht standardmäßige Ports verwenden. Diese sind neben den jeweiligen Diensten angegeben.
** HTTP (unsicher) wird nur für die interne Kommunikation innerhalb des virtuellen Netzwerks verwendet, in dem der Stack betrieben wird. Alle Verbindungen zum Client verwenden TLS.
* Proprietäre Ports (insbesondere für Datenbankverbindungen) sind neben den jeweiligen Diensten angegeben.
* Je nach Setup können zusätzliche Dienste und Ports genutzt werden. Einige Beispiele:
** Bei Verwendung der LDAP-basierten Authentifizierung wird eine LDAPS-Verbindung (Port <code>636</code>) von den <code>bluespice/wiki</code>-Containern zum LDAP-Server aufgebaut.
** Bei Verwendung der Kerberos-Authentifizierung wird eine Verbindung (Port <code>88</code>) von den <code>bluespice/kerberos-proxy</code>-Containern zum Kerberos-Server aufgebaut.
** Bei Verwendung von DeepL- oder OpenAI-Diensten wird eine HTTPS-Verbindung (Port <code>443</code>) von den <code>bluespice/wiki</code>-Containern zum jeweiligen Dienst aufgebaut.
** Bei Verwendung der OpenIDConnect-Authentifizierung wird eine HTTPS-Verbindung (Port <code>443</code>) vom <code>bluespice/wiki</code>-"Task"-Container zum Authentifizierungsanbieter aufgebaut.
** Bei Verwendung von "Let's Encrypt" Certbot wird eine HTTPS-Verbindung (Port <code>443</code>) vom <code>acme-companion</code>-Container zum Dienst „Let’s Encrypt“ aufgebaut.
 
== Schritt 1: Den Stack abrufen ==
Von https://github.com/hallowelt/bluespice-deploy/releases/latest die „docker-compose“-Dateien abrufen.


Beispiel:
Beispiel:
<syntaxhighlight lang="text">
<syntaxhighlight lang="text">
  wget https://github.com/hallowelt/bluespice-deploy/archive/refs/heads/main.zip \
  wget https://github.com/hallowelt/bluespice-deploy/archive/refs/tags/5.1.1.zip \
     && unzip main.zip \
     && unzip 5.1.1.zip \
     && cd bluespice-deploy-main/compose
     && cd bluespice-deploy-5.1.1/compose
</syntaxhighlight>
</syntaxhighlight>


{{Textbox|boxtype=important|header=PRO edition Stack|text=Aktuell ist nur der FREE edition Stack auf GitHub verfügbar. Wir planen auch den PRO Stack zu veröffentlichen. In der Zwischenzeit, kontaktieren Sie bitte unser Sales-Team, wenn Sie den PRO Stack zur Selbstinstallation benötigen.|icon=yes}}
{{Textbox|boxtype=note|header=PRO und FARM Editionen|text=Alle Servicekonfigurationen für die PRO- und FARM-Edition sind bereits enthalten, das Hauptanwendungsimage <code>bluespice/wiki</code> muss jedoch separat bezogen werden. Siehe [[{{FULLPAGENAME}}/Pro und Farm Edition|Pro und Farm Edition]] für weitere Details.|icon=yes}}


Das Verzeichnis enthält die folgenden Dateien:
Das Verzeichnis enthält die folgenden Dateien:
Zeile 35: Zeile 38:
|+
|+
! style="width:350px;" |Dateiname
! style="width:350px;" |Dateiname
!Typ
! style="" |Typ
!Pflichtfeld
! style="" |Pflicht
!Kommentar
! style="" |Kommentar
|-
|-
| style="width:350px;" |<code>bluespice-deploy</code>
| style="width:350px;" |<code>bluespice-deploy</code>
|bash-script
| style="" |bash-script
|false
| style="" |nein
|Wrapper für den allgemeinen Start der benötigten Container
| style="" |Wrapper für den allgemeinen Start der benötigten Container
|-
| style="width:350px;" |<code>bluespice-prepare</code>
|bash-script
|false
|Ordner und Berechtigungen vor dem ersten Start vorbereiten, registriert den Dienst auch beim Betriebssystem
|-
| style="width:350px;" |<code>bluespice.service</code>
|service-script
|false
|Richtige Handhabung der Container beim Neustart
|-
|-
| style="width:350px;" |<code>docker-compose.main.yml</code>
| style="width:350px;" |<code>docker-compose.main.yml</code>
|yml
| style="" |yml
|true
| style="" |ja
|Hauptanwendungsdienste/ ausgeführt von <code>bluespice-deploy</code>
| style="" |Hauptanwendungsdienste/ ausgeführt von <code>bluespice-deploy</code>
|-
|-
| style="width:350px;" |<code>docker-compose.persistent-data-services.yml</code>
| style="width:350px;" |<code>docker-compose.persistent-data-services.yml</code>
|yml
| style="" |yml
|false
| style="" |nein
|Datenbank und Suche/ ausgeführt von <code>bluespice-deploy</code>
| style="" |Datenbank und Suche/ ausgeführt von <code>bluespice-deploy</code>
|-
|-
| style="width:350px;" |<code>docker-compose.stateless-services.yml</code>
| style="width:350px;" |<code>docker-compose.stateless-services.yml</code>
|yml
| style="" |yml
|true
| style="" |ja
|PDF-Renderer/Cache/Formel/Diagramm-Dienst
| style="" |PDF-Renderer/Cache/Formel/Diagramm-Dienst
|-
| style="width:350px;" |<code>docker-compose.helper-service.yml</code>
| style="" |yml
| style="" |ja
| style="" |Verschiedene Hilfscontainers für Dateisystem-Vorbereitung, Major-Upgrades und Backups
|-
|-
| style="width:350px;" |<code>docker-compose.proxy.yml</code>
| style="width:350px;" |<code>docker-compose.proxy.yml</code>
|yml
| style="" |yml
|false, aber empfohlen
| style="" |nein, aber empfohlen
|Proxy-Dienst
| style="" |Proxy-Dienst
|-
|-
| style="width:350px;" |<code>docker-compose.proxy-letsencrypt.yml</code>
| style="width:350px;" |<code>docker-compose.proxy-letsencrypt.yml</code>
|yml
| style="" |yml
|false
| style="" |nein
|Zusätzlicher automatischer Erneuerungsdienst für „Let’s Encrypt“-Zertifikate
| style="" |Zusätzlicher Service zur automatischen Verlängerung von „Let's Encrypt“-Zertifikaten
|-
|-
| style="width:350px;" |<code>docker-compose.kerberos-proxy.yml</code>
| style="width:350px;" |<code>docker-compose.kerberos-proxy.yml</code>
|yml
| style="" |yml
|false
| style="" |nein
|Zusätzlicher Proxy für Kerberos-basierte Authentifizierung
| style="" |Zusätzlicher Proxy für Kerberos-basierte Authentifizierung
|-
| style="width:350px;" |<code>docker-compose.collabpads-service.yml</code>
| style="" |yml
| style="" |nein
| style="" |Backend-Dienst für [[Referenz:CollabPads|CollabPads]] (in den Pro- und Farm-Editionen enthalten)
|-
| style="width:350px;" |<code>.env.sample</code>
| style="" |Text
| style="" |ja
| style="" |Beispiel zum Erstellen von <code>.env</code>, das wichtige Umgebungsvariablen definiert
|-
| style="width:350px;" |<code>bluespice.service.demo</code>
| style="" |service-script
| style="" |nein
| style="" |Richtige Handhabung der Container beim Neustart
|}
|}


Der Einfachheit halber umschließt das Skript <code>bluespice-deploy</code> standardmäßig die ersten vier <code>yml</code>-Dateien. Dies umfasst die Haupt-Wiki-Anwendung und auch erforderliche Backend-Dienste wie eine Datenbank, eine Suche und einen Anwendungscache.
Der Einfachheit halber umschließt das Skript <code>bluespice-deploy</code> standardmäßig die ersten fünf <code>yml</code>-Dateien. Dies umfasst die Haupt-Wiki-Anwendung und auch erforderliche Backend-Dienste wie eine Datenbank, eine Suche und einen Anwendungscache.


Zusätzliche Dienste können durch Hinzufügen von <code>-f <filename> </code> geladen werden.
Zusätzliche <code>yml</code> Dienst-Dateien können durch Hinzufügen von <code>-f <filename> </code> geladen werden.


Beispiel:<syntaxhighlight lang="text">
== Schritt 2: Umgebungsvariablen einrichten ==
bluespice-deploy \
Erstellen Sie Ihre <code>.env</code> aus der Vorlagendatei <code>.env.sample</code>.
      -f docker-compose.proxy-letsencrypt.yml \
      up -d
</syntaxhighlight>Dadurch wird der Stapel mit „Let’s Encrypt“-Zertifikaten gestartet. Weitere Einzelheiten finden Sie im Abschnitt [[#SSL-Zertifikate| SSL-Zertifikate]].


===Schritt 2: Umgebungsvariablen einrichten===
Beispiel:
Erstellen Sie die Datei <code>.env</code> entsprechend der vorhandenen oder zukünftigen Installation.
<pre>
 
DATADIR=/data/bluespice
Beispiel:<syntaxhighlight lang="text">
VERSION=5.1.1
DATADIR=/data/bluespice  
EDITION=free
VERSION=4.5
EDITION=pro
BACKUP_HOUR=04
BACKUP_HOUR=04


WIKI_NAME=BlueSpice  
WIKI_NAME=BlueSpice
WIKI_LANG=en  
WIKI_LANG=en
WIKI_PASSWORDSENDER=no-reply@wiki.company.local  
WIKI_PASSWORDSENDER=no-reply@wiki.company.local
WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local  
WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local
WIKI_HOST=wiki.company.local  
WIKI_HOST=wiki.company.local
WIKI_PORT=443 WIKI_PROTOCOL=https
WIKI_PORT=443
WIKI_PROTOCOL=https
WIKI_BASE_PATH=


DB_USER=bluespice
DB_USER=benutzername_eintragen_oder_verwenden
DB_PASS=...
DB_PASS=PASSWORT_EINTRAGEN_ODER_VERWENDEN
DB_HOST=database  
DB_ROOT_USER=root
DB_NAME=bluespice  
DB_ROOT_PASS=$DB_PASS
DB_HOST=database
DB_NAME=bluespice
DB_PREFIX=
DB_PREFIX=


SMTP_HOST=mail.company.local  
SMTP_HOST=mail.company.local
SMTP_PORT=25 SMTP_USER=...  
SMTP_PORT=25
SMTP_PASS=...  
SMTP_USER=...
SMTP_PASS=...
SMTP_ID_HOST=...
SMTP_ID_HOST=...
</syntaxhighlight>


===Schritt 3: Datenverzeichnisse vorbereiten===
LETSENCRYPT=false
Ausführen Das Skript <code>bluespice-prepare</code> hilft Ihnen beim Einrichten der richtigen Ordnerstruktur und Berechtigungen. Außerdem wird ein Dienst für die ordnungsgemäße Handhabung der Container bei Neustarts installiert. Stellen Sie sicher, dass Sie diesen Befehl in einem privilegierten Benutzerkontext (wie <code>root</code>) ausführen, da er Berechtigungen für die neu erstellten Verzeichnisse festlegt.
</pre>
 
{{Textbox|boxtype=note|header=Verschiedene Editionen|text=Zum Bereitstellen der <code>pro</code>- oder <code>farm</code>-Edition benötigen Sie Anmeldeinformationen für das private Register <code>docker.bluespice.com</code>. <br>Bitte melden Sie sich an, indem Sie <code>docker login docker.bluespice.com</code> ausführen.|icon=yes}}


===Schritt 4: Stack starten===
== Schritt 3: Stack starten ==
{{Textbox
{{Textbox
|boxtype=important
|boxtype=important
|header=Erstinstallation
|header=Erstinstallation
|text=Wenn Sie den Stapel zum ersten Mal starten, führt der Container <code>wiki-task</code> die Installation automatisch durch. Es kann einige Minuten dauern, bis der Vorgang die Datenbank eingerichtet und abgeschlossen hat. Sobald er abgeschlossen ist, finden Sie das Passwort für den Standardbenutzer <code>Admin</code> in <code>$DATADIR/wiki/adminPassword</code>.
|text=Wenn Sie den Stapel zum ersten Mal starten, führt der Container <code>wiki-task</code> die Installation automatisch durch. Es kann einige Minuten dauern, bis der Vorgang die Datenbank eingerichtet und abgeschlossen hat. Sobald er abgeschlossen ist, finden Sie das Passwort für den Standardbenutzer <code>Admin</code> in <code>$DATADIR/wiki/initialAdminPassword</code>.
|icon=yes
|icon=yes
}}
}}
Verwenden Sie <code>bluespice-deploy up -d</code>, um den Stack zu starten, sobald die <code>.env</code>-Datei und die „Datenverzeichnisse“ bereit sind. Sobald alle Container als „bereit“ angezeigt werden, können Sie in Ihrem bevorzugten Webbrowser zu <code>$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT</code> (z. B. <code><nowiki>https://wiki.company.local</nowiki></code>) navigieren und mit der Verwendung der Anwendung beginnen.
Verwenden Sie <code>bluespice-deploy up -d</code>, um den Stack zu starten, sobald die <code>.env</code>-Datei und die „Datenverzeichnisse“ bereit sind. Sobald alle Container als „bereit“ angezeigt werden, können Sie in Ihrem bevorzugten Webbrowser zu <code>$WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT</code> (z. B. <code><nowiki>https://wiki.company.local</nowiki></code>) navigieren und mit der Verwendung der Anwendung beginnen.


===Zusätzliche Optionen===
== Zusätzliche Optionen ==


====SSL-Zertifikate====
=== SSL-Zertifikate ===
Um Let’s Encrypt-Zertifikate zu verwenden, fügen Sie einfach <code>docker-compose.proxy-letsencrypt.yml</code> in Ihre <code>bluespice-deploy</code>-Datei ein.
Um Let’s Encrypt-Zertifikate zu verwenden, fügen Sie einfach <code>docker-compose.proxy-letsencrypt.yml</code> in Ihre <code>bluespice-deploy</code>-Datei ein.
{{Textbox
{{Textbox
Zeile 146: Zeile 160:
}}
}}


Wenn Sie SSL nach der ersten Erstellung des Wikis aktivieren, ändern Sie bitte <code>$wgServer</code> in <code>$DATADIR/wiki/bluespice/pre-init-settings.php</code>
=== Dienst auf Betriebssystemebene ===
 
in <code><nowiki>https://bluespice-wiki.com</nowiki></code>
 
verknüpfen Sie Ihr Zertifikat auch mit dem Bluespice-Container in Ihrer <code>docker-compose.yml</code>-Datei:
 
<code>- $DATADIR/proxy/certs/<FQDNofyourWiki>.crt:/usr/local/share/ca-certificates/<FQDNofyourWiki>.crt:ro</code>
 
Bitte starten Sie Container nach dem Ändern/Hinzufügen von SSL-Dateien neu.
 
====Dienst auf Betriebssystemebene====
 
{{Textbox
{{Textbox
|boxtype=tip
|boxtype=tip
Zeile 167: Zeile 170:
}}
}}


====Benutzerdefinierte Wiki-Anwendungskonfiguration====
=== Benutzerdefinierte Wiki-Anwendungskonfiguration ===
Nach der Erstinstallation enthält <code>${DATADIR}/wiki/bluespice/</code> zwei Dateien, mit denen Sie eine benutzerdefinierte Anwendungskonfiguration festlegen können, wie sie unter [https://www.mediawiki.org mediawiki.org] zu finden ist:
Nach der Erstinstallation enthält <code>${DATADIR}/wiki/bluespice/</code> zwei Dateien, mit denen Sie eine benutzerdefinierte Anwendungskonfiguration festlegen können, wie sie unter [https://www.mediawiki.org mediawiki.org] zu finden ist:


*<code>pre-init-settings.php</code> - Kann verwendet werden, um eine Konfiguration festzulegen, die vom Init übernommen werden kann Prozess
*<code>pre-init-settings.php</code> - Kann verwendet werden, um eine Konfiguration festzulegen, die vom Init-Prozess übernommen werden kann  
*<code>post-init-settings.php</code> - Kann verwendet werden, um Konfigurationen zu manipulieren, die vom Init-Prozess festgelegt wurden
*<code>post-init-settings.php</code> - Kann verwendet werden, um Konfigurationen zu manipulieren, die vom Init-Prozess festgelegt wurden


====Benutzerdefinierte Datenbank und Suche====
=== Benutzerdefinierte Datenbank und Suche ===
Wenn Sie einen MySQL/MariaDB- und einen OpenSearch-Server in Ihrem lokalen Netzwerk laufen haben, können Sie <code>docker-compose.persistent-data-services.yml</code> vollständig aus Ihrer <code>bluespice-deploy</code>-Datei entfernen. Stellen Sie sicher, dass Sie die richtigen Variablen in der <code>.env</code>-Datei festlegen.
Wenn Sie einen MySQL/MariaDB- und einen OpenSearch-Server in Ihrem lokalen Netzwerk laufen haben, können Sie <code>docker-compose.persistent-data-services.yml</code> vollständig aus Ihrer <code>bluespice-deploy</code>-Datei entfernen. Stellen Sie sicher, dass Sie die richtigen Variablen in der <code>.env</code>-Datei festlegen.


====Kerberos-Proxy====
=== Kerberos-Proxy ===
Für die implizite Authentifizierung mit Kerberos muss ein zusätzlicher Proxy verwendet werden: <code>bluespice/kerberos-proxy</code> . Die Datei <code>docker-compose.kerberos-proxy.yml</code> enthält eine gemeinsame Konfiguration. Es kann '''anstelle''' der regulären Datei <code>docker-compose.proxy.yml</code> in <code>bluespice-deploy</code> verwendet werden.
Für die implizite Authentifizierung mit Kerberos muss ein zusätzlicher Proxy verwendet werden: <code>bluespice/kerberos-proxy</code> . Die Datei <code>docker-compose.kerberos-proxy.yml</code> enthält eine gemeinsame Konfiguration. Es kann '''anstelle''' der regulären Datei <code>docker-compose.proxy.yml</code> in <code>bluespice-deploy</code> verwendet werden.


Zeile 188: Zeile 191:
Die Datei <code>${DATADIR}/wiki/bluespice/pre-init-settings.php</code> kann dann verwendet werden, um „Extension:Auth_remoteuser“ einzurichten.
Die Datei <code>${DATADIR}/wiki/bluespice/pre-init-settings.php</code> kann dann verwendet werden, um „Extension:Auth_remoteuser“ einzurichten.


====SAML-Authentifizierung====
=== SAML-Authentifizierung ===
 
Während der Erstinstallation wird automatisch ein Zertifikat zur Nachrichtensignierung erstellt. Es befindet sich in <code>${DATADIR}/wiki/simplesamlphp/certs/</code>.
Während der Erstinstallation wird automatisch ein Zertifikat zur Nachrichtensignierung erstellt. Es befindet sich in <code>${DATADIR}/wiki/simplesamlphp/certs/</code>.


Zeile 214: Zeile 216:
</syntaxhighlight>Danach kann die Konfiguration des Authentifizierungs-Plugins in [[Handbuch:Erweiterung/BlueSpiceConfigManager|Spezial:BlueSpiceConfigManager]] unter „Authentifizierung“ angewendet werden.
</syntaxhighlight>Danach kann die Konfiguration des Authentifizierungs-Plugins in [[Handbuch:Erweiterung/BlueSpiceConfigManager|Spezial:BlueSpiceConfigManager]] unter „Authentifizierung“ angewendet werden.


=== OpenID Connect-Authentifizierung ===
Die Erweiterungen „PluggableAuth“ und „OpenIDConnect“ müssen im Wiki aktiviert sein. Fügen Sie dazu<syntaxhighlight lang="php">
wfLoadExtensions( [
'PluggableAuth',
'OpenIDConnect'
] );
</syntaxhighlight>zur Datei <code>${DATADIR}/wiki/bluespice/post-init-settings.php</code> hinzu. Führen Sie folgenden Befehl aus, um die Installation abzuschließen.<syntaxhighlight lang="text">
./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick
</syntaxhighlight>Anschließend kann die Konfiguration des Authentifizierungs-Plugins in der  [[Handbuch:Erweiterung/BlueSpiceConfigManager|Konfigurationsverwaltung]] unter „Authentifizierung“ angewendet werden.
[[en:Setup:Installation_Guide/Docker]]
[[en:Setup:Installation_Guide/Docker]]

Aktuelle Version vom 24. Juli 2025, 10:45 Uhr

Übersicht[Bearbeiten | Quelltext bearbeiten]

Seit Version 4.5 kann BlueSpice MediaWiki einfach mithilfe eines Stapels von Docker-Container-Images installiert werden. Alles ist modular aufgebaut, um verschiedene Arten von Setups zu ermöglichen.

Die häufigsten Fälle sind

  1. „All-in-one“ (mit und ohne Let’s Encrypt)
  2. Benutzerdefinierte Datenbank und Suchdienst
  3. Benutzerdefinierter Load Balancer / Proxy

Architektur[Bearbeiten | Quelltext bearbeiten]

Diagramm der BlueSpice Docker Stack-Architektur

Hinweise

  • Interne HTTP-Verbindungen können nicht standardmäßige Ports verwenden. Diese sind neben den jeweiligen Diensten angegeben.
    • HTTP (unsicher) wird nur für die interne Kommunikation innerhalb des virtuellen Netzwerks verwendet, in dem der Stack betrieben wird. Alle Verbindungen zum Client verwenden TLS.
  • Proprietäre Ports (insbesondere für Datenbankverbindungen) sind neben den jeweiligen Diensten angegeben.
  • Je nach Setup können zusätzliche Dienste und Ports genutzt werden. Einige Beispiele:
    • Bei Verwendung der LDAP-basierten Authentifizierung wird eine LDAPS-Verbindung (Port 636) von den bluespice/wiki-Containern zum LDAP-Server aufgebaut.
    • Bei Verwendung der Kerberos-Authentifizierung wird eine Verbindung (Port 88) von den bluespice/kerberos-proxy-Containern zum Kerberos-Server aufgebaut.
    • Bei Verwendung von DeepL- oder OpenAI-Diensten wird eine HTTPS-Verbindung (Port 443) von den bluespice/wiki-Containern zum jeweiligen Dienst aufgebaut.
    • Bei Verwendung der OpenIDConnect-Authentifizierung wird eine HTTPS-Verbindung (Port 443) vom bluespice/wiki-"Task"-Container zum Authentifizierungsanbieter aufgebaut.
    • Bei Verwendung von "Let's Encrypt" Certbot wird eine HTTPS-Verbindung (Port 443) vom acme-companion-Container zum Dienst „Let’s Encrypt“ aufgebaut.

Schritt 1: Den Stack abrufen[Bearbeiten | Quelltext bearbeiten]

Von https://github.com/hallowelt/bluespice-deploy/releases/latest die „docker-compose“-Dateien abrufen.

Beispiel:

 wget https://github.com/hallowelt/bluespice-deploy/archive/refs/tags/5.1.1.zip \
    && unzip 5.1.1.zip \
    && cd bluespice-deploy-5.1.1/compose
PRO und FARM Editionen

Alle Servicekonfigurationen für die PRO- und FARM-Edition sind bereits enthalten, das Hauptanwendungsimage bluespice/wiki muss jedoch separat bezogen werden. Siehe Pro und Farm Edition für weitere Details.

Das Verzeichnis enthält die folgenden Dateien:

Dateiname Typ Pflicht Kommentar
bluespice-deploy bash-script nein Wrapper für den allgemeinen Start der benötigten Container
docker-compose.main.yml yml ja Hauptanwendungsdienste/ ausgeführt von bluespice-deploy
docker-compose.persistent-data-services.yml yml nein Datenbank und Suche/ ausgeführt von bluespice-deploy
docker-compose.stateless-services.yml yml ja PDF-Renderer/Cache/Formel/Diagramm-Dienst
docker-compose.helper-service.yml yml ja Verschiedene Hilfscontainers für Dateisystem-Vorbereitung, Major-Upgrades und Backups
docker-compose.proxy.yml yml nein, aber empfohlen Proxy-Dienst
docker-compose.proxy-letsencrypt.yml yml nein Zusätzlicher Service zur automatischen Verlängerung von „Let's Encrypt“-Zertifikaten
docker-compose.kerberos-proxy.yml yml nein Zusätzlicher Proxy für Kerberos-basierte Authentifizierung
docker-compose.collabpads-service.yml yml nein Backend-Dienst für CollabPads (in den Pro- und Farm-Editionen enthalten)
.env.sample Text ja Beispiel zum Erstellen von .env, das wichtige Umgebungsvariablen definiert
bluespice.service.demo service-script nein Richtige Handhabung der Container beim Neustart

Der Einfachheit halber umschließt das Skript bluespice-deploy standardmäßig die ersten fünf yml-Dateien. Dies umfasst die Haupt-Wiki-Anwendung und auch erforderliche Backend-Dienste wie eine Datenbank, eine Suche und einen Anwendungscache.

Zusätzliche yml Dienst-Dateien können durch Hinzufügen von -f <filename> geladen werden.

Schritt 2: Umgebungsvariablen einrichten[Bearbeiten | Quelltext bearbeiten]

Erstellen Sie Ihre .env aus der Vorlagendatei .env.sample.

Beispiel:

DATADIR=/data/bluespice
VERSION=5.1.1
EDITION=free
BACKUP_HOUR=04

WIKI_NAME=BlueSpice
WIKI_LANG=en
WIKI_PASSWORDSENDER=no-reply@wiki.company.local
WIKI_EMERGENCYCONTACT=no-reply@wiki.company.local
WIKI_HOST=wiki.company.local
WIKI_PORT=443
WIKI_PROTOCOL=https
WIKI_BASE_PATH=

DB_USER=benutzername_eintragen_oder_verwenden
DB_PASS=PASSWORT_EINTRAGEN_ODER_VERWENDEN
DB_ROOT_USER=root
DB_ROOT_PASS=$DB_PASS
DB_HOST=database
DB_NAME=bluespice
DB_PREFIX=

SMTP_HOST=mail.company.local
SMTP_PORT=25
SMTP_USER=...
SMTP_PASS=...
SMTP_ID_HOST=...

LETSENCRYPT=false
Verschiedene Editionen

Zum Bereitstellen der pro- oder farm-Edition benötigen Sie Anmeldeinformationen für das private Register docker.bluespice.com.
Bitte melden Sie sich an, indem Sie docker login docker.bluespice.com ausführen.

Schritt 3: Stack starten[Bearbeiten | Quelltext bearbeiten]

Erstinstallation

Wenn Sie den Stapel zum ersten Mal starten, führt der Container wiki-task die Installation automatisch durch. Es kann einige Minuten dauern, bis der Vorgang die Datenbank eingerichtet und abgeschlossen hat. Sobald er abgeschlossen ist, finden Sie das Passwort für den Standardbenutzer Admin in $DATADIR/wiki/initialAdminPassword.

Verwenden Sie bluespice-deploy up -d, um den Stack zu starten, sobald die .env-Datei und die „Datenverzeichnisse“ bereit sind. Sobald alle Container als „bereit“ angezeigt werden, können Sie in Ihrem bevorzugten Webbrowser zu $WIKI_PROTOCOL://$WIKI_HOST:$WIKI_PORT (z. B. https://wiki.company.local) navigieren und mit der Verwendung der Anwendung beginnen.

Zusätzliche Optionen[Bearbeiten | Quelltext bearbeiten]

SSL-Zertifikate[Bearbeiten | Quelltext bearbeiten]

Um Let’s Encrypt-Zertifikate zu verwenden, fügen Sie einfach docker-compose.proxy-letsencrypt.yml in Ihre bluespice-deploy-Datei ein.

Selbstsignierte Zertifikate

Um selbstsignierte Zertifikate zu verwenden, geben Sie bitte <bluespice-wiki.com>.crt und <bluespice-wiki.com>.key mit dem genauen Namen der URL Ihres Wikis in ${DATADIR}/proxy/certs ein

Dienst auf Betriebssystemebene[Bearbeiten | Quelltext bearbeiten]

Zusätzliche Dienste hinzufügen

Erweitern Sie den Parameter ExecStart in /etc/systemd/system/bluespice.service Beispiel:

ExecStart=<WORKDIR>/bluespice-deploy -f docker-compose.proxy-letsencrypt.yml up -f -d --remove-orphans

Benutzerdefinierte Wiki-Anwendungskonfiguration[Bearbeiten | Quelltext bearbeiten]

Nach der Erstinstallation enthält ${DATADIR}/wiki/bluespice/ zwei Dateien, mit denen Sie eine benutzerdefinierte Anwendungskonfiguration festlegen können, wie sie unter mediawiki.org zu finden ist:

  • pre-init-settings.php - Kann verwendet werden, um eine Konfiguration festzulegen, die vom Init-Prozess übernommen werden kann
  • post-init-settings.php - Kann verwendet werden, um Konfigurationen zu manipulieren, die vom Init-Prozess festgelegt wurden

Benutzerdefinierte Datenbank und Suche[Bearbeiten | Quelltext bearbeiten]

Wenn Sie einen MySQL/MariaDB- und einen OpenSearch-Server in Ihrem lokalen Netzwerk laufen haben, können Sie docker-compose.persistent-data-services.yml vollständig aus Ihrer bluespice-deploy-Datei entfernen. Stellen Sie sicher, dass Sie die richtigen Variablen in der .env-Datei festlegen.

Kerberos-Proxy[Bearbeiten | Quelltext bearbeiten]

Für die implizite Authentifizierung mit Kerberos muss ein zusätzlicher Proxy verwendet werden: bluespice/kerberos-proxy . Die Datei docker-compose.kerberos-proxy.yml enthält eine gemeinsame Konfiguration. Es kann anstelle der regulären Datei docker-compose.proxy.yml in bluespice-deploy verwendet werden.

Stellen Sie sicher, dass die Dateien

  • ${DATADIR}/kerberos/krb5.conf
  • ${DATADIR}/kerberos/kerberos.keytab

richtig eingerichtet sind.

Die Datei ${DATADIR}/wiki/bluespice/pre-init-settings.php kann dann verwendet werden, um „Extension:Auth_remoteuser“ einzurichten.

SAML-Authentifizierung[Bearbeiten | Quelltext bearbeiten]

Während der Erstinstallation wird automatisch ein Zertifikat zur Nachrichtensignierung erstellt. Es befindet sich in ${DATADIR}/wiki/simplesamlphp/certs/.

Um einen Remote-IDP zu konfigurieren, muss man die IdP-Metadaten-XML in eine Datei namens ${DATADIR}/wiki/simplesamlphp/simplesamlphp/saml_idp_metadata.xml kopieren. Die SP-Metadaten können dann über https://{{$WIKI_HOST}}/_sp/module.php/saml/sp/metadata.php/default-sp abgerufen werden. Sie müssen im Remote-IdP konfiguriert werden.

Authentifizierung testen

Sie können die Authentifizierung direkt in der SimpleSAMLphp-Anwendung testen. Navigieren Sie dazu zu https://{{$WIKI_HOST}}/_sp/module.php/admin und melden Sie sich mit admin und dem INTERNAL_SIMPLESAMLPHP_ADMIN_PASS an, der sich in ${DATADIR}/wiki/.wikienv befindet

Als nächstes müssen die Erweiterungen „PluggableAuth“ und „SimpleSAMLphp“ im Wiki aktiviert werden. Fügen Sie dazu in ${DATADIR}/wiki/bluespice/post-init-settings.php Folgendes hinzu:

wfLoadExtensions( [
'PluggableAuth',
'SimpleSAMLphp'
] );
Konfigurationsverwaltung mit ausgewählter Funktion "Authentifizierung"
Authentifizierungs-Einstellungen

Führen Sie folgenden Befehl aus, um die Installation abzuschließen.

./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick

Danach kann die Konfiguration des Authentifizierungs-Plugins in Spezial:BlueSpiceConfigManager unter „Authentifizierung“ angewendet werden.

OpenID Connect-Authentifizierung[Bearbeiten | Quelltext bearbeiten]

Die Erweiterungen „PluggableAuth“ und „OpenIDConnect“ müssen im Wiki aktiviert sein. Fügen Sie dazu

wfLoadExtensions( [
'PluggableAuth',
'OpenIDConnect'
] );

zur Datei ${DATADIR}/wiki/bluespice/post-init-settings.php hinzu. Führen Sie folgenden Befehl aus, um die Installation abzuschließen.

./bluespice-deploy exec wiki-task /app/bluespice/w/maintenance/update.php --quick

Anschließend kann die Konfiguration des Authentifizierungs-Plugins in der Konfigurationsverwaltung unter „Authentifizierung“ angewendet werden.


PDF-Ausschluss - Start

Feedback zur Dokumentation ist im Community-Forum möglich.

PDF-Ausschluss - Ende