Instalar Devolutions Server para Linux
Devolutions Server está disponible para Linux con Microsoft Kestrel como servidor web integrado y Microsoft PowerShell 7 para la instalación por línea de comandos. El presente tema muestra cómo instalar manualmente Devolutions Server for Linux mediante indicaciones de Bash y scripts de PowerShell, así como cómo acceder a él y eliminarlo.
Como alternativa, Devolutions Server se puede instalar automáticamente utilizando los scripts que se encuentran en el repositorio ScriptLibrary de GitHub de Devolutions.
Instalación de los requisitos previos
Si Microsoft SQL Server no está ya instalado, ejecute la siguiente indicación de Bash con la variable
MSSQL_SA_PASSWORDcambiada por una contraseña robusta: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á establecido en evaluation en este ejemplo, pero en su lugar se puede introducir aquí una clave de producto.
Microsoft solo admite determinadas versiones de SQL. Consulte la documentación de Microsoft para asegurarse de que su versión de SQL es compatible oficialmente con su distribución.
Ejecute esta indicación de Bash para instalar 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
Asegúrese de que la instalación se realice en un directorio accesible para el usuario actual, ya que la línea de comandos wget descarga un paquete .deb en dicho directorio.
Elija si desea instalar el módulo Devolutions.PowerShell para el usuario actual o para todos los usuarios.
Para el usuario actual (ubicación:
/.local/share/powershell/Modules), ejecute:Para todos los usuarios (ubicación:
/opt/microsoft/powershell/7/Modules), ejecute:
Es probable que aparezca una advertencia indicando que la instalación proviene de un repositorio que no es de confianza. El módulo está alojado en PowerShell Gallery, la ubicación oficial para alojar módulos de PowerShell gestionada por Microsoft. Para evitar ver esta advertencia en el futuro, ejecute:
Aunque no es obligatorio, se recomienda encarecidamente aprovisionar usuarios y grupos separados para Devolutions Server. Aquí tiene una indicación de Bash para crear un usuario y un grupo, ambos denominados dvls, con el directorio de instalación establecido en
/opt/devolutions/dvls:
Descargar e instalar Devolutions Server for Linux
Ejecute el script de PowerShell que figura a continuación para descargar la última versión de Devolutions Server for Linux y extraer el fichero
.tar.gzen la ubicación/opt/devolutions/dvls:Lo mejor es que Devolutions Server pueda responder a través de TLS. Si aún no existe un certificado, se puede generar uno rápidamente utilizando esta indicación de Bash:
En el ejemplo anterior,
subjectAltNameutilizaDNS:.Para responder únicamente en una IP, utiliceIP:en su lugar.
Tenga en cuenta que el certificado .pfx generado no tiene contraseña.
Utilizando el módulo Devolutions.PowerShell, ejecute la instalación de Devolutions Server a través de PowerShell. Asegúrese de personalizar los valores que se indican aquí:
MYHOSTMSSQLHOSTDBUSERNAMEYOURSTRONGPASSWORDMYEMAIL
Si ya se ha generado un certificado, proceda a modificar el fichero
appsettings.jsonpara permitir que Kestrel responda a través de TLS utilizando este script de PowerShell:Para ofrecer la ejecución en segundo plano de Devolutions Server for Linux, se recomienda crear un fichero de unidad para systemd mediante esta indicación de Bash:
Para iniciar Devolutions Server, ejecute:
Acceder a Devolutions Server for Linux
De forma predeterminada, Devolutions Server for Linux escucha en el puerto 5000 en la IP o el nombre de host del sistema de instalación, lo que habitualmente tiene este aspecto: http://MYHOST:5000. Tenga en cuenta que pueden producirse errores de OAuth en el primer inicio al intentar acceder a Devolutions Server desde una URL no configurada. Si es el caso, añada URI adicionales para escuchar, o modifique la principal ejecutando el siguiente script en PowerShell:
Si Devolutions Server sigue siendo inaccesible fuera del sistema instalado, compruebe si los puertos de cortafuegos necesarios están abiertos, añadiendo Uncomplicated Firewall a la indicación, por ejemplo: sudo ufw allow 5000.
Importar la clave de cifrado de Devolutions Server
Exportar desde una instalación de Windows existente
Importar a una nueva instalación de Linux
Actualizar Devolutions Server for Linux
No extraiga el nuevo archivo .tar.gz directamente sobre /opt/devolutions/dvls. Hacerlo sobrescribe appsettings.json y encryption.config, lo que deja el servicio sin poder iniciarse y puede hacer que los datos existentes no se puedan descifrar. Siga siempre el método de actualización detallado en esta página.
Haga una copia de seguridad de la base de datos. Así es como se hace en Microsoft SQL Server (Linux o remoto):
La ruta completa a
sqlcmdevita el error "command not found" en shells sin inicio de sesión donde no se ha cargado/etc/profile.d/mssql-tools.sh.-Cconfía en el certificado del servidor (necesario para instalaciones locales de SQL Server que utilizan un certificado autofirmado).Haga la copia de seguridad en un directorio en el que el usuario MSSQL pueda escribir.
/var/opt/mssql/data/funciona de forma nativa.Asegúrese de que el fichero
.bakexiste y no está vacío antes de continuar con el paso siguiente.Detenga el servicio de Devolutions Server utilizando el siguiente script:
Haga una copia de seguridad de los ficheros de instalación y de configuración. Tenga en cuenta que
/opt/devolutions/dvlsestá en modo 550 y pertenece advls:dvls, por lo que los cmdlets de copia de seguridad deben ejecutarse como root. Inicie PowerShell consudo pwshy, a continuación, pegue este script:Backup-DPSConfigurationFilesconserva:appsettings.json,web.configyencryption.config.Backup-DPSInstallationFilesconserva las carpetas personalizadas, la carpeta de detección de anomalías y cualquier recurso añadido por el usuario.
Vacíe el directorio de instalación excepto
App_data, ya que contiene el estado de ejecución que se conserva entre actualizaciones. Utilice este script para hacerlo:Utilice
--strip-componentssolo si el archivo tiene una carpeta de nivel superior.Restaure la configuración y los datos personalizados. En este paso,
appsettings.json(cadena de conexión a la BD) yweb.configse vuelven a colocar en la nueva instalación. Dado queencryption.configya se conservó dentro deApp_Data/en el paso n.º 5,Restore-DPSConfigurationFilesno lo colocará en la raíz de la instalación, porque no es ahí donde se encuentra en Linux. Este es el script de restauración:Extraiga las cadenas de conexión del fichero
appsettings.jsonrestaurado:Update-DPSDatabaseno imprime ningún resultado cuando se realiza correctamente. Verifique que ha funcionado comprobando que el comando devolvió el código de salida 0 y que, después de iniciar el servicio en el paso n.º 9, el diario muestra entradas Migration done with status Done sin líneas[ERR].Vuelva a aplicar la propiedad y los permisos:
Inicie el servicio y compruebe si funciona correctamente:
Resolución de problemas
El servicio no se inicia,
appsettings.jsonfalta o está vacío: restáurelo desde$BackupConfig/appsettings.jsony repita los pasos n.º 8 y 9.El inicio de sesión funciona, pero las entradas no se descifran:
encryption.configno se restauró. Copie$BackupConfig/encryption.configen$DVLSPath/App_Data/, corrija los permisos (chown dvls:dvlsychmod 660) y, a continuación, reinicie.Errores de esquema de BD en tiempo de ejecución: se omitió
Update-DPSDatabaseo falló. Repita el paso n.º 7.Reversión completa: detenga el servicio (véase el paso n.º 3), vacíe
/opt/devolutions/dvlsexceptoApp_Data/(paso n.º 5), copie el contenido de$BackupInstallde nuevo en/opt/devolutions/dvls, restaureappsettings.jsondesde$BackupConfig, vuelva a aplicar la propiedad y los permisos del paso n.º 8, restaure la BD desde el.bakgenerado en el paso n.º 1 y, a continuación, reinicie.
Eliminar Devolutions Server
Para eliminar Devolutions Server, ejecute la indicación de Bash que figura a continuación y personalícela para el sistema. Este script se basa en el módulo de PowerShell DbaTools para facilitar la eliminación de la base de datos MSSQL. Supone que localhost es la instalación de MSSQL y dvls el nombre de la base de datos.
Última actualización
¿Te fue útil?