While not officially supported by the IOTA foundation, I put together a few scripts that can be used to start up your private testnet (possibly consisting of only a single node).
If you want to go this route, you should have some experience in patching, compiling and running Java applications, so this is no simple point-and-click solution for newbies.
When you have only a single node, you can reduce the PoW arbitrarily low; when you plan to use multiple nodes, you cannot, as the UDP packets used for node-to-node communication are not big enough to hold the full transaction hash if the hash does not end with a sufficient amount of zeroes.