- 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 Migrationsleitfaden.
Ü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
- „All-in-one“ (mit und ohne Let’s Encrypt)
- Benutzerdefinierte Datenbank und Suchdienst
- Benutzerdefinierter Load Balancer / Proxy
Schritt 1: Den Stack abrufen[Bearbeiten | Quelltext bearbeiten]
Von https://bluespice.com/de/download/ die „docker-compose“-Dateien abrufen
wget https://bluespice.com/filebase/docker-deployment-script \
&& unzip docker-deployment-script \
&& cd docker-deployment-script/compose
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, registriert den Dienst auch beim Betriebssystem |
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 automatischer Erneuerungsdienst für „Let’s Encrypt“-Zertifikate |
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.
Beispiel:
bluespice-deploy \
-f docker-compose.proxy-letsencrypt.yml \
up -d
Dadurch wird der Stapel mit „Let’s Encrypt“-Zertifikaten gestartet. Weitere Einzelheiten finden Sie im Abschnitt SSL-Zertifikate.
Schritt 2: Umgebungsvariablen einrichten[Bearbeiten | Quelltext bearbeiten]
Erstellen Sie die Datei .env
entsprechend der vorhandenen oder zukünftigen Installation.
Beispiel:
DATADIR=/data/bluespice
VERSION=4.5
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.
Schritt 4: Stack starten[Bearbeiten | Quelltext bearbeiten]
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/adminPasssword
.
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.
<bluespice-wiki.com>.crt
und <bluespice-wiki.com>.key
mit dem genauen Namen der URL Ihres Wikis in ${VOLUMES_DIR}/nginx/certs
ein
Wenn Sie SSL nach der ersten Erstellung des Wikis aktivieren, ändern Sie bitte $wgServer
in ${VOLUMES_DIR}/bluespice-data/LocalSettings.php
in https://bluespice-wiki.com
verknüpfen Sie Ihr Zertifikat auch mit dem Bluespice-Container in Ihrer docker-compose.yml
-Datei:
- ${VOLUMES_DIR}/nginx/certs/<FQDNofyourWiki>.crt:/usr/local/share/ca-certificates/<FQDNofyourWiki>.crt:ro
Bitte starten Sie Container nach dem Ändern/Hinzufügen von SSL-Dateien neu.
Dienst auf Betriebssystemebene[Bearbeiten | Quelltext bearbeiten]
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 übernommen werden kann Prozesspost-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.
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'
] );
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.