Ok, in order to enforce security, and only if you're as crazy as I am, you can access your MLDonkey web interface through Apache making use of SSL encryption. This is done making use of mod_proxy[0], which basically turns your Apache web server into an http proxy.You will find this very useful since can be used to add encryption to many other services which may lack of it.

Under Microsoft Windows just download Apache fromhere. Install it the "next, next, finish" way, and you're done.You can have Microsoft Internet Information Services and Apache together in the same computer, just make them listen on different ports. Or proxy your IIS through Apache like you're about to do with MLDonkey

Under those, described above, and any other platform you can always do an installation compiling from sources, but will not be explained on this tutorial.You can find some help about compiling from source code here.

To test if it's running, just point your favorite web browser to http://yourhost/.You should see a white page with the phrase "It works" at the top left corner.Now you're done with installation.

Note: Troubleshoot on Apache installation is out of this tutorial scope, so none will be detailed.Sorry...(there are lots of tutorials about installing Apache over the Internet...you can trust your destiny to uncle Google ).

Configuring Apache to behave as proxy:

We'll configure a virtual host listening at 443 port using SSL and mod_proxy.

Ok, you have Apache running and answering requests at you 80 port.Now, you need to generate a certificate.

We're going to generate a SSL certificate, which will be used by Apache to encrypt traffic between clients and itself.Since no trusted certificate authority will sign it, warning messages will be prompted by web browser.This does not result in any problem. Are just informative messages.

Finally we will need to configure a virtual host in order to access MLDonkey web interface.Since Apache version 2, virtual hosts are configured adding small files, containing the VirtualHost block, to /etc/apache2/sites-available and then linked to /etc/apache2/sites-enabled in order to make administration of virtual hosts easy.So, for Apache 2.x create a file containing this block structure:

# This sets this virtual host to port 443NameVirtualHost *:443# Starts virtual host block.<VirtualHost *:443># This is the name which Apache will forward to MLDonkey when reciving a request. ServerName mldonkey.yourhost.com# This turns SSL on for this virtual host. SSLEngine On# Here you tell Apache where to find the ssl cetificate you created just before. SSLCertificateKeyFile ssl/apache.pem# Same as above. SSLCertificateFile ssl/apache.pem# This allows or prevents Apache from functioning as a forward proxy server. Set it to Off for security reasons. ProxyRequests Off# This block let you set directives that will apply only to matching proxyed content. Shell-style wildcards are allowed. <Proxy *># We set the order so first it will deny and, if request meet the condition below, then it will allow. Order deny,allow# Here we allow anyone to have access. Allow from all# This ends the block. </Proxy># This makes root path (can be any path you desire) of this virtual host to look like a mirror of MLDonkey web interface. ProxyPass / http://mldonkey_host:4080/# This takes care of redirects MLDonkey sends. ProxyPassReverse / http://mldonkey_host/# This sets the file where errors will be logged. ErrorLog /var/log/apache2/error.log# This defines the file where accesses will be logged. CustomLog /var/log/apache2/access.log common# This ends the virtual host block.</VirtualHost>

Now point your browser to mldonkey.yourhost.com and you should be accessing MLDonkey web interface through Apache using SSL encryption for your safety.

Maybe you'll need to configure your routers/firewalls to properlyforward 443 port to the computer which Apache will run on.

Remember that the computer where MLDonkey runs and that where Apacheruns don't need to be the same. Both can be completely different anddistant machines connected through whatever network configuration youwant.

[0]http://httpd.apache.org/docs/2.0/mod/mod_proxy.html

Ok, it's too late in the night, tomorrow (better said, today!) I must be up at 0500 for work, I'm tired...and cannot make the apache config block look decent...Buanzo could you please? ....