понедельник, 23 марта 2015 г.

Установка Exchange 2010 + SP3 на Windows 2012 (Не R2!)

Несмотря на то, что технологии серверных платформ стремительно двигаются вперед и как правило стараются подгонять совместимость продуктов один-к-одному, бывают случаи, когда нужно впихнуть "невпихуемое" или просто подружить системы, не расположенные к такой дружбе.
Похожий случай происходит и с Exchange 2010 в связке с Windows 2012.
Именно о специфике этой установки - я и хочу для вас (да и для себя :) ) написать.


Исторический экскурс

Казалось-бы, продукты одной компании. С чего ради они не должны дружить. Однако есть несколько причин. И самая главная заключается в том, что в Windows 2012 поставляется с обновленными продуктами: .NET Framework 4.5 и PowerShell 3.0
А сам Exchange 2010 может работать только после установки своего SP3 и только с .NET Framework 3.5 и PowerShell 2.0 
Собственно это ключевые моменты, которые мешают установке "слёту".
Давайте их поправим!

Установка .NET Framework 3.5

Итак, ваш будущий почтовый сервер уже введен в домен.
Если вы попытаетесь подготовить схему AD без установленного .NET Framework 3.5 вы получите вот такое сообщение об ошибке:
Exchange Server 2010 requires .NET Framework 3.5. Visit "http://go.microsoft.com/fwlink/?LinkId=110461&clcid=0x409" to download and install it.
Поскольку версия 3.5 уже включает в себя PowerShell 2.0 именно Framework мы  и будем устанавливать.
Для установки .NET Framework 3.5 нам потребуется дистрибутив Windows 2012 установленный в ваш привод или виртуальный DVD.

  • Откройте Server Manager и запустите мастер добавления ролей.



  • Первое окно раздела Roles вы не выбираете ничего и переходите к разделу Features
  • В первой строчке ставим чекбокс напротив .NET Framework 3.5 Features
  • И в следующем окне, внизу выбираем параметр: Specify an alternate source path



  • В открывшемся окне прописываем Path: Путь к дистрибутиву Windows 2012 а именно к папкам Sources\SxS У меня эта строка такая: D:\sources\sxs Это значит, что диск с дистрибутивом Windows 2012 у меня установлен в диск D:\

После подтверждения своих действий и нажатия кнопки Install - нам осталось лишь дождаться полной установки .NET Framework 3.5 а так-же PowerShell 2.0, который будет так-же доступен для управления.

Если вы сторонник командной строки, то вам необходимо выполнить:

dism /online /enable feature /featurename:NetFX3 /all /Source:D:\sources\sxs /LimitAccess
/online - означает, что нужно обновлять текущую ОС, а не образ
/enable feature /featurename:NetFX3 /all -необходимо установить платформу .NET Framework 3.5 со всеми функциями
/Source - путь к дистрибутиву с Windows и конкретному каталогу
/LimitAccess - не использовать Windows Update

Если вы сторонник PowerShell, то вам необходимо выполнить: 

Add-WindowsFeature NET Framework Core Source D:\sources\sxs 
Любой из этих способов приведет к единому положительному результату! 

Установка компонентов Exchange Server 2010

При установке Exchange 2010 на Windows Server 2008 R2 возможно было использовать подготовленные Microsoft специальные XML файлы, хранящиеся в каталогах \Scripts и \Setup\Serverroles\Common. И запуская графическую оболочку установщика - предоставляется возможность поставить галочку, после активации которой, автоматические скрипты установили-бы все необходимые компоненты. В Windows Server 2012 эти XML не поддерживаются. Поэтому, необходимо установить компоненты, требующиеся для развертки сервера Exchange 2010 (типового  почтового сервера, с ролями Mailbox, Client Acсess и HUB), выполните следующие команды PowerShell:

