An Apple Fanboy Deploys Microsoft Exchange
December 16, 2014
In the Summer of 2013, I was asked by a customer to deploy an onsite Exchange server. Working on this deployment reminded me of a line from Star Trek VI: “There is an old Vulcan proverb. Only Nixon could go to China”. This statement sums up very well how I felt going into this project. The ultimate anti-Microsoft Apple fanboy takes on an Exchange deployment. I think that’s one of the signs of the apocalypse, but I digress.
Prior to this deployment, I had spent the previous six years working with another email server platform called Kerio Connect. Kerio Connect is what the maker bills as an “Exchange Alternative” because it has a lot of the same features, and costs far less to license and maintain. I love the simplicity of Kerio Connect, and its ease of installation, and administration. Click this link to learn more about Kerio Connect.
Before going into the details of this deployment, I should add that I was supposed to get help from an experienced Windows server tech, but he bailed on me a few days before I was scheduled to start this deployment. Never one to allow a pesky thing like no experience with something to stop me, I decided to dive in.
Starting out, preparing for an Exchange Server deployment is similar to the planning I would do for Kerio Connect. Here are the initial things to setup:
- Register a host name for the server
- Setup a pointer record (PTR) with the ISP that the server will be connected to
- Setup port forwarding on the firewall: SMTP, HTTP, HTTPS, IMAP, LDAP
- Setup an SSL certificate. For Exchange we need a multi-domain cert. Setup the SSL cert for “autodiscover.domain.com” and for “mail.domain.com”
- Setup an autodiscover service record with the DNS host
- Setup a CNAME for autodiscover, and have it resolve to the server’s host name
Now for the fun stuff…
Best practice is to install Exchange on a server that is not the Active Directory domain controller. You will need to join the new server onto Active Directory using the AD administrator’s credentials. You should do all of your work while logged into that account.
Installing Exchange is actually easy, but you’ll have to jump through a lot of hoops to get it installed. The Exchange installer will run a process that checks to make sure that you have all of the necessary Windows Server components installed. It will tell you what you need to install before the installation of Exchange can start. Once you have all of the needed components installed, the installation can proceed. The whole process takes about 30 minutes to complete. Once it’s done, go and download the latest Exchange service packs, and Windows updates.
Unlike Kerio Connect, with has a lot of features already installed, and active, Exchange does not have any receive, or send connectors configured. You will need to set these up from the Exchange Management Console. You won’t be prompted to do this, so it’s easy to forget and just assume that your newly installed Exchange server is capable of receiving incoming email and sending outgoing email. Sounds logical, right? After the installation of Exchange is complete, there is a summary of post install steps that should be completed, but these are anything but informative to someone who has never worked with an Exchange server before. Before deploying Exchange, you should read all of the tech blogs you can find to get the full picture. Microsoft’s own support site for Windows Server, and Exchange is sometimes a bit hard to read. The site is written as if you already have a lot of base knowledge for Windows server products, and it often summarizes when you needed more information, and it also gives more detail than you needed when you just want to get an idea of what to do.
Make sure to configure these key things in Exchange:
- Send and receive connectors
- Create mailbox databases for users, and for public
- Create an offline address book
- Setup Outlook anywhere
- Setup Outlook Web Access (OWA)
Look over Active Directory, and make sure that it’s not hiding any surprises waiting to pounce out at you. Establishing a password policy will be very difficult if the Active Directory functional level is not set to Windows Server 2008 or higher. Take some time to clean up group membership as well. This will make things less confusing when you create distribution groups after the deployment.
Exchange does not have anti-spam features turned on by default. You’re right. That’s really stupid, but somewhat understandable since a lot of Exchange servers are installed behind other servers whose job is to act as a relay for outgoing email. It seemed to me that the safer option is to have the anti-spam features active. The feature can be turned off if needed. Want to know something even stupider? You must turn on this feature via Windows Power Shell. Command line is OK with me. Most of the Kerio Connect servers that I work with are running CentOS with no GUI. But when I have to delve into a mail server platform that I’ve never setup before, it sure would be nice for at least one thing to be easy. Not having a GUI option in the software to turn on an important feature like this is likely to lead a newbie like myself to forget or not know to turn it on.
Using Migration Wiz to migrate from Google
For this Exchange deployment, I opted to use Migration Wiz to move the customer’s email data from Google Apps. Take some time to read over the support info at Migration Wiz to ensure that you have prepared the Exchange server for this transfer. You will need to set the file attachment limit very high. The server’s time out is normally set at 120 seconds. Migration Wiz suggests that you set it to 3600. You’ll also need to set some other parameters much higher than what is normally the best practice. When you change the settings, make sure to restart the server before beginning the migration. Once the migration is done, be sure to set all of the things you changed back to default, or customize them to meet the customer’s needs. If there is a firewall in place that is capable of managing quality of service, you may also want to create a QoS policy to dedicate a lot of bandwidth to the Exchange server to help the process along. Don’t worry about the errors that build up as you are transferring mailboxes. If you make sure to buy the full licenses for Migration Wiz, you can queue up the migration on each mailbox as many times as you feel necessary. Just make sure to review the errors that you see. Migration Wiz has a lot of great support articles on how to resolve the errors. In fact, dealing with the errors is another great way to get familiarized with Exchange. I kept a lot of the links to their articles. They will be valuable in the future.
I was very happy to have this opportunity to learn how to deploy and manage Exchange. Because of this deployment, I was able to add a new skill set to our team so that we will be better equipped to support our customers in the future. This was the most difficult deployment that I have ever worked on. I did it with no help, except for three phone calls to Dell tech support. It was very stressful, but I managed to come out on top despite that. After I had spent a long and grueling week working with users and teaching them how to use their Exchange accounts, I was dead tired. At the end of the day on Friday, one of the users sent me a text message expressing appreciation for the hard work, and for completing this project on time. That helped. That kind gesture raised my spirits a bit. I was still tired though.