Mercurial has a built-in web server which can be used for browsing a repository with a web browser or for allowing remote machines to pull from you. To use it, simply run:
$ hg serve
And then point your web browser at http://localhost:8000/.
This has most of the features of the full web interface. This server can do multithread/multi-process request since Mercurial version 0.9. If you want to make a more permanent server, you should probably use a [:CGI_Install:CGI-based server].
Following is a detail options for using hg's http server implemented by python code.
bash-3.00$ hg help serve hg serve [OPTION]... export the repository via HTTP Start a local HTTP repository browser and pull server. By default, the server logs accesses to stdout and errors to stderr. Use the "-A" and "-E" options to log to files. options: -A --accesslog name of access log file to write to -d --daemon run server in background --daemon-pipefds used internally by daemon mode -E --errorlog name of error log file to write to -p --port port to use (default: 8000) -a --address address to use -n --name name to show in web pages (default: working dir) --webdir-conf name of the webdir config file (serve more than one repo) --pid-file name of file to write process ID to --stdio for remote clients -t --templates web templates to use --style template style to use -6 --ipv6 use IPv6 in addition to IPv4 bash-3.00$