Webmin Proxied Through Apache
If you just want Webmin to be accessible via an URL subdirectory (like /webmin) on an Apache server without going to the trouble of configuring Apache to run the CGI scripts directly, there is a simpler method that can be used.
This is also useful if your system is only accessible on port 80, and you want access to both Webmin and a normal website. This is the recommended method of making Webmin run within an existing website hierarchy.
The steps to follow are:
Make sure mod_proxy is installed on your Apache webserver.
Add the following directives to the Apache configuration file:
ProxyPass /webmin/ http://localhost:10000/
ProxyPassReverse /webmin/ http://localhost:10000/
Add the lines webprefix=/webmin and webprefixnoredir=1 to /etc/webmin/config.
In /etc/webmin/config, add the line referer=apachehost, where apachehost is the hostname eg; hostname after the http:// from the URL used to access Webmin via Apache.
If the referer line already has some hosts listed, add apachehost to it or you can disable referrer checking all together by just using referer=1
Edit /etc/webmin/miniserv.conf and disable ssl redirect ssl_redirect=0 and ssl=0
Re-start Apache and Webmin to apply the configuration.
All requests to /webmin on the Apache server will then be passed through to the Webmin server on localhost port 10000. All features should work fine, including themes, with the exception of IP access control (because as far as Webmin is concerned, all connections will be coming from localhost).
This method can also be used to make Webmin accessible via an Apache virtual host, like http://webmin.yourdomain.com/.
The steps to follow are :
Make sure mod_proxy is installed on your Apache webserver.
Add a virtual host to your Apache configuration file like:
ServerName webmin.yourdomain.com
ProxyPass / http://localhost:10000/
ProxyPassReverse / http://localhost:10000/
In /etc/webmin/config, add the line referer=apachehost, where apachehost is the hostname from the URL used to access Webmin via Apache. If the referer line already has some hosts listed, add apachehost to it.
Re-start Apache to apply the configuration.
No changes need to be made to /etc/webmin/config, because no prefix is appended to the URL path.