Or for a free one, get yourself a spare computer, put linux onto it (free distro), and then install Apache web server. This is also a free one.
This is a great way to get a server running, can be daunting as linux is a new OS to most people.
Get SFTP or FTP up and running aswell to upload files etc.
Some versions of linux can be controled through a remote desktop type connection.
I use Windows Server 2000 for mine, this was cheap to pick up with a server I bought from Ebay.