Edit: Ok I know this post turned out to be like a Harry Potter novel, but it’s actually super simple and I probably just wrote things that I could easily edit out, but I noticed that with AiO you would have to use a temp domain, so I’ve written this guide so you can a) keep your website online during the entire process, no downtime and b) use your real domain URL on EE from the get-go, so you can create your site and import your backup without having to make any changes at all later on. I also figured maybe this guide would be useful for others in the future as I’ve given the same advice to a few different people in the last few days and they found it to be a really great solution. This method also allows you to have a 2nd Vultr EE server running using the same domain, with SSL, and you can use that for your staging environment so you make all your content changes there, test new ideas/themes/plugins/layouts etc and then when you’re happy with your changes you simply backup and restore to server #1 in a matter of seconds.
Hi @shab welcome to the ee forum. Would you be able to fully uninstall easyengine and start over? That would make things easier. Use
sudo ee cli self-uninstall to do so. And then re-install it. Also, revert your A records back to the IP address of your shared hosting server so your website remains online to visitors during this entire process.
Delete the AIO migration tool from your shared hosting site. Install the UpdraftPlus plugin. I like Updraft because it splits everything in to its own zip (themes, plugins, uploads etc) so I don’t get 1 huge zip file. Also it will allow you to pull off this method of restoring to the same domain name and not having to use a random temporary domain, whilst keeping your shared hosting server online for all visitors except you, you’ll be taken to your EE server when you visit your domain.
First things first when it comes to migrating from a non-ee server, make a backup of your website as it currently stands and store this in a separate folder on your computer, call it
Shared Hosting Backup or something, so you don’t get confused between all your backup sets. In Updraft just click on Backup Now, then download each file for that backup (database, plugins, uploads, themes, others. Also click on the log file and download that too.) For the sake of this post I will just make up the folder names myself but you obviously call them whatever you like.
And then we need to create a second backup, the one that we will be using in the migration to EE. We’ll need to make a few changes before we do this.
If you use w3tc, WP Super Cache or any other caching plugins on your current website, deactivate and delete them. Then, install (but do not activate) these two plugins. Remember, do not activate them, it’s just that when you create a website in ee with caching enabled, it installs and configures these plugins for you – but if you restore a website that never had these plugins to begin with, they would naturally be deleted out of your wp database & directories after you restore.
Now create your new backup for migration to EE. Download all the files including the log file to a folder on your computer, name the folder
EE Migration Backup
Now that we have uninstalled & reinstalled easyengine, and created a backup set for the currently functioning website, and a modified backup for the migration, let’s begin.
The first thing you want to do on your EE server now is create your website. Let’s make a few modifications to the the create command to make things seamless. We’ll tell EE to make the WP admin username, password & email the same as what you are currently using on your existing website. We’ll also do the same for the database name, user, and password. This way your restoration will be absolutely seamless. To your question about the A record and wildcard – wildcard certs don’t use A records for verification. This means that you can actually use your real domain in the site creation (not a temporary one), and not have any effect on your live website that’s actually running. Normal visitors will see your current live website when they visit the URL, and only you will see the EasyEngine version, so you can do as much content changes/testing/updating as you want, without having to use some temporary random URL and then worry about URL replacements every time you want to restore/migrate.
Let’s create the website on our fresh EE install:
sudo ee site create youractualdomain.com --type=wp --ssl=le --wildcard --cache --php=latest --admin-user=yourexistingadminusername --admin-pass=yourexistingadminpassword --email@example.com --dbname=yourexistingdbname --dbuser=yourexistingdbusername --dbpass=yourexistingdbpassword
If you are unsure of what the name of the database is, or the username or password to access the database, just open your wp-config.php file on your shared hosting website and you will find it in there. If you copy/paste it into your SSH terminal when entering this command, make sure you don’t accidentally add an extra space after the last letter, sometimes when I copy/past things an extra space is added by itself, so just keep an eye out for that.
If your existing website does not use SSL/HTTPS, skip the --ssl=le and the --wildcard flags when creating your site, and skip the verification process. Follow everything else. Once all done, scroll to my last post to instal SSL.
Now that you’ve created your website (for this guide I am assuming that your current site uses SSL, so you created your EE site with SSL. You will notice that EE has given you 2 TXT records that you need to add to your DNS to be able to get your wildcard certificates.
The TXT records both are for
_acme-challenge.youractualdomain.com Create 2 TXT records for this with the verification keys that you’ve been given. Ps if you already have created these records from before, delete them instead of editing them. Set the TTL to something really low like 300. Your A records should remain pointing at your shared hosting IP address, so your website remains live – don’t point your A records at your EE server until you actually want to.
Now let’s issue and download the the wildcard certificates. Run
sudo ee site ssl youractualdomain.com – LE will check for the TXT records against your domain, and if you’ve pasted it all correctly, your certificates will now be installed.