Dennis Dornon
Hi, I'm Dennis Dornon! As the creator and co-founder of MainWP, my team has helped thousands of web professionals streamline their WordPress maintenance workflow.

Over on the MainWP User group there was a few mentions on how well a small DigitalOcean Droplet performed with a large number of child sites. I’ve never used a DigitalOcean droplet so decided to give it a test myself with the MainWP Dashboard on a Droplet and child sites on different non-DigitalOcean servers.
Let me start this tutorial with one rather large caveat, if you are not someone who is familiar with servers you will need to read some tutorials to get things up and running properly.
Don’t let that scare you! I’m as far from a server person as you can be and I was able to handle the setup without issues in about 90 minutes (and I still had to find the tutorials that I give you here)
This is a basic setup for testing purposes I would suggest that if you use this for your permanent MainWP Dashboard you will want to dive more into security hardening your server. Security hardening a server is way beyond my knowledge-base I won’t even pretend here.
Since so much of what we need is covered in depth by DigitalOcean, I’m also not going to re-write their tutorials but link you over to them for you to complete then return here for further instructions.
A Droplet is basically a “cute” name for your own Virtual Private Server (VPS).
DigitalOcean’s services excel at price and hardware are are geared towards developers and DIYer’s so if you are not willing to get your hands dirty this may not be the service for you.
This post is going to contain a lot of links out to tutorials and other sites. The only affiliate link is the DigitalOcean link in bold right below.
This link provides me a $25 credit to DigitalOcean so I can keep testing while also providing you a $10 credit for your own testing so it’s a win – win. For more details on the link check here
DigitalOcean Referral link
With that out of the way let’s get started.
A dedicated domain name
SSH Terminal – I decided to use MobaXterm Home edition for the test and it was easy enough
If you are new to server management, Patience! 🙂
We’ll start by visiting DigitalOcean’s one click install of WordPress and signing up. Once you signup you will be on the “Create Droplets page” under Choose an image select “One-click apps”.

For my installation I selected WordPress on 16.04 on the $10 a month droplet (remember the affiliate link from earlier will get you a $10 credit). This is the smallest droplet you can select and use the automatic WordPress install.

The One-click install automatically installs Ubuntu 16.04, Apache, MySQL, PHP and WordPress saving some headaches in getting started.
Using the one click option also installs some security for you automatically including iptables, UFW and fal2ban.
Getting Started Tutorial How to use the WordPress One-Click Install on DigitalOcean – Do not let this overwhelm you!
Now that you have gone through the steps of getting WordPress setup we still need to tweak the server to work for your MainWP Dashboard. Most options pass the Dashboard tests right right after installation however we have 3 issues.
The cURL Extension is not enabled, the cURL timeout is to short and the WordPress Memory Limit is to low.

We’ll want to get those fixed before moving on. Especially the cURL Extension issue so we’ll get that installed first.
The WordPress one click install does not come with cURL enabled so we need to add that. At this point I’m going to assume you now have the basics of using SSH from the One-Click install tutorial. Ubuntu 16.04 gives us PHP 7 by default so we will need to install cURL for PHP 7 using the steps below:
sudo apt-get install curlsudo service apache2 restartsudo apt-get install php7.0-curlsudo service apache2 restartThat’s it you now have the required cURL module installed!
Your SSH Screen will look similar to this:

I neglected in my notes where these steps came from so if anyone knows I’ll be happy to give credit.
Now that we have cURL setup we want to increase the cURL timeout to the suggested level.
There are a few steps involved here so it’s time to send you over to another tutorial:
How To Change Your PHP Settings on Ubuntu (I know this says 14.04 but will work fine in our version)
In our case you are going to want to adjust default_socket_timeout = 300
Now that we have fixed our cURL issues is time to dive into the final fix for WordPress Memory Limit
sudo nano /var/www/html/wp-config.phpdefine('WP_MEMORY_LIMIT', '256M');
This is a step you can skip for now if you want and come back to it later.
It’s always good to include as much security as you can for your MainWP Dashboard site so let’s take a few moments and install the Free Let’s Encrypt module this way we can allow communicate through HTTPS.
Once again let’s visit a Digital Ocean tutorial for this: How To Secure Apache with Let’s Encrypt (again I know this says 14.04 but will work fine in our 16.04 version)
Now that we have the server setup to maximize your MainWP Dashboard potential all that is left to do is log into our WordPress site and install the MainWP Dashboard plugin.
Now that we have a MainWP Dashboard all set up on the DigitialOcean droplet in the next few days I will be running tests with 100 child sites to see how far we can push this $10 a month hosting 🙂
Manage Unlimited WordPress Sites from One Dashboard!