I guess the webmin tutorial could do with some instrucitons on getting the Linux kernel 2.4 + webmin difficulties out of the way for a large part of its users.
The problem is related to some strange tcp/ip malfunction, which doesn't occur using local unix sockets. Now there's a utillity for that, called netcat (
http://freshmeat.net/projects/netcat/). Having this utillity listening on some port and forwarding it's date to the one the webmin is running on (thus over local sockets) solves the problem (for most people, the one's for who it doesn't do have some bad configuration towards localhost settings probably)
Adding "5180 stream tcp nowait.600 nobody /usr/bin/nc -w10 localhost 9000" to ones /etc/inetd.conf has the remote port 5180 for webmin using a locally configurred for port 9000 server available (there are some examples on how to have xinetd do the same thing)
This solves it, only has one difficulty, having to type in the entire url, that can be solved to (although quitte foul)
Have iptables PREROUTING tabel forward the remote port 9000 to a local port your apache listens (not the same u use for server webpages though)
and add a virtual host using mod rewrite to have it redirected to the netcat entrance to webmin (read into VirtualHosts if you don't know about it)
Add the following Rewrite rules to the virutal host :
RewriteEngine On
RewriteRule ^/ServerAdmin/(.*)$ http://servers.ip.goes.here:5180/ServerAdmin/$1 [R]
RewriteRule ^/([^/]+)$
http://servers.ip.goes.here:5180/ServerAdmin/ [R]
This will have all requests for either the real, or the netcat port redirected to the entire url webmin needs to stop itself from rewriting it's url into the one using the faulty ("real") port it's running on...
Please do add the ServerName directive to the UWebmin btw, it help's the rewriting a lot