Server installation logging / logbook / diary?

Are there some ways field-tested ways to keep a kind of logbook for a server? Including:

  • software installations (and de-installations)
  • custom configurations (e.g. of a webserver, ssh daemon, etc.)
  • personal notes

The big picture. I am preparing a server and would like to extensively document the state and how it was established over time, so that a new person can easily see, what's going on and why. The setup is not too complicated, but I would like to do it anyway.

I once used something like Maintain /etc with mercurial on Debian and it was nice, but I am looking for a little more flexible solution.


Addendum: So I am interested in logging and documentation first. In an ideal world however, I would like to have a command, which in a few steps would take me from a bare newly installed unix system to a functional environment with all the components setup and in place by the means of, say an 'executable' log. But that would be very ideal, I imagine.


Going to go for the config management side of the question for now as it might help you have a better logging mechanism by having a disciplined deployment method. Have you looked at any of these tools:

  • Cfengine
  • Puppet
  • Chef

They all fall under the realm of system configuration management. They roughly have the mantra "manage systems through their configuration language, not by directly touching the machines". So instead of touching a machine individually, you'd create a stock configuration in the tool of your choice and then have the tool deploy the exact configuration the same way every time.

I think once you have a tool like that helping you, it might give you some of the data you need for logging purposes and allow you to pick something that will be the most beneficial for you logging those changes.

There are other tools, but those are the usual suspects in the OSS world.