I have a typically configured dedicated LAMP server running CentOS 5.
I am creating a plan for worst case scenarios - "server dies" any which way.
As of now I have a good back up system going for all users that includes their files databases etc.
My question now is what system information should I capture about the server configuration in order to bring a new server into a matching configuration of the dead one quickly. Things like IP config / DNS setting etc.
I realize there are services that will be unique to my config, but any general static config points to capture would be helpful - as well as where to capture them.
This is one of the areas where Puppet is helpful. Since Puppet is self-documenting, you can easily expand your network and recover from outages. Puppet collects certain information about the hosts it manages, the processors, RAM, disks, SSH keys, etc.
The basic premise is to kickstart enough to get EPEL installed and onto the local PuppetCA, then your puppetmaster can take care of the rest of the configuration.
Rolling endless crap into kickstart is not a solution.
A software that you can use to identify changes in an environment is Blueprint, which can also play into Puppet configs.
The end result is that your servers should be recipes. Predictable, reproducible recipes that you can test and deploy at will.
The question here for you is the size of your environment. How many physical hosts are you managing? How many virtual? If it's not a lot, Puppet might not be worth the effort.
For a single machine, just taking a whole-of-system backup is usually the best way. I'm an automation lover, but using an automation tool for a one-off system just isn't worth it.
You should try to build a test server with a matching config and write down each step along the way then build a kickstart autoinstaller and configuration script to build your server in a fully automated way. That can serve as your documentation so you can rebuild your system quickly if you have a catastrophic failure.
The best way to find out what information you need (network info, filesystem layout, package install, configuration) is to build a test instance and then test it to make sure it works.