Comment installer la base de données NoSQL RavenDB sur Ubuntu 20.04

RavenDB est une base de données NoSQL gratuite et open-source orientée documents, conçue pour la plateforme .NET/Windows. RavenDB prend en charge plusieurs bases de données, le sharding, ou le partitionnement des données sur plusieurs serveurs. Il a la capacité de gérer des centaines ou des milliers de bases de données sur la même instance. RavenDB utilise JSON pour stocker les documents et ne nécessite pas de déclarer un schéma, ce qui permet aux développeurs de travailler avec les données de manière plus naturelle.

Dans ce tutoriel, nous allons apprendre à installer RavenDB sur le serveur Ubuntu 20.04.

Conditions préalables

  • Un serveur exécutant Ubuntu 20.04.
  • Un mot de passe root est configuré sur le serveur.

Installe les dépendances requises

Avant de commencer, tu dois installer le runtime NET Core dans ton système. Tout d’abord, télécharge et installe le dépôt de paquets avec la commande suivante :

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

Tu devrais obtenir la sortie suivante :

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) ...

Ensuite, mets à jour le référentiel avec la commande suivante :

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

Une fois le référentiel mis à jour, installe le runtime .Net Core avec la commande suivante :

apt-get install aspnetcore-runtime-3.1 -y

Une fois l’installation terminée, tu peux passer à l’étape suivante.

Installe RavenDB

Tout d’abord, télécharge la dernière version de RavenDB en exécutant la commande suivante :

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

Une fois le téléchargement terminé, extrais le fichier téléchargé avec la commande suivante :

tar xvjf ravendb.tar.bz2

Ensuite, accorde la permission à RavenDB avec la commande suivante :

chmod -R 755 ~/RavenDB

Ensuite, change le répertoire en RavenDB et exécute le script d’installation comme indiqué ci-dessous :

cd ~/RavenDB
./run.sh

Tu devrais voir la sortie suivante :

./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.

À ce stade, RavenDB est lancé et écoute sur le port 43241. Maintenant, appuie sur CTRL + C pour quitter.

Configurer RavenDB

Par défaut, RavenDB n’est accessible que depuis le localhost. Tu devras donc le configurer pour qu’il soit accessible depuis l’hôte distant.

Tu peux le configurer en modifiant le fichier settings.json :

nano ~/RavenDB/Server/settings.json

Ajoute / Modifie les lignes suivantes :

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

}

Sauvegarde et ferme le fichier lorsque tu as terminé.

Crée un fichier de service Systemd pour RavenDB

Ensuite, tu devras créer un fichier de service systemd pour gérer RavenDB. Tu peux le créer avec la commande suivante :

nano /etc/systemd/system/ravendb.service

Ajoute les lignes suivantes :

[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

Sauvegarde et ferme le fichier. Ensuite, recharge le démon systemd avec la commande suivante :

systemctl daemon-reload

Ensuite, démarre le RavenDB et active-le pour qu’il démarre au redémarrage du système avec la commande suivante :

systemctl start ravendb
systemctl enable ravendb

Tu peux maintenant vérifier le statut de RavenDB avec la commande suivante :

systemctl status ravendb

Tu devrais obtenir la sortie suivante :

? 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.

À ce stade, RavenDB est démarré et écoute sur le port 8080.

Accéder à l’interface Web de RavenDB

Maintenant, ouvre ton navigateur Web et tape l’URL http://your-server-ip:8080. Tu devrais voir l’écran suivant :

Licence RavenDB

Clique sur le bouton Accepter pour accepter le Contrat de licence. Tu devrais voir l’écran suivant :

S sécur sécuriser la base de données

Ici, il y a trois options pour configurer RavenDB. Sélectionne l’option Non sécurisée. Tu devrais voir l’écran suivant :

Configurer les ports de la base de données

Indique le port HTTP, l’adresse IP et clique sur le bouton Suivant. Tu devrais voir l’écran suivant :

Configuration terminée

Clique sur le bouton Redémarrer le serveur pour redémarrer ton système. Après un redémarrage réussi, tu seras redirigé vers le tableau de bord RavenDB comme indiqué ci-dessous :

Tableau de bord RavenDB

Clique sur le bouton CREATE DATABASE. Tu devrais voir l’écran suivant :

Configurer la réplication dans RavenDB

Indique le nom de ta base de données et clique sur le bouton Créer. Tu devrais voir ta base de données nouvellement créée dans l’écran suivant :

Crée une base de données dans RavenDB

Conclusion

Félicitations ! Tu as réussi à installer RavenDB sur Ubuntu 20.04. Tu peux maintenant commencer à explorer RavenDB pour te familiariser avec lui. N’hésite pas à me demander si tu as des questions.

Vous aimerez aussi...