Well, learn how to either protect your servers (if the server was hacked) or write safe application code (if that was injected via the application, like "SQL injection" - you may want to google for that).

If using third party softweare, update versions - maybe some popular piece you use is outdated with known security holes.

There is no general answer. Some bot picked one of the hundreds of possible errors / security holes and installed itself into your website.

Hope noone sues you ;) Especially if not maintaining your applications.

What's the common cause for trojan downloaders on linux servers?
Here's the problem I'm facing: I've added multiple virtual hosts(name based) to apache yet still only one is loaded.

For example I have two domains with different contents.
Site1 Domain -> Site1 Content 
Site2 Domain -> Site1 Content aswell..
I've included the httpd-vhosts file in the httpd config file, and I've edited it to match what it asks me to do on their documentation yet still only one folder of contents is served.

Here is my httpd-vhosts file, the httpd file I assume doesn't need posting but if required I shall:

NameVirtualHost *
&lt;Directory "C:/www/"&gt;
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

&lt;/Directory&gt;
&lt;VirtualHost *&gt;
    ServerName www.*****.com
    DocumentRoot "C:\www*****"
&lt;/VirtualHost&gt;

&lt;VirtualHost *&gt;
    ServerName ****.co.cc
    DocumentRoot "C:\www\****"
&lt;/VirtualHost&gt;


ofcourse I removed the unnecessary comments and my domains names(private reasons). Oh yeah, and my server is hosted on Windows Server 2008 Standard
