In this part I’m going to discuss the various options for operating systems before making a recommendation and then taking you through the installation.
Because most home servers will operate “headless” (with no monitor or input devices attached) I’ll also take you through the process of accessing your server from another device on your network so that you can make changes to it.
When it comes to operating systems for any PC there are two main frontrunners; Microsoft Windows or some form of Linux based operating system.
When talking specifically about a home server device then the best solution will likely be a Linux based one. That’s not to say that Windows won’t do the job, it certainly will, but many Linux distributions have been designed specifically for a home server type role, and are better suited.
My personal favourite flavour of Linux, and the one that will form the basis for the rest of this guide, is Ubuntu. But I would be remiss if I didn’t advise you that there are other options out there. OS’s such as Fedora, Debian or FreeNAS are well suited to this sort of role, and I’d encourage you to check them out before committing to using Ubuntu.
That being said, there’s a reason I like Ubuntu. It’s the most popular variety of Linux out there, and because of that is the best supported by software developers and the easiest to get help with if you run into a problem. It’s not the fastest, the most resource friendly or even the prettiest, but it’ll do what we want it to do without too much tweaking.
The specific version I’m going to suggest is Ubuntu Server 18.04 LTS. At time of writing this is the latest “LTS” version of Ubuntu (Long Term Support), meaning that Canonical (the company that produces Linux) will support it with regular updates for five years from release. At time of writing that gives it between three and four years of active support before it will stop receiving updates, but as Canonical releases LTS versions every two years we will be able to update as long as our hardware continues to meet the minimum requirements for the OS.