Q:

Copying a CiviCRM/Drupal install from one server to another (got error)

I've tried copying a a CiviCRM/Drupal install from 1 server to another. I copied all the files within the drupal root, and the database, and changed the database details in both Drupal's settings.php file and CiviCRM's civicrm.settings.php file. Drupal now works fine - copying this over appears to have worked, and I've done so succesfully with the same method many times. However, CiviCRM is not fully working. When I visit the main CiviCRM admin page (ie. http://cea-crm.philosofiles.com/civicrm/ on my server) I see CiviCRM's sidebar boxes (indicating it's working to some extent) but, to the right of them, see:

Page not found
The requested page "/civicrm/" could not be found.

When I click on any sidebar box link, such as 'My Contact Dashboard', I likewise see:

Page not found
The requested page "/civicrm/user?reset=1" could not be found.

Presumably I've missed some change I needed to make to reflect my new server setup? I can't see anything in civicrm.settings.php I still need to change, e.g. I've added lines like define( 'CIVICRM_UF_BASEURL'      , 'http://cea-crm.philosofiles.com/' ); and $civicrm_root = '/home/myusername/public_html/d7/sites/cea-crm.philosofiles.com/modules/civicrm';

A:

If you have Drush installed, you can also use the following command to update some of those settings:
drush civicrm-update-cfg
It will try to update the URL and directory settings, which is pretty equivalent to the URL: "http:///index.php?q=civicrm/admin/setting/updateConfigBackend&reset=1".
After that, you can use the API to flush various CiviCRM caches which may be using that data:
drush civicrm-api system.flush

