You can use
HTTP::Daemon and
CGI::Simple together to achieve the result you want. Yes, there is some rolling your own here. But think about it: running CGI under Apache isn't magic, you still have to configure it.
GUI with HTTP::Daemon sounds pretty much like what you want.