How to move a Drupal site from one host to another

Drupal Hosting and Installation

Here are the detailed steps how to successfully move a complete Drupal installation from one host to another. You can also watch our video on how to install Drupal if you want to create a new Drupal installation.

The documentation on drupal.org is not necessarily clear, here are the exact steps how to move a complete site including your drupal mysql database.

Migrating Drupal On your OLD host:
  1. Backup your whole home directory from your ftp access using an ftp client like filezilla. Make a folder on your local harddisk and download the complete directory to that local folder.

  2. Backup your mysql database on your old host using phpadmin, select your mysql database, usually something like "name_drpl1". Select all fields, click "export" and save the database to your local harddisk. Leave default options enabled. You will receive a file similar to "name_drpl1.sql".
    This is your mysql database
On your NEW host:
  1. Upload your folder with the complete drupal installation to your home-directory.

  2. Once done, go to cPanel -> MySQL on the new host, create a new mysql database, example "name_drpl1" and create a new mysql user. Create a password for this new mysql user, click "assign all privileges" to this user and assign the user to the new database.
    You now should have a new mysql database on the new host with a mysql user, eg. "name_drpl1" as database name and "name_username" as database user name.

  3. Import (upload) the database (which you exported from the old host earlier) with phpMyAdmin to the new database. This might take a minute.

  4. If needed edit the file [drupal home]/sites/default/settings.php and edit at the section where you enter the database, location, username and password. You CAN enter the password either encrypted or not encrypted there.

  5. Chmod your "files" folder so it is writeable using your ftp client (filezilla), chmod to 755

  6. Double check your .htaccess and [drupal home] /sites/default/settings.php and make changes in case they are needed.