I like putting my servers under subversion control, i.e. treating the entire file system as a "local working copy." That way I can safely try things and be sure that I can go back to a previous configuration. Also, whenever I do some configuration changes (either manually or through a control panel), I can review all the changes, and when I'm satisfied I add a dated entry to a history file and commit / (root).
Here's a typical workflow:
svn st /
to see what has changed in the file system, or svn st .
in a subdirectory.svn rm /path/file
to confirm the deletion of files that have disappeared.svn add /path/file
to confirm the addition of new files. Alternatively, do svn add /path --force
to confirm the addition of all new files under /path (or even under root, but only after reviewing the entire list!).svn di /path/file
or svn di /path
to review changes of one file or all files under /path.svn revert /path/file
to undo any undesired changes.svn ci /
to commit the file system. svn prompts for a log entry, just paste it from the clipboard.