Installer Devolutions Server pour Linux
Devolutions Server est offert pour Linux avec Microsoft Kestrel comme serveur web intégré et Microsoft PowerShell 7 pour l'installation en ligne de commande. Le présent sujet montre comment installer manuellement Devolutions Server pour Linux à l'aide d'invites Bash et de scripts PowerShell, ainsi que comment y accéder et le supprimer.
Autrement, Devolutions Server peut être installé automatiquement à l'aide des scripts qui se trouvent dans le dépôt GitHub ScriptLibrary de Devolutions.
Installation des prérequis
Si Microsoft SQL Server n'est pas déjà installé, exécutez l'invite Bash suivante en remplaçant la variable
MSSQL_SA_PASSWORDpar un mot de passe fort :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_PIDest défini à evaluation dans cet exemple, mais une clé de produit peut être saisie ici à la place.
Microsoft ne prend en charge que certaines versions de SQL. Consultez la documentation de Microsoft pour vous assurer que votre version de SQL est officiellement prise en charge pour votre distribution.
Exécutez cette invite Bash pour installer PowerShell 7 :
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
Assurez-vous que l'installation a lieu dans un répertoire accessible pour l'utilisateur actuel, car la ligne de commande wget télécharge un paquet .deb dans ledit répertoire.
Choisissez d'installer le module Devolutions.PowerShell pour l'utilisateur actuel ou pour tous les utilisateurs.
Pour l'utilisateur actuel (emplacement :
/.local/share/powershell/Modules), exécutez :Pour tous les utilisateurs (emplacement :
/opt/microsoft/powershell/7/Modules), exécutez :
Un avertissement risque d'apparaître indiquant que l'installation provient d'un dépôt non approuvé. Le module est hébergé sur PowerShell Gallery, l'emplacement officiel d'hébergement des modules PowerShell géré par Microsoft. Pour éviter de voir cet avertissement à l'avenir, exécutez :
Bien que ce ne soit pas requis, le provisionnement d'utilisateurs et de groupes distincts pour Devolutions Server est fortement recommandé. Voici une invite Bash pour créer un utilisateur et un groupe nommés tous deux dvls, avec le répertoire d'installation défini à
/opt/devolutions/dvls:
Téléchargement et installation de Devolutions Server pour Linux
Exécutez le script PowerShell ci-dessous pour télécharger la dernière version de Devolutions Server pour Linux et extraire le fichier
.tar.gzdans l'emplacement/opt/devolutions/dvls:Il est préférable que Devolutions Server puisse répondre via TLS. Si un certificat n'existe pas déjà, il est possible d'en générer un rapidement à l'aide de cette invite Bash :
Dans l'exemple ci-dessus, le
subjectAltNameutiliseDNS:.Pour répondre uniquement sur une IP, utilisez plutôtIP:.
Notez que le certificat .pfx généré n'a pas de mot de passe.
À l'aide du module Devolutions.PowerShell, exécutez l'installation de Devolutions Server via PowerShell. Assurez-vous de personnaliser les valeurs indiquées ici :
MYHOSTMSSQLHOSTDBUSERNAMEYOURSTRONGPASSWORDMYEMAIL
Si un certificat a déjà été généré, procédez à la modification du fichier
appsettings.jsonpour permettre à Kestrel de répondre via TLS à l'aide de ce script PowerShell :Pour permettre l'exécution en arrière-plan de Devolutions Server pour Linux, il est recommandé de créer un fichier d'unité pour systemd à l'aide de cette invite Bash :
Pour démarrer Devolutions Server, exécutez :
Accéder à Devolutions Server pour Linux
Par défaut, Devolutions Server pour Linux écoute sur le port 5000 sur l'IP ou le nom d'hôte du système d'installation, ce qui ressemble le plus souvent à : http://MYHOST:5000. Sachez que des erreurs OAuth peuvent se produire au premier lancement lors d'une tentative d'accès à Devolutions Server à partir d'une URL non configurée. Si c'est le cas, ajoutez des URI supplémentaires sur lesquels écouter, ou modifiez l'URI principal en exécutant le script suivant dans PowerShell :
Si Devolutions Server demeure inaccessible à l'extérieur du système installé, vérifiez si les ports de pare-feu requis sont ouverts, en ajoutant Uncomplicated Firewall à l'invite, par exemple : sudo ufw allow 5000.
Importation de la clé de chiffrement de Devolutions Server
Exportation à partir d'une installation Windows existante
Importation vers une nouvelle installation Linux
Mise à jour de Devolutions Server pour Linux
N'extrayez pas la nouvelle archive .tar.gz directement par-dessus /opt/devolutions/dvls. Cela écrase appsettings.json et encryption.config, ce qui empêche le service de démarrer et peut rendre les données existantes indéchiffrables. Suivez toujours la méthode de mise à jour détaillée sur cette page.
Sauvegardez la base de données. Voici comment procéder pour Microsoft SQL Server (Linux ou distant) :
Le chemin complet vers
sqlcmdévite l'erreur "command not found" dans les shells sans connexion où/etc/profile.d/mssql-tools.shn'a pas été sourcé.-Cfait confiance au certificat du serveur (requis pour les installations locales de SQL Server qui utilisent un certificat auto-signé).Sauvegardez dans un répertoire accessible en écriture par l'utilisateur MSSQL.
/var/opt/mssql/data/fonctionne d'emblée.Assurez-vous que le fichier
.bakexiste et n'est pas vide avant de passer à l'étape suivante.Arrêtez le service Devolutions Server à l'aide du script suivant :
Sauvegardez les fichiers d'installation et de configuration. Gardez en tête que
/opt/devolutions/dvlsest en mode 550 et appartient àdvls:dvls, par conséquent les applets de commande de sauvegarde doivent être exécutées en tant que racine. Démarrez PowerShell avecsudo pwsh, puis collez ce script :Backup-DPSConfigurationFilespréserve :appsettings.json,web.configetencryption.config.Backup-DPSInstallationFilespréserve les dossiers personnalisés, le dossier de détection d'anomalies et tous les actifs ajoutés par l'utilisateur.
Videz le répertoire d'installation, à l'exception de
App_data, car il contient l'état d'exécution qui survit aux mises à niveau. Utilisez ce script pour le faire :Utilisez
--strip-componentsseulement si l'archive comporte un dossier de premier niveau.Restaurez la configuration et les données personnalisées. À cette étape,
appsettings.json(chaîne de connexion à la base de données) etweb.configsont replacés dans la nouvelle installation. Puisqueencryption.configa déjà été préservé dansApp_Data/à l'étape 5,Restore-DPSConfigurationFilesne le placera pas à la racine de l'installation, car ce n'est pas là qu'il se trouve sous Linux. Voici le script de restauration :Extrayez les chaînes de connexion du fichier
appsettings.jsonrestauré :Update-DPSDatabasen'affiche aucun résultat en cas de succès. Vérifiez que la commande a fonctionné en confirmant qu'elle a retourné le code de sortie 0 et qu'après le démarrage du service à l'étape 9, le journal affiche des entrées Migration done with status Done sans lignes[ERR].Réappliquez la propriété et les permissions :
Démarrez le service et vérifiez s'il fonctionne correctement :
Dépannage
Le service ne démarre pas,
appsettings.jsonest absent ou vide : restaurez à partir de$BackupConfig/appsettings.json, répétez les étapes 8 et 9.La connexion fonctionne, mais les entrées ne se déchiffrent pas :
encryption.confign'a pas été restauré. Copiez$BackupConfig/encryption.configdans$DVLSPath/App_Data/, corrigez les permissions (chown dvls:dvlsetchmod 660), puis redémarrez.Erreurs de schéma de base de données à l'exécution :
Update-DPSDatabasea été ignoré ou a échoué. Répétez l'étape 7.Retour arrière complet : arrêtez le service (voir l'étape 3), videz
/opt/devolutions/dvlssaufApp_Data/(étape 5), copiez le contenu de$BackupInstallde nouveau dans/opt/devolutions/dvls, restaurezappsettings.jsonà partir de$BackupConfig, réappliquez la propriété et les permissions de l'étape 8, restaurez la base de données à partir du fichier.bakproduit à l'étape 1, puis redémarrez.
Suppression de Devolutions Server
Pour supprimer Devolutions Server, exécutez l'invite Bash ci-dessous et personnalisez-la pour le système. Ce script s'appuie sur le module PowerShell DbaTools pour faciliter la suppression de la base de données MSSQL. Il suppose que localhost est l'installation MSSQL et dvls le nom de la base de données.
Mis à jour
Ce contenu vous a-t-il été utile ?