cPanel Centos 6 to Virtualmin migration

I need some words of wisdom to migrate from cPanel to Virtualmin.

My system is currently runing on a Centos 6 because cPanel is always locked on older servers (at this time, December 2020 cPanel runs exclusively on Centos 7, they dropped support on Centos 6, but they do not run on Centos 8).

I have about 20 web sites on this server, but only 4 have real content.
Two of then are very old and run on PHP 5.x (If I remember well, because today my WHM GUI Broke and I can’t login on it anymore. All Websites are running and I do have SSH and access to all systems but WHM GUI)

Questions are:

  1. Does Virtualmin import cPanel backups easily or may we have difficult issues?
  2. Which Linux Distro should be better to use with Virtualmin? Centos, Ubuntu LTS? Debian? Outro?
  3. Apache or Nginx? Does Virtualmin work equally well with both ?
  4. MySQL or Mariadb? Does Virtualmin work equally well with both ?
  5. Any additional subject I should be aware off?

Thanks in advance for any help provided.

When migrating from cPanel to Virtualmin with CentOS 7 on both:

  1. I had one problem having to do with the way cPanel divides Awstats logs into SSL and non-SSL. I’m pretty sure Jamie tweaked the migration script since then to merge the files. Everything else was a yawn. It just worked.

  2. Are you trying to start a war? Okay, if I had to migrate tonight, I’d probably use CentOS 7. I wouldn’t want to because it’s close to EOL, but I’d probably do it anyway if push came to shove. I’d also consider Debian, but I’d be concerned about the dual migration (CentOS > Debian and cPanel > Virtualmin) presenting more opportunities for the gremlins to do their thing.

  3. I have no experience with Nginx.

  4. I would use whatever db server is provided with the OS. That is what Virtualmin assumes, as far as I know.

  5. I made separate full backups for the migration rather than using the scheduled cPanel backups. That may (or may not) be one of the reasons my migrations went so smoothly. I don’t know whether there’s any difference between them. I did it just to have the freshest possible backups. But it bears mentioning.



Use what you were using on the server you are migrating from. I assume that is Apache, since I don’t think cPanel actually supports nginx in any meaningful way (I think some people use nginx as a proxy/load balancer type thing on cPanel servers).

Use whatever is the default installed when you install Virtualmin on your chosen OS.

Since you were using CentOS before, I recommend CentOS on your new server. Migration will be easier and your experience will be more directly applicable (though cPanel is its own beast and replaces a bunch of the stack with its own funky packages).

1 Like

Hi Richard and Joe,

This is exactly the kind of “words of wisdom” I was looking for. Thanks a lot for receiving me so kindly in the Virtualmin forum.

Richard, no, I do not wan to start a war! My question was made with pure heart, as a result of profound despair ignited when yesterday my WHM asked fo initialize a fresh install (on a Centos 6 where it is not supported any more). And to make things worse, Cpanel support answered that I ought to migrate to Centos 7 or upgrade to CloudLinux as the only possible solutions.

In fact I was planning to migrate to Virtualmin since early this year, but being 2020 what it was, I was not able to to it. Now I will be forced to find time and resources.

1 Like

I still have some questions that may save me a lot of headaches if I can get some feedback before trying the implementation itself.

  1. Is Virtualmin Compatible with SELinux and/or AppArmor? (cPanel forces the OS to be Centos/RHEL, but does not support SELinux and after so many years, I can´t understand why). If possible, I wish to run with the security of either one of those enabled.

  2. Which mail server (smtp) is compatible/recommended to be used with Virtualmin (Exim, Postfix, other)?

  3. Antispam: Mailscanner? ASSP? (I use them both on cPanel: Internet=>ASSP=>Mailscanner=> delivery). Any experience with those or any other?

  4. Firewall: I use CSF Config Server Firewall. I understand this is compatible with webmin. Any other suggestions?

Again, thanks in advance for taking your time to help us.

  1. No, I don’t believe so. I think it has something to do with PHP-FPM and is not specifically a cPanel or Virtualmin problem. There was a time when I knew, but that bit of data has slipped into the realm of the forgotten.

  2. Postfix. A rather old version. I managed to update to the newest, but I think there may have been divine intervention at work because I’m far from a Postfix expert.

  3. SpamAssassin by default. I haven’t tried the others.

  4. By default, whatever the OS uses (firewalld in CentOS). However, I use CSF with no issues at all, and there is a Webmin module for it. Obviously you have to disable firewalld to use CSF.


There have been several threads about SELinux support, and I have some notes here: SELinux support development thread · Issue #1 · virtualmin/Virtualmin-Config · GitHub

Those notes are still reasonably accurate, even though they’re quite old. I got side-tracked from it, as I had to get a real job, so I don’t have as much time for Virtualmin development, and SELinux has proven itself to be simply too difficult to use…I don’t think we can afford to support systems with SELinux enabled by default, honestly. We are only four people, working part-time, and the increase in our support load would literally explode with hard to diagnose problems in areas out of our control.

You can enable SELinux and flip a few booleans and Virtualmin will work, and if you’re the only person installing apps and developing with the system, you can just make a note to yourself to always check for SELinux issues every time you have a problem. But, if you’re hosting less technical users, you’re gonna make your life hard enabling it, and that probably means it’s gonna make our life a little harder when those problems trickle up to us. :wink:

In short, the last line of the above linked ticket is still my position on SELinux: SELinux is on the radar but it’s unlikely to be default anytime soon unless someone else does the development or sponsors it.

  1. Just use Postfix. Just use the defaults that get installed when you run the Virtualmin installer. Don’t make things harder for yourself.

  2. SpamAssassin and ClamAV with our own per-user/per-domain processing daemon and procmail rules. Some folks have setup system-wide Mailscanner or amavisd-new or others. Virtualmin doesn’t generally care if you do that, and you can disable the Virtualmin-provided spam and AV features if you’re doing it at the system level.

  3. We configure a basic firewalld firewall during installation, but you are free to use any firewall you like. CSF is pretty well-supported and Ilia is a big fan of CSF (I really dislike it, however, just as I dislike most script-based firewall config generators that produce wildly cluttered firewall rules) and has made sure Authentic theme works nicely with the CSF Webmin module.

Thanks a lot Richard and Joe,

I really appreciate your help.

It is time for me to begin testing and hopefully implementing it in production soon.

Best Regards,

Hilário Fochi

1 Like

Just for your information. I migrated 3 cPanel accounts yesterday (about 2GB each) and there wasn’t any problem.

Good Luck!


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.