Virtualmin for professional hosting - is it suite?

Hi, I plan to have about 10-20 servers with several thousands of domains and need a control panel to manage all the hosting environment professionally.
I have some question is Virtualmin suite my needs:

  1. Can I set in virtualmin server template or per domain limitations of sending email:
    a) from one mailbox let to send 50 emails per 10 minutes
    b) from one mailbox let to send till 200 emails per 1 hour
    c) from one domain let to send 500 emails per 1 hour
    d) one email can contain up to 50 recieptiens (this means one email = one recieptient)

  2. Sending email from website
    a) from one website would be possible to send 50 emails per 10 minutes and 300 emails per 1 hour. If the limits are crossed all emails would be rejected.
    b) if email queue will consist more thant 10 000 emails, email service for that domain will be stopped and all emails will be deleted AND domain account will be disabled. If emails go with SMTP auth from website, this mailbox will be disabled.

  3. Website virus. Most of the user uses vulnarable CMS’s and their being infected quite quickly. Suddenly cripto currenciences starting to generating, o other strange things happen. Server gets very slow, because one website starting to generate 99% of CPU. I need to automatically block that website or account from executing such activities or sending spam (I wrote above).

  4. Can I allow visit website only from specific countries? Is there any host using GEO-IP modules or smth?

I need functions that can easy the administrator job with limiting bad activities. Or when the problem arises it could easely be controled, enabled/disabled and so on.
I need not only control panel to manage the domains, but also do automatically a lot of functions of prevention.


1. and 2.

Its is possible but only if you set the limits manually and with the help of some Postfix addons like PolicyD or Postfwd. In other words you cant use Virtualmin so all the work must be done manually and for each user/domain separately.


Only with the help of 3rd party software like Imunify360 but not sure if this can work with Virtualmin. Tested only with cPanel and it works, plus there is great integration with that control panel. Sadly this isnt the case for Virtualmin so i’m not even sure if would properly work and for sure there is no integration as Imunify360 or similar software is primary built for cPanel (occasionally Plesk) and the rest is hit or miss… more likely miss than hit.


Best would be to use Ipset as any other solution would noticeably slow down your website(s) on the server. Here we are talking about several thousands or even more rules what the server must check before it allow or deny someone. Some test done with htaccess or iptables show more than 2-3 seconds of aditional time for TTFB in such cases so only solution would be the use of Ipset. Worth to mention Ipset can only work on dedicated server or VPS based on full/hardware virtualization so no OpenVZ. There are some examples how this can be automated as country IP change over time but only by using bash script(s) so again nothing to be controlled over Virtualmin.

In case you want more control over each account limits then you are out of luck with Virtualmin. Only OS that have such options is CloudLinux (based on Centos) but its primary built for cPanel and have support for some other control panels like Plesk, DirectAdmin and ISPManager. It comes with many other “perks” but this isnt the right place or subject to talk about them. By my knowledge Virtualmin doesnt support CL (or vice-versa) and i dont have any real world experience when it comes to Virtualmin and several dozen or hundreds of users on the same server so i cant give you any advice what will happen in such crowded environment where you dont have any control over the websites aside of hosting them on your server.

Hope this helps.

Thanks, for such big explanation. I red it several times.

I’m very suprised, that such features don’t exist on Virtualmin.
Could someone please share the experience how do you work with Virtualmin with large quantity of domains?
I mean how do you manage the website virus problems and spam issues?