This post is part of our series on Getting off Google. This first post details how to set up a Virtual Private Server (VPS) and begin to moving away from Google’s grasps. Taking more control of your hosting environment is the first step in getting off Google. The second post explains how to install things on your VPS so you can host your own data (websites, documents, and other information). The last post will walk you through how to setup Apache (the software that turns your VPS into a web host).
We’re trying to kick our Google habit. And not just Google: all the other third-party services that we rely on to communicate and share information. The recent revelations of mass surveillance have provided the motivation for us to put much more energy into managing our information ourselves. So we’ve started the sometimes frustrating and sometimes fun process of learning how to do it. None of us are system administrators or coders, so we were intimidated at first. But now we’ve gone and done it: we set the goal of moving off of commercial web services by the end of the year. I’ve taken on the responsibility of learning the things we need to know to get us there (and to document the headaches and the successes along the way). This post is a first in a series of what I’m learning as I go. The first step in getting off Google: taking more control of our hosting environment.
When we first put together the engine room website, we were lucky to have a friend host it for us. It was a great way to get a web presence quickly, and the site wasn’t more than a few pages so at first there wasn’t much to manage. As the site grew we found ourselves asking our friend for more and more maintenance favors, and decided to move to a more traditional hosting provider. We spent a lot of time deciding where to host our site and shared our research on that process.
Our biggest criteria for choosing a hosting solution were a trustworthy company and a service we could afford, and Electric Embers provided that for us. But since we work as a distributed team, there are a lot of online services (collaborative docs, email, chat, VoIP – more on moving to Jitsi here, and file sharing) that we use to communicate and collaborate. What does that mean in practice? For starters we have been setting up a server and I’ve been learning how to manage our system administration. It hasn’t been all roses, so I decided to start blogging it. (To make it easier for others that may be interested in trying it, and also to vent about the process as I struggle with technology demons.) It’s an involved process, but the first big step was moving from private shared hosting (where the web hosting provider manages the server configuration) to virtual private hosting (where we do the system administration ourselves). Here’s a quick overview for more information on the types of hosting and what it means.
This first post will focus on our hosting environment and how we chose it. Private shared hosting has worked well for us: we didn’t have to set up the infrastructure to manage the server, it was ready to go immediately, and more importantly we couldn’t break anything too badly. But once we developed our wish list for the year to get off of closed systems, we quickly realized that without more control over our server environment we couldn’t do any of the things that we wanted to do that involved replacing online services.
The first step we took to managing our own services? We set up a Linode server (short for Linux Node) and started paying 15 dollars a month to have access to our own virtual private server (VPS).
Big decisions to think about when setting up your VPS:
1. How much storage space and transfer bandwidth do you need?
This was pretty easy for us to decide. We picked the smallest server available because we don’t have a lot of big files on our site, we only have a few thousand visitors a month, and we knew our plan with Electric Embers was sufficient.
2. Where do you want it located?
This question is harder. And with the frequency (and increasing geographic scope) of leaks about government snooping, it’s likely not going to get any easier. We chose London to keep it out of the US. And while I’m still not comfortable with the data being hosted in the UK, I’ve sidestepped the chasing-the-tail conversation about the best place to put the data. The only other non-US option for Linode is in Tokyo.
3. What operating system do you want it to use?
Once you have your Linode purchased, you have to decide what operating system you want it to run on. It’s a server, so user interface (UI) isn’t an issue (all of these operating systems use the same dark black hole of BASH – the picture to the left was the intimidating terminal window I was left with after installation and setting our server name – more on that later). But every operating system uses subtly different commands and is used for different types of things (so the support on forums varies). We are using Debian, but the most common operating system at Linode is Ubuntu (56% to Debian’s 21%). Other operating system available on Linode by popularity with Linode users: CentOS (17%); Fedora (2.2%); Arch (1.8%). I picked Debian because one of our system administrator friends recommended it, and so far there hasn’t been an issue that I’ve had trouble finding a community to ask.
Getting a server with an operating system and an IP address is all well and good, but how do you get it ready for the internet? This is when things get tricky and the learning really begins.
I’ll go into more detail in the next post about how to make your server accessible from the big bad internet through the IP address that Linode assigned to your server. It’s not as straightforward as I was expecting. But, I went from a know-nothing who had managed files and directories that a website is made of, fixed broken links, used content management systems (mostly WordPress), and played around with plug-ins to a novice system administrator with a few hours of exploring.
It hasn’t been easy, but I for one have enjoyed the geeking out over the last few weeks, and I am excited to learn how to take more control over the technology behind our organization.