Move C5 to new Server

I have found 4 to 6 pages explaining how to move a C5 site (on Ubuntu) to another Ubuntu server.
Do the versions have to match? Ubuntu? Apache2 Php?

I have tried:
tar the entire website’s files.
mysqldump the DB.
Create the empty site in apache2 on new server.
Login to MySql and create the user and the DB.
Restore the DB from the dump file.
It never works. Sometimes a little more than others. Typically I get HTTP Error 500.
Anyone know of a page that explains how to do it THAT WORKS.
How do I diagnose a 500 page error.

Thanks,
Sean

I forgot to mention, I do extract the whole site on the new server.

Make sure you clear the cache and also check the php versions are compatible.

To clear cache delete the cache folder in application/files/

Also check the .htaccess file to make sure nothing odd is in there.

Lastly check any php.ini files from old server.

Follow the indications given by TMDesigns and check official indications:

if this is not enough to solve your problem, reand and follow the given link at the end:

You might be trying to move to a PHP version that your version of Concrete doesn’t support. For example if you’re moving a legacy 5.6 website to a server with PHP 7 and 8 it won’t work.

You might also be missing so required PHP extensions…

You should check the logs to have an idea of what the problem is. Error 500 are just generic server related issues. The details are important.