Zuletzt bearbeitet vor 2 Jahren
von Margit Link-Rodrigue

Migration von MediaWiki auf BlueSpice

Kompatibilitätscheck[Bearbeiten | Quelltext bearbeiten]

Vor der Migration ist es wichtig, die Kompatibilität Ihrer derzeitigen MediaWiki-Installation und der gewünschten Version von BlueSpice abzuklären:

  • BlueSpice Version 3.x basiert auf MediaWiki 1.31.x
  • BlueSpice Version 4.x basiert auf MediaWiki 1.35.x (Es gibt derzeit noch keinen Release von BlueSpice 4 zum Download)

Backup[Bearbeiten | Quelltext bearbeiten]

Erstellen Sie ein vollständiges Backup Ihrer derzeitigen MediaWiki-Installation. Die Befehle können je nach Betriebssystem von den folgenden Angaben abweichen.

  1. Erstellen Sie ein Verzeichnis, in dem das Backup gespeichert wird:
    mkdir -p /opt/mediawiki-migration-backup/{db,web}
  2. Erstellen Sie eine Dump-Datei der Datenbank:
    mysqldump -u DB_USER_OR_ROOT -p MEDIAWIKI_DATABASE_NAME > /opt/mediawiki-migration-backup/db/database.sql
  3. Kopieren Sie alles aus dem Web-Rootverzeichnis in das Backup-Verzeichnis:
    cp -Rvf /PATH/TO/MEDIAWIKI/FOLDER/* /opt/mediawiki-migration-backup/web/

    Wir werden dieses Backup später auch im Migrationsprozess benutzen.

Vorbereitung der Migration[Bearbeiten | Quelltext bearbeiten]

Sie können ein separates Benutzerkonto und eine separate Datenbank für BlueSpice erstellen. Dieser Schritt ist optional, aber empfohlen. Die folgenden Schritte basieren auf einem solchen separat erstellten Benutzer und einer separat erstellten Datenbank. Wenn Sie sich dafür entscheiden, keinen separaten Benutzer und keine separate Datenbank zu erstellen, dann ersetzen Sie die folgenden Befehle entsprechend.

  1. Erstellen Sie einen MySQL/MariaDB Benutzer über MySQL CLI:
    CREATE USER 'bluespice'@'localhost' IDENFITIED BY 'PleaseChooseAComplexPassword';
    
  2. Erstellen Sie eine Datenbank für BlueSpice über MySQL CLI:
    CREATE DATABASE bluespice;
    
  3. Gewähren Sie die dem bluespice Benutzer die nötigen Berechtigungen für die bluespice Datenbank über MySQL CLI:
    GRANT ALL PRIVILEGES ON bluespice.* TO 'bluespice'@'localhost';
    FLUSH PRIVILEGES;
    
    Jetzt haben wir eine leere SQL Datenbank und können mit dem Importieren beginnen.

Daten importieren[Bearbeiten | Quelltext bearbeiten]

  1. Importieren Sie den SQL-Dump aus dem vorher erstellten Backup:
    mysql -u bluespice -p bluespice < /opt/mediawiki-migration-backup/db/database.sql
    
    Geben Sie nach diesem Befehl das Passwort ein, das Sie für den bluespice Datenbankbenutzer gewählt haben.
  2. Bereiningen Sie das alte Installationsverzeichnis und erstellen Sie ein neues:
    rm -Rf /PATH/TO/MEDIAWIKI/FOLDER/
    
    and
    mkdir -p /PATH/TO/MEDIAWIKI/FOLDER/
    
  3. Extrahieren Sie das BlueSpice Installationspaket und legen Sie es in das Verzeichnis /PATH/TO/MEDIAWIKI/FOLDER/ :
    cd /PATH/TO/MEDIAWIKI/FOLDER/
    
  4. Kopieren Sie das Verzeichnis images aus dem alten Backup zum neuen Verzeichnis /PATH/TO/MEDIAWIKI/FOLDER/ :
    cp -Rf /opt/mediawiki-migration-backup/images
    
  5. Legen Sie die korrekten Berechtigungen (je nach Betriebssystem) zum Verzeichnis /PATH/TO/MEDIAWIKI/FOLDER/ fest.

Konfigurationseinstellungen[Bearbeiten | Quelltext bearbeiten]

  1. Erstellen Sie im Verzeichnis /PATH/TO/MEDIAWIKI/FOLDER/ eine neue Datei LocalSettings.php und kopieren Sie folgenden Inhalt in diese Datei:
    "$wgResourceBasePath/resources/assets/wiki.png" ];
    
    ## in the following, UPO means: this setting also exists as a user preference option
    
    $wgEnableEmail = true;
    $wgEnableUserEmail = true; # UPO
    
    $wgEmergencyContact = "nomail@localhost.localdomain";
    $wgPasswordSender = "nomail@localhost.localdomain";
    
    $wgEnotifUserTalk = false; # UPO
    $wgEnotifWatchlist = false; # UPO
    $wgEmailAuthentication = true;
    
    ## Database settings
    $wgDBtype = "mysql";
    $wgDBserver = "YOUR_DATABASE_SERVER";
    $wgDBname = "bluespice";
    $wgDBuser = "bluespice";
    $wgDBpassword = "PleaseChooseAComplexPassword";
    
    # MySQL specific settings
    $wgDBprefix = "";
    
    # MySQL table options to use during installation or update
    $wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary";
    
    # Shared database table
    # This has no effect unless $wgSharedDB is also set.
    $wgSharedTables[] = "actor";
    
    ## Shared memory settings
    $wgMainCacheType = CACHE_NONE;
    $wgMemCachedServers = [];
    
    ## To enable image uploads, make sure the 'images' directory
    ## is writable, then set this to true:
    $wgEnableUploads = false;
    $wgUseImageMagick = true;
    $wgImageMagickConvertCommand = "/usr/bin/convert";
    
    # InstantCommons allows wiki to use images from https://commons.wikimedia.org
    $wgUseInstantCommons = false;
    
    # Periodically send a pingback to https://www.mediawiki.org/ with basic data
    # about this MediaWiki instance. The Wikimedia Foundation shares this data
    # with MediaWiki developers to help guide future development efforts.
    $wgPingback = false;
    
    ## If you use ImageMagick (or any other shell command) on a
    ## Linux server, this will need to be set to the name of an
    ## available UTF-8 locale. This should ideally be set to an English
    ## language locale so that the behaviour of C library functions will
    ## be consistent with typical installations. Use $wgLanguageCode to
    ## localise the wiki.
    $wgShellLocale = "C.UTF-8";
    
    ## Set $wgCacheDirectory to a writable directory on the web server
    ## to make your wiki go slightly faster. The directory should not
    ## be publicly accessible from the web.
    #$wgCacheDirectory = "$IP/cache";
    
    # Site language code, should be one of the list in ./languages/data/Names.php
    $wgLanguageCode = "en";
    
    $wgSecretKey = "68a265061a4101d0d3dee2a06eeb734abaa6710a7dbe103838f2a26a50fc7835";
    
    # Changing this will log out all existing sessions.
    $wgAuthenticationTokenVersion = "1";
    
    # Site upgrade key. Must be set to a string (default provided) to turn on the
    # web installer while LocalSettings.php is in place
    $wgUpgradeKey = "8775d57b99d672b8";
    
    ## For attaching licensing metadata to pages, and displaying an
    ## appropriate copyright notice / icon. GNU Free Documentation
    ## License and Creative Commons licenses are supported so far.
    $wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
    $wgRightsUrl = "";
    $wgRightsText = "";
    $wgRightsIcon = "";
    
    # Path to the GNU diff3 utility. Used for conflict resolution.
    $wgDiff3 = "/usr/bin/diff3";
    
    ## Default skin: you can change the default skin. Use the internal symbolic
    ## names, ie 'vector', 'monobook':
    $wgDefaultSkin = "bluespicediscovery";
    
    # End of automatically generated settings.
    # Add more configuration options below.
    
    
    # This is the main settings file for all BlueSpice extensions and settings
    # It will include all files in "$IP/settings.d/" directory
    require_once "$IP/LocalSettings.BlueSpice.php";
    
    
    $wgUserMergeProtectedGroups = array();
    $wgUserMergeUnmergeable = array();
    $wgMetaNamespace = 'Project';
    $bsgGroupRoles['*']['reader'] = false;
    
    # Convenience for debugging
    # $wgShowSQLErrors = true;
    # $wgDebugDumpSql  = true;
    # $wgShowExceptionDetails = true;
    # $wgShowDBErrorBacktrace = true;
    
  2. Bearbeiten Sie diese LocalSettings.php und passen Sie die Werte Ihrer Installation entsprechend an. Diese aktuelle LocalSettings.php kann sich von Ihrer bisherigen MediaWiki-Installation unterscheiden, da BlueSpice ein separates Verzeichnis für Konfigurationsanpassungen benutzt (settings.d).

Migration des Systems[Bearbeiten | Quelltext bearbeiten]

  1. Führen Sie folgendes Skript aus, um die Migration zu starten:
    php /PATH/TO/MEDIAWIKI/FOLDER/maintenance/update.php --quick
    
    BlueSpice sollte nun erreichbar sein.
  2. Führen Sie zum Abschluss noch folgende Skripte aus:
    php /PATH/TO/MEDIAWIKI/FOLDER/maintenance/rebuildall.php 
    # Schließlich für den Suchindex (ElasticSearch 6.x und ingest-attachment Plugins müssen installiert sein) 
    php /PATH/TO/MEDIAWIKI/FOLDER/extensions/BlueSpiceExtendedSearch/maintenance/initBackends.php --quick
    php /PATH/TO/MEDIAWIKI/FOLDER/extensions/BlueSpiceExtendedSearch/maintenance/rebuildIndex.php --quick
    php /PATH/TO/MEDIAWIKI/FOLDER/maintenance/runJobs.php --memory-limit=max
    

Die Migration ist komplett und BlueSpice ist nun einsatzbereit!

Sie können Ihre alten Anmeldedaten zum Login benutzen.


Fragen? Besuchen Sie unser BlueSpice Hilfeforum auf sourceforge.net.





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

Diskussionen