Setup:Installationsanleitung/Docker: Unterschied zwischen den Versionen

Keine Bearbeitungszusammenfassung
Markierung: Quelltext-Bearbeitung 2017
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen von 3 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__
__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 9:
#Benutzerdefinierter Load Balancer / Proxy
#Benutzerdefinierter Load Balancer / Proxy


===Schritt 1: Den Stack abrufen===
== Architektur ==
<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 die „docker-compose“-Dateien abrufen.
Von https://github.com/hallowelt/bluespice-deploy die „docker-compose“-Dateien abrufen.


Zeile 29: Zeile 33:
</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=warning|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 39:
|+
|+
! style="width:350px;" |Dateiname
! style="width:350px;" |Dateiname
!Typ
! style="" |Typ
!Pflichtfeld
! style="" |Pflichtfeld
!Kommentar
! style="" |Kommentar
|-
|-
| style="width:350px;" |<code>bluespice-deploy</code>
| style="width:350px;" |<code>bluespice-deploy</code>
|bash-script
| style="" |bash-script
|false
| style="" |false
|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>
| style="width:350px;" |<code>bluespice-prepare</code>
|bash-script
| style="" |bash-script
|false
| style="" |false
|Ordner und Berechtigungen vor dem ersten Start vorbereiten, registriert den Dienst auch beim Betriebssystem
| style="" |Ordner und Berechtigungen vor dem ersten Start vorbereiten, um den Dienst auch beim Betriebssystem zu registrieren.
|-
|-
| style="width:350px;" |<code>bluespice.service</code>
| style="width:350px;" |<code>bluespice.service</code>
|service-script
| style="" |service-script
|false
| style="" |false
|Richtige Handhabung der Container beim Neustart
| style="" |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="" |true
|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="" |false
|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="" |true
|PDF-Renderer/Cache/Formel/Diagramm-Dienst
| style="" |PDF-Renderer/Cache/Formel/Diagramm-Dienst
|-
|-
| 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="" |false, 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="" |false
|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="" |false
|Zusätzlicher Proxy für Kerberos-basierte Authentifizierung
| style="" |Zusätzlicher Proxy für Kerberos-basierte Authentifizierung
|}
|}


Zeile 89: Zeile 93:
Zusätzliche Dienste können durch Hinzufügen von <code>-f <filename> </code> geladen werden.
Zusätzliche Dienste können durch Hinzufügen von <code>-f <filename> </code> geladen werden.


Beispiel:<syntaxhighlight lang="text">
== Schritt 2: Umgebungsvariablen einrichten ==
bluespice-deploy \
      -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===
Erstellen Sie die Datei <code>.env</code> entsprechend der vorhandenen oder zukünftigen Installation.
Erstellen Sie die Datei <code>.env</code> entsprechend der vorhandenen oder zukünftigen Installation.


Beispiel:<syntaxhighlight lang="text">
Beispiel:<syntaxhighlight lang="text">
DATADIR=/data/bluespice  
DATADIR=/data/bluespice
VERSION=4.5
VERSION=5.1
EDITION=pro  
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


DB_USER=bluespice  
DB_USER=bluespice
DB_PASS=...  
DB_PASS=...
DB_HOST=database  
DB_HOST=database
DB_NAME=bluespice  
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>
</syntaxhighlight>


===Schritt 3: Datenverzeichnisse vorbereiten===
== Schritt 3: Datenverzeichnisse vorbereiten ==
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.
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.
{{Textbox|boxtype=note|header=Different editions|text=Das Beispiel zeigt <code>EDITION=pro</code>. Beachten Sie, dass Sie für <code>pro</code> und <code>farm</code> bei <code>docker.bluespice.com</code> angemeldet sein müssen.|icon=yes}}


===Schritt 4: Stack starten===
== Schritt 4: Stack starten ==
{{Textbox
{{Textbox
|boxtype=important
|boxtype=important
Zeile 135: Zeile 137:
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.{{Textbox
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
|boxtype=tip
|boxtype=tip
|header=Selbstsignierte Zertifikate
|header=Selbstsignierte Zertifikate
|text=Um selbstsignierte Zertifikate zu verwenden, geben Sie bitte <code><bluespice-wiki.com>.crt</code> und <code><bluespice-wiki.com>.key</code> mit dem genauen Namen der URL Ihres Wikis in <code>${VOLUMES_DIR}/nginx/certs</code> ein
|text=Um selbstsignierte Zertifikate zu verwenden, geben Sie bitte <code><bluespice-wiki.com>.crt</code> und <code><bluespice-wiki.com>.key</code> mit dem genauen Namen der URL Ihres Wikis in <code>${DATADIR}/proxy/certs</code> ein
|icon=yes
|icon=yes
}}
}}


Wenn Sie SSL nach der ersten Erstellung des Wikis aktivieren, ändern Sie bitte <code>$wgServer</code> in <code>${VOLUMES_DIR}/bluespice-data/LocalSettings.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>- ${VOLUMES_DIR}/nginx/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 166: Zeile 158:
}}
}}


====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 187: Zeile 179:
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 213: Zeile 204:
</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 16. Juni 2025, 12:05 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 die „docker-compose“-Dateien abrufen.

Beispiel:

 wget https://github.com/hallowelt/bluespice-deploy/archive/refs/heads/main.zip \
    && unzip main.zip \
    && cd bluespice-deploy-main/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 Pflichtfeld Kommentar
bluespice-deploy bash-script false Wrapper für den allgemeinen Start der benötigten Container
bluespice-prepare bash-script false Ordner und Berechtigungen vor dem ersten Start vorbereiten, um den Dienst auch beim Betriebssystem zu registrieren.
bluespice.service service-script false Richtige Handhabung der Container beim Neustart
docker-compose.main.yml yml true Hauptanwendungsdienste/ ausgeführt von bluespice-deploy
docker-compose.persistent-data-services.yml yml false Datenbank und Suche/ ausgeführt von bluespice-deploy
docker-compose.stateless-services.yml yml true PDF-Renderer/Cache/Formel/Diagramm-Dienst
docker-compose.proxy.yml yml false, aber empfohlen Proxy-Dienst
docker-compose.proxy-letsencrypt.yml yml false Zusätzlicher Service zur automatischen Verlängerung von „Let's Encrypt“-Zertifikaten
docker-compose.kerberos-proxy.yml yml false Zusätzlicher Proxy für Kerberos-basierte Authentifizierung

Der Einfachheit halber umschließt das Skript bluespice-deploy standardmäßig die ersten vier yml-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 -f <filename> geladen werden.

Schritt 2: Umgebungsvariablen einrichten[Bearbeiten | Quelltext bearbeiten]

Erstellen Sie die Datei .env entsprechend der vorhandenen oder zukünftigen Installation.

Beispiel:

DATADIR=/data/bluespice
VERSION=5.1
EDITION=pro
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

DB_USER=bluespice
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=...

Schritt 3: Datenverzeichnisse vorbereiten[Bearbeiten | Quelltext bearbeiten]

Ausführen Das Skript bluespice-prepare 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 root) ausführen, da er Berechtigungen für die neu erstellten Verzeichnisse festlegt.

Different editions

Das Beispiel zeigt EDITION=pro. Beachten Sie, dass Sie für pro und farm bei docker.bluespice.com angemeldet sein müssen.

Schritt 4: 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/adminPassword.

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