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
Erweiterung 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.