Many types of servers exist, including web servers, mail servers, and file servers. Each type runs software specific to the purpose of the server. For example, a Web server may run Apache HTTP Server or Microsoft IIS, which both provide access to websites over the Internet. A mail server may run a program like Exim or iMail, which provides SMTP services for sending and receiving email. A file server might use Samba or the operating system's built-in file sharing services to share files over a network.
While server software is specific to the type of server, the hardware is not as important. In fact, a regular desktop computers can be turned into a server by adding the appropriate software. For example, a computer connected to a home network can be designated as a file server, print server, or both.
While any computer can be configured as a server, most large businesses use rack-mountable hardware designed specifically for server functionality. These systems, often 1U in size, take up minimal space and often have useful features such as LED status lights and hot-swappable hard drive bays. Multiple rack-mountable servers can be placed in a single rack and often share the same monitor and input devices. Most servers are accessed remotely using remote access software, so input devices are often not even necessary.
While servers can run on different types of computers, it is important that the hardware is sufficient to support the demands of the server. For instance, a web server that runs lots of web scripts in real-time should have a fast processor and enough RAM to handle the "load" without slowing down. A file server should have one or more fast hard drives or SSDs that can read and write data quickly. Regardless of the type of server, a fast network connection is critical, since all data flows through that connection.