Cómo instalar la base de datos RavenDB NoSQL en Ubuntu 20.04
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, sharding o partición de los datos en varios servidores. Tiene la capacidad de manejar cientos o miles de bases de datos en la misma instancia. RavenDB utiliza JSON para almacenar documentos y no requiere que se declare un esquema y permite a los desarrolladores trabajar con los datos de forma más natural.
En este tutorial, aprenderemos a instalar RavenDB en el servidor Ubuntu 20.04.
Requisitos previos
- Un servidor con Ubuntu 20.04.
- Una contraseña de root configurada el servidor.
Instalar las dependencias necesarias
Antes de empezar, necesitarás instalar el tiempo de ejecución de NET Core en tu sistema. Primero, descarga e instala 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 la siguiente salida:
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, actualiza el repositorio con el siguiente comando:
apt-get install apt-transport-https -y
apt-get update -y
Una vez actualizado el repositorio, instala el tiempo de ejecución .Net Core con el siguiente comando:
apt-get install aspnetcore-runtime-3.1 -y
Una vez completada la instalación, puedes pasar al siguiente paso.
Instalar RavenDB
En primer lugar, descarga 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 completada la descarga, extrae el archivo descargado con el siguiente comando:
tar xvjf ravendb.tar.bz2
A continuación, da permiso a RavenDB con el siguiente comando:
chmod -R 755 ~/RavenDB
A continuación, cambia el directorio a RavenDB y ejecuta el script de instalación como se muestra a continuación:
cd ~/RavenDB
./run.sh
Deberías ver la siguiente salida:
./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, pulsa CTRL + C para salir.
Configurar RavenDB
Por defecto, RavenDB sólo es accesible desde el localhost. Así que tendrás que configurarlo para que se pueda acceder desde el host remoto.
Puedes configurarlo editando el archivo settings.json:
nano ~/RavenDB/Server/settings.json
Añade / Modifica las siguientes líneas:
{ "ServerUrl": "http://your-server-ip:8080", "Setup.Mode": "Initial", "DataDir": "RavenData", "Security.UnsecuredAccessAllowed": "PrivateNetwork" }
Guarda y cierra el archivo cuando hayas terminado.
Crear un archivo de servicio Systemd para RavenDB
A continuación, tendrás que crear un archivo de servicio systemd para gestionar RavenDB. Puedes crearlo con el siguiente comando:
nano /etc/systemd/system/ravendb.service
Añade 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
Guarda y cierra el archivo. A continuación, recarga el demonio systemd con el siguiente comando
systemctl daemon-reload
A continuación, inicia el RavenDB y permite que se inicie al reiniciar el sistema con el siguiente comando:
systemctl start ravendb
systemctl enable ravendb
Ahora puedes comprobar el estado de RavenDB con el siguiente comando:
systemctl status ravendb
Deberías obtener la siguiente salida:
? 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 momento, RavenDB está iniciado y escuchando en el puerto 8080.
Accede a la interfaz web de RavenDB
Ahora, abre tu navegador web y escribe la URL http://your-server-ip:8080. Deberías ver la siguiente pantalla:
Haz clic en el botón Aceptar para aceptar el Acuerdo de Licencia. Deberías ver la siguiente pantalla:
Aquí hay tres opciones para configurar RavenDB. Selecciona la opción No Segura. Deberías ver la siguiente pantalla:
Proporciona el Puerto HTTP, la dirección IP y haz clic en el botón Siguiente. Deberías ver la siguiente pantalla:
Haz clic en el botón Reiniciar el servidor para reiniciar el sistema. Después de reiniciar con éxito, serás redirigido al panel de control de RavenDB como se muestra a continuación:
Haz clic en el botón CREAR BASE DE DATOS. Deberías ver la siguiente pantalla:
Introduce el nombre de tu base de datos y haz clic en el botón Crear. Deberías ver tu base de datos recién creada en la siguiente pantalla:
Conclusión
Enhorabuena! has instalado con éxito RavenDB en Ubuntu 20.04. Ahora puedes empezar a explorar RavenDB para familiarizarte con él. No dudes en preguntarme si tienes alguna duda.