Well, you wish to do exactly what I am doing... Hosting my own website.
Well first of all you need apache. click here
This may be incuded with your server installation of RedHat or whatever distro you are using.
I am using RedHat enterprise server and it gave me to option upon installtion - however don't threat if you forgot - you can install packages later in linux.
You then need PHP and MySQL click here click here - but it doesnt stop there.
These packages must be configured for MAXIMUM security and speed. So looking for a streamlined php.ini file is good - and ensure safemode is enabled.
Next you need user space that can be uploaded to using FTP. Bulletsoft FTP is popular but there is also FTP server built into some linux distro's.
After that then you need a DNS server - this is the only paid option and NO-IP PLUS offers this service click here and allows www . your domain . com to be YOUR website.
What ever is in usr\htdocs will be avaiable to the public. If you want to host for customers be careful about the drawbacks - loose their data, dont have the uptime = upset customers.
But.. just create new directory such as usr\htdocs\customer
and set this in http.conf
then your domain.com\customer will be their space until they add a domain.
Other than that - their is just your server monitoring anf back-up software + not to mention set-up the IPTABLES firewall rules in Linux.
See on google for many good tutors to get a secure IPtables simple firewall. Then add a windows gateway antivirus scanner and a linux antivirus on the linux box.
Good luck - and feel free to e-mail me for more information.