Import-Module ServerManager
Install-WindowsFeature RSAT-ADDS, Web-Server, Web-Basic-Auth, Web-Windows-Auth, Web-Metabase, Web-Net-Ext, Web-Lgcy-Mgmt-Console, WAS-Process-Model, RSAT-Clustering, Web-Mgmt-Console, Web-Mgmt-Service, Web-ISAPI-Ext, Web-Digest-Auth, Web-Dyn-Compression, Web-WMI, Web-Asp-Net, Web-ISAPI-Filter, Web-Client-Auth, Web-Dir-Browsing, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-Request-Monitor, Web-Static-Content, NET-HTTP-Activation, RPC-over-HTTP-proxy, Telnet-Client
Примечание. Важно помнить, что консоль RSAT-Web-Server в Windows Server 2012 заменена Web-Mgmt-Console и Web-Mgmt-Service. Клиент telnet как и в Windows 8 устанавливается опционально.
Несмотря на то, что после установки данных компонентов, сервер не требует перезагрузки (как показано на скрине ниже) - перезагрузку все-же, необходимо произвести. Т.к. в момент перезагрузки - будут установлены обновления. 

После перезагрузки скачайте и установите пакеты:


Microsoft Office 2010 Filter Packs Service Pack 2(http://www.microsoft.com/en-us/download/details.aspx?id=39668) - SP2 уже включает в себя Filter Packs SP1. Поэтому, достаточно установить только Filter Packs SP2. 

Подготовка схемы леса и домена. "AD Prepare"

В целом, мы на финишной прямой. Но необходимо еще подготовить Active Directory. 
Надо сказать, что по сути, графический интерфейс установки - должен осуществлять подготовку AD В автоматическом режиме, без лишних запросов. Но такая подготовка была рассчитана на Windows 2008, поэтому мы будем делать это из командной строки. 
Подготовьте дистрибутив Exchange 2010. Откройте командную строку. Найдите корневую папку с дистрибутивом Exchange 2010 и последовательно выполните команды:
Setup.com /PrepareSchema
Обратите внимание! После ввода команды подготовки схемы - вам будет предложено "Нажать любую клавишу, для ОТМЕНЫ". Поскольку мы чаще привыкли видеть сообщение о том, что надо нажать любую клавишу, чтобы продолжить, то в данном случае - все наоборот. Нажимать ничего НЕ НАДО! 
Необходимо просто бездействовать, чтобы процесс пошел дальше :)


Setup.com /PrepareAD /OrganizationName:"Имя организации Exchange"

Как и в случае с первой командой - не нужно нажимать никакую клавишу. Это отменит подготовку AD. 
/OrganizationName - прописывается, если Exchange 2010 будет установлен впервые на сервере.

Setup.com /PrepareDomain

Установка CAS, MailBox и HubTransport на один сервер.

В данном примере мы рассматриваем вариант установки, когда все роли Exchange будут установлены на один сервер.
Внимание! Чтобы сразу избежать ошибки с установкой MailBox Role - вы можете скачать reg-файл, о котором я пишу ниже и запустить его, перед установкой ролей. 
Скачать можно с моего сервера.
Сделаем последний шаг к подготовке: 

  • Переведем службу Net. Tcp Port Sharing Service из состояния manual в automatic. И запустим ее. 
И теперь можем открыть графический инсталлятор, запустив setup.exe из корня дистрибутива Exchange 2010. (ниже есть способ установки из командной строки)
Для начала выбираем 

  • Step 3: Choose Exchange language option
  •             Install only languages from the DVD
Затем:

  • Step 4: Install Microsoft Exchange
Выбираем Typical Exchange Server Installation 

Примечание! Ставить галочку Automatically install Windows Server roles and features required for Exchange Server НЕ НУЖНО. Т.к. вы уже подготовили все необходимые компоненты и службы и установили их в системе, с помощью PS скрипта (выше). Установив эту галочку, вы столкнетесь с ошибкой. Т.к. инсталлятор не узнает, что компоненты установлены - и будет пытаться установить их самостоятельно, где и будет вызвана ошибка. И это не позволит вам пройти дальше этап установки. 


Если вы используете в организации версию Outlook 2003 - то... удаляйте ее и не пользуйтесь :) Но если это сделать невозможно - то в следующем окне - поставьте галочку Yes. В противном случае (как у меня. т.к. я не использую версию Outlook 2003) - я устанавливаю No


На следующем окне - прописываем адрес сервера, для доступа из интернета. Например: mail.mycorp.ru
Далее вам будет предложено поучаствовать в программе Microsoft и после вашего выбора - появится окно, с предварительной проверкой, где результат 5 проверок - должен быть положительным. 

