Upgrade von BlueSpice 3 auf BlueSpice 4


Systemanforderungen

Hinweis:Möglicherweise müssen Sie externe Repos hinzufügen, um die richtige PHP auf Ihrem Server zu erhalten! Bitte überprüfen Sie ihren Paketmanager auf die verfügbaren PHP-Versionen auf Ihrem System.

Backup erstellen

Erstellen Sie zuerst einen temporären Migrationsordner und kopieren Sie alle nötigen Daten.

mkdir /tmp/migration
cd /tmp/migration
wikifolder=/path/to/wikifolder
cp -r $wikifolder/images .
cp -r $wikifolder/extensions/BlueSpiceFoundation/config .
cp -r $wikifolder/LocalSettings.* .
#check for for locals in settings.d
find $wikifolder/settings.d/ -iname '*.local.php' -exec cp --parent {} /tmp/migration \;

Suchen Sie zusätzlich nach spezialisierten php Dateien in settings.d (normalerweise 090- oder 099- ).

Upgrade Schritt 1

Dieser Schritt muss vor dem Upgrade Schritt 2 durchgeführt werden.

Achtung!BlueSpice 4.x kann Wikiseiten und Dateien, die von gelöschten Benutzern erstellt wurden, nicht verarbeiten. Um Datenverlust zu vermeiden, führen Sie alle Upgrade-Schritte durch!

Erstellen eines "Ersatzbenutzers" for gelöschte Benutzer

Erstellen Sie in BlueSpice 3.x einen Ersatzbenutzer mit irgendeinem Passwort:

php maintenance/createAndPromote.php --force DeletedUser someR4ndomPass
Hinweis:Eventuell müssen Sie Authentifizierungs-Plugins wie LDAP-Stack, SAML oder OpenIDConnect-Erweiterungen vorübergehend deaktivieren.



Rufen Sie die user_id des Ersatzbenutzers ab, indem Sie folgenden Befehl in der Datenbank ausführen:

SELECT user_id FROM user WHERE user_name = "DeletedUser";

Sql Dump

Erstellen Sie Ihr Daten-Backup:

mysqldump -u root -p bluespice > migrationdump.sql

Optionale Migrationsdateien

Wenn eine der folgenden Funktionen auf Ihre Installation zutrifft, prüfen Sie, ob Migrationsschritte erforderlich sind. Fügen Sie in diesem Fall alles zu Ihrer tar-Datei hinzu und senden Sie diese an den neuen Server.

Beispiele für Dateien, die Sie möglicherweise berücksichtigen müssen:

  • ssl-certs
  • apache.conf
  • ldapprovider.json
  • kerberos files (krb5.conf/keyfile)

Migration in das neue Wiki

Grep LocalSettings.php für wgDB :

grep wgDB LocalSettings.*
LocalSettings.local.php:$wgDBserver = "Your-IP";
LocalSettings.local.php:$wgDBname = "Your-datbase-name";
LocalSettings.local.php:$wgDBuser = "Your-database-user";
LocalSettings.local.php:$wgDBpassword = "Your-password";


erstellen Sie die Datenbank und DBuser mit DBpassword. Gewähren Sie DBuser in mysql alle Rechte auf der Datenbank.

Migrieren Sie die Daten:

mysql -u root -p bluespice < migration.sql 
cp -r images $wikifolder
cp -r extensions $wikifolder
cp -r LocalSettings.php $wikifolder
setWikiPerm $wikifolder

LocalSettings.php modifzieren

Ersetzen Sie:

$wgLogo = "$wgResourceBasePath/resources/assets/wiki.png";

mit:

$wgLogos = [ '1x' => "$wgResourceBasePath/resources/assets/wiki.png" ];
  • Überprüfen Sie weitere LocalSettings.* Dateien auf Anpassungen aus der alten BlueSpice Installation.
  • Vergleichen Sie die migrierte settings.d/*.local.php mit der neuen settings.d/*.php und überprüfen Sie diese auf individuelle (wahrscheinlich veraltete) Konfigurationen. Verfahren Sie ebenso mit 09*-Customer.php.
  • Kopieren Sie nötige Einstellungen zu $wikifolder/settings.d/ .

Upgrade Schritt 2

Weisen Sie alle Seiten und Dateien ohne gültigen Bearbeitungs-Benutzer Ihrem neu erstellten Ersatzbenutzer zu:

cd $wikifolder
 php extensions/BlueSpiceFoundation/maintenance/PrepareActorMigration.php --unknownUserId=<user-id-from-step I. > --unknownUserName=DeletedUser

Optional

  • Kopieren Sie die folgenden Dateien (falls in Ihrem Fall zutreffend): apache.conf, krb5.conf, Kerberos-key, ldapprovider.json
  • Fügen Sie dem VirtualHost in Apache.conf nach den rewrite Regeln folgendes hinzu:
AllowEncodedSlashes NoDecode

Letzte Schritte

Führen Sie folgende Maintenance-Skripte aus:

cd $wikifolder
php maintenance/update.php --quick
php extensions/BlueSpiceExtendedSearch/maintenance/initBackends.php --quick
php extensions/BlueSpiceExtendedSearch/maintenance/rebuildIndex.php --quick

screen 
    while  [ "$(php maintenance/showJobs.php)" != "0" ]; do php maintenance/runJobs.php --maxjobs 100; done

Der letzte Schritt wird etwas dauern.

Bekannte mögliche Probleme nach dem Upgrade

Probleme mit VisualEditor

Fügen Sie zu includes/libs/http/MultiHttpClient.php nach Zeile 327 folgende Angaben hinzu:

curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0 );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0 );



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