I am learning how to setup my server as well. I'm using several tutorials to get there. Slicehost has a number of great tutorials (
Slicehost Article Repository - VPS setup, servers, Ruby on Rails, Django, PHP, DNS, Slicemanager and more) that help you get the basics done - Apache, MySQL, and PHP. It also helps with things like iptables. Then I am using this tutorial to get FTP, email, webmin, phpmyadmin, etc.:
Quick Linux Server w/ Apache+PHP+MySQL+MailServer+PhpMyAdmin+Webmin+FTP Server+Webalizer+Firewall.
David.