Install Elasticsearch in 5 Minutes on Digital Ocean

May 29, 2014


This is a short tutorial to install Elasticsearch in 5 minutes on Ubuntu in a Digital Ocean droplet. I've been working with WordPress for a long time and what really got me hooked in the early days was the "Famous 5-Minute Install". I'm extending that same concept to one of my new favorite tools - Elasticsearch. It's a super fast search service built on Lucene that has an embedded RESTful JSON API. Since it's native JSON, any object you have in your code - whether it be a Javascript object or a C# object - can be serialized and inserted into an Elasticsearch Index. So technically you can use it as a NoSQL database. It clusters and does a lot of other fancy stuff but that's not the point of this article. Anyway you probably already know what it is if you stumbled on this post so lets get your very own Elastic Search sandbox up and running...

Step 1: Get A Server

Screen Shot 2014-05-23 at 1.23.28 PMIn order to get this done in 5 minutes we're going to use Digital Ocean to spin up a cloud server. Why? Because it's awesome and your server will be ready in 55 seconds... It's cheap to run and free to get started if you use one of their many promo codes. If this doesn't sound awesome to you, feel free to spend an hour or so setting up a Linux virtual machine. Either way, this tutorial assumes you are going to run ElasticSearch on Linux, specifically Ubuntu. So after you sign up for Digital Ocean, setup a free  Ubuntu Droplet (more info than you need is here). They'll email you the root password and you should be good to go to access the Linux console from their website. Screen Shot 2014-05-23 at 1.31.38 PM Note: there are a bunch of other things you'll want to do if you run this server in production - like setting up SSH, disabling root login, and other things. Follow this tutorial for 'Initial Server Setup With Ubuntu' for more details.

Step 2: Install Elasticsearch

Now you are ready to install Elasticsearch. Fortunately that's the easy part. Run the shell script in this gist to get up and running. Aaaand you're done. Want to make sure it's running? Run a curl in your console, hitting port 9200.

curl http://localhost:9200

You should see something like this giving you some meta data about your Elasticsearch instance.   Install ElasticSearch In 5 Minutes Now, if I had DNS setup for this hostname, you will now be able to hit Elasticsearch externally with but for now you can just go at the public IP address that Digital Ocean provides. This is the first in a series of posts on my experiences working with Elasticsearch. Do you have any questions on how to install Elasticsearch? Now onto your next step: Securing Elasticsearch. Note: Links to DigitalOcean use my referral code. I'd recommend them if I didn't have a referral code.

Active Projects

Here are some of the projects I am currently working on. Some are side projects, some are client projects, and some are just for fun. I like to build things and I like to share what I learn along the way. If you have any questions about any of these projects, feel free to reach out.

📦 Flow Export

Export Salesforce Flow to Miro to collaborate with your team. Read more about the launch of Flow Export on the Salesforce AppExchange.

🤖 Make Storytime

Personalized children's stories generated by AI. This is an app I am building with my kids.

📠 Fax Online

Yea, I know. But there is a long tail for everything and believe it or not there was an underserved market for people that need to send a fax online. Some people (like me!) just need to send a one time fax.

Read more about this micro Saas project in a blog post about building an online fax service.

📱 Cloud Number

Cloud Number is a virtual phone app that helps you protect your privacy online. Use it to receive SMS online and keep your phone number private. It's also a great service for a freelancer or entrepreneur that wants to have a separate phone for their business for SMS and voicemail.

🥑 Free URL Indexer

Free URL Indexer is a free tool to help you index your backlinks and get them into Google faster. It's a simple tool that I built to help me with my own SEO efforts and I decided to share it with the world. It's a free tool and I don't even ask for your email address. Just paste in your URL and click the button.

👉 See all projects