Moving from a Linux Mail Server and peer-to-peer network to Exchange Server 2007 (Part 1)

If you would like to read the other parts in this article series please go to:

In Exchange Server 2003, we were able to use the Exchange Migration Wizard to migrate from an environment running IMAP4 to Active Directory and Exchange Server 2003. A list of all steps required can be read at: How to Migrate Users and Mailboxes from an Internet Messaging System to Exchange 2003.

In this article series I intend to demonstrate how to move directly from a Linux Mail server running Postfix and POP3 to Exchange Server 2007. This scenario can be useful to small and medium sized companies that do not want to first migrate to 2003 through the Exchange Server Migration Wizard and then transition to Exchange Server 2007.

All steps shown in this article series can be changed to better fit your current scenario. Changing some steps in your deployment is not a straightforward process. A best practice for this kind of migration is to understand how your current environment runs (server side and client side) and creating a deployment lab to validate.

Our objective is: creating all users using the Linux information that we already have and gradually moving resources to the new Active Directory / Exchange Server. In the last phase we will be moving the users’ current message data to Exchange Server 2007 through Outlook 2007 deployment.

Current scenario

In this article we have a peer-to-peer network where all workstations are in workgroup mode and there is a local user on each machine and all users retrieve their messages using Outlook Express from the Linux Box, as shown in Figure 01.

Figure 01: Current Scenario

In our current environment all workstations are configured to use as POP and SMTP Server (Figure 02), all users have at least 2 passwords, one locally and another password to access their message in the Linux Box.

Figure 02: Configuration defined in all workstations (using pop3 and SMTP)

We can also see a normal user accessing their message through Outlook Express (Figure 03).

Figure 03: Using Outlook Express to send and receive messages from the Linux Box

We will be using the current information in the Linux box to create the new users in the Active Directory. This information is located in the passwd file in the Linux box and it can be found at /etc/passwd. In this file we will find valuable information, such as user name, name, office and phone numbers. To validate which information a user has, we can use finger <user-name>, as shown in Figure 04. Since we have user names and other information we can add this extra information in the new Active Directory accounts.

Figure 04: Gathering user information using finger

To change the current user’s information in the Linux box we use chfn <username>.

We need to create an Active Directory structure, create the same user name accounts that we already have in the Linux box, install Exchange 2007 and move all workstations into the new domain and set them up to use Exchange 2007 and Outlook 2007. In this scenario our company wants to move directly to Exchange Server 2007 and not transition between message systems. Then, our goals in this article are:

  • Build the Active Directory from scratch.
  • Build the Exchange Server 2007 environment to be interoperable with the current client way to access the messages for a short while.
  • Configure Exchange Server to work with the current environment.
  • Move users and profiles from workgroup to domain environment.
  • radually improve the end-user experience by installing Outlook 2007 and using the MAPI protocol.

Creating the new infrastructure

In order to prepare the prerequisites required to move between message systems we will be deploying the Active Directory and Exchange Server however the current environment will not be affected.

  1. Install a brand new Windows Server 2003 + Service Pack and hotfixes.
  2. Create an Active Directory forest and domain called apatricio.local. The old DNS namespace used by the Linux box is and it will be supported in the new environment.
    The process to create the new Active Directory will not be covered in this article, but there is a step-by-step at How to Install Active Directory on Windows Server 2003.
    We should use at least 2 Domain Controllers to provide fault tolerance to authentication and some network services.
  3. After finishing the Active Directory deployment, we can log on using the new administrator credentials, and open the DNS management interface. We have to create a new zone using the same name that the current clients are using to resolve the services. In our scenario this is
  4. Update this zone with all hosts included in the DNS Linux box because when we change the resolution of all current workstations they must access the same services.
  5. Install DHCP Server in the Active Directory. This step depends of how your current environment is defined. We can have two options:
    – Workstation and servers using manual IP Address: This is the best scenario, because we just have to deploy the New DHCP server and take care that our IP range available to the new clients will not clash with the current IP Address. All Servers should be configured manually but the new IP settings must be updated.
    – The Linux box has a DHCP Server: in this scenario we have to validate the current range that the Linux DHCP server is distributing, disable the service and create a range that does not clash with the current IP Address.
    In both scenarios the new DHCP server must pass the correct settings to the workstations. These settings should be at least: DNS Server of the Domain Controllers, DNS suffix of our new Active Directory domain (apatricio.local).

At this point, our workstations should be receiving IP configuration data from the new DHCP Server and resolving hosts through the new DNS Server. The next step is the Exchange Server 2007 installation:

Use Exchange Server 2007 Setup wizard to Install Exchange Server 2007

  1. Install the prerequisites (.Net Framework, PowerShell and MMC 3.0 if we are not using a R2 Operating System) these items will be available in the first wizard screen.

  2. After all prerequisites are done, click on Step 4: Install Microsoft Exchange.

  3. In the Introduction page, just click on Next.

  4. In the License Agreement, click on I accept… option and click on Next.

  5. Error Reporting. Choose your option about send the errors to Microsoft and click on Next.

  6. Installation Type. In this article we will be using a single server, then click on Custom Exchange Server Installation button, and if necessary change the location where Exchange Server will be installed. Click on Next.

  7. In the Server role selection, select Mailbox, Hub Transport and Client Access roles and click on Next.

  8. In the Exchange organization, define the Exchange organization name and click on Next.

  9. Client Settings. If we are going to use Public Folder, if we will install any Outlook 2003 click on Yes. After your choice click on Next.

  10. Readiness Checks, validate if everything is okay and click on Install.

  11. Completion. Validate if all roles have been installed and click Finish. (Figure 05)

Figure 05: Finalizing the Exchange Server 2007 installation

  1. Install the latest available Service Pack.
  2. Install the latest available Update Rollup (if available).

I am assuming that we have a single Exchange Server and we have extra steps to do in order to configure properly the new Exchange Server 2007.

First of all we have to enable this new server to send and receive messages from the Internet, we can see all steps required in the following article: Configuring Mail Flow in a Single Exchange Server 2007

Do not change the settings on the firewall yet – just allow Exchange Server to send and receive internet messages.

The second step is enabling the Web Services and correct certificates in Exchange Server 2007, information about this can be found in this article: Configuring Exchange Server 2007 Web Services URLs

Migration Process – Current Status (Update #01)

We have just deployed a new environment in parallel with the current environment. There has been no effect on any of our clients. We can see an overview of what we have done so far in Figure 06.

Figure 06:
The environment is gradually changing. Now we have Active Directory and Exchange 2007 deployed

All clients should receive IP configuration data from the Active Directory DHCP Server and resolve names from the DNS server that can be found in the Active Directory. Our current zones in this new domain are apatricio.local that hosts the Active Directory information and that was created to maintain compatibility with the legacy environment.


In this first article we validated our current scenario and we started to create the parallel environment. Our first goal was migrating some network services to the new environment without interrupting the current clients. In the next article we will be creating the new users using the current information that we have in the Linux box.

If you would like to read the other parts in this article series please go to:

About The Author

Leave a Comment

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Scroll to Top