Es gibt verschiedene Gründe, eine Migration zwischen zwei DotNetNuke-Umgebungen durchzuführen. Oftmals möchte man ein Portal erst auf einer Test-/Staging-Umgebung erstellen und dann auf die Produktivumgebung portieren. Zwar bietet DotNetNuke keinen BuiltIn-Staging-Support, aber es gibt eine Reihe an Techniken, um diese Aufgabe zu bewerkstelligen.
Die wohl am häufigsten genutzte ist die Migration der DNN Datenbank via Backup/Restore. Im DNN Blog findet sich dafür ein HowTo, welches die erforderlichen Schritte geeignet beschreibt. Nichtsdestotrotz gibt es insbesondere in einer Webfarm noch einige zusätzliche Punkte zu beachten, auf die ich nachfolgend genauer eingehen möchte.
MachineKey in web.config überprüfen/anpassen
Folgender Eintrag muss zwingend auf allen beteilgten Webservern (Quelle und Ziel) identisch sein:
<system.web>
.….<machineKey validationKey="…" decryptionKey="…" decryption="3DES" validation="SHA1" />
</system.web>
Dieser Eintrag wird für die Verschlüsselung der Passwörter in der Datenbank angewendet. Wenn die Einträge in Quelle und Ziel unterschiedlich sind, können sich die Nutzer der Quellumgebung in der Zielumgebung nicht mit ihren Passwörtern anmelden.
Lizenz erneut aktivieren
Nach der Wiederherstellung der Datenbank erhält man u.U. folgende Meldung im DNN:
You are using an unlicensed and unsupported version of DotNetNuke Professional Edition. Please contact sales@dnncorp.com for information on how to obtain a valid license.
Dies liegt daran, dass die Lizenzierungsinformationen ebenfalls in der Datenbank gespeichert werden und DNN nun "denkt", wir wollten die Development-Lizenz der Test-/Staging-Umgebung in der Produktivumgebung (bzw. in einer anderen Testumgebung) verwenden. Um das Problem zu beheben, muss man sich als host anmelden und zu -> System -> Professional Features -> Lizenz aktivieren navigieren:
Nachdem zuerst alle vorhandenen Lizenzen (aus der Quellumgebung) per Klick auf "Delete"gelöscht wurden, kann man nun für jeden Webserver der Zielumgebung via Klick auf "Add License" wieder eine Lizenz hinzufügen (Achtung: Der Webserver muss dafür laufen):
Mittels Klick auf Automatic Activation wird die Aktion abgeschlossen.
DNN Portaleinstellungen anpassen
Nach der Wiederherstellung der Datenbank müssen in der Regel noch einige Systemeinstellung entsprechend der Zielumgebung angepasst werden. Folgende Einstellungen müssen oftmals (zurück-) gesetzt werden:
- System Details
- Url des Systemverwalters
- E-Mail des Systemverwalters
- SMTP-Server-Einstellungen
- Adresse des SMTP-Servers
Zu diesem Zweck navigiert man zu -> System -> Systemeinstellungen und nimmt die Einstellungen wie gewünscht vor:
Farm Server aktualisieren
Des Weiteren sind die Webserver der Farm zu aktualisieren. Dafür navigiert man zu -> System -> Professional Features -> Manage Web Servers und geht wie folgt vor:
- Webserver der Quellumgebung löschen
- für Webserver der Zielumgebung Enabled=true setzen und ggf. Url anpassen
Nun sollte der Verwendung des Portals auf der Zielumgebung nichts mehr im Wege stehen.