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

Margit Link-Rodrigue (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Margit Link-Rodrigue (Diskussion | Beiträge)
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, 10: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

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

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.

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



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