Trouble Migrating Virtualmin To A New Server

I am trying to migrate from my current VPS hosting account to a dedicated server. I am following this guide:
http://www.virtualmin.com/documentation/system/migrate

Everything appears to work smoothly, until the process gets to restoring the domain to the new server.

Below is what I get on SSH:

[root@D1089 ~]# virtualmin restore-domain --source /root/backups/virtualmin.tar.gz --all-virtualmin
Checking for missing features …
… all features in backup are supported

Checking for errors in backup …
… no errors found

Starting restore…
Extracting backup archive file …
… done

Restoring Virtualmin settings …
Restoring Virtualmin configuration …
… done

Restoring templates and plans ..
.. done

Restoring email templates ..
.. done

Restoring custom fields, links, categories and shells ..
.. done

Restoring custom script installers ..
.. done

Restoring scheduled backups and keys ..
.. done

Restoring FTP directory restrictions ..
.. done

Restoring DKIM settings ..
.. not installed

Restoring greylisting settings ..
.. not installed

Restoring rate limiting settings ..
Restoring mail server configuration ..
.. done

… done

Applying FTP server configuration …
… failed : No longer running

Restore completed successfully.

[root@D1089 ~]# virtualmin restore-domain --source /root/backups/ --all-domains --all-features
Checking for missing features …
… WARNING - The following features were enabled for one or more
domains in the backup, but do not exist on this system. Some
functions of the restored domains may not work : Plugin virtualmin-awstats, Plugin virtualmin-mailman

Checking for errors in backup …
… no errors found

Starting restore…
Extracting backup archive files …
… done

Re-creating virtual server houstonwheelandtire.com
Use of uninitialized value in split at /usr/libexec/webmin/acl/acl-lib.pl line 47.
sh: -L: invalid option
Usage: sh [GNU long option] [option] …
sh [GNU long option] [option] script-file …
GNU long options:
–debug
–debugger
–dump-po-strings
–dump-strings
–help
–init-file
–login
–noediting
–noprofile
–norc
–posix
–protected
–rcfile
–rpm-requires
–restricted
–verbose
–version
Shell options:
-irsD or -c command or -O shopt_option (invocation only)
-abefhkmnptuvxBCHP or -o option
sh: /usr/bin/mysqlshow: No such file or directory
Error: SQL select password from user where user = 'houstonwheelandt' failed : Webmin cannot parse the output from the <tt>mysql</tt> command due to the nature of data in your database. You will need to install the <tt>DBI</tt> and <tt>DBD::mysql</tt> Perl modules to solve this problem.
Error

SQL select password from user where user = 'houstonwheelandt' failed : Webmin cannot parse the output from the <tt>mysql</tt> command due to the nature of data in your database. You will need to install the <tt>DBI</tt> and <tt>DBD::mysql</tt> Perl modules to solve this problem.

Howdy gizmo’
just a question for clarity.
Did you use the install.sh script to get the new server up and running? Are the OSes the same between the boxes?
Was ftp disabled for any reason prior to the restore?

As a side note:
My restores worked perfect(hats off to Joe and Jamie for sure). I did move VPS providers and also upgraded to CentOS 6.4 and the restore was flawless.
Joe

Hi BossHog,

I didn’t install webmin on the server, that was done by my server provider. I only installed the virtualmin via the webmin module installation form. I’m not sure if the OSes are the same or if the FTP was disabled.

I was able to find the issue to my previous issue. It said the mysql module was installed, but under unused modules it said the module wasn’t installed properly and it gave me the option to install it again. So I did and after that it appears that the installation was going to go smooth.

But after it gets to “Updating administration password and quotas”, I get the following:

[root@D1089 ~]# virtualmin restore-domain --source /root/backups/ --all-domains --all-features
Checking for missing features …
… WARNING - The following features were enabled for one or more
domains in the backup, but do not exist on this system. Some
functions of the restored domains may not work : Plugin virtualmin-awstats, Plugin virtualmin-mailman

Checking for errors in backup …
… no errors found

Starting restore…
Extracting backup archive files …
… done

Re-creating virtual server houstonwheelandtire.com
Use of uninitialized value in split at /usr/libexec/webmin/acl/acl-lib.pl line 47.
Creating administration group houstonwheelandtire …
… done

Creating administration user houstonwheelandtire ..
.. done

Creating aliases for administration user ..
.. done

Adding administration user to groups ..
.. done

Creating home directory ..
.. done

Creating mailbox for administration user ..
.. done

Adding to email domains list ..
.. done

Adding default mail aliases ..
.. done

Adding new virtual website ..
.. done

Adding webserver user nobody to server's group ..
.. done

Performing other Apache configuration ..
.. configuration failed : No PHP versions found for mode cgi at ../web-lib-funcs.pl line 1376.


Setting up scheduled Webalizer reporting ..

Missing file to read at webalizer::/usr/libexec/webmin/webalizer/webalizer-lib.pl line 50
Missing file to read at webalizer::/usr/libexec/webmin/webalizer/webalizer-lib.pl line 50
Missing file to read at webalizer::/usr/libexec/webmin/webalizer/webalizer-lib.pl line 50
Missing file to read at webalizer::/usr/libexec/webmin/webalizer/webalizer-lib.pl line 50
Missing file to read at webalizer::/usr/libexec/webmin/webalizer/webalizer-lib.pl line 50
Missing file to read at webalizer::/usr/libexec/webmin/webalizer/webalizer-lib.pl line 50
… Webalizer reporting failed! : Missing file to open at WebminCore::…/web-lib-funcs.pl line 3074 at …/web-lib-funcs.pl line 1376.

Creating SSL certificate and private key ..
.. done

.. SSL website failed! : Missing file to open at WebminCore::../web-lib-funcs.pl line 3074 at ../web-lib-funcs.pl line 1376.


Setting up log file rotation ..
.. done

Creating MySQL login ..
.. done

Creating MySQL database houstonwheelandtire ..
.. done

Setting up spam filtering ..
.. Spam filtering failed! : Missing file to open at WebminCore::../web-lib-funcs.pl line 3074 at ../web-lib-funcs.pl line 1376.


Setting up virus filtering ..
.. Virus filtering failed! : Missing file to open at WebminCore::../web-lib-funcs.pl line 3074 at ../web-lib-funcs.pl line 1376.


Creating Webmin user ..

Use of uninitialized value in split at /usr/libexec/webmin/acl/acl-lib.pl line 47.
Use of uninitialized value in concatenation (.) or string at /usr/libexec/webmin/acl/acl-lib.pl line 469.
Use of uninitialized value in concatenation (.) or string at /usr/libexec/webmin/acl/acl-lib.pl line 469.
Use of uninitialized value in split at /usr/libexec/webmin/acl/acl-lib.pl line 621.
Use of uninitialized value in concatenation (.) or string at /usr/libexec/webmin/acl/acl-lib.pl line 655.
Use of uninitialized value in concatenation (.) or string at /usr/libexec/webmin/acl/acl-lib.pl line 655.
… done

Applying web server configuration ..
.. not running!

Re-loading Webmin ..
.. done

Saving server details ..
.. done

Restoring backup for virtual server houstonwheelandtire.com
Restoring virtual server password, quota and other details …
… done

Updating administration password and quotas ..

Error: Missing file to open at WebminCore::…/web-lib-funcs.pl line 3074
Error

Missing file to open at WebminCore::…/web-lib-funcs.pl line 3074

Hi,

It sounds like your provider did a “Webmin” install rather than a “Virtualmin” install. While technically you can add “Virtualmin” to an existing “Webmin” install, things can get ugly if not setup correctly.

What I’d recommend, have the provider wipe the machine, and put a minimal install of your OS, then install Virtualmin using the “install.sh” method from a clean machine.

After that, doing the restore should work much much better.

Let us know if you have any further questions.

Best Regards, Peter Knowles TPN Solutions

Email: pknowles@tpnsolutions.com
Phone: 604-229-0715 (new)
Skype: tpnsupport
Website: http://www.tpnsolutions.com

Hi tpnsolutions,

Yes they installed webmin and not virtualmin. I installed it after they installed webmin. I thought it wouldn’t matter which was installed. But I will contact them and ask them to install virtualmin instead or at least wipe the machine and do it myself.

Is there any particular reason why installing webmin before virtualmin is not good?

Hi,

Technically, Virtualmin is a “module” of Webmin… So in theory, there shouldn’t be a problem installing Virtualmin after installing Webmin.

However, in practice, the install process is always cleaner when you install Virtualmin in it’s entirety through the “install.sh” script before installing other things as it does a lot of checks, and makes sure that all prerequisites are installed along the way, while configuring the system with a bit more detail.

Essentially, it’ll offer a cleaner install of the whole package, installing Webmin, Virtualmin, Usermin, and all the related items along the way which is why it’s highly recommended going this route.

As mentioned in our brief Skype chat, for me to assist you with the restore process in great depth, I recommend using CentOS 6.5 “minimal” as the base line install as this is the OS I support.

Skype me tomorrow or whenever to proceed with getting things setup :slight_smile:

Best Regards, Peter Knowles TPN Solutions

Email: pknowles@tpnsolutions.com
Phone: 604-229-0715 (new)
Skype: tpnsupport
Website: http://www.tpnsolutions.com

Just to give a second opinion here: I certainly agree with Peter! :slight_smile:

The Virtualmin installer script automatically installs Webmin along with all other required stuff, adjusts config, and it knows best how to do that. It can’t be expected though to be able to correctly modify any pre-installed system it might encounter, we’re not that far yet with A.I. research. :wink:

Thanks guys. I was able to somewhat successfully restore virtualmin after wiping the machine and installing from scratch.

However, the website is still not working. It appears that the databases didn’t import/migrate. Do I have to import the databases separately or something went wrong when I did the full backup of the Virtual Server?

I used this tutorial to import: http://www.virtualmin.com/documentation/system/migrate

I get the following error when I try to access my site via ip: http://64.31.18.178

Databases are part of the backup when you select them as a feature / select “all features”. So if you did that, they should have gotten imported. You can check the transcript of the import/restore process, it will tell you when it does that.

Your error sounds like your web software is trying to access the database with incorrect credentials. You might want to check the database users and their passwords, and see if the software uses the right ones.

Howdy,
Peter and Locutus are spot on(which they already know).
To reiterate, the “Best Practices” way of setting up V-min is wth the install.sh script from a minimal server install. Servers should be one of the supported operating systems for ease,
On possible thing with the databases, if they were created outside of the virtual servers then they may need special attention after the restore.
I had one database that was restored and the “database user” wasn’t given permissions to access it.
all very easy to check.
Joe