Жмете кнопку Install и можете идти смотреть, не появилась ли новая статейка на "МухриМухрю" ;)
Внимание! После завершения установки - вы скорее всего увидите ошибку на этапе установки Mailbox Role. Ошибка начинается следующим: the following error was generated when $error.clear
Но при этом вы можете завершить установку, нажав кнопку Finished. Так и сделайте.

Установка роли Mailbox после ошибки

Есть два варианта: скачайте этот файл 
Файл содержит следующий код: 
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{770ca594-b467-4811-b355-28f5e5706987}\ChannelReferences]
"Count"=dword:00000002

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{770ca594-b467-4811-b355-28f5e5706987}\ChannelReferences\0]
@="Add Microsoft-Windows-ApplicationResourceManagementSystem/Diagnostic"
"Id"=dword:00000010
"Flags"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{770ca594-b467-4811-b355-28f5e5706987}\ChannelReferences\1]
@="Add Microsoft-Windows-ApplicationResourceManagementSystem/Operational"
"Id"=dword:00000011
"Flags"=dword:00000000

Внесите изменения в реестр, после чего можете сразу запустить повторную установку Exchange. Только теперь вам будет доступно для выбора установки: Mailbox Role и Unified Messaging Role. Нас интересует только Mailbox Role, которая уже выбрана.

Приступайте к установке и по завершению вы увидите уже эстетически приятную картину.

Теперь можно спокойно отправить сервер в перезагрузку. Все успешно установлено.

Установка Service Pack 3 for Exchange 2010

Теперь, когда вы установили все необходимые обновления - можно приступать к установке SP3. 

Запускаем установку SP3. 
Установщик попросит указать вас папку, для распаковки файлов. 

После распаковки файлов, в первую очередь нам необходимо расширить схему Active Directory. Для этого открываем командную строку с правами администратора, переходим в каталог с распакованным SP3. И привычным образом запускаем: 
/setup.com /PrepareAD
После окончания процедуры подготовки AD - можете запускать Setup.exe
В привычном интерфейсе - выбираете Install Microsoft Exchange Server upgrade


По доброй привычке - сначала необходимо пройти процедуру проверки. 
Результат проверки должен быть полностью зеленый и лишь сообщение о том, что SMTP коннектор не найден - будет светиться желтым, но беспокоить это нас не должно. 
Приступайте к установке. 

После завершения установки - ошибок никаких быть не должно. Все службы и компоненты должны быть со статусом Comleted!

Теперь можно проверить обновления, в котором будет предложено установить последнюю версию Rollup (в моем случае это 8 версия) и Anti-Spam Filter. 

Далее перезагрузить сервер и убедиться в работоспособности всех служб и сервисов.
Для проверки работоспособности всех ролей Exchange запустите консоль: Exchange Management Shell и введите: 
Test-ServiceHealth
При необходимости, с этой-же консоли можете запустить те службы, которые не были запущены, командой: 
Start-Service "имя остановленной службы"

Осталось лишь настроить DNS. Чтобы была возможность обращаться к вашему почтовому серверу. Если вы имеете в своем DNS внешнюю зону, то добавляете записи там. В ином случае - пишите в домашнюю (доменную) зону.
Запись типа А - например с именем "mail" ссылается на IP адрес вашего Exchange. 
Далее, создаете запись типа MX и привязываете ее FQDN к записи А, которую только-что создали.


Установка завершена! Можно начинать активно пользоваться :) 


Список материалов, которые зачастую помогают мне в процессе этой установки: 
http://winitpro.ru/ - Замечательный ресурс. Имеется очень много информации по администрированию. 
http://sergeyivanov.ru/ - Основная полезная инфа с картинками по установке. Правда без разбора ошибок, но с обильным кол-вом скринов :)
http://www.petenetlive.com/KB/Article/0000785.htm - Очень клёвая страница с описанием ошибок и возможностью их устранения. Но основная роль статьи - как раз установка Exchange 2010 на Windows 2012. 
http://exchangeserverpro.com/installing-exchange-server-2010-service-pack-3/ - Описание процесса установки SP3