Running a hidden service in a secure way can be a really complicated matter.
Ideally the system where the hidden service software (e.g. a web server) lives should not have a publicly routable IP address on any of its network interfaces and should not be able to learn its real public IP address. That leaves out the solution of NAT since a system behind NAT although has not a publicly routable address can easily find its real address.
A solution would be an isolated system with all its connections routed through Tor. For example another box running Tor could server as middle-box/router for the isolated hidden service host.
If a user followed the traditional way to set up a hidden service in the isolated box then she would end up running Tor in both machines, routing one tor instance though another thus having terrible effects on latency and bandwidth.
My question is : could the user run the hidden service's software for example an Apache Web Server instance in a box different than the one running the Tor instance ?
If not, is there any other feasible solution that could fit the scheme described above?