Want to learn how to set up a server with minimal cost? Learn How to build a server in just 15 minutes. Know all the components that you will need in a server and how to optimize the server according to your needs. Alternatives to a home server and what are the commercial data centers. How to reduce the overall cost of operation and which hardware will be best for you. Know where you should invest your time and money and where to spend less and not at all. How to optimize the server to best suit your need and how to avoid damaging your server from over clocking.
What is a server?
A server is any computer or any hardware which is used to provide functionality for “clients”, clients are other programs or devices. This model of service is known as “client-server” and provides different functionalities depending on the request. These requests or functionalities are known as “services” and include data or resource sharing amongst multiple clients or computational requests from clients. The advantage of servers over different machines is that a single server can serve a number of clients. Now it is not uncommon for a client request to run on different servers or bounce to another server if one server is busy. This enables a client request to be fulfilled in less time or fast enough, there are several servers of the same company on any network.
Don’t Miss: Web Hosting – Bluehost.
How to build a home server?
Now, there is a difference between a dedicated server and a home server, mostly the processing power and cost vary a lot. We would suggest you run an open-source operating system, this is a popular way of setting up a home server. Now you can choose to either use it for your personal use or turn it into a passive income by hosting a website. You can choose to make your website which can be either a blog page or a small business website.
Or just made a server for personal photos and videos which you can access anytime over the internet and will be much safer and cheaper than any cloud storage. Now the guide will be a little longer as setting up a server is no quick task and need proper setup. We will see how to set up a home server and will try to keep it as short as possible for you without losing any important detail.
Purchase dedicate Bluehost Hosting:
Home server alternatives
We all can agree that setting up a home server is one of the most exciting things a tech enthusiastic guy can do. However, depending on your requirements you may want to look for other alternatives. You need a good and reliable internet connection for setting up a home server, but if you don’t have it then it may not be for you.
In case your purpose for setting up a server in the first place is then it is more ideal to get a could service for this purpose, it will cost less in long run. A “cloud” is commercial data centers on which various clients put their data or websites and this makes the overall operational costs significantly less. If every person uses their server instead of commercial data centers, then you will have slow loading speeds or frequent server shutdowns.
If you decide to use a commercial data center on an hourly or monthly basis, then you can keep your operational costs low. This is a very popular method for virtually every company, mostly for web-based companies and startups. However, if you play your cards well and do proper research then you can get good prices. But it can be expensive if you choose the wrong plans or the wrong provider. Some of the most popular data centers are Google Cloud Platform, Microsoft Azure, Amazon Web Services. Now, these platforms use a command-line interface for the interaction on their platform to initiate a server. Some of the companies offer personal customer support for setting up your server, now you can learn more about this on the official websites.
What you need to set-up a server
There is a list of items you need for this, we have mentioned all of them in the list down below. Note that before you start with your build, check for prices of all the components online, and compare different brands.
- Any computer with a powerful CPU.
- Basic I/O (Input Output) devices.
- Any broadband connection.
- Ethernet cable and a networking router.
- CD/DVD driver (this is optional as optical drives and optical storage is out of fashion nowadays).
1) The hardware or computer
Now there are no particular requirements for the PC to be powerful but we would suggest you get yourself a good PC. This will reduce the chances of your server crashing under heavy load from heavy client requests or network load. Now Amazon or Google runs on multi-million dollar servers and these servers allow thousands of clients on their servers at once.
But for a personal server, you don’t need anything close to it. You can pick-up a decent PC on Amazon for a few hundred bucks or you can just pick up a PC from eBay for half the price. While other servers have heavy computational loads such as video processing, GPS navigation, real-time calculations, and more. But a home server does not have the same load, it has to deal with much simpler tasks such as uploading images, data requests, e-mail tracking. We would suggest a PC with the following specifications:
- Intel Pentium processor
- 6-8 GB DDR3 RAM
- 1TB (Terabyte) HDD
- Basic chassy with good ventilation
- Any graphic card (this is optional and should only be included if there is any graphical processing).
See also: $500 Gaming PC Build Guide
2) Computer Architecture
This is important for the server as choosing the wrong Operation System architecture can cause problems in installing or using applications programs. Now we would suggest you use popular Linux OS or BSD (Berkeley Standard Distribution), these are popular server operating systems. These OS are preferred because they are open-sourced and can work with any architecture. Now we will not go in detail as to what architecture is, but understand that there are 2 types of architecture: x32 bit architecture and x64 bit architecture.
Luckily nowadays we can buy RAM and HDDat very cheap prices, we would suggest HDD instead of SSD as a home server does not need high memory speed. The same goes for the RAM, you should get a DDR3 RAM instead of DDR4 RAM, as again your server does not need such high-speed memory and the prices are too high compared to DDR3.
4) Local Storage
We already discussed it but we think the hard disk is one of the most important components as it is where all your data is stored. The hard disk is also important because if your server for some reason corrupts or is destroyed in an accident then you can recover the data from the hard disk by placing it in a different server or device. Now depending on your use, your server might need a single 1 TB hard disk or a number of hard disks. More storage means you can store more data and we would suggest you set up the hard disk and drive partition at the time of setup.
The good thing is that prices of HDD are dropping fast due to high SSD demand and you can use it for your advantage. But keep in mind that if you are tossing your old hard disk then do remember to hard format your drive to remove any sensitive data. We would suggest you buy an old hard disk as it will cost you less and reduce the overall cost.
5) Ventilation and cooling
Now it is the second most important component of a server as it will be running 24/7 and it will get overheat over time resulting in permanent damage. The problems associated with overheating are like software crashing, unexpected behaviors, performance reductions, and more. Now the reason for performance slow down is that due to high temperature the processor reduces clock speed. Now you can just use third-party software to alert you whenever the temperature is too high and avoid your system getting ruined. The software will send you an email about the high temperature, now high temperatures can cause overheating along with bad ventilation.
Other then fans you can choose to use water cooling or power supply cool, also do not overclock your processor for some extra clock speed. Ruining your PC is not worth it, try to underclock your processor for long life. Use multiple fans to reduce the temperature by directing airflow directly in and through the processor and hard disk. And use larger fans to reduce the sound and be quieter as they will be running 24/7.
You need to use the internet over an Ethernet card, ethernet card or NIC is a network interface card. Using NIC provides a reliable internet connection and reduces the overall latency, but keep in mind that if your OS supports NIC. If you get a card that is not supported by your OS then you can run into some problems.
Now we have already discussed internet connection on your server but let’s discuss all the other important factors. DO NOT use a high-speed internet connection unless you are planning to start a video streaming service. As it will cost significantly more and the plans will have a data cap, so we would suggest you stick to a more basic plan. Note that a static IP or business class connection is not needed and the server should be connected to the router.
To keep the cost in check compare different ISP (Internet Service Provider) and plans and pick a good and reliable connection. Keep in mind that along with download speeds, your upload speeds are also very important. You need to do some research before settling down for any internet connection. There are a number of different technologies you can use like DSL (Digital Subscriber Line), satellite, fiber, and more.
Note: Check if the ISP you are subscribing to allows the users to keep a server or do any commercial activity with the particular plan.
8) Basic I/O (Input / Output) devices
Now, this is the least important part of a server and you should not invest too much on this. We would suggest you use any old keyboard and mouse and get a not very fancy monitor. You can also choose you the mouse and keyboard of your current PC and switch it back and forth. But you should not invest in it really as you will hardly need it except when any bug occurs.
You need a good quality router which has sufficient speed along with being having long life under load. Now it can be wireless if you can not connect LAN to the server, but we would suggest you use a LAN cable. You do not need to buy off those high-speed gaming routers or over the top router as for our purpose we do not need it. You can check sites like Amazon, eBay, or visit your local electronic store for some good prices.
10) Power Unit
Now you need to have a good power unit which is also known as PSU (Power Supply Unit) and is responsible for supplying power. Along with it, you need a power conditioner that could provide hours of battery. But you should not invest in it unless your area is prone to frequent power surges or rolling brownouts.
11) Operating System
One of the most important things as the OS is responsible for all the operations and should be chosen carefully. There are a number of different OS options which are open sources like Ubuntu, Gentoo, Fedora, FreeBSD, and more. Now there is another alternative to all the mainstream OS, you can use a home server. You can check out the Amahi home server to see it meets your requirement. This can handle a heavy load lick MySQL, Rails deployment environment, installing and configuring Apache, and more. But you get a rough idea about it, now you can choose a server OS that satisfies your unique needs.
Setting up the server
Now we need to set-up our server and get it running. We have everything we need and follow the steps:
Installing the OS
Now place the CD in your disk driver or insert the bootable USB with the server OS on it. Power on your PC and enter boot mode by hitting “F12” or any other key and selecting the USB or CD. Now simply install the OS as you do with Windows and other OS, the installation is not that hard and is pretty straight forward.
But if you want a multi-boot (more than one OS) then follow the steps shown below:
Now you need to resize your partition your Windows (FAT32 or NTFS) partition and leave space for Ubuntu installation. We would suggest you learn about FAT32 or NTFS storage type to avoid any future complications. Now you can install your Ubuntu or any other server OS that you want and use the partition you cleared in the previous step.
Once the installation is done, restart your PC. A black screen will appear with multiple OS which is installed on your PC. Select Ubuntu or your OS and login with the credentials you used during the installation process. Now your server is ready to be used.
Setting up VNC(Virtual Network Computing)
Now you need to setup VNC if you are planning to use the server remotely, but if not then you should skip this step.
The advantage of VNC is that you can build your server in a backward and access it with your primary PC or laptop over the internet. Or you can troubleshoot any bug when you are not in the physical reach of the server. Follow these steps to get started:
And you need to enable some settings for it to work, these permissions are very important.
- Allow other users to view your desktop
- Allow other users to control your desktop
- Require the user to enter this password
Now you are all done for virtual accessing your server anywhere from the world over the internet.
Installing and Configuring FTP(File Transfer Protocol)
Now FTP is used for uploading and downloading files on and from a server and is different from a VNC. It can be seen like owning a virtual drive online which anyone or people with access can use for any purpose. Now we are not going to see how to set up an FTP as it is not our topic here but with a simple click, you can find it online. We would suggest you use Pro FTP Daemon or proftpd but it is only for the Linux platform. Once you are done with the setup, configure and Activate FTP Server for completion of this step.
Installing HTTP Support
Now, this step is really simple and straight forward.
Note: These steps are for Linux and you should check online to see commands for your OS.
- You need to type in the terminal: Sudo apt-get install apache2
- Then input your password and proceed with the steps.
- Now your server is online and ready to use.
Forwarding the Ports
Now, this step is not necessary but if you pre4viouly faced any problem with ports being blocked then you need to perform this. Now every OS is different so we will not be going to discuss it here. You can read about it on forums and troubleshoot any of your port blocking or other errors.
How to build a server? We saw what are the various components of a server along with alternatives for a home server. Remember not to put too much initial investment in a server unless you have a high demand for your website or whatever you are doing. Choosing all the components carefully like the cooling system or the OS or the processor. Install the OS on SSD if you have on in your server and if not then use the largest available partition.