Exchange server 2013 consists of two server roles, the Mailbox Server (sometimes referred to as the back-end) and the Client Access Server (sometimes referred to as the front-end). All clients connect to the CAS Server and the CAS Server proxies the request to the appropriate mailbox server.
It is possible to install the server roles on dedicated servers, multiple Exchange 2013 CAS servers with a hardware load balancer and multiple Exchange 2013 Mailbox servers with a Database Availability Group. This is the preferred way for large companies with lots of mailboxes, lots of servers and maybe multiple (global) datacenter. To be honest, this is where Exchange 2013 is designed for. But it is also possible for smaller organizations to install just two Exchange 2013 server with both roles on it, a DAG for mailbox resiliency and a hardware of software load balancers for the protocol resiliency.
In this blog post we’re going to install four Exchange 2013 servers, two CAS servers and two Mailbox servers. The CAS servers are using a load balancer for protocol redundancy, the mailbox servers are configured with a DAG. Since I already blogged about the load balancers in Exchange 2010 and Exchange 2013 extensively I won’t blog about this subject again (for now that is ;-). Later on the UM role will be configured as well and connected to the Lync Server 2013 environment.
Compared to Exchange Server 2010 there are quite some changes. For example, there are only two server roles left, the Client Access Server and the Mailbox Server. The old Hub Transport Server and the Unified Messaging server are now part of the Mailbox Server. All logic is also in the Mailbox Server and all processing of messages takes place on the Mailbox Server and not on the Client Access Server anymore.
The Exchange Server 2013 Client Access Server is nothing more than a thin, stateless protocol proxy server. All client connect to the Client Access Server and after authentication the request is proxied to the Mailbox Server hosting the active copy of the Mailbox Database.
Speaking of clients…. Direct MAPI as we know it from all previous versions of Exchange server is no longer supported in Exchange Server 2013, all Outlook clients now connect using Outlook Anywhere, both internal Outlook clients as well as external Outlook clients (i.e. connecting via the Internet).
All SMTP routing also takes place on the Mailbox Server, the Transport Service running on the Mailbox Server is responsible for sending SMTP messages to other Mailbox Servers and for sending SMTP messages to the Internet. These messages can be sent directly from the Mailbox Server, or they can use the Client Access Server as a protocol proxy.
Inbound SMTP message are sent to the Client Access Server and the SMTP message is proxied directly to a Mailbox Server. The CAS server does not store anything on the local server, nor does it do any queueing on the local server.
Anti-spam is performed on the Mailbox Server as well, when it comes to anti-spam nothing is performed on the Client Access Server (this in contrast as what’s mentioned on TechNet, but that’s a doc bug). If you want to perform anti-spam (actually, connection filtering!) you have to install an Exchange Server 2010 Edge Server or using Microsoft Forefront Online Protection.
Installing Mailbox Server
For Exchange Server 2013 I always recommend using Windows Server 2012. This product has a longer lifecycle and is most likely a better product (although everybody need to get used to the new UI, I admit). I know not all companies are already working with Windows Server 2012, but Windows Server 2008 R2 works fine as well.
Exchange Server 2013 needs the .NET Framework 4.5 and the Management Framework 3.0. Both are part of Windows Server 2013 so we’re fine here.
The first Exchange 2013 server to be installed is the Mailbox server, this is where all the logic resides so this is also the most important server where all processing takes place. This server also needs the Remote Administration Tools (also includes LDIFDE), needed for making all the changes to Active Directory. Open a Powershell window on the first mailbox server and enter the following command:
Exchange server 2013 makes extensive use of the HTTP protocol so quite a lot of Internet Information Server (IIS) need to be installed as well. For a dedicated Exchange 2013 mailbox server (or a combined CAS & MBX server) enter the following command in a Powershell window:
Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation
After rebooting the server install the following additional software:
- Unified Communications Managed API 4.0 Runtime – http://www.microsoft.com/en-us/download/details.aspx?id=34992
- Office 2010 Filter Pack 2.0 – http://go.microsoft.com/fwlink/?LinkID=191548
- Office 2010 Filter Pack 2.0 SP1 – http://go.microsoft.com/fwlink/?LinkId=262358
The server is now ready to install the Exchange Server 2013 Mailbox server.
It is possible to use the graphical setup, but I prefer to use the unattended setup. This gives a lot of flexibility, a step-by-step approach when preparing Active Directory and when installing multiple servers you get a consistent setup.
To prepare the schema for Exchange server 2013 logon as an enterprise administrator (make sure you’re a member of the Schema Admins for step 1 as well) open a command prompt, navigate to the installation media and enter the following command:
Setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms
To prepare Active Directory for Exchange server 2013 enter the following command in the command prompt:
Setup.exe /PrepareAD /OrganizationName:Exchange15 /IAcceptExchangeServerLicenseTerms
The last step is to prepare the domain, do this by entering the following command on the command prompt:
Setup.exe /PrepareDomain /IAcceptExchangeServerLicenseTerms
When replication has completed between all domain controllers the actual Exchange server can be installed.
Logon to the new server as an Enterprise Administrator, open a command prompt, navigate to the installation media and enter the following command:
Setup.exe /mode:install /role:mailbox /MdbName:DB01 /DbFilePath:F:\DB01\DB01.edb /LogFolderPath:F:\DB01\LogFiles /IAcceptExchangeServerLicenseTerms
This will install the Mailbox server, create a new Mailbox database called DB01 and the database and log files will be located on drive F: (this disk needs to be created and configured in advance of course). Beware, installing Exchange Server 2013 can take a considerable amount of time! When the Exchange 2013 software is installed reboot the server.
Now install Windows 2012 on the second server, install all prerequisite software and install the 2nd mailbox server (no need to do the setup.exe /Prepareschema, setup.exe /PrepareAD and setup.exe /Preparedomain of course).
For the second mailbox server you have to use another name for the mailbox database and have a look at the location of the mailbox database, although in Exchange server 2013 it is fully supported to have multiple databases on one disk if you have 3 or more copies of a mailbox database available. The setup command would be something like:
Setup.exe /mode:install /role:mailbox /MdbName:DB02 /DbFilePath:G:\DB02\DB02.edb /LogFolderPath:G:\DB02\LogFiles /IAcceptExchangeServerLicenseTerms
In this blog post I explained a bit about Exchange Server 2013 and showed you how to prepare Active Directory for Exchange 2013 and how to install both Mailbox Server. In the next blog I’ll discuss how to install the Exchange 2013 Client Access Server and do the post-configuration tasks.