Devolutions Server für Linux installieren
Devolutions Server ist für Linux mit Microsoft Kestrel als integriertem Webserver und Microsoft PowerShell 7 für die Installation über die Befehlszeile verfügbar. Das vorliegende Thema zeigt, wie Devolutions Server für Linux manuell mit Bash-Eingaben und PowerShell-Skripten installiert wird und wie darauf zugegriffen bzw. wie es entfernt wird.
Alternativ kann Devolutions Server automatisch mit den Skripten aus dem Devolutions GitHub ScriptLibrary Repository installiert werden.
Voraussetzungen installieren
Wenn Microsoft SQL Server noch nicht installiert ist, führen Sie die folgende Bash-Eingabe aus, wobei die Variable
MSSQL_SA_PASSWORDauf ein starkes Passwort geändert wird:source /etc/os-release curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/microsoft-prod.gpg curl -fsSL https://packages.microsoft.com/config/ubuntu/$VERSION_ID/mssql-server-2022.list | sudo tee /etc/apt/sources.list.d/mssql-server-2022.list sudo apt-get update sudo apt-get install -y mssql-server sudo MSSQL_SA_PASSWORD="mystrongpassword" MSSQL_PID="evaluation" /opt/mssql/bin/mssql-conf -n setup accept-eula sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true sudo systemctl restart mssql-serverMSSQL_PIDist in diesem Beispiel auf evaluation gesetzt, hier kann jedoch stattdessen ein Produktschlüssel eingegeben werden.
Microsoft unterstützt nur bestimmte SQL-Versionen. Ziehen Sie die Dokumentation von Microsoft zurate, um sicherzustellen, dass Ihre SQL-Version offiziell für Ihre Distribution unterstützt wird.
Führen Sie diese Bash-Eingabe aus, um PowerShell 7 zu installieren:
sudo apt-get update sudo apt-get install -y wget apt-transport-https software-properties-common source /etc/os-release wget -q https://packages.microsoft.com/config/ubuntu/$VERSION_ID/packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb sudo apt-get update sudo apt-get install -y powershell
Stellen Sie sicher, dass die Installation in einem Verzeichnis erfolgt, das für den aktuellen Benutzer zugänglich ist, da die Befehlszeile wget ein .deb-Paket in dieses Verzeichnis herunterlädt.
Wählen Sie, ob das Devolutions.PowerShell-Modul für den aktuellen Benutzer oder für alle Benutzer installiert werden soll.
Für den aktuellen Benutzer (Speicherort:
/.local/share/powershell/Modules) führen Sie aus:Für alle Benutzer (Speicherort:
/opt/microsoft/powershell/7/Modules) führen Sie aus:
Wahrscheinlich erscheint eine Warnung, dass die Installation aus einem nicht vertrauenswürdigen Repository stammt. Das Modul wird in der PowerShell Gallery gehostet, dem offiziellen, von Microsoft verwalteten Speicherort für PowerShell-Module. Um diese Warnung künftig zu vermeiden, führen Sie aus:
Obwohl nicht erforderlich, wird die Bereitstellung separater Benutzer und Gruppen für Devolutions Server dringend empfohlen. Hier ist eine Bash-Eingabe, um einen Benutzer und eine Gruppe zu erstellen, die beide dvls heißen, wobei das Installationsverzeichnis auf
/opt/devolutions/dvlsgesetzt ist:
Devolutions Server für Linux herunterladen und installieren
Führen Sie das nachstehende PowerShell-Skript aus, um die neueste Version von Devolutions Server für Linux herunterzuladen und die
.tar.gz-Datei in den Speicherort/opt/devolutions/dvlszu extrahieren:Es ist am besten, wenn Devolutions Server über TLS antworten kann. Falls noch kein Zertifikat vorhanden ist, kann mit dieser Bash-Eingabe schnell eines generiert werden:
Im obigen Beispiel verwendet der
subjectAltNameDNS:.Um nur über eine IP zu antworten, verwenden Sie stattdessenIP:.
Beachten Sie, dass das generierte .pfx-Zertifikat kein Passwort hat.
Führen Sie mithilfe des Devolutions.PowerShell-Moduls die Installation von Devolutions Server über PowerShell aus. Passen Sie dabei unbedingt die hier aufgeführten Werte an:
MYHOSTMSSQLHOSTDBUSERNAMEYOURSTRONGPASSWORDMYEMAIL
Wenn bereits ein Zertifikat generiert wurde, ändern Sie die Datei
appsettings.jsonmit diesem PowerShell-Skript, damit Kestrel über TLS antworten kann:Um den Hintergrundbetrieb von Devolutions Server für Linux zu ermöglichen, wird empfohlen, mit dieser Bash-Eingabe eine Unit-Datei für systemd zu erstellen:
Um Devolutions Server zu starten, führen Sie aus:
Auf Devolutions Server für Linux zugreifen
Standardmäßig lauscht Devolutions Server für Linux auf Port 5000 auf der IP oder dem Hostnamen des Installationssystems, was meist so aussieht: http://MYHOST:5000. Beachten Sie, dass beim ersten Start OAuth-Fehler auftreten können, wenn versucht wird, von einer nicht konfigurierten URL auf Devolutions Server zuzugreifen. Fügen Sie in diesem Fall weitere URIs hinzu, auf denen gelauscht wird, oder ändern Sie die primäre URI, indem Sie das folgende Skript in PowerShell ausführen:
Wenn Devolutions Server außerhalb des Installationssystems weiterhin nicht erreichbar ist, prüfen Sie, ob die erforderlichen Firewall-Ports geöffnet sind, indem Sie Uncomplicated Firewall zur Eingabe hinzufügen, zum Beispiel: sudo ufw allow 5000.
Devolutions Server-Verschlüsselungsschlüssel importieren
Export aus einer bestehenden Windows-Installation
Import in eine neue Linux-Installation
Devolutions Server für Linux aktualisieren
Extrahieren Sie das neue .tar.gz-Archiv nicht direkt über /opt/devolutions/dvls. Dadurch werden appsettings.json und encryption.config überschrieben, wodurch der Dienst nicht mehr starten kann und bestehende Daten möglicherweise nicht mehr entschlüsselt werden können. Befolgen Sie immer die auf dieser Seite beschriebene Aktualisierungsmethode.
Sichern Sie die Datenbank. So geht das für Microsoft SQL Server (Linux oder remote):
Der vollständige Pfad zu
sqlcmdvermeidet den Fehler "command not found" in Non-Login-Shells, in denen/etc/profile.d/mssql-tools.shnicht eingelesen wurde.-Cvertraut dem Serverzertifikat (erforderlich für lokale SQL Server-Installationen, die ein selbstsigniertes Zertifikat verwenden).Sichern Sie in ein Verzeichnis, in das der MSSQL-Benutzer schreiben kann.
/var/opt/mssql/data/funktioniert von Anfang an.Stellen Sie sicher, dass die
.bak-Datei vorhanden und nicht leer ist, bevor Sie mit dem nächsten Schritt fortfahren.Stoppen Sie den Devolutions Server-Dienst mit dem folgenden Skript:
Sichern Sie die Installations- und Konfigurationsdateien. Beachten Sie, dass
/opt/devolutions/dvlsim Modus 550 vorliegt unddvls:dvlsgehört, weshalb die Backup-Cmdlets als root ausgeführt werden müssen. Starten Sie PowerShell mitsudo pwshund fügen Sie dann dieses Skript ein:Backup-DPSConfigurationFilessichert:appsettings.json,web.configundencryption.config.Backup-DPSInstallationFilessichert benutzerdefinierte Ordner, den Ordner für die Anomalieerkennung und alle von Benutzern hinzugefügten Assets.
Leeren Sie das Installationsverzeichnis mit Ausnahme von
App_data, da dieses Laufzeitstatus enthält, der Upgrades übersteht. Verwenden Sie dazu dieses Skript:Verwenden Sie
--strip-componentsnur, wenn das Archiv einen Ordner auf oberster Ebene hat.Stellen Sie die Konfiguration und benutzerdefinierten Daten wieder her. In diesem Schritt werden
appsettings.json(DB-Verbindungszeichenfolge) undweb.configin die neue Installation zurückgelegt. Daencryption.configin Schritt #5 bereits innerhalb vonApp_Data/gesichert wurde, legtRestore-DPSConfigurationFilessie nicht in das Installationsstammverzeichnis, weil sie sich unter Linux nicht dort befindet. Hier ist das Wiederherstellungsskript:Rufen Sie die Verbindungszeichenfolgen aus der wiederhergestellten
appsettings.jsonab:Update-DPSDatabasegibt bei Erfolg keine Ausgabe aus. Überprüfen Sie den Erfolg, indem Sie prüfen, ob der Befehl den Exit-Code 0 zurückgegeben hat und ob das Journal nach dem Starten des Dienstes in Schritt #9 Einträge mit Migration done with status Done ohne[ERR]-Zeilen anzeigt.Wenden Sie Besitzrechte und Berechtigungen erneut an:
Starten Sie den Dienst und prüfen Sie, ob er korrekt funktioniert:
Fehlerbehebung
Dienst startet nicht,
appsettings.jsonfehlt oder ist leer: Stellen Sie sie aus$BackupConfig/appsettings.jsonwieder her und wiederholen Sie die Schritte #8 und 9.Anmeldung funktioniert, aber Einträge können nicht entschlüsselt werden:
encryption.configwurde nicht wiederhergestellt. Kopieren Sie$BackupConfig/encryption.confignach$DVLSPath/App_Data/, korrigieren Sie die Berechtigungen (chown dvls:dvlsundchmod 660) und starten Sie dann neu.DB-Schemafehler zur Laufzeit:
Update-DPSDatabasewurde übersprungen oder ist fehlgeschlagen. Wiederholen Sie Schritt #7.Vollständiges Rollback: Stoppen Sie den Dienst (siehe Schritt #3), leeren Sie
/opt/devolutions/dvlsmit Ausnahme vonApp_Data/(Schritt #5), kopieren Sie den Inhalt von$BackupInstallzurück nach/opt/devolutions/dvls, stellen Sieappsettings.jsonaus$BackupConfigwieder her, wenden Sie Besitzrechte und Berechtigungen aus Schritt #8 erneut an, stellen Sie die DB aus der in Schritt #1 erstellten.bakwieder her und starten Sie dann neu.
Devolutions Server entfernen
Um Devolutions Server zu entfernen, führen Sie die nachstehende Bash-Eingabe aus und passen Sie sie an das System an. Dieses Skript nutzt das DbaTools PowerShell-Modul, um das Entfernen der MSSQL-Datenbank zu erleichtern. Es geht davon aus, dass localhost die MSSQL-Installation und dvls der Datenbankname ist.
Zuletzt aktualisiert
War das hilfreich?