What is the best scripting language to create the above?
depends what your server supports.
Apache, MySQL and of course PHP.
Will that work for an auction site or a forum site?
Or is there a better way to go than buying pre-made software?
Well for forums ive heard that phpBB is good but i havent used it myself. Byt creating auctions etc would take a very long time imho so maybe finding some good customisable software if you dont have the time on your hands would be the way to go.