RavenDBは、.NET/Windowsプラットフォーム用に設計された無料のオープンソースドキュメント指向のNoSQLデータベースです。 RavenDBは、複数のデータベース、シャーディング、または複数のサーバー間でのデータのパーティション化をサポートします。同じインスタンスで数百または数千のデータベースを処理する機能があります。 RavenDBはJSONを使用してドキュメントを保存し、スキーマを宣言する必要がないため、開発者はデータをより自然に操作できます。
このチュートリアルでは、Ubuntu20.04サーバーにRavenDBをインストールする方法を学習します。
- Ubuntu20.04を実行しているサーバー。
- ルートパスワードがサーバーに設定されます。
開始する前に、システムにNETCoreランタイムをインストールする必要があります。まず、次のコマンドを使用してパッケージリポジトリをダウンロードしてインストールします。
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb
次の出力が得られるはずです:
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) ...
次に、次のコマンドでリポジトリを更新します。
apt-get install apt-transport-https -y
apt-get update -y
リポジトリが更新されたら、次のコマンドを使用して.NetCoreランタイムをインストールします。
apt-get install aspnetcore-runtime-3.1 -y
インストールが完了したら、次の手順に進むことができます。
RavenDBをインストールする
まず、次のコマンドを実行して、RavenDBの最新バージョンをダウンロードします。
wget -O ravendb.tar.bz2 https://hibernatingrhinos.com/downloads/RavenDB%20for%20Linux%20x64/latest
ダウンロードが完了したら、次のコマンドを使用してダウンロードしたファイルを抽出します。
tar xvjf ravendb.tar.bz2
次に、次のコマンドを使用してRavenDBに適切な権限を付与します。
chmod -R 755 ~/RavenDB
次に、ディレクトリをRavenDBに変更し、以下に示すようにセットアップスクリプトを実行します。
cd ~/RavenDB
./run.sh
次の出力を確認する必要があります:
./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.
この時点で、RavenDBが起動し、ポート43241でリッスンしています。次に、 CTRL + Cを押します。 終了します。
RavenDBを構成する
デフォルトでは、RavenDBにはローカルホストからのみアクセスできます。したがって、リモートホストからアクセスするように構成する必要があります。
settings.jsonファイルを編集して構成できます:
nano ~/RavenDB/Server/settings.json
次の行を追加/変更します:
{
"ServerUrl": "http://your-server-ip:8080",
"Setup.Mode": "Initial",
"DataDir": "RavenData",
"Security.UnsecuredAccessAllowed": "PrivateNetwork"
}
終了したら、ファイルを保存して閉じます。
RavenDBのSystemdサービスファイルを作成する
次に、RavenDBを管理するためのsystemdサービスファイルを作成する必要があります。次のコマンドで作成できます:
nano /etc/systemd/system/ravendb.service
次の行を追加します:
[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
ファイルを保存して閉じます。次に、次のコマンドを使用してsystemdデーモンをリロードします。
systemctl daemon-reload
次に、RavenDBを起動し、次のコマンドを使用してシステムの再起動時に起動できるようにします。
systemctl start ravendb
systemctl enable ravendb
次のコマンドを使用して、RavenDBのステータスを確認できるようになりました。
systemctl status ravendb
次の出力が得られるはずです:
? 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.
この時点で、RavenDBが起動し、ポート8080でリッスンしています。
RavenDBWebインターフェイスにアクセス
次に、Webブラウザーを開き、URL http:// your-server-ip:8080を入力します。次の画面が表示されます。
同意するをクリックします 使用許諾契約に同意するためのボタン。次の画面が表示されます。
ここでは、RavenDBをセットアップするための3つのオプションがあります。 保護されていないを選択します オプション。次の画面が表示されます。
HTTPポートとIPアドレスを入力し、次へをクリックします ボタン。次の画面が表示されます。
再起動をクリックします システムを再起動するサーバー。再起動が成功すると、以下に示すようにRavenDBダッシュボードにリダイレクトされます。
CREATE DATABASEをクリックします ボタン。次の画面が表示されます。
データベース名を入力し、作成をクリックします ボタン。次の画面に、新しく作成したデータベースが表示されます。
おめでとう!これで、Ubuntu20.04にRavenDBが正常にインストールされました。これで、RavenDBの探索を開始して、RavenDBに慣れることができます。ご不明な点がございましたら、お気軽にお問い合わせください。