Well lots of options here, but 2 big ones. For streaming, look into
IceCast , I use that to stream stuff at work, works great!
If you want to be able to "pick" things off a playlist - then you are either going to need a rather advanced interface with IceCast (I don't recommend this)
Or simply make the server a FILE server, and serve all the mp3s/whatever to whatever client wants to access them. And for that file share, I would recommend
Samba, its fast, and OSX can talk to it easily, as can Windows, and oher linux boxes.
Does this help?....