Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
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 == | ==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 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 | 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== | ||
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. | |||
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] | ||
Der Webserver muss neu gestartet werden, um die Änderungen zu laden: | |||
systemctl restart apache2 | systemctl restart apache2 | ||
Sie sollten nun den Bearbeitungsmodus ''Gemeinsam bearbeiten'' | 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]] |
Aktuelle Version vom 10. Juli 2024, 11: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[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.