Zuletzt bearbeitet vor 4 Monaten
von Margit Link-Rodrigue

Servereinrichtung für CollabPads

CollabPads ist ab BlueSpice 4.5 enthalten.

Die gleichzeitige Bearbeitung von Seiten durch mehrere Benutzer erfordert einige Servervorbereitungen. Hierfür ist es nötig, MongoDB und den CollabPadsBackendeService zu installieren.

MongoDB installieren[Bearbeiten | Quelltext bearbeiten]

Installieren Sie MongoDB gemäß der Anleitung für Ihre Linux-Distribution. Anschließend kann sie wie folgt gestartet und für den Autostart konfiguriert werden:

sudo systemctl start mongod
sudo systemctl enable mongod

php-mongodb installieren[Bearbeiten | Quelltext bearbeiten]

Der CollabPadsBackendService benötigt eine spezielle PHP-Erweiterung, um mit dem MongoDB-Server kommunizieren zu können. Diese Erweiterung ist über PECL verfügbar. Wenn Sie PECL noch nicht installiert haben, können Sie dies beispielsweise so tun:

sudo apt install php-devel
sudo pecl install mongodb

Überprüfen Sie den Pfad Ihrer PHP-Version, um die richtige INI-Datei zu finden. Die Erweiterung kann dann beispielsweise aktiviert werden über:

echo "extension=mongodb.so" >> /etc/php/8.2/cli/php.ini

CollabPadsBackendService installieren[Bearbeiten | Quelltext bearbeiten]

Der CollabPadsBackendService ist eine vorgefertigte PHP-Anwendung, die von buildservice.bluespice.com heruntergeladen werden kann. Sie können sie wie folgt herunterladen:

cd /opt
wget https://buildservice.bluespice.com/webservices/4.5.x/CollabPadsBackend.tar.gz
tar xzf CollabPadsBackend.tar.gz

Um den Dienst zu konfigurieren, muss zunächst eine config.php-Datei erstellt werden. Eine Beispieldatei ist enthalten:

cd CollabPadsBackend
cp config.example.php config.php
vim config.php

Passen Sie config.php an Ihre Umgebung an. Beispiel:

<?php

return [
	'server-id' => 'mediawiki-collabpads-backend',
	'ping-interval' => 25000,
	'ping-timeout' => 5000,
	'port' => 8099,                //The port you wish to use
	'request-ip' => '127.0.0.1',  //The ip you want to open your service  
	'baseurl' => 'https://yourwikiurl.com', 
	'db-type' => 'mongo',
	'db-host' => '127.0.0.1',   // your MongoDB-Host
	'db-port' => 27017,         // your MongoDB-Port
	'db-name' => 'collabpads',  // your MongoDB-DB-Name
	'db-user' => '',           // MongoDB-Username 
	'db-password' => '',       // MongoDB-Password
	'log-level' => 'INFO',
	'http-client-options' => []
];

Als nächstes sollten Sie einen geeigneten Servicedeskriptor zum Ausführen der Anwendung erstellen:

sudo vim /etc/systemd/system/collabpad.service

Beispiel des collabpad.service:

[Unit]
Description = BlueSpice-CollabpadsBackend
[Service]
Type = simple
User = www-data
ExecStart =/usr/bin/php /opt/CollabpadsBackend/bin/server.php
StandardOutput = file:/var/log/apache2/collabpad.log
[Install]
WantedBy = default.target

Starten und konfigurieren Sie den Dienst für den automatischen Start wie folgt:

sudo systemctl enable collabpad.service
sudo systemctl start collabpad.service

Apache konfigurieren[Bearbeiten | Quelltext bearbeiten]

Der neue Dienst muss für den Client erreichbar sein. Standardmäßig versucht die Wiki-Anwendung, sich über das WebSocket-Protokoll im Unterpfad /_collabpads relativ zur Basis-URL der Wiki-Anwendung ($wgServer) mit ihm zu verbinden.

Um dies zu erreichen, müssen Sie eine entsprechende Regel zum „Umschreiben der URL“ (URL rewrite rule) hinzufügen. Für den Apache-Webserver sieht das folgendermaßen aus:

rewriteCond %{REQUEST_URI}  ^/_collabpads          [NC]
RewriteCond %{QUERY_STRING} transport=websocket    [NC]
RewriteRule /(.*)           ws://127.0.0.1:8099/$1 [P,L]

Der Webserver muss neu gestartet werden, um die Änderungen zu laden:

systemctl restart apache2

Sie sollten nun den Bearbeitungsmodus Gemeinsam bearbeiten verwenden können.

Auswahlmenü für die Bearbeiten-Schaltfläche mit Menüpunkt 'Gemeinsam bearbeiten'
Gemeinsam bearbeiten



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