Well, I ran across some software this week that fixes most of these issues: SnipSnap.
The great things about SnipSnap are that it is cross platform (written in Java) and incredibly easy to install and get up and running. if you don't want to customize it much, it literally takes about five minutes (at most) from binary installation to up and running. I installed it on my home file server and spent more time playing with it to have it place its data where I wanted it, run under a non-privileged user, and set up an ssh tunnel through the firewall. As I evaluate how it fits into our workflow, my wife and I will use it to store recipes, notes about the kids' education (homeworks, tests, etc.), various records (for example, notes from doctors visits), software development notes (UML diagrams, debugging and design notes), research lab book entries (what was done, results), etc., etc. I'd eventually be interested in incorporating it into my research lab. There are only two things missing that I might want: real calendaring (schedule future events, set notifications, later edit them to note results -- all with the usual organization and linking ability) and more comprehensive security options (option to login before seeing anything, per-item or hierarchy level access control). Some aspects of these may already exist as contributed plugins; I haven't had time to look into everything about it yet (it's easy enough to get going that there has been no need to). And it's open source.