So I’ve been hosting most of my sites forever on JustHost. I’ve basically never had a problem except when a bunch of sites aside from mine were down for a couple days. It’s cheap shared hosting and I’ve been here since 2009 without issue — so why move? Well. I wanted to learn more things about running a VPS, and setting up an actual server.
Prior “Experience”
In a particularly nightmarish scenario I will share in brief: as someone who works primarily with WordPress and does front-end web development and has zero actual server experience outside of cPanel/WHM/Plesk, I was basically told to get a server going in ~5 hours to serve a website launched at a 10,000+ person party. This was also while basically finalizing development on the website itself and making tons of last-minute changes. And having to answer the phone for random customer support. And talk about the website to lots of other people. By 9 PM I couldn’t do it, someone who actually knew what they were doing bailed me out. This is still and will probably always be my worst day at work.
So yeah. I was very ill-prepared then, and it kind of scarred me and put me off server-related things. I know that’s not good, though, and I do want to learn. Because at least setting up a VPS and making it secure and installing Apache, MySQL/MariaDB, PHP, and everything else needed to run a website — well, it isn’t completely out of my domain of knowledge. It’s good to know. And it helps me understand the things I already do better.
First Attempt
So I bought a Linode $10/month account. When I first attempted to set it up, something caught me up. It was a couple months back and I don’t remember what it was — or even what Linux distribution I used for its set up. But it wasn’t working and I either ran out of time or gave up, and by the time I came back to it I couldn’t remember where I was.
So I’ve been paying for it while it sits empty and un-set-up. I had mentioned this to my coworker last week and once I said it, it started bugging me I was paying for something and not using it. So I tried again this weekend.
Second Attempt
I wiped all of my previous attempts to get it going and started fresh. I chose to use CentOS 7 because that’s what I used at work on WHM previously. I know the guides suggested other distributions and maybe I made a bad choice? But I didn’t have to mess with iptables which seemed a little confusing/overwhelming, so that was nice. CentOS 7 apparently comes with a firewall so that you don’t have to do anything with iptables.
Speaking of which — that was the only thing that tripped me up with the actual VPS set-up! I forgot to allow traffic to Apache’s port 80 through the firewall and couldn’t get anything to load when I tried to load my server’s IP address. It just kept timing out. Thankfully I figured it was probably something like that, because I could ping the server and I was connected through SSH and SFTP on WinSCP — just HTTP seemed to be down.
So I was able to backtrack, allow port 80 traffic, and then — whoa, look an Apache default page. This was a ridiculously satisfying moment considering my prior nightmare experience! Pretty sure the Zelda chest-opening-sound played in the background when the page loaded.
From there the process was actually fairly familiar — due to prior experience with XAMPP, I’ve set up virtualhosts before. I’ve also imported MySQL databases before, no worries. Working with XAMPP prepared me (in tiny ways) for working with Apache and MySQL on the server, which is awesome.
Linode Documentation
I have to say, there’s no way I could’ve done this without the documentation Linode provides. There is just something about the way the Linode documentation explains things and lays them out plainly that was very easy to follow once I committed to getting my hosting up and running.
Even as I googled for other resources throughout this process, many of the things outside of the Linode documentation just confused me — they seemed to be written for people with deeper understanding than me, I guess? I’m not sure. I was able to follow the quick start tutorial almost all the way through to the end. I had to seek out some CentOS 7 specific resources, but I think that’s the trade-off for picking a distribution that the docs don’t specifically recommend for newcomers?
Future!
Any which way though — I’m very happy to have gotten up and running here. I know there are probably going to be issues and problems I wouldn’t face on shared hosting, but it’s my personal site alone so it’s not the biggest deal in the world. I’m happy to be learning more and to have the opportunity to do stuff here. One of the things I want to do in the future is trying Varnish for a cache. But I know I have a lot of basic stuff to learn first… so here goes, wish me luck!