Introduction
Renting or buying off-the-shelf servers is a safe choice, especially for small enterprises. However, constructing a server from scratch is a viable option that can optimize company operations, develop in-house know-how, and save money in the long run.
Learn how to build a server and choose the right hardware and software components while keeping your costs in check.
![Building a server from components.](https://neveropen.co.za/wp-content/uploads/2023/09/build-server-guide-1.png)
What are the Options for Getting a Server
There are several options for getting a server:
- Lease/Rent. Paying a monthly or yearly fee for server usage is the preferred solution for companies that focus on short-term projects or want to avoid large upfront payments. Modern cloud-based server solutions offer a similar model where businesses pay-as-you-go based on server usage and chosen services.
- Buy. Purchasing and owning a server outright can give better value for money in the long run but requires a substantial initial investment.
- Build. To build a server, you must buy individual components, assemble the server, and install the necessary software. Customizing, owning, and maintaining a server can be resource-intensive but is well suited for long-term projects and knowledge-building within the company.
Each option has its advantages and trade-offs. The table provides a quick overview of the differences between building, buying, or renting a server:
Building Servers | Buying Servers | Renting Servers | |
---|---|---|---|
Initial Cost | High | High | Low |
Cost Over Time | Cost of component upgrades and continued maintenance. There is no overarching warranty for the server. | Maintenance, electricity, and internet costs. | Over an extended period, renting can become more expensive than buying or building. |
Maintenance | Owner’s responsibility. | Owner’s responsibility. | Usually handled by the hosting provider. |
Customization | Full customization. | Complete control over specifications. | Limited by the provider’s options. |
Flexibility | Total freedom to build and scale servers to match workload requirements. | Challenging to scale and may require additional equipment or servers. | Possible to scale up or down based on needs, but this may result in additional fees. |
Technical Expertise | Need to understand component compatibility, assembly, and server management. | Need to understand server use and management. | Managed by the provider to varying degrees. |
Deployment Speed | Researching, purchasing, and component assembly is a time-consuming process. | The time to deploy the server is based on setup complexity. | Fast deployment within minutes to hours. |
Data Control/Security | Total data control but also full responsibility for data protection. | Keeping sensitive data on-premises is a priority for some companies. Buying a server provides more control over the data. | Depending on the provider’s data center location, there might be concerns about data laws and regulations. |
Long-term Commitment | Due to the effort and resources devoted to building and customizing a server, building one is a long-term investment. | Due to the high initial investment buying a server is a commitment. | Most hosting providers offer monthly contracts. Long-term commitments are rare. |
Infrastructure Needs | Ensuring component cross-compatibility is challenging. Space to assemble and house the server (security, colling, backup power, etc.) is also required. | A place to house the server, which also might require cooling, power backup, and security. Colocation is an excellent way to reduce these costs. | The provider handles everything. |
Important Factors when Building a Server
When selecting a server, it’s crucial to take into account different factors. Refer to the list below for some of the main points to consider.
- Budget constraints. Businesses concerned about high initial costs should consider renting a server. Buying or building can be more cost-effective over the long term.
- In-house technical expertise. Building a server is an excellent option for companies that have technical expertise or want to invest in their employees and build expertise from the ground up.
- Level of control over network infrastructure. Building or buying servers gives companies more control over their infrastructure and is a solid option for long-term projects.
- Scalability requirements. Businesses that need to provision and de-provision servers quickly often look to renting servers as their best option.
- Geographic distribution. Companies that plan to serve clients globally and are concerned about latency may find building or buying servers restrictive and cumbersome to manage due to geographic distances.
- Specific hardware or software requirements. Buying or building a server is a reasonable option for businesses that need specific hardware configurations.
Building a Dedicated Server from Scratch
Complete the following steps to build a dedicated server from scratch:
- Understand and write down your server requirements.
- Procure quality hardware that can support the server requirements.
- Research and select the necessary software.
- Assemble the components and install the selected software.
Requirements
Consider what tasks the server needs to perform. Web hosting, data storage, gaming, or virtualization servers require different hardware specs and software solutions.
Compile a list of resources and applications and write down the estimated number of users the server needs to handle. It is a good idea to increase the calculated system resources by 15% to accommodate for fluctuations in load.
Use the following list as a broad guideline:
- Performance Requirements. Determine what kind of workloads you expect the server to handle and calculate how much computing power it needs.
- Storage Needs. Apart from the amount of storage a server needs, the speed of data access is equally important. Use SSDs if applications need fast data access and HDDs if the server only needs to store and handle data in bulk.
- Network Requirements. If the server needs to handle significant data volumes and maintain low latency, like a gaming server, it is essential to invest in high-performance hardware.
- Scalability. Some businesses experience considerable increases in traffic during certain times of the day or seasonally. For example, ecommerce websites often need to handle large surges during holidays like Christmas. To accommodate the increased traffic, companies must scale their servers quickly. When building a server, it is vital to consider future server requirements and leave room for potential hardware upgrades.
- Redundancy. If your server handles valuable or sensitive data, you must protect it from power shortages, physical damage, or potential attacks. You may need redundancy power supplies, backup and restore solutions, or specific RAID configurations for data protection.
Hardware
1. Central Processing Unit (CPU)
The CPU is the server’s main component for processing various requests from the operating system and applications.
Consumer-grade CPUs, like Intel Core or AMD Ryzen, can be used to power smaller servers with a light workload. These CPUs are a good balance between cost and performance and can handle tasks like web hosting, basic file serving, or light virtualization.
Server-grade CPUs like Intel Xeon or AMD EPYC are more expensive but a more reliable option for businesses that handle important workloads and need more flexibility.
![An image of a CPU being placed on the motherboard.](https://neveropen.co.za/wp-content/uploads/2023/09/install-server-cpu-1.png)
Memory (RAM)
RAM (Random Access Memory) provides temporary data storage and allows the server CPU to access data much faster than from a hard drive or SSD.
Having more RAM allows the server to handle numerous tasks simultaneously without slowing down.
The minimum RAM requirement for most servers is 16GB. Database servers or virtual machines serve vast amounts of data to many clients and may need 64GB to 128GB of RAM or even more.
![RAM memory for building a server.](https://neveropen.co.za/wp-content/uploads/2023/09/ram-server-install-1.png)
Storage
HDD (Hard Disk Drive) and SSD (Solid State Drive) are used as storage devices in servers, but they differ in cost, performance, construction, and lifespan.
HDDs are cheaper per gigabyte than SSDs, but SSD speed and reliability often justify the higher price tag. These features are especially important for systems that rely on frequently accessed data, like servers.
Many servers use an SSD for the operating system and most-used applications and an HDD for bulk storage and redundancy solutions.
![HDD and SSD used for a server build.](https://neveropen.co.za/wp-content/uploads/2023/09/hdd-ssd-server-1.png)
Motherboard
The motherboard facilitates communication between all the server’s components. Every server component, like the CPU, RAM, storage devices, and expansion cards, is either housed on or connected to the motherboard.
Ensure that the motherboard is compatible with the chosen CPU unit, confirm the number of RAM slots and maximum RAM capacity, and check that it has enough SATA/PCIe/M.2 slots for your storage needs.
![A standard motherboard for a server build.](https://neveropen.co.za/wp-content/uploads/2023/09/motherboard-server-build-1.png)
Network Interface Card (NIC)
The NIC is a piece of hardware that enables a server to connect to a network. Motherboards typically come with inbuilt gigabit NIC cards. Severs that require lots of throughput and low latency may need to be upgraded to a larger 10-gigabit card.
The primary function of a NIC is to transmit and receive data packets over a network. It converts the data from the computer’s bus into a format suitable for the network medium (like Ethernet) and vice versa.
![Standard NIC card for server build.](https://neveropen.co.za/wp-content/uploads/2023/09/nic-card-server-build-1.png)
Power Supply Unit (PSU)
The PSU converts electrical energy from a source (typically a wall outlet) into the correct voltage and current to power the components of the system.
Ensure that the PSU provides enough power to supply all your components. When building or upgrading the server, choose a reliable and appropriately rated PSU. The power supply should have an energy efficiency of at least 80% at different loads.
A poor-quality or inadequate PSU can lead to system instability, reduced component lifespan, or even damage.
![A standard power supply unit for a server.](https://neveropen.co.za/wp-content/uploads/2023/09/psu-server-build-1.png)
Cooling Solutions
Servers produce a significant amount of heat due to their powerful and densely packed components. Coolers ensure that server components stay within safe temperature limits, maintaining optimal performance and prolonging the life of the equipment.
Stock coolers might be enough for basic servers, but it’s worth considering more expensive aftermarket coolers or liquid cooling for high-performance setups. Additionally, server rooms must be properly cooled and ventilated to dissipate the heat effectively.
![Liquid cooling solution for a server.](https://neveropen.co.za/wp-content/uploads/2023/09/liquid-cooler-server-build-1.png)
Chassis/Case
The chassis is the physical frame or housing that contains the server’s components. Flat and wide rackmounts are common in data centers.
An alternative solution is using tower server chassis that resembles standard PC towers but is optimized for server components. These are useful for businesses or environments where a rackmount infrastructure isn’t necessary. Make sure that the chassis you choose can accommodate all your components and has good airflow.
![A typical server build chassis.](https://neveropen.co.za/wp-content/uploads/2023/09/server-build-chassis-1.png)
Optional Components
- Graphics Card. A necessary component for servers intended to handle GPU-intensive tasks.
- Redundant Power Supply. Use an additional power supply to handle power supply failures on critical servers.
- Hardware RAID Card. A RAID card allows server storage devices (HDD and SSD) to work as a single storage unit and optimize capacity, fault tolerance, and performance.
3. Software
1. Operating System (OS)
A server operating system enables servers to run essential processes and functions and is the prerequisite for installing other software. Choose an OS based on your specific requirements, server type, and the environment in which the server will be deployed.
- Linux (Ubuntu Server). The most popular open-source server OS is primarily used for web, app, and database servers.
- Windows Server. Windows Server is a series of Microsoft server operating systems that offers easy integration with other Microsoft products. Its typically used to host business applications and the Microsoft Active Directory.
- Red Hat (RHEL). An enterprise-focused Linux distribution that offers strong support and certification. It is primarily used for enterprise applications and database servers.
- FreeBSD. An advanced OS for modern server, desktop, and embedded computer platforms used for web servers, networking, and storage.
- pfSense. A free network firewall distribution based on FreeBSD intended primarily for firewall servers and routers.
2. Server Software
Server software facilitates specific functions and features on a server. Different server types need particular software to be able to perform their tasks.
This table provides an overview of software for five server types divided into four functional areas. Each software mentioned is highly popular within its domain, but many other options are available for each category.
Web Server | Database Server | Virtualization Server | Gaming Server | Dev Server | |
---|---|---|---|---|---|
Server Software | Apache | MySQL | VMware ESXi | Minecraft Server | Jenkins |
Nginx | PostgreSQL | Hyper-V | Unreal Engine | GitLab | |
Microsoft IIS | Microsoft SQL Server | KVM | Source Dedicated Server (SRCDS) | Docker | |
Management Tools | cPanel | phpMyAdmin | VMware vCenter Server | TCAdmin | Kubernetes |
Webmin | SQL Server Management Studio | oVirt | GameCP | Ansible | |
Plesk | Oracle SQL Developer | Proxmox VE | Pterodactyl | Puppet | |
Monitoring Tools | Nagios | Zabbix | SolarWinds VM | GameTracker | Prometheus |
Datadog | SolarWinds DPA | vRealize Operations | Battlemetrics | Grafana | |
New Relic | Prometheus | Nagios | RCON Tools | Sentry | |
Security Software | ModSecurity | MySQL Enterprise Firewall | VMware NSX | Steamworks SDK | OWASP ZAP |
Cloudflare | SQL Server Audit | pfSense | GameGuard | SonarQube | |
Sucuri Firewall | Oracle Advanced Security | Sophos UTM | PunkBuster | Docker Bench for Security |
Assembly and Installation
Servers share many components with personal computers, making their assembly similar to building regular PCs. If you do not have extensive experience in assembling components, follow the tips below:
- Research First. Consult guides or videos tailored to specific server components. Closely follow instructions from each component’s manufacturer.
- Follow Safety Measures. Use static-free surfaces and tools like an anti-static wrist strap to prevent damage from static electricity.
- Handle with Care. Touch components, like RAM and CPU, by their edges to avoid damage and contamination.
- Ensure Proper Alignment. Component notches must align, and clips to snap in place. If something doesn’t fit, recheck the orientation rather than forcing it.
- Test Initial Boot. Before the OS installation, boot to confirm all components are detected in the BIOS/UEFI. Listen for the usual startup sounds, fan operations, and motherboard beeps indicating a successful POST.
- Install Software. Install your preferred OS and server software. Configuring each of them based on the server’s role.
- Do Not Forget Security. Implement security measures, firewalls, and monitoring tools.
How Much Does it Cost to Build a Server?
The cost of building a server can vary depending on the intended use case and the chosen specifications. The following table illustrates the cost of a mid-range server suitable for running multiple applications, hosting a website, or a small virtualization setup.
This is a broad overview, and actual prices might differ due to regional differences, specific brands/models, and discounts. The prices are approximate values at the time of writing this article.
Component | Description | Approximate Cost |
---|---|---|
Hardware | ||
CPU | Intel Xeon E-2236 6-Core | $350 |
Memory (RAM) | 64GB (2 x 32GB) DDR4 ECC Registered RAM | $150 |
Storage | 2 x 1TB NVMe SSD (RAID configurable) | $280 (total) |
2 x 4TB HDD (RAID configurable) | $150 (total) | |
Motherboard | SuperMicro X11SCA-F | $375 |
Network Interface Card (NIC) | Onboard Gigabit NIC | $0 |
(Optional) NIC | 10-Gigabit NIC | $90 |
Power Supply Unit (PSU) | 650W 80 PLUS Gold | $100 |
Cooling Solutions | Aftermarket Liquid Cooler | $70-200 |
Chassis/Case | Mid-Tower Server Chassis | $120 |
(Optional) Graphics Card | Basic GPU | $50-100 |
Software | ||
Operating System (OS) | Ubuntu Server | $0 |
Windows Server 2022 Standard (price can vary due to licensing and discounts) | $1069 | |
Other Software | Most server software has free or open-source versions. Additional costs for proprietary software may be necessary. | Varies (potentially free) |
Total Estimated Cost | ||
Without a 10-Gigabit NIC and using Ubuntu Server | $1,675 | |
With a 10-Gigabit NIC and Windows Server 2022 | $2,850 |
Conclusion
This guide showed how to build a server, establish your server requirements, and choose corresponding hardware and software components.
Building a server is only the first step in managing your infrastructure. You need a well-thought-out strategy and set of server security policies that account for all potential risks.