I am planning on running Ubuntu. What's the best setup to back up things? So if one fails, I can just swap files and site can keep running. Is there a mirroring program I should use? or does Ubuntu comes with it?
If the machine itself doesn't come with a RAID controller, you can set it up right in Ubuntu. Here's a quick walkthrough: https://help.ubuntu.com/community/Installation/SoftwareRAID
This won't do anything for actual backups but will provide protection against a single disk failure within the computer itself. You still might want to perform regular backups of your server to another location so you can rebuild a new system with your data and configuration if the server completely fails.
I think KenJ is right on the money HOWEVER I MUST WARN YOU ... RAID IS NOT A SUBSTITUTE FOR BACKUPS
We have been hired many times to Fix what has been broken on a RAIDED system. In short - a Mirror will of course mirror everything - including accidentally deleted files, hacked systems etc...
Make sure to have a backup & DONT HAVE THE BACKUP on the SAME system...
Ubuntu is a great OS - and has many options for backups... tell us what you are using @ home... or elsewhere and we can suggest a FREE backup system to go offsite or to another system w/ your files (such as Rsync)