All migration guides that I found are severly lacking information.
www vs non www. All guides must state that if you import your site that was running as www.domain.com - you absolutely need to create with with ee site create www.domain.com …
Adding redirects to achieve this later will result in infinite loops. Also see separate topic on this here. The classic redirect rules will run havoc as somewhere there is a hidden file specifying this.
And also none of the guides I found anywhere on the net has any info about how to proceed if your site uses ssl. With the servers not yet pointing to your new server with easyengine IP - you cannot setup letsencrypt! Hence there should be a short description on where you shall reference your old cert and place it (well that’s easy - but a warning about letsencrypt should be added). The only other possibility is to create an letsencrypt cert on your old server - then move it to your new server and enter the info (while noting that the --letsencrypt switch will run havc
Database Names and Users – while it’s good custom to have a different database user for each website - this is not a requirement normally. With ee it is however. Also ee runs havoc if you try to use root as user. So a warning should be added that each website needs it’s own database user and it may not be root!
Mysql Databases. I could not import my old database without running into tons of error. Well my database was still in myisam notation but running fine with newest mysql -. however the last 2 years MariaDB and MysQL diverted so much that import created nonusable site (it was running but throwing errors everywhere). I had to install and old version of both mysql and mariadb - then use that old version of mariadb to import my mysqldump - then I could dump it again and import it into my mariadb easyengine database. While installing MariaDB on ubuntu 16.04 note that all your old databases will get dumped. Mysqldump them before - AND save your /var/mysql/ folder because guides relating to mysql/mariadb conversion from Ubuntu 14.04 are not applicable anymore.
Before importing your database make sure to change all relative pathes related to the website root. I had my websites under /srv/www/domain.com/ which is the default in quite a few OS. Some plugins ran havoc if I did not replace this before importing by /var/www/domain.com/htdocs/
I searched a long time to find out if there is a way to adapt where you store your site - but chaning website root in nginx will not do it. ee seems to absolute require it’s form.
For wordpress - move the old wp-config.php file into the domain.com folder and replace the wp-config.php there. Check if there is any custom changes that are not needed anymore.
Also for users not migrating from nginx beforehand - move all your .htaccess rules into a new file and place it under /var/www/domain.con/conf/nginx/myoldrules.conf
Don’t try to install ee onto your old production server. It’s mentioned in other places - but should be in any migration guide. EE should only be installed to a fresh OS - else it will be even more complicated (and your websites offline for a long time until you fixed everything).
EE stack seems great and is fast - but site migration really needs to be explained better. Else most people will just give up completly frustrated.
Maybe it’s better for people migrating to install the full ee stack, backup the config files so you can see how to implement things like wpredis - and then uninstall nginx from within ee. Install a normal nginx version from your distribution, then setup the nginx.conf file accordingly - and that way you will not run into any surprises and it may be a lot quicker. Seeing how many custom ways of doing things differently ee has - i’m afraid one day I’ll update and everything breaks down again - just because I had to adapt too many things to get it working - and maybe those adaptions will fail. (there is more than the above points, but those things are prettty specific. As the custom nginx version is the main culprit - I guess not using it from ee engine server would help a lot (while of course giving up lots of features that make ee easy for beginners/setting up a new website).