How do you set up a Linux server?

The great thing about Linux is that you don't have to do anything 'special' to obtain enterprise-quality server software.

While there are some distributions out there whose focus is primarily for servers(RHEL, Fedora, CentOS, Ubuntu server, etc) , you can start off with any distribution and begin installing server software on top of it.

I don't know what type of server you are interested in, but this is a list of software you might be interested in researching. Use the package manager provided by your distribution to install the software.

Web server:

apache

SQL database server:

mysql (usually you will want this if you have a web server.)

SSH/SSL/SFTP/SSFS server:

openssh

FTP server:

ftpd

Windows File server/ Windows domain-controller

samba

Mail server:

sendmail

Centralized authentication:

openLDAP

Media server (stream movies to your xbox, PS3, etc)

ushare

There are many more examples, and many more types of servers. The point is, you don't have to pay or do anything special to obtain 'good software'. These are up-to-date and fully-featured right out of your distribution. Install them just as you would any other program in Linux.