Zuletzt bearbeitet vor 5 Monaten
von Margit Link-Rodrigue

Setup:Installationsanleitung/Kompendium/Servereinrichtung für CollabPads: Unterschied zwischen den Versionen

Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
{{BSVersion|bsvFrom=4.5|bsvFeature=CollabPads}}Die gleichzeitige Bearbeitung von Seiten durch mehrere Benutzer erfordert einige Servervorbereitungen. Hierfür ist es nötig, MongoDB zu installieren.
{{BSVersion|bsvFrom=4.5|bsvFeature=CollabPads}}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 ==
==MongoDB installieren==
Installieren Sie MongoDB [https://www.mongodb.com/docs/manual/administration/install-on-linux/ gemäß der Anleitung für Ihre Linux-Distribution.]
Installieren Sie MongoDB [https://www.mongodb.com/docs/manual/administration/install-on-linux/ 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 start mongod
  sudo systemctl enable mongod
  sudo systemctl enable mongod


== php-mongodb installieren ==
==php-mongodb installieren==
Prüfen Sie den Pfad Ihrer PHP Version, bevor Sie folgende Check the path of your PHP version before you run:
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
  sudo pecl install mongodb
  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
  echo "extension=mongodb.so" >> /etc/php/8.2/cli/php.ini


== CollabPadsBackendService installieren ==
==CollabPadsBackendService installieren ==
Der CollabPadsBackendService ist eine vorgefertigte PHP-Anwendung, die von [https://buildservice.bluespice.com/webservices/4.5.x/CollabPadsBackend.tar.gz buildservice.bluespice.com] heruntergeladen werden kann. Sie können sie wie folgt herunterladen:
  cd /opt
  cd /opt
  wget <nowiki>https://buildservice.bluespice.com/webservices/4.5.x/CollabPadsBackend.tar.gz</nowiki>
  wget <nowiki>https://buildservice.bluespice.com/webservices/4.5.x/CollabPadsBackend.tar.gz</nowiki>
  tar xzf CollabPadsBackend.tar.gz
  tar xzf CollabPadsBackend.tar.gz
Um den Dienst zu konfigurieren, muss zunächst eine <code>config.php</code>-Datei erstellt werden. Eine Beispieldatei ist enthalten:
  cd CollabPadsBackend
  cd CollabPadsBackend
  cp config.example.php config.php
  cp config.example.php config.php
  vim config.php
  vim config.php
Passen Sie die ''config.php'' an:
Passen Sie <code>config.php</code> an Ihre Umgebung an. Beispiel:
  <?php
  <?php
   
   
Zeile 39: Zeile 43:
  'http-client-options' => []
  'http-client-options' => []
  ];
  ];
 
Als nächstes sollten Sie einen geeigneten Servicedeskriptor zum Ausführen der Anwendung erstellen:
  sudo vim /etc/systemd/system/collabpad.service
  sudo vim /etc/systemd/system/collabpad.service
collabpad.service:
Beispiel des <code>collabpad.service</code>:
  [Unit]
  [Unit]
  Description = BlueSpice-CollabpadsBackend
  Description = BlueSpice-CollabpadsBackend
Zeile 51: Zeile 55:
  [Install]
  [Install]
  WantedBy = default.target
  WantedBy = default.target
 
Starten und konfigurieren Sie den Dienst für den automatischen Start wie folgt:
  sudo systemctl enable collabpad.service
  sudo systemctl enable collabpad.service
  sudo systemctl start collabpad.service
  sudo systemctl start collabpad.service


== Apache konfigurieren ==
==Apache konfigurieren==
Fügen Sie folgende Zeilen zu Ihren ''rewrite'' Regeln hinzu:
Der neue Dienst muss für den Client erreichbar sein. Standardmäßig versucht die Wiki-Anwendung, sich über das WebSocket-Protokoll im Unterpfad <code>/_collabpads</code> relativ zur Basis-URL der Wiki-Anwendung (<code>$wgServer</code>) mit ihm zu verbinden.
  RewriteCond %{REQUEST_URI}  ^/_collabpads          [NC]
 
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]
  RewriteCond %{QUERY_STRING} transport=websocket    [NC]
  RewriteRule /(.*)          ws://127.0.0.1:8099/$1 [P,L]
  RewriteRule /(.*)          ws://127.0.0.1:8099/$1 [P,L]
Starten Sie ''apache2'' neu:
Der Webserver muss neu gestartet werden, um die Änderungen zu laden:
  systemctl restart apache2
  systemctl restart apache2


Sie sollten nun den Bearbeitungsmodus ''Gemeinsam bearbeiten'' zur Auswahl haben.
Sie sollten nun den Bearbeitungsmodus ''Gemeinsam bearbeiten'' verwenden können.


[[Datei:CP edit together.png|alternativtext=Auswahlmenü für die Bearbeiten-Schaltfläche mit Menüpunkt 'Gemeinsam bearbeiten'|zentriert|mini|Gemeinsam bearbeiten]]
[[Datei:CP edit together.png|alternativtext=Auswahlmenü für die Bearbeiten-Schaltfläche mit Menüpunkt 'Gemeinsam bearbeiten'|zentriert|mini|Gemeinsam bearbeiten]]

Version vom 10. Juli 2024, 11:40 Uhr

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.