I finally decided to take the plunge and upgrade my Exchange 2003 server to Exchange 2007.
Now most people would think as it’s a Microsoft upgrade it would be a click, click, click job done. Unfortunately not.
The reason for this is that there is not a ‘real’ 32bit version of 2007, the 32bit version is for development use only, however it works just fine and will get me by until I get another X64 box to put that on.
I complicated tasks by having to move my Domain Controller at the same time as I wanted to separate the two roles out as they were on one server (that’s dying).
First things first, Let’s get another DC up and running and move all the roles over to it.
- Install Server 2003 R2 onto the fresh server and join the domain.
- Install DNS onto it (but don’t configure it just yet).
- Run Regedit and change HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management - SystemPages to a value of 0.
- DCPromo the new server in as a DC.
- Make the new server a Global Catalogue server.
- Move all the FSMO roles over onto the new server.
- Remove the Global Catalogue from the old server and DCPromo it out, there is a warning here though, make sure the roles, policies and objects have transferred to the new server before doing this step. If in doubt leave the server up and running. You are looking for an 1869 event in the Directory Service Log on the new server.
So we now have a nice shiny new Domain Controller on our LAN. Now it’s time to get the Exchange bit working.
- Install Server 2003 R2 onto the new Exchange server and join it to the domain.
- Install Exchange 2007 onto the server. I used the defaults and pointed the 2007 install to the 2003 server when it asked about connectors.
After you have 2007 installed and up, move the mailboxes over onto the 2007 server. Now if your like me and never delete a mail this WILL take a long time. You do this by firing up the Exchange Management Console, opening the Recipient Configuration tree, selecting one or more mailboxes on the right, right click and select Move Mailbox, click through the wizard to complete the move.
Now we have the mailboxes on the right server we have to setup the messaging delivery options. First we need the sender configuration. Exchange 2007 is designed for larger environments than my house, so it’s designed to use a second (or more) server on the edge of the network to do this job, because of this we have to turn it on.
- First thing to do is enable the spam engine on this server, as by default it’s not turned on unless this is an edge server. Fire up the Exchange Management Console, change the directory to Program Files/Microsoft/Exchange Server/Scripts then run the Install-AntiSpamAgents.ps1 script. This will turn on all the anti spam stuff, you need to restart the service when it asks you to, do this from the services.msc application.
- Re launch the Exchange Management Console and open the Organisation Configuration, then Hub Transport, in the Actions Pane select New Send Connector.
- Put a name into the wizard name, then select Internet from the intended use.
- On the address space page, click new then type * and click next.
- On the network settings page make sure the Use Domain Name System to route mail automatically, then select the Use external DNS lookup settings.
- On the Server Source select the Exchange 2007 server for the Hub Transport server.
- If you want to use Powershell, try New-SendConnector -Name “Internet Connector” -Usage Internet -AddressSpaces “*” -SourceTransportServers “EXCHANGE2007SERVERNAME” -DNSRoutingEnabled:$true -UseExternalDNSServersEnabled:$true obviously change the name and servername.
- Now we need to configure the external DNS. Open the Server Configuration tree, then click the Hub Transport option, then right click the Hub Server on the right and select properties
- Goto the External DNS tab and select the Use these DNS server and put your ISP DNS servers in there, I would use 4.2.2.2 as well as it’s a good backup.
Now that the Sender stuff is sorted, we need to be able to accept incoming mail, this too is usually the task on another server in the perimeter network. We need to set this up so we can receive mail from other people.
- Make your way to the Hub Transport options (see above), select the hub server, then below it select the default SMTP connector (it’s the one mapped to port 25), right click it then properties, select the Permission Group tab and select Anonymous Users, this will allow your SMTP server to accept unauthenticated connections, however that could lead to spammers using you as a relay, obviously not good.
- Click the Organization Configuration, then Hub Transport. Click the Accepted Domains tab, then select the New Accepted Domains action on the right. Put all the domains you want to receive mail for.
Test the install, I would also recommend now installing the Forefront Exchange Security services (see the initial screen of the Exchange 2007 installer). I would also setup the users to allow Mobile access (if they are not already), do this by selecting the properties of the user and then the Mailbox Features tab.
All done, it’s worth noting there are a couple of things you may want to consider. The Certificate you used for SSL on the old server will need porting over and setting up on the IIS of the new box. You can manage the mobile device configuration and policy, to manage devices select a user, then the Manage Mobile Devices task.
Microsoft have a good amount of information on Exchange 2007 over at their site.