I recently moved from Hostgator to Digital Ocean and this how/why I did it.
This is something I have been wanting to do for quite sometime. I tried a couple of years back to shift to a VPS but reverted to a managed host because VPS was expensive and it was time consuming.
With the likes of Digital Ocean, Linode and the grand old Amazon AWS offering more and better (read easier) options now, I decided to make the jump, yet again.
Also, I should mention that there is nothing specifically wrong with Hostgator. They have good hosting services with excellent customer service. But I was about hit the limits of their shared hosting and their VPS offerings are quite expensive.
So here is what I needed :
- Run a personal website plus a few test websites.
- Run an email server that will take care of my personal email
- Have some kind of a personal data backup system
- Run experiments (Twitter client, scraping data, RSS aggregator etc)
Why Digital Ocean?
Two simple reasons :
- Their extensive documentation. For someone like me who doesn’t have a lot of experience of dealing with Ubuntu servers, their guides are quite helpful. They are not 100% complete but it is a GREAT starting point.
- Easy to use – You can create and deply a droplet with the OS (along with different stacks if you want) within seconds.
What Did I do ?
First off, I experimented with some flavours of Linux (Ubuntu/CentOS), a range of Control Panels (Ajenti/Zpanel/ISPConfig/Centos’ Control Panel) and some server monitoring tools like Cacti.
The $10 free credit from Digital Ocean was put to full use. I deployed, destroyed and delpoyed again, more than a dozen times, before settling for the following.
- Ubuntu 14.04 with the AMP Stack
- Webmin (with Virtualmin) for Control Panel (This best suited my needs, though I liked Ajenti too)
- Postfix/Dovecot Email set up
- Periodical backups (of the websites and email) to Amazon S3
- Cloudflare for DNS
- Server monitoring using New Relic (experimental – I am not sure if I actually need this but subscribed to a free account)
I am hearing that apache isn’t ideal and I should shift to Nginix. But for now I am sticking to this before I learn more about Nginx.
I’ve also been reading about how a control panel is another level of complexity and I should stick to the command line. But this is sometime away. Right now the Control Panel lets me enable/disable services easily. So will use it for sometime.
To be continued…. Next up – How Did I Set Up The Server, the Control Panel, Move The Data, Set up Back ups and set up the monitoring.