How to migrate from one server to another ( cPanel account)

Started by ACKET, Jun 30, 2022, 05:10 AM

Previous topic - Next topic

ACKETTopic starter

I got two servers ( Server A - im paying for hosting , Server B - its my local host in my office) .. So I dont see a point in paying a hosting provider when I got server at my office. So my question is,Can i somehow migrate my cPanel account from server A to Server B ??

It would be nice if im able to keep same passwords on email account's ..

I dont know if this is important but i got more than 300gb data on Server A.


Thanks alot.


And worst comes to worst, you can always revert back  But one thing to make sure beforehand : Make sure SERVER A and SERVER B are both using the same CPanel and easyApache versions.

How many sites do you have to transfer? 300 GB should be fast with a decent internet connection.

Piece of advice though, transfer the sites ONE BY ONE - do not be tempted into "set and go" - Monitor the process : one site at a time, TEST and make sure all is ok.

Once all done, verify the backup settings as well, to make sure they're still active and configured similarly to SERVER A.

Don't worry, all will be well - if you need help, there's a lot of resources on the internet or just fire your questions away, we'll will be glad to help!
    The following users thanked this post: klara


Do you have cPanel Installed at your local office server?
If yes its a very easy task, just use the cPanel Transfer tool available in WHM.
If you have some Advance knowledge you can use rsync to transfer your home directory.
Your data/emails and settings will not lost.


Get a backup copy of files and DBs
In order to transfer the site to a new hosting server, you need to download a backup copy of the site and databases.

The first step is to go to the hosting control panel and download the database and backup site.

Database export
Creating an archive on hosting

Download a website backup
You can also use an FTP client such as FileZilla to download site files. In this case, the algorithm is quite simple. The first step is to connect to your server.

Connecting to the server
After a successful connection, go to the root directory of your site's files and download all the content to your local space.

Download content to a local device
This completes the first stage - creating a full backup of the website.
Note. In cPanel, you can simply download a full site backup in the "Backups" tab.

Step 2. Fixing the database (in case of a domain name change)
If you want to change the site's domain name after the move, you must completely replace the old domain with the new one in the database.

Important! The archive downloaded from the hosting can be in the .sql.gz format. It often happens that they start editing it by mistake
The database is stored in .sql format. At this point, be careful.

At this stage you need:

open the downloaded .sql database in any text editor, such as Atom or Notepad++;
in the search find the name of the old site name;
enter a new domain and click "Replace all" (Replace all);

save all changes using the key combination CTRL+S.
Step 4Import the database via phpMyAdmin
The next step requires you to import the database dump generated in step 2 into the WordPress DB on the destination server.

To do this, you need to go to database management on the destination server using phpMyAdmin or another database management tool.

Make sure you select the correct WordPress database. This is the same database that was created when installing WordPress in step 1. In our case, the database name specified for the target WordPress was wp35. However, most servers also add a prefix from the username to this name, for example, we have hostpro_wp35.

Determining the correct database is critical, as importing into the wrong database will result in another site being corrupted on your host. If you have other WordPress installations on the destination server, be sure to create backups before migrating.

To be sure of choosing a base, we recommend the following checklist:
check the DB name in the wp-config.php file on the target server, it will include the full name including any prefix;
make sure the prefix of the database tables in phpMyAdmin matches the one specified in wp-config.php;
check the 'siteurl' and 'home' fields in the someprefixwp_options table - they should contain the name of the target domain