Everything is online and in ‘the cloud’ these days with most of the important data we interact with being stored on a server far away. How hard can it be anyway? Why not trying running your own server?
Whether you want to save money by running your own server or simply fancy a new project to take advantage of the cool things you can do. There’s plenty of reasons why you might want to, and plenty of cool things to do with it such as to hosting your own games server for friends, running your own email from service or even a VPN server to give you a secure connection from anywhere around the world.
And If you thought running a server was expensive and only for big corporations, think again. You can pretty much use any computer you have and have it running on Linux for free.
Lets get started.
If you want to run a server, you’re gonna need some hardware to run it from. If you really feel like spending some money then you can’t really go wrong with a ProLiant server though for our purposes there’s really no need to spend any money at all.
It doesn’t need to be some fast and powerful enterprise-grade machine, instead you ran run it off just about any machine you have lying round the house like my old Packard Bell or a Raspberry Pi.
If for some reason you don’t have an old computer, then I guarantee somebody else you know does, why not ask if you can give their machine some new life, there’ll probably be all to pleased to be free of it. You can even go ahead and follow along using a virtual machine if you don’t have anything to use by running VirtualBox on your current device, after all this is exactly what you get from a commercial hosting provider.
The Operating System
After my last post about Why you should use Linux, my next suggestion shouldn’t really surprise you.
Technicalities aside. Linux is THE go-to choice for servers with nearly all huge commercial servers running some version of it. It’s also ideal for us as there’s plenty of distributions we can download and install for free rather than having to pay Microsoft for a license.
For this tutorial we’ll be using the Ubuntu Server distribution thanks to ease of use. I’d reccommend installing the most up-to-date Long Term Support (LTS) version available which ensures it will be well maintained with updates for the years to come. At the time of writing the version I will be using is 16.04 LTS, but you may have a more recent version.
Once you’ve downloaded the .iso you’ll need to either save this to disc or USB (If you’re using USB you need to convert your USB drive to a bootable format using software such as UNetbootin) for you to boot into. Then simply insert the media you’re using into the machine and power on. As it starts up enter the BIOS menu (Usually del, f12 or esc) and select the device you want to boot into from the menu.
You should then hopefully be greeted by the usual fair of set up screens, simply follow along selecting your language and keyboard input.
You’ll then be asked to provide a hostname for the system. This is essentially the name of the computer. For this tutorial we’ll just call it HomeServer, though you can call it anything you like.
And a username and password.
Interestingly there’s also the option to encrypt your hard drive, though it’s quite unnecessary for our purpose so you can just click ‘No’ and continue.
Then go ahead and mount the entire drive. You’ll also be asked for a http proxy but again, we don’t need to worry about that for now so just continue.
Next is the option for automatic updates, make sure to select yes and continue.
Finally the installer will ask if there are any additional software packages you wish to install alongside the OS. Go down and select OpenSSH server using the space bar, before pressing enter to continue. This doesn’t really matter too much as you can simply install them at any time. It’s simply there to make the process faster if you already know what you want.
Cruise through the new few screens and you should be finished. Allow the system to reboot – making sure to eject your installation disc/usb drive (Or the installation will repeat all over again)
The system should now boot up and greet you with the login screen.
Hopefully you remember your login information from earlier. (Also note that when your type your password in, it is registering, it just doesn’t print any placeholders like many programs).
If you’re new to this, you may be wondering where the graphical interface is. Ubuntu Server doesn’t have a GUI, and is instead entirely run from the command line. This can seem rather bleak at first but you’ll soon learn to find your way around and once you know a few commands you’ll find it’s actually much faster than clicking with your mouse.
The first command we need to use is to update our system as the system informs us there are currently 38 available.
sudo apt-get update
Finds updates that are available. Followed by
sudo apt-get upgrade
Which installs and upgrades the software.
Once this is finished, you might want to change your password to something more secure if you’re not happy with what you entered during the installation by entering:
If you didn’t install the OpenSSH server during the installation you can also do this now:
sudo apt-get install openssh-server
Once that’s finished, lets find out the local IP address of the device so we can connect to it. (Presuming you’ve connected it via ethernet by this point)
Brings up all the network information. Find the address of your machine, often something like 192.168.x.x
You can test this is the correct address by trying to ping the address from a different machine such as your main computer.
Assuming you got a response we can now SSH into the server to allow us to connect remotely without the need to hook up a monitor to it.
To connect to the machine on Linux, simply open your command line and enter
With the username being what you created earlier followed by the address of your server.
If you’re on Windows then you can’t do this straight from the command line but you can download an alternative client such as PuTTY.
You can now hide away your server under a desk or in the closet and simply manage from your normal desktop.
That’s great, but what now?
In the next few posts we’ll look at what you can do with it, such as your own web server, file storage, media centre, games server and more.