Move ExpressionEngine to a different server

ExpressionEngine pre-configuration

These steps are required before ExpressionEngine will run properly.

  • if /path.php exists it can be safely deleted – it’s not required for EE2.  I’m including this step as path.php may still be present if you’ve upgraded from EE1 previously.
  • Edit //expressionengine/config/config.php and change all relevant paths.  If you’re reading this you’re probably clever enough to work out which ones need changing … right?  🙂
  • Edit //expressionengine/config/database.php and change all relevant database connection settings.
  • Change permissions on all files to match the required executable permissions for your host.  I’m mentioning this as it’s a required step for my host and may be for others, too.
  • Set permissions on //expressionengine/config/config.php and //expressionengine/config/database.php to 666 (or relevant executable permissions for your host).
  • Set permissions on relevant directories to 777 as outlined in the ExpressionEngine installation instructions.

ExpressionEngine configuration changes

If you’ve completed the above steps properly, login to your ExpressionEngine control panel and do the following.

Post-configuration changes

The following steps are what I’ve always done when I’ve moved ExpressionEngine.  They work for me and may work for you, too.

  • if you didn’t clear all ExpressionEngine caches before you uploaded the new files, do it now.
  • Update /.htaccess in case your current one doesn’t work on your host’s servers.
  • If you like, follow the instructions to remove index.php from the ExpressionEngine URLs.  This is purely a cosmetic change for me but makes the URLs look better in my opinion.
  • Edit your site’s Quick Links if necessary.  This can be done by clicking ‘Quick Links Manager’ in the ExpressionEngine Control Panel sidebar.
  • Edit your site’s templates and reset all Hit Counter values back to 0.  This is probably irrelevant if you rely solely on an external traffic counter for your stats (e.g. AWStats, Google Analytics).

Done?  Done!

Once you’ve done all that your ExpressionEngine installation should be working as it was before but on your new server.  Please feel free to ask for clarification if any of this doesn’t make sense.  🙂