How to move a Drupal site from Server A to Server B.
- Create the Domain on Server B
- Create the Emails on Server B
- Create the Database on Server B
- Download the database from Server A using backup_migrate
- Rsync files from Server A to Server B using ssh. Be careful to also transfer the dotfiles (or use git if is set)
- Install drush on Server B (see drush-installer)
- Install Drupal on Server B with a clean Database
- Enable module backup_migrate on the new site on Server B
- Restore the Database on the Server B site using backup_migrate module
- Clear caches on Server B site
- Setup cron for the new site on Server B (see https://gist.github.com/theodorosploumis/0738cefd7474dfe57255)
- Change the DNS for the new Domain
- Change SMTP module settings on the new site (change server name)
- Install SSL from LetsEncrypt
- Create an ssh key on Server B and upload it on the git PaaS (Github, Bitbucket etc) to allow git push (if exists)
- If the site is an eCommerce site using credit card payments notify the Bank about the new IP, Sever name etc
- Remove old database, files, emails, cron jobs from the old site on Server A