Cómo instalar la base de datos RavenDB NoSQL en Ubuntu 20.04

Licencia RavenDB

RavenDB es una base de datos NoSQL orientada a documentos, gratuita y de código abierto, diseñada para la plataforma .NET/Windows. RavenDB admite múltiples bases de datos, fragmentación o partición de datos en múltiples servidores. Tiene la capacidad de manejar cientos o miles de bases de datos en la misma instancia. RavenDB usa JSON para almacenar documentos y no requiere que se declare un esquema y permite a los desarrolladores trabajar con datos de forma más natural.

En este tutorial, aprenderemos cómo instalar RavenDB en el servidor Ubuntu 20.04.

requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Se configura una contraseña de root en el servidor.

Instalar las dependencias requeridas

Antes de comenzar, deberá instalar el tiempo de ejecución de NET Core en su sistema. Primero, descargue e instale el repositorio de paquetes con el siguiente comando:

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb

Deberías obtener el siguiente resultado:

Selecting previously unselected package packages-microsoft-prod.
(Reading database ... 91134 files and directories currently installed.)
Preparing to unpack packages-microsoft-prod.deb ...
Unpacking packages-microsoft-prod (1.0-ubuntu20.04.1) ...
Setting up packages-microsoft-prod (1.0-ubuntu20.04.1) ...

A continuación, actualice el repositorio con el siguiente comando:

apt-get install apt-transport-https -y
apt-get update -y

Una vez que se actualice el repositorio, instale el tiempo de ejecución de .Net Core con el siguiente comando:

apt-get install aspnetcore-runtime-3.1 -y

Una vez completada la instalación, puede continuar con el siguiente paso.

Instalar RavenDB

Primero, descargue la última versión de RavenDB ejecutando el siguiente comando:

wget -O ravendb.tar.bz2 https://hibernatingrhinos.com/downloads/RavenDB%20for%20Linux%20x64/latest

Una vez que se complete la descarga, extraiga el archivo descargado con el siguiente comando:

tar xvjf ravendb.tar.bz2

A continuación, el permiso adecuado para RavenDB con el siguiente comando:

chmod -R 755 ~/RavenDB

A continuación, cambie el directorio a RavenDB y ejecute el script de configuración como se muestra a continuación:

cd ~/RavenDB
./run.sh

Deberías ver el siguiente resultado:

./run.sh: line 24: xdg-open: command not found
       _____                       _____  ____ 
      |  __ \                     |  __ \|  _ \ 
      | |__) |__ ___   _____ _ __ | |  | | |_) |
      |  _  // _` \ \ / / _ \ '_ \| |  | |  _ < 
      | | \ \ (_| |\ V /  __/ | | | |__| | |_) |
      |_|  \_\__,_| \_/ \___|_| |_|_____/|____/ 


      Safe by default, optimized for efficiency

 Build 50005, Version 5.0, SemVer 5.0.0, Commit a8d3f94
 PID 23883, 64 bits, 2 Cores, Phys Mem 1.941 GBytes, Arch: X64
 Source Code (git repo): https://github.com/ravendb/ravendb
 Built with love by Hibernating Rhinos and awesome contributors!
+---------------------------------------------------------------+
Using GC in server concurrent mode retaining memory from the OS.
Could not start browser: System.ComponentModel.Win32Exception (2): No such file or directory
   at System.Diagnostics.Process.ForkAndExecProcess(String filename, String[] argv, String[] envp, String cwd, Boolean redirectStdin, Boolean redirectStdout, Boolean redirectStderr, Boolean setCredentials, UInt32 userId, UInt32 groupId, UInt32[] groups, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean usesTerminal, Boolean throwOnNoExec)
   at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start(String fileName, String arguments)
   at Raven.Server.Utils.Cli.BrowserHelper.OpenStudioInBrowser(String url, Action`1 onError) in C:\Builds\RavenDB-Stable-5.0\50005\src\Raven.Server\Utils\Cli\BrowserHelper.cs:line 26
Server available on: http://127.0.0.1:43241
Server started, listening to requests...
TIP: type 'help' to list the available commands.
Running non-interactive.

En este punto, RavenDB se inicia y escucha en el puerto 43241. Ahora, presione CTRL + C salir.

Configurar RavenDB

De forma predeterminada, solo se puede acceder a RavenDB desde el host local. Por lo tanto, deberá configurarlo para acceder desde el host remoto.

Puede configurarlo editando el archivo settings.json:

nano ~/RavenDB/Server/settings.json

Agregar/Modificar las siguientes líneas:

{
    "ServerUrl": "http://your-server-ip:8080",
    "Setup.Mode": "Initial",
    "DataDir": "RavenData",
    "Security.UnsecuredAccessAllowed": "PrivateNetwork"

}

Guarde y cierre el archivo cuando haya terminado.

Crear un archivo de servicio de Systemd para RavenDB

A continuación, deberá crear un archivo de servicio systemd para administrar RavenDB. Puedes crearlo con el siguiente comando:

nano /etc/systemd/system/ravendb.service

Agregue las siguientes líneas:

[Unit]
Description=RavenDB v4.0
After=network.target

[Service]
LimitCORE=infinity
LimitNOFILE=65536
LimitRSS=infinity
LimitAS=infinity
User=root
Restart=on-failure
Type=simple
ExecStart=/root/RavenDB/run.sh

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo. Luego, vuelva a cargar el demonio systemd con el siguiente comando:

systemctl daemon-reload

A continuación, inicie RavenDB y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl start ravendb
systemctl enable ravendb

Ahora puede verificar el estado de RavenDB con el siguiente comando:

systemctl status ravendb

Deberías obtener el siguiente resultado:

? ravendb.service - RavenDB v4.0
     Loaded: loaded (/etc/systemd/system/ravendb.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-08-01 11:25:12 UTC; 7min ago
   Main PID: 30833 (run.sh)
      Tasks: 32 (limit: 2353)
     Memory: 157.0M
     CGroup: /system.slice/ravendb.service
             ??30833 /bin/bash /root/RavenDB/run.sh
             ??30871 ./Raven.Server --browser

Aug 01 11:30:19 ubuntu2004 run.sh[30871]: Starting shut down...
Aug 01 11:30:21 ubuntu2004 run.sh[30871]: Shutdown completed
Aug 01 11:30:21 ubuntu2004 run.sh[30871]: Restarting Server...
Aug 01 11:30:21 ubuntu2004 run.sh[30871]: Using GC in server concurrent mode retaining memory from the OS.
Aug 01 11:30:21 ubuntu2004 run.sh[30871]: Server available on: http://69.87.218.19:8080
Aug 01 11:30:21 ubuntu2004 run.sh[30871]: Tcp listening on 69.87.218.19:38888
Aug 01 11:30:21 ubuntu2004 run.sh[30871]: Server started, listening to requests...
Aug 01 11:30:21 ubuntu2004 run.sh[30871]: TIP: type 'help' to list the available commands.
Aug 01 11:30:21 ubuntu2004 run.sh[30871]: ravendb> End of standard input detected, switching to server mode...
Aug 01 11:30:21 ubuntu2004 run.sh[30871]: Running non-interactive.

En este punto, RavenDB se inicia y escucha en el puerto 8080.

Acceda a la interfaz web de RavenDB

Ahora, abra su navegador web y escriba la URL http://your-server-ip:8080. Debería ver la siguiente pantalla: Anuncio

Licencia RavenDB

Haga clic en el Aceptar botón para aceptar el Acuerdo de licencia. Debería ver la siguiente pantalla:

Asegure la base de datos

Aquí, hay tres opciones para configurar RavenDB. Selecciona el Inseguro opción. Debería ver la siguiente pantalla:

Configurar puertos de base de datos

Proporcione el puerto HTTP, la dirección IP y haga clic en el próximo botón. Debería ver la siguiente pantalla:

Configuración completada

Haga clic en el Reiniciar servidor para reiniciar su sistema. Después de un reinicio exitoso, será redirigido al panel de RavenDB como se muestra a continuación:

Tablero RavenDB

Haga clic en el CREAR BASE DE DATOS botón. Debería ver la siguiente pantalla:

Configurar la replicación en RavenDB

Proporcione el nombre de su base de datos y haga clic en el Crear botón. Debería ver su base de datos recién creada en la siguiente pantalla:

Crear una base de datos en RavenDB

Conclusión

¡Felicidades! Ha instalado con éxito RavenDB en Ubuntu 20.04. Ahora puede comenzar a explorar RavenDB para familiarizarse con él. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *