Installare Devolutions Server for Linux
Devolutions Server è disponibile per Linux con Microsoft Kestrel come server web integrato e Microsoft PowerShell 7 per l'installazione da riga di comando. Il presente argomento mostra come installare manualmente Devolutions Server for Linux utilizzando prompt Bash e script PowerShell, nonché come accedervi e rimuoverlo.
In alternativa, Devolutions Server può essere installato automaticamente utilizzando gli script disponibili nel repository Devolutions GitHub ScriptLibrary.
Installazione dei prerequisiti
Se Microsoft SQL Server non è già installato, esegua il seguente prompt Bash modificando la variabile
MSSQL_SA_PASSWORDcon una password complessa: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-serverIn questo esempio
MSSQL_PIDè impostato su evaluation, ma è possibile inserire qui una chiave prodotto.
Microsoft supporta solo alcune versioni di SQL. Consulti la documentazione di Microsoft per assicurarsi che la sua versione di SQL sia ufficialmente supportata per la sua distribuzione.
Esegua questo prompt Bash per installare 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
Si assicuri che l'installazione avvenga in una directory accessibile all'utente corrente, poiché la riga di comando wget scarica un pacchetto .deb in tale directory.
Scelga se installare il modulo Devolutions.PowerShell per l'utente corrente o per tutti gli utenti.
Per l'utente corrente (percorso:
/.local/share/powershell/Modules), esegua:Per tutti gli utenti (percorso:
/opt/microsoft/powershell/7/Modules), esegua:
È probabile che compaia un avviso indicante che l'installazione proviene da un repository non attendibile. Il modulo è ospitato su PowerShell Gallery, la posizione ufficiale per l'hosting dei moduli PowerShell gestita da Microsoft. Per evitare di visualizzare questo avviso in futuro, esegua:
Sebbene non sia obbligatorio, si consiglia vivamente di creare utenti e gruppi separati per Devolutions Server. Ecco un prompt Bash per creare un utente e un gruppo entrambi denominati dvls con la directory di installazione impostata su
/opt/devolutions/dvls:
Download e installazione di Devolutions Server for Linux
Esegua lo script PowerShell qui sotto per scaricare l'ultima versione di Devolutions Server for Linux ed estrarre il file
.tar.gznel percorso/opt/devolutions/dvls:È preferibile che Devolutions Server sia in grado di rispondere tramite TLS. Se non esiste già un certificato, è possibile generarne rapidamente uno utilizzando questo prompt Bash:
Nell'esempio qui sopra,
subjectAltNameutilizzaDNS:.Per rispondere solo su un IP, utilizzi inveceIP:.
Si noti che il certificato .pfx generato non ha una password.
Utilizzando il modulo Devolutions.PowerShell, esegua l'installazione di Devolutions Server tramite PowerShell. Si assicuri di personalizzare i valori elencati qui:
MYHOSTMSSQLHOSTDBUSERNAMEYOURSTRONGPASSWORDMYEMAIL
Se è già stato generato un certificato, proceda a modificare il file
appsettings.jsonper consentire a Kestrel di rispondere tramite TLS utilizzando questo script PowerShell:Per consentire l'esecuzione in background di Devolutions Server for Linux, si consiglia di creare un unit file per systemd tramite questo prompt Bash:
Per avviare Devolutions Server, esegua:
Accedere a Devolutions Server for Linux
Per impostazione predefinita, Devolutions Server for Linux resta in ascolto sulla porta 5000 sull'IP o sul nome host del sistema di installazione, che nella maggior parte dei casi si presenta così: http://MYHOST:5000. Tenga presente che al primo avvio possono verificarsi errori OAuth quando si tenta di accedere a Devolutions Server da un URL non configurato. In tal caso, aggiunga ulteriori URI su cui restare in ascolto, oppure modifichi quello primario eseguendo il seguente script in PowerShell:
Se Devolutions Server rimane inaccessibile al di fuori del sistema installato, verifichi se le porte del firewall necessarie sono aperte, aggiungendo Uncomplicated Firewall al prompt, ad esempio: sudo ufw allow 5000.
Importare la chiave di crittografia di Devolutions Server
Esportazione da un'installazione Windows esistente
Importazione in una nuova installazione Linux
Aggiornare Devolutions Server for Linux
Non estragga il nuovo archivio .tar.gz direttamente sopra /opt/devolutions/dvls. In tal modo si sovrascrivono appsettings.json ed encryption.config, il che rende il servizio incapace di avviarsi e può rendere indecifrabili i dati esistenti. Segua sempre il metodo di aggiornamento descritto in questa pagina.
Esegua il backup del database. Ecco come farlo per Microsoft SQL Server (Linux o remoto):
Il percorso completo di
sqlcmdevita l'errore "command not found" nelle shell non di login in cui/etc/profile.d/mssql-tools.shnon è stato caricato.-Cconsidera attendibile il certificato del server (necessario per le installazioni locali di SQL Server che utilizzano un certificato autofirmato).Esegua il backup in una directory scrivibile dall'utente MSSQL.
/var/opt/mssql/data/funziona da subito.Si assicuri che il file
.bakesista e non sia vuoto prima di procedere al passaggio successivo.Arresti il servizio Devolutions Server utilizzando il seguente script:
Esegua il backup dei file di installazione e di configurazione. Tenga presente che
/opt/devolutions/dvlsè in modalità 550 ed è di proprietà didvls:dvls, pertanto i cmdlet di backup devono essere eseguiti come root. Avvii PowerShell consudo pwsh, quindi incolli questo script:Backup-DPSConfigurationFilesconserva:appsettings.json,web.configedencryption.config.Backup-DPSInstallationFilesconserva le cartelle personalizzate, la cartella di rilevamento delle anomalie ed eventuali risorse aggiunte dall'utente.
Svuoti la directory di installazione tranne
App_data, poiché contiene lo stato di runtime che sopravvive agli aggiornamenti. Utilizzi questo script per farlo:Utilizzi
--strip-componentssolo se l'archivio ha una cartella di primo livello.Ripristini la configurazione e i dati personalizzati. In questo passaggio,
appsettings.json(stringa di connessione al DB) eweb.configvengono reinseriti nella nuova installazione. Poichéencryption.configè già stato conservato all'interno diApp_Data/dal passaggio n. 5,Restore-DPSConfigurationFilesnon lo collocherà nella radice dell'installazione, perché non è lì che si trova su Linux. Ecco lo script di ripristino:Estragga le stringhe di connessione dal file
appsettings.jsonripristinato:Update-DPSDatabasenon stampa alcun output in caso di successo. Verifichi che abbia funzionato controllando che il comando abbia restituito il codice di uscita 0 e che, dopo aver avviato il servizio al passaggio n. 9, il journal mostri voci Migration done with status Done senza righe[ERR].Riapplichi la proprietà e le autorizzazioni:
Avvii il servizio e verifichi che funzioni correttamente:
Risoluzione dei problemi
Il servizio non si avvia,
appsettings.jsonmancante o vuoto: ripristini da$BackupConfig/appsettings.json, ripeta i passaggi n. 8 e 9.L'accesso funziona ma le voci non vengono decrittografate:
encryption.confignon è stato ripristinato. Copi$BackupConfig/encryption.configin$DVLSPath/App_Data/, corregga le autorizzazioni (chown dvls:dvlsechmod 660), quindi riavvii.Errori dello schema del DB in fase di esecuzione:
Update-DPSDatabaseè stato saltato o non è riuscito. Ripeta il passaggio n. 7.Rollback completo: arresti il servizio (veda il passaggio n. 3), svuoti
/opt/devolutions/dvlstranneApp_Data/(passaggio n. 5), copi il contenuto di$BackupInstallnuovamente in/opt/devolutions/dvls, ripristiniappsettings.jsonda$BackupConfig, riapplichi la proprietà e le autorizzazioni dal passaggio n. 8, ripristini il DB dal file.bakprodotto al passaggio n. 1, quindi riavvii.
Rimuovere Devolutions Server
Per rimuovere Devolutions Server, esegua il prompt Bash qui sotto e lo personalizzi per il sistema. Questo script si basa sul modulo PowerShell DbaTools per facilitare la rimozione del database MSSQL. Presuppone che localhost sia l'installazione MSSQL e dvls il nome del database.
Ultimo aggiornamento
È stato utile?