Goodbye Dreamhost. Hello, Linode + Cloudflare

This week I moved this website from a Dreamhost shared server to a Linode VPS. I then distributed that Linode server through Cloudflare.

It took me a a day and a bit to get it working well on Linode1. Most of the work was
i) backing up databases and files from Dreamhost and transferring them to Linode, and
ii) ironing out the kinks with the WordPress/PHP configuration that I didn’t have to manage at Dreamhost.

I also had to configure the sites on Apache by myself—it was fairly straightforward—and set up some security measures and firewall. I’ve always had separate domain registrar (Gandi now, Godaddy earlier), hosting provider (Dreamhost earlier, now Linode fronted by Cloudflare), and email provider (Google Apps + Dreamhost/Gandi), so configuring DNS wasn’t a bother.

The website was already faster and more stable after moving to Linode. I had been itching to use Cloudflare2 for a while, and decided to give it a try. I switched the other website first. It worked fine, so the next day I switched this one as well.

Switching on Cloudflare was a breeze. No messing with config files or terminal was required (though I kind of missed it3). They auto-detected all the DNS settings from my existing Linode server. I only need to change the name servers at Gandi, and wait for the change to propagate. I’d done a bit of research on common issues people face when connecting WordPress with Cloudflare, and was prepared for them. Thankfully, none of them appeared for me.

With the full Linode+Cloudflare configuration now in place, the website is massively faster than it ever was on Dreamhost. It’s served through a global CDN, the server is better specced, and gets a lower peak load due to CDN caching.

The other interesting bit: this amazing Linode+Cloudflare setup costs me half of what the Dreamhost shared server did.

I am happy 😊


  1. It massively helped that my primary OS had been Linux/Ubuntu for the last 10+ years. As a result, I am very comfortable with terminal/bash, which was required since the Linode setup was completely through ssh (secure shell/terminal connection).
    My rusty vim skills came in handy as well, for creating/editing all the config files. It’s really surprising how many commands I remembered despite not having used it in many many years. 
  2. I’ve long admired Cloudflare as a company. And I understand, and value, the service they provide. They even have a fairly generous free tier. It was just inertia, and a lack of understanding about how to set it up with Dreamhost that had stopped me so far. 
  3. Due to a mess-up, I couldn’t use FileZilla for transferring files between the servers, and was forced to use scp from the terminal/ssh. I so fell in love with scp that yesterday I used it even when I could’ve easily connected through FileZilla 🙂 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.