For over a decade I’ve been using GoDaddy shared hosting for small websites that I run (which includes my personal site and this blog). While it’s been sufficient, there’s been A LOT of improvements in both technology, as well as my comfort zone when it comes to server administration. It was time to do some digital housekeeping—this article outlines some of the decisions that I’ve made and where I’ve landed when it comes to my personal hosting setup.
NOTE: I’m not affiliated with any of the companies mentioned in this article. This is not a sponsored post (I wish it was), and everything outlined here is purely based on my opinion and personal experience.
Old Personal Hosting Setup
When I first decided to use GoDaddy shared hosting, I was still in college and just needed a place to host my portfolio website. It provided ample disk space, the typical LAMP stack, and an email forwarding feature that I still currently use with my gmail account. I was a front end developer who knew very little about configuring web servers. As long as I could pop open FileZilla and upload my files, everything was all good.
As web technology progressed throughout the years, so has my needs for an online solution that can give me more control over a server’s capabilities.
There’s a couple of things that I wanted to have or be able to do when looking for hosting alternatives. I wanted:
- Full SSH Access
I wanted to be able to install/upgrade/downgrade software on the server. I want to be able to install Node, PHP, and Ruby alongside each other if I wanted to. Of course there’s a very low chance of that happening, but just knowing that I can makes me feel better.
- SSL Enabled
At this point in time, all websites—regardless of how small—should be running on https. While GoDaddy doesn’t prevent me from installing SSL certificates, I do find that it was more complicated (and expensive) than it needed to be. I’m all about Let’s Encrypt, and using that with GoDaddy’s shared hosting is not a rabbit hole I want to dive in to.
- Email Forwarding
Cancelling my GoDaddy hosting meant that I would be forfeiting the email forwarding add-on it came with. Which meant that unless I pay for an email service subscription, I wouldn’t be able to accept emails sent to my custom domain.
- To Learn Something New
As with everything that I do, I try to learn something new from the experience.
New Personal Hosting Setup
Since I wanted full control over my server, shared hosting was no longer a viable solution. I’ve used cloud servers from Rackspace, AWS, and Google Cloud in the past, but wanted to take the opportunity to try something new. After reading about what’s available and comparing pricing, it became a decision between Vultr and Linode, and I ended up settling on Linode after reading customer reviews.
My blog runs on WordPress, which meant getting a LAMP stack up and running. Firing up a Linode instance from an Ubuntu 17.04 image was relatively fast compared to the previous cloud platforms I mentioned earlier. My other sites are extremely small and static for the most part, so I opted to just set them up as vhosts in the same Linode instance. Apache, mySQL, and PHP installations were smooth and had no issues with the Ubuntu image that was provided.
DNS & Email Forwarding
All of the domains I own a registered with GoDaddy and that was fine for my purposes. I could simply update the A Records to point to my new Linode server’s IP address but since I was ditching my GoDaddy shared hosting, I was going to lose my email forwarding.
Here’s where namecheap comes to the rescue. Namecheap offers a free dns service which also provides free email forwarding…this was a big win. I pointed my GoDaddy domains to namecheap DNS servers, and set my A Records and email forwarding options through the namecheap interface. For anyone who’s dealt with domain records before, it was a fairly straight forward process.
This was the first time I’ve used namecheap for anything, and my experience was so good that I’m most likely going to transfer my domains to them at some point.
As previously mentioned, I’m a big fan of Let’s Encrypt. For those unfamiliar, Let’s Encrypt provides free SSL certificates (backed by a handful of tech giants) with the goal of making the web secure for everyone. Since I have full shell access to my new server, I was able to use CertBot and painlessly assign SSL certificates to my websites.
Since this is the first time I’ve used both Linode and Namecheap, time will tell if this personal hosting solution will be maintainable. Learning about namecheap’s free dns and email forwarding service was my biggest takeaway from this experience and will most likely keep using it in the future as long as it’s available.