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
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
Erweiterung php-mongodb installieren
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
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
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.