Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 6: | Zeile 6: | ||
sudo systemctl enable mongod | sudo systemctl enable mongod | ||
==php-mongodb installieren== | ==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: | 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 apt install php-devel |
Aktuelle Version vom 10. Juli 2024, 10:44 Uhr
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.
