RavenDB is an open source, ACID, and fully transactional NoSQL database that was designed for the .NET platform and supports multiple databases, sharding, has an advanced query language, offers high availability and clustering, can be integrated with relational databases, and much more. RavenDB is used for primary data storage and is capable of handling multi-document transactions. You’ll want to use this database for workloads that need to be fast, agile, and scalable.
But how do you install RavenDB? I’m going to show you. I’ll demonstrate on the latest LTS release of Ubuntu Server (20.04).
What you’ll need
A running instance of Ubuntu Server 20.04
A user with sudo privileges
SEE: MSP best practices: Server deployment checklist (TechRepublic Premium)
How to install RavenDB dependencies
The first thing to be done is the installation of the necessary repository for the dependencies. To do that, log in to your Ubuntu Server and issue the command:
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
Once the .deb file has downloaded, install it with the command:
sudo dpkg -i packages-microsoft-prod.deb
Update apt with the command:
sudo apt-get update
After apt has updated, install the necessary dependencies with the following command:
sudo apt-get install apt-transport-https aspnetcore-runtime-3.1 -y
How to download and configure RavenDB
Now we can download the RavenDB file with the command:
wget -O ravendb.tar.bz2 https://hibernatingrhinos.com/downloads/RavenDB%20for%20Linux%20x64/latest
When the download completes, unpack it with the command:
tar xvjf ravendb.tar.bz2
You should now see a newly-created directory, named RavenDB. You can either leave it there or move it to a different location. I’m going to assume you’ll leave it where it is, so the direct path will be /home/USER/RavenDB (where USER is your username).
Next, we can modify the RavenDB configuration file. Open this file for editing with the command:
In that file, change the ServerUrl line to match your server’s IP address and add a new line prior to the final brace. The finished configuration file will look like:
Where SERVER_IP is the IP address of your hosting server.
Save and close the file.
How to create a systemd file
Now we must create a systemd file, so RavenDB can be started. Create the new file with the command:
sudo nano /etc/systemd/system/ravendb.service
In that file, paste the following:
Where /PATH/TO is the actual path to the RavenDB folder. Make sure to not use ~/, as systemd will not parse that correctly. If you leave RavenDB in your home directory, that line might look something like:
Save and close the file.
Reload the systemd daemon with the command:
sudo systemctl daemon-reload
Start and enable RavenDB with the commands:
sudo systemctl start ravendb
sudo systemctl enable ravendb
At this point, RavenDB is running and listening on port 8080.
How to access the RavenDB web interface
With RavenDB running, you can now access its web interface. Open a browser and point it to http://SERVER_IP:8080 (where SERVER_IP is the IP address of the hosting server). You should be greeted by the RavenDB EULA (Figure A).
In the next window, you can select whether you want a secure (SSL) or insecure (non-SSL) server (Figure B). Insecure is fine for development purposes (which is what I selected). If you’ll be using this in production, you’ll definitely want to go the SSL route.
Make your selection and click Next. In the resulting window, you must complete the configuration of the server by configuring an HTTP port, TCP port, and IP address (Figure C). Because the setup wizard is using port 8080, you cannot use that as the HTTP port, so select another port (such as 8081).
After filling out the information, click Next. When prompted, click Restart Server (Figure D).
After the server restarts, you can access the web interface via the IP address and port you configured. The web interface allows you to do everything you need with RavenDB (Figure E) .
Congratulations, you now have a powerful, scalable NoSQL database server running on Ubuntu 20.04.
Subscribe to TechRepublic’s How To Make Tech Work on YouTube for all the latest tech advice for business pros from Jack Wallen.