If you want to code it all by yourself.. a big thumbs up to you..
I haven't tried many but have a look at
www.e107.org [Free!!!] , I have used it and found it quite easy to install,manage, and feature rich.
I have seen a lot of of such projects[cms] on
www.sourceforge.net and
www.freshmeat.net.