i have four old desktops i came across years ago. all old p3 systems. i threw linux on one, setup gallery, and samba, and stored all our family photos there.
i keep the photos stored as images in the gallery application, and in their original format on a samba share the wife and kids can access.
another box has the same setup, and rsync's anything new nightly. that box sits upstairs, away from the original box, and is inaccessible to anyone else but me.
a third box, again setup the same way, is at a friendly location with a high-speed connection. weekly the second server sends everything up to that third box.
the fourth box is spare parts for the other three.
this is not the best solution, but one i came up with given my budget. after several years of using this, they all now have sata/pci cards, and 500GB-1TB drives.