How to move magento shop to another server

The following procedure describes the basic needs for moving your magento-shop to another server. There might be additional things to consider (changing domains, DNS, PHP-Configuration, tools & programms on your server) which need to take care of on your own.

1. Backup files in your Magento directory on your old server:

You might empty your var/cache, var/session, var/report and var/log directory first to save space and speed up the backup

2. Create a database dump on your old server:

Use phpMyAdmin, Chive or via console with mysqldump, n98-magerun

3. Set up directory structure for files and create database + user on your new server

4. Move files and database dump to your new server: via FTP, SSH,...

5. Extract file-backup to your new magento directory

6. Check and set file-permissions

Usually 644 for files and 755 for folders.

See also this question for more information: What permissions should I give /var and /media?

7. Import database-dump on your new server:

Use phpMyAdmin, Chive or via console with mysql, n98-magerun

8. Update new database-settings in app/etc/local.xml

9. Update URLs in core_config_data:

You can edit the base_url via Web-Frontend (phpMyAdmin, Chive,...) or use these SQL-statements. You might need to edit the urls for your stores also.

Look for path ="web/unsecure/base_url" and path="web/secure/base_url" in the core_config_data table.

10. Empty var/cache, var/session, var/report, var/log (if you did not do that before you created the backup on the old server)

11. Reindex your data: catalog url rewrites

12. Enjoy your beer!


1) You need to get the sql dump from the old database and import the sql file in the new database. 2) You need to make change in the local.xml. To do so goto app/etc/local.xml Enter the username, password and dbname of the new database you created.

NOTE : Normally host name as localhost works. But for some servers you need to get the host name from the server company and need to change it too..

I have attached a screenshot of local.xml where you need to make a changeenter image description here


I won't repeat the other answers. Some advice:

  • Download and zip the entire folder and keep it for a long time as a backup.
  • Backup the database, zip it and keep it as backup.
  • Set rights for all files properly, not only those in the var and media folder.
  • Let the old install run until you know how to move the install in one go.
  • Create a test store on the new test-installation (while the old server still runs) and see if that works with a test subdomain.