For the complete documentation index, see llms.txt. This page is also available as Markdown.

Installer Devolutions Server pour Linux

Devolutions Server est disponible pour Linux avec Microsoft Kestrel comme serveur web intégré et Microsoft PowerShell 7 pour l'installation en ligne de commande. La présente rubrique explique 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.

Alternativement, Devolutions Server peut être installé automatiquement à l'aide des scripts disponibles sur le dépôt Devolutions GitHub ScriptLibrary.

Installation des prérequis

  1. Si Microsoft SQL Server n'est pas déjà installé, exécutez l'invite Bash suivante en remplaçant la variable MSSQL_SA_PASSWORD par 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-server

    MSSQL_PID est défini à evaluation dans cet exemple, mais une clé de produit peut être saisie à la place.

  1. 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 se déroule dans un répertoire accessible par l'utilisateur actuel, car la commande wget télécharge un paquet .deb dans ce répertoire.

  1. 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 indiquant que l'installation provient d'un dépôt non fiable est susceptible d'apparaître. Le module est hébergé sur PowerShell Gallery, l'emplacement officiel pour héberger les modules PowerShell gérés par Microsoft. Pour éviter cet avertissement à l'avenir, exécutez :

    Bien que cela ne soit pas obligatoire, il est fortement recommandé de créer des utilisateurs et des groupes distincts pour Devolutions Server. Voici une invite Bash permettant de créer un utilisateur et un groupe nommés tous les deux dvls, avec le répertoire d'installation défini à /opt/devolutions/dvls :

Téléchargement et installation de Devolutions Server pour Linux

  1. 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.gz dans l'emplacement /opt/devolutions/dvls :

    Il est préférable que Devolutions Server puisse répondre via TLS. Si un certificat n'existe pas encore, il est possible d'en générer un rapidement à l'aide de cette invite Bash :

    Dans l'exemple ci-dessus, le subjectAltName utilise DNS:. Pour répondre sur une adresse IP uniquement, utilisez IP: à la place.

Notez que le certificat .pfx généré n'a pas de mot de passe.

  1. À l'aide du module Devolutions.PowerShell, exécutez l'installation de Devolutions Server via PowerShell. Assurez-vous de personnaliser les valeurs indiquées ici :

    • MYHOST

    • MSSQLHOST

    • DBUSERNAME

    • YOURSTRONGPASSWORD

    • MYEMAIL

    Si un certificat a déjà été généré, modifiez le fichier appsettings.json pour 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 unit pour systemd via cette invite Bash :

  2. Pour démarrer Devolutions Server, exécutez :

Accès à Devolutions Server pour Linux

Par défaut, Devolutions Server pour Linux écoute sur le port 5000 sur l'adresse 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 survenir au premier lancement lorsque vous tentez d'accéder à Devolutions Server depuis une URL non configurée. Dans ce cas, ajoutez des URI supplémentaires à écouter ou modifiez l'URI principale en exécutant le script suivant dans PowerShell :

Si Devolutions Server reste inaccessible depuis l'extérieur du système installé, vérifiez que les ports de pare-feu requis sont ouverts, par exemple en ajoutant Uncomplicated Firewall à l'invite : sudo ufw allow 5000.

Importation de la clé de chiffrement de Devolutions Server

Exportation depuis 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 dans /opt/devolutions/dvls. Cela écraserait appsettings.json et encryption.config, ce qui empêcherait le service de démarrer et pourrait rendre les données existantes indéchiffrables. Suivez toujours la méthode de mise à jour détaillée sur cette page.

  1. 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 non-login où /etc/profile.d/mssql-tools.sh n'a pas été sourcé.

    -C approuve le certificat du serveur (requis pour les installations SQL Server locales utilisant un certificat auto-signé).

    Sauvegardez dans un répertoire accessible en écriture par l'utilisateur MSSQL. /var/opt/mssql/data/ fonctionne sans configuration supplémentaire.

  2. Assurez-vous que le fichier .bak existe et n'est pas vide avant de passer à l'étape suivante.

  3. Arrêtez le service Devolutions Server à l'aide du script suivant :

  4. Sauvegardez les fichiers d'installation et de configuration. Gardez à l'esprit que /opt/devolutions/dvls est en mode 550 et appartient à dvls:dvls, par conséquent les cmdlets de sauvegarde doivent être exécutées en tant que root. Démarrez PowerShell avec sudo pwsh, puis collez ce script :

    • Backup-DPSConfigurationFiles préserve : appsettings.json, web.config et encryption.config.

    • Backup-DPSInstallationFiles préserve les dossiers personnalisés, le dossier de détection d'anomalies et tous les actifs ajoutés par l'utilisateur.

  5. 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-components uniquement si l'archive contient un dossier de premier niveau.

  6. Restaurez la configuration et les données personnalisées. Dans cette étape, appsettings.json (chaîne de connexion à la base de données) et web.config sont replacés dans la nouvelle installation. Étant donné que encryption.config a déjà été préservé dans App_Data/ à l'étape n°5, Restore-DPSConfigurationFiles ne le placera pas à la racine de l'installation car ce n'est pas là où il réside sous Linux. Voici le script de restauration :

  7. Récupérez les chaînes de connexion depuis le fichier appsettings.json restauré :

    Update-DPSDatabase n'affiche aucune sortie en cas de succès. Vérifiez que la commande a fonctionné en contrôlant qu'elle a retourné le code de sortie 0 et qu'après le démarrage du service à l'étape n°9, le journal affiche des entrées Migration done with status Done sans lignes [ERR].

  8. Réappliquez la propriété et les autorisations :

  9. Démarrez le service et vérifiez qu'il fonctionne correctement :

Résolution des problèmes

  • Le service ne démarre pas, appsettings.json est manquant ou vide : restaurez depuis $BackupConfig/appsettings.json, répétez les étapes n°8 et 9.

  • La connexion fonctionne mais les entrées ne se déchiffrent pas : encryption.config n'a pas été restauré. Copiez $BackupConfig/encryption.config dans $DVLSPath/App_Data/, corrigez les autorisations (chown dvls:dvls et chmod 660), puis redémarrez.

  • Erreurs de schéma de base de données à l'exécution : Update-DPSDatabase a été ignoré ou a échoué. Répétez l'étape n°7.

  • Restauration complète : arrêtez le service (voir étape n°3), videz /opt/devolutions/dvls à l'exception de App_Data/ (étape n°5), copiez le contenu de $BackupInstall dans /opt/devolutions/dvls, restaurez appsettings.json depuis $BackupConfig, réappliquez la propriété et les autorisations de l'étape n°8, restaurez la base de données depuis le fichier .bak produit à l'étape n°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 ?