To get a PHP site you can either code it on yoru own, or get a pre-made package(which is free like PHP-NUKE).
The custom designs is where I get stumped. You can find many free designs online... But the draw back to that is that you WILL have the same design as someone on the internet(since its free).
Anyways, Hope this helped a bit.