Earlier this week we completed a migration from Microsoft Exchange 2003 to Google Apps Education Edition. This step by step howto is also valid when migrating to Google Apps Premier Edition or Non-Profit Edition, but not with the standard edition (Google only supports IMAP migration on premium accounts). There are many reasons why you would want to migrate to Google Apps from Exchange and several reasons not to, but I will leave those for another post.
1. Establish the Google Apps Account
Sign up for Google Apps Premier Edition – $50 / user account / year.
Sign up for Google Apps Education Edition – Non-profit organizations sign up here as well.
Note: Google says that it may take 1-2 weeks to review requests for the education and non-profit editions, but I have found that they usually reply within a day or two.
Already running Google Apps Standard Edition? Submit a request via the upgrade to Education Edition form. If you are running Premier Edition, you will have to downgrade before requesting the Education Edition.
Once you have established the account, you will be directed to the management dashboard for administrators. You can customize Google Apps under the ‘Domain settings’ tab, where you set the organization name, user support info, timezone, custom logo and control advertising.
2. Setup User Accounts
I recommed starting off with setting up user accounts, Google Apps supports several different ways for setting up/syncing accounts:
- Creating new users one by one – Put in first name, last name and a username. Google can issue a temporary password or you can set it.
- Bulk account update – You can upload a CSV file with the user account information.
- Google Apps LDAP Synchronization Tool – A package for synchronizing Google Apps for Your Domain with an LDAP server.
- synchronizes users from Active Directory or openldap into Google Apps
- detects new and exited users automatically and changes Google Apps accounts accordingly
- handles user id / account renames automatically
- handles attribute updates automatically
- keeps track of changes and only propagates deltas (to allow syncing every 10 minutes for example)
- Additional user managment options are available from Google Enterprise Professional Partners.
If you are migrating less than 100 users, the easiest thing is to create a spreadsheet with username. first name, last name and a temp password (unless you know the passwords) and perform the bulk update. The Google LDAP tool is still a little rough, I’d wait until it matures a bit unless you are very comfortable working with Python and LDAP. If you have a large user base, it is probably worthwhile to take a serious look at some of the Google Partners, Sxip Identity seems to have the most comprehensive single sign-on solution for Active Directory ($5/user/year – education discounts available).
3. Activate Email/DNS Cutover
Give your users a heads up that a new email system is on the horizon and define an outage period. The length of the outage will be mainly dependant on how much mail you have to move and how fast is your upload bandwitdh. It took us about 4 hours move 1GB of email on a 3mb pipe. I would set aside an entire evening/night for the migration.
Google has clear instructions for changing mail exchange (mx) records on the ‘Activate Email’ link. Make sure that you gave the same set of users created before cutting over. The DNS changes may take a few hours to propagate.
Optional: Change the Web address for email to something easy for users to remember, you can do so by clicking the ‘Email’ link on the Dashboard and choosing ‘Change Url’. Google suggests using mail.yourdomain.com. Google will walk you through changing the CNAME record in DNS, setting the destination to ghs.google.com. You may also want to do the same for the rest of the services that Google Apps provides.
4. Begin moving email archives with the IMAP Migration Tool
You will need to make sure that IMAP support is enabled on your Exchange Server and port 143 or port 993 (SSL) is open on your firewall. You will also need an account that has privileges to access all the users mailboxes or each user’s password.
You can access the IMAP Migration Tool under the Advanced tools tab by clicking on ‘Setup up Mail (IMAP) migration’. Enter all the information for your Exchange server. I found that we did not need an IMAP path prefix but we did need to exclude serveral folders (if you don’t exclude calendar and contacts they will show up as email items). I wouldn’t recommend more than 1 or 2 connections to the server unless your Exchange box is sitting at a data center on a fat pipe.
Next you will be asked to specify the user accounts to migrate, once again you have a choice whether to do this one by one or via bulk upload. I recommend testing at least one account manually before moving to bulk upload.
When entering user accounts to migrate, you will need to specify a username of the format:
The password you specify in the next field is that of the AdminUserName you designated.
When you test the connection, if successful, it will list the folders found and the matching excluded folders.
Once the migration job is submitted, Google will give a job details page that will keep you up to date on the progress. Login to the test user account and verify all the email moved over correctly then repeat for the rest of the users (I would recommend smaller batches).
Tangent: We were running two domains on our Exchange server and were only migrating one to Google Apps. We also wanted to keep the old Exchange accounts active (but not receiving mail) just in case. To allow users from the domain that remained on Exchange to send email to the user who migrated off, we had to create external contacts for all the users who left and forward their mail. We also updated the default recipient policy to reflect only the remaining domain.
5. Export/Import Calendar and Contacts
Since we decided to issue temporary passwords, we went ahead exported CSV files from each users Outlook for calendar and contacts and then imported them into their Google account(an effective but cumbersome process). See Google help for details:
How do I migrate events from Microsoft Outlook Calendar to my calendar?
How do I export CSV files from other mail providers?
How do I import a CSV file?
There are more advanced/capable migration solutions available from Google Enterprise Professional Partners.
Note: There are no equivalents in Google Apps for Journal, Notes, and Tasks. Remember the Milk is a good alternative option for tasks that integrates well with Google Calendar.
6. Introduce your users to the world of Google Apps
Rather than inundating our users with too much information, we started them off with just the email and calendar portions of Google Apps. We plan on rolling out Docs and Spreadsheets soon.