Migrating WordPress to DigitalOcean

This is a quick guide on how to get a D8 site running on DigitalOcean

  1. Spin up a WP on Ubuntu 16.04 droplet
  2. ssh into the IP address assigned: ssh root@IPADDRESS

  3. If you are deploying a repo from github, add a ssh key with: ssh-keygen -t rsa and paste the public key into the repos → settings → deploy keys section.  reboot the server.
  4. Install wp-cli with:

    curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
    chmod +x wp-cli.phar
    sudo mv wp-cli.phar /usr/local/bin/wp
  5. Grab a copy of wp-config.php and bring it down to your local.

    scp root@IPADDRESS:/var/www/html/wp-config.php ~/path/to/local
  6. Add the DB connection strings to your wp-config, use a conditional or local settings file to keep your local hosts file in check. Push it up to your repo.

  7. Run the following commands:

    cd /var/www/
    sudo rm -rf html
    git clone YOUR-REPO html
    sudo chown www-data:www-data -R html
  8. Go to the IP address of the site in your browser

    1. Set up the Database, this will get overridden in the next step regardless of what you put.
  9. In your local site that you are moving, install the All-in-One WP Migration plugin
    1. If using Github: Before Using All-in-One add and install the Velvet Blues Update URLs plugin to use post migration
    2. Export to a file.
    3. If using a GitHub repo, add this to your .gitignore to prevent pushing various items onto he server

      /wp-content/ai1wm-backups/*
      /wp-content/ai1wm-backups
      /wp-content/cache
      /wp-content/cache/*
      /wp-content/uploads/
      /wp-content/uploads/*
      /wp-content/object-cache.php
      
  10. In your Digital Ocean Site, enable the All-in-One WP Migration plugin
    1. Import the file you exported in step 9.
    2. Go to tools → update urls to change the urls from ips / local host domain to your domain url
  11. Highly Recommend you follow this wiki article: High Performance LAMP based Wordpress on DigitalOcean OR use these individually:
    1. Highly Recommend using the site with CloudFlare to help mitigate DDoS attacks and CDN management.
    2. If you want to optimize PHP & MySQL: check out this page
    3. If you want to optimize the server: check out this page