A home server can be extremely useful for managing your personal data like backing up your files, streaming your music, photos and videos and accessing locally installed services like webmail, webeditor, calendar, notes, contacts, finances and many more.
This is an introductory article for a series of articles for building, deploying, securing, maintaining, troubleshooting and administering your home server or any server in general.
A server, either external (hosted on 3rd party providers) or internal (in your home) is a computer dedicated to run an instance of an application (software) capable of accepting requests from the client (your PC, smartphone/tablet, TV etc.) and giving responses accordingly. Servers can run on any computer including dedicated computers, which individually are also often referred to as “the server”. Note that in theory, any computerized process that shares a resource to one or more client processes is a server.
Materials and Methods
Before we get started, I would suggest that you should get a member of your family (kids, brother/sister, grandma? ) or a friend involved to the DIY Home Server project because it will be more fun and entertaining than to work alino on the project.
To be able to build a home server we need to understand some terms:
- Operating System
The computer that will take the role of a home server could be any spare computer lying around. Unfortunately though this would mean that the this computer will have to be 24/7 powered on, could be loud and the consumption of electricity would make it not viable for the role. That is why I suggest avoid using common computers for home server role but instead buying a credit card-sized single-board computer like:
This type of computers are low on power consumption, silent and generally provide more “value for money”. The total return of investment exceeds the one that will be provided by a common computer.
The network is the “glue” that connects our server with the various clients (as mentioned earlier).
The network is consisted of
- IP assignments
Our router is actually a mini internet/dhcp server and its role is to provide Internet connection, IP addresses and data/requests deliverance, among other things through the cables to the the clients and vice versa.
There are specialized free (as in beer and freedom of speech) operating systems for the server role that are compatible with the single-board computers that I mentioned earlier. Most popular among them are:
- Arch Linux
Personally I prefer Ubuntu because of their predefined development cycle and the 5 years of support on software updates.
You should choose the one that you are comfortable administering as this will be installed on the server for years to come.
Clients are any devices that connect and exchange information with our home server. The kind of exchange depends on the types of services that the server provides and the capabilities of the device that request those services. A home server usually provides:
- Centralized storage
- Media serving
- Information (calendar, contacts etc.)
- Security monitoring
- P2P file sharing
Results and discussion
Now that we’ve discussed the core terms of building a home intranet, we should be able to create a draft plan of the parts that we will need to succeed in our project.
I should mention that building a home server not only pays off but it is fun and educative. So stay tuned for the next article either by subscribing to newsletter or following me at social nets.