Мы уже рассматривали установку Exchnage 2019 в цикле статей по миграции с Exchange 2010 на Exchange 2019. Почему я решил написать отдельную статью, в которой будет рассмотрена установка и первоначальная настройка Exchange 2019? В первую очередь потому, что в тех статьях рассматривалась установка в контексте процедуры миграции, т.е. в инфраструктуре уже был установлен сервер Exchange. Во-вторых, для тех, кто только начинает знакомиться с продуктом или для тех, кому нужно относительно быстро развернуть продукт разбираться с контекстом миграции будет местами не так очевидно. И в третьих, основная идея этой статьи, чтобы пройдя шаги из неё можно было получить рабочий продукт, пусть и в минимальной конфигурации (усложнить вы всегда успеете :)). Например, для тестовой или демонстрационной среды.
Отмечу, что предполагается, что в вашей инфраструктуре до начала процесса установки не был развернут продукт Microsoft Exchange. В противном случае нужно опираться на информация из цикла статей по миграции.
Подготовка сервера для Exchange 2019
Мы будем развертывать Exchange 2019 в самой простой конфигурации – один сервер без группы высокой доступности. В следующих публикациях мы добавим еще один сервер и создадим группу высокой доступности. Пока же начнем с базовых вещей.
Аппаратные характеристики нашего почтового сервера с Exchange 2019 приведена ниже:
- 6 vCPU.
- 8 ГБ RAM.
- 120 ГБ диск для системного раздела.
- 60 ГБ диск для баз данных.
Поскольку в Exchange 2019 нет разделения на сервера клиентского доступа и сервера почтовых ящиков, то процесс установки довольно прямолинеен.
Требования к Active Directory
Для того, чтобы добавить сервер с Microsoft Exchange 2019 в вашу инфраструктуру необходимо, чтобы функциональный уровень домена и леса вашей AD был Windows Server 2012 R2 или выше.
Более подробно требования к Active Directory приведены в соответствующем разделе официальной документации.
Предварительная подготовка сервера
Непосредственно перед началом установки ролей Exchange необходимо выполнить подготовку операционной системы. Наша операционная система Windows Server 2019 Standard.
В последующем для настройки группы высокой доступности (DAG) нам необходимо будет установить компонент Failover Clustering. Для Windows Server 2019 редакции Standard будет достаточно:
Что нам необходимо сделать:
1. Установить и выполнить первоначальную настройку Windows Server 2019.
2. Выполнить настройку IP-адресации.
3. Установить все обновления для ОС.
4. Присоединить сервера к домену. В нашем случае домен будет itproblog.ru.
5. Загрузить актуальный дистрибутив Microsoft Exchange 2019.
6. Начиная с Exchange 2016 Update Rollup 10 также предварительным требованием является модуль IIS URL Rewrite.
Установка необходимых предварительных компонентов
Полный перечень всех предварительных требований приведен в документации на сайте Microsoft. Ниже мы приведем весь перечень необходимых компонентов и дополнительного ПО применительно к Windows Server 2019.
Для предварительной подготовки Windows Server 2019 к установке роли сервера почтовых ящиков Exchange 2019 нам необходимо выполнить следующие действия:
1. Установить предварительные компоненты следующим PowerShell командлетом:
Install-WindowsFeature Server-Media-Foundation, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, 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, RSAT-ADDS
2. Установить NET Framework 4.8.
3. Установить Visual C++ Redistributable Package for Visual Studio 2012.
4. Также установить Visual C++ Redistributable Package for Visual Studio 2013.
5. Установить компонент Server Media Foundation:
Install-WindowsFeature Server-Media-Foundation
6. И установить Microsoft Unified Communications Managed API 4.0, Core Runtime 64-bit.
На этом установка предварительных компонентов для Exchange 2019 завершена.
Подготовка схемы Active Directory
Если в вашей инфраструктуре еще не был развернут Microrosft Exchange, то необходимо подготовить схему Active Directory для его установки. В процессе подготовки будут добавлены классы объектов и расширены свойства текущих классов для того, чтобы они могли содержать необходимые дополнительные сведения в части хранения почтовых атрибутов.
Вообще, можно не выносить процедуру обновления схемы в отдельный предварительный шаг, т.к. мастер установки Exchange может это сделать за нас автоматически. Однако, для подготовки схемы Active Directory нужны дополнительные разрешения (об этом чуть ниже). Также мы можем в более интерактивном режиме наблюдать за процессом расширения схемы Active Directory. Еще один аргумент в копилку отдельного шага – это отслеживание статуса репликации изменений на все контроллеры домена. Например, у вас три контроллера домена. Мы выполняем процедуру расширения схемы, ждем пока изменения отреплицируются на оставшиеся контроллеры (если у вас их несколько) и только потом переходим к непосредственной установки сервера Microsoft Exchange.
Учетная записи, от имени которой будет выполняться расширение схемы Active Directory должна быть включена в следующие группы безопасности домена:
- Schema Admins.
- Enterprise Admins.
- Domain Admins.
Шаг 1. Расширение схемы Active Directory
Самый первый шаг – это расширение схемы.
Переходим с директорию с дистрибутивом Exchange 2019 и выполняем команду (для Exchnage 2019 ниже CU11):
.\Setup.EXE /IAcceptExchangeServerLicenseTerms /PrepareSchema
Командлет для Exchange 2019 CU11 или выше.
.\Setup.EXE /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /PrepareSchema
Запуститься процесс расширения схемы Active Directory:
Дожидаемся окончания процесса расширения схемы. Об успешном процессе расширения схемы будет свидетельствовать соответствующее заключение мастера:
Теперь необходимо запустить процесс репликации изменений в Active Directory:
repadmin /syncall
Прежде чем переходить к следующему шагу необходимо дождаться окончания процесса репликации изменений в Active Directory на все контроллеры домена.
Шаг 2. Подготовка Active Directory
Теперь необходимо, чтобы мастер подготовки Active Directory создал необходимые объекты.
Выполните следующую команду в директории с дистрибутивом Exchange (для Exchnage 2019 ниже CU11):
.\Setup.EXE /IAcceptExchangeServerLicenseTerms /PrepareAD /OrganizationName:"Itproblog"
Командлет для Exchange 2019 CU11 или выше.
.\Setup.EXE /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /PrepareAD /OrganizationName:"Itproblog"
В параметре OrganizationName укажите имя организации Exchange. Имя может быть произвольным.
Дожидаемся окончания процесса подготовки Active Directory.
Теперь если посмотреть в нашу Active Directory, то мы увидим, что мастер создал необходимые группы безопасности:
Далее необходимо запустить процесс репликации изменений в Active Directory:
repadmin /syncall
Прежде чем переходить к следующему шагу необходимо дождаться окончания процесса репликации изменений в Active Directory на все контроллеры домена.
Шаг 3. Подготовка все остальных доменов Active Directory
Если у вас всего один домен, то этот шаг можно пропустить, т.к. параметр PrepareAD в предыдущем шаге уже выполнил всю необходимую подготовку.
Если же у вас несколько доменов, то вы можете:
- Подготовить сразу все оставшиеся домены.
- Подготовить домены каждый в отдельности.
Для того, чтобы подготовить сразу все домены выполните следующую команду в директории с дистрибутивом Exchange (для Exchnage 2019 ниже CU11):
.\Setup.EXE /IAcceptExchangeServerLicenseTerms /PrepareAllDomains
Командлет для Exchange 2019 CU11 или выше.
.\Setup.EXE /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /PrepareAllDomains
Чтобы подготовить определенный домен выполните следующую команду в директории с дистрибутивом Exchange (для Exchnage 2019 ниже CU11):
.\Setup.EXE /IAcceptExchangeServerLicenseTerms /PrepareDomain:itproblog.ru
Командлет для Exchange 2019 CU11 или выше.
.\Setup.EXE /IAcceptExchangeServerLicenseTerms_DiagnosticDataON /PrepareDomain:itproblog.ru
Только в параметре PrepareDomain укажите FQDN имя вашего домена.
Проверка версии схемы
Для того, чтобы проверить текущую версию конфигурации схемы для Microsoft Exchange мы можем использовать, например, оснастку ADSI Edit.
Подключимся к контексту конфигурации и в контекстном меню нашей установки выберем пункт “Properties“. В списке атрибутов найдите атрибут objectVerison:
objectVerison 16757 – это Exchange Server 2019 CU9. Именно его мы и устанавливали. Полный перечень доступен в документации.
Установка Exchange 2019
Начиная с Exchange 2016 Microsoft решила больше не разделять роли на Client Access и Mailbox (как это было в Exchange 2013). Соответственно, у Exchange 2019 только две роли – Mailbox и Edge. В Exchange 2013 Edge сервер также присутствовал. Роли Client Access и Mailbox объединены в одну роль – Mailbox.
На момент написания статьи самой последней версией была Exchange Server 2019 CU11. Однако, мы установим Exchange 2019 CU9, а в одной из следующий статей разберем процесс установки актуальной Update Rollup. Посмотреть актуальный список версий Exchange 2019 можно в документации на сайте Microsoft.
Для Exchange 2013 и более новых версий для установки вы загружаете самый последний Cumulative Update и выполняете установку из него. Он уже содержит все необходимые файлы и все необходимые обновления.
Установка через графический мастер установки
Для того, чтобы установить Exchange через графический мастер установки выполните следующие шаги:
1. Запустить установщик из дистрибутива. Если вы еще не подготовили Active Directory, как было указано в предыдущем разделе, то учетная запись, от имени которой будет выполняться установка должна быть включена в следующие группы Active Directory: Schema Admins, Enterprise Admins и Domain Admins.
2. На шаге проверки обновлений укажем, что мы не будем проверять наличие последних обновлений:
3. На следующем шаге мастера нажмем “Next”.
4. При согласии принимаем лицензионное соглашение:
5. Укажем, что мы не планируем принимать участие в программе улучшения качества продукта:
6. Укажем, что мы будем устанавливать сервер почтовых ящиков:
7. Укажем директорию установки:
8. Мы не будем отключать сканирование на предмет вредоносного ПО:
9. Мастер установки Exchange 2019 выполнит проверку предварительных требований. Если какой-то пункт не будет выполнен, то мастер установки сообщит об этом. Нажимаем кнопку “Install”.
10. Дожидаемся окончания процедуры установки.
11. В случае успешного завершения установки мастер сообщит нам об этом:
12. Перезагружаем сервер.
Установка через командную строку
Вариант установки через командную строку гораздо более лаконичен.
Для того, чтобы установить Exchange через командную строку выполните следующие шаги:
1. Перейдите в директорию с дистрибутивом Exchange. Если вы еще не подготовили Active Directory, как было указано в предыдущем разделе, то учетная запись, от имени которой будет выполняться установка должна быть включена в следующие группы Active Directory: Schema Admins, Enterprise Admins и Domain Admins.
2. Запустите установку Exchange сервера (для версии Exchange 2019 ниже CU11):
.\Setup.exe /IAcceptExchangeServerLicenseTerms /mode:Install /r:MB
Командлет для версии Exchange 2019 CU11 или выше:
.\Setup.exe /IAcceptExchangeServerLicenseTerms_DiagnosticDataON/mode:Install /r:MB
3. Дождитесь окончания процесса установки.
4. Перезагрузите сервер.
Проверка корректности установки
В большинстве случаев маркером успешной установки является то, что вы можете перейти в панель управления Exchange (Exchange Control Panel – ECP). Для перехода в ECP перейдите по следующей ссылке:
https://sr-mail01.itproblog.ru/ecp
При переходе по ссылке выше вы скорее всего получите предупреждение о недоверенном сертификате (т.к. сертификат самоподписанный самим сервером Exchange). В одной из следующей статье мы рассмотрим, как установить сертификат с нужным нам доменным именем и настроить пространство имен для доступа к серверу.
Первоначальная настройка Exchange 2019
После того, как мы выполнили установку нам необходимо сделать еще некоторые настройки для работы минимального набора функций. Как минимум, транспорта почты как наружу, так и из вне. Рассмотрим эти настройки в следующих подразделах.
Переименование и перенос стандартной базы данных
В процессе первоначальной настройки Exchange уже создается база данных. Правда, она носит не сильно легко запоминающееся имя и расположений в одной из директорий того пути, который вы указали и в процессе установки. С большой долей вероятности это будет системный раздел.
Что необходимо сделать:
1. Запустить модуль PowerShell для Microsoft Exchange:
2. Посмотреть список текущих баз данных. Выполните следующий командлет:
Get-MailboxDatabase -Server SR-MAIL01
2. Переименовать базу данных в конфигурации:
Get-MailboxDatabase -Identity "Mailbox Database 0284994124" | Set-MailboxDatabase -Name DB01
3. Физически база данных все еще расположена на системном разделе (в нашем случае). Имя файла с базой данных теперь не соответствует тому имени, что мы указали в конфигурации. Исправим это.
Мы перенесем её на отдельный диск, который у нас подключен к серверу. Для этого выполним следующий командлет:
Move-DatabasePath -Identity DB01 -EdbFilePath e:\DB01\db01.edb -LogFolderPath e:\DB01
Нас предупредят о том, что на время переноса почтовая база будет недоступна:
Теперь наша почтовая база расположена на нужном нам диске и наименована так, как мы и просили:
4. Процесс переноса и переименоваия базы данных завершен.
Настройка списка обслуживаемых доменов
В дальнейшем для маршрутизации почты мы будем использовать доменное имя itproblog.ru. Для того, чтобы наш сервер Exchange начал принимать почту для домена itproblog.ru необходимо ему об этом сказать. Для этого создается отдельная запись в списке обслуживаемых доменов (accepted domains).
Если домен вашей электронной почты отличается от FQDN имени домена Active Directory, то выполните следующий командлет в модули PowerShell для Microsoft Exchange:
New-AcceptedDomain -DomainName itproblog.ru -DomainType Authoritative -Name ITProBlog
Текущий список обслуживаемых доменов можно посмотреть следующим командлетом:
Get-AcceptedDomain
В списке обслуживаемых доменов вы должны увидеть ваш почтовый домен. В нашем случае это домен itproblog.ru:
Настройка адресов получателей
Если домен вашей электронной почты отличается от FQDN имени домена Active Directory, то вам необходимо добавить адреса вашего почтового домена всем необходимым получателям.
Перейдите в панель управления Exchange:
https://sr-mail01.itproblog.ru/ecp
Перейдите в раздел “Recipients” – “Mailboxes“:
На вкладке “email address” добавьте новой дополнительный адрес электронной почты.
Альтернативный способ – это использование политики именования адресов (email address policy). Пока мы не будем касаться этой темы, но для массового добавления адресов это будет более оптимальное решением.
Настройка внешних DNS записей
Для того, чтобы почтовые сервера в сети Интернет могли отправлять почту на ваш домен они должны запросить соответствующую запись у DNS сервера, который обслуживает ваш домен. Для маршрутизации почты используются MX записи. С тем, что такое MX запись и для чего она нужна более детально можно ознакомиться вот тут.
Если же кратко, то в параметрах MX записи вы определяете – на какое DNS имя должна отправляться почта для вашего домена. Что здесь указывать – зависит от вашей инфраструктуры. У кого-то “белый” IP-адрес непосредственно настроен на одном из интерфейсов почтового сервера. Тогда вы указываете этот адрес. У кого-то стоит пограничное анти-спам решение, тогда в параметрах MX записи указывается “белый” IP-адрес антиспам решения. Кто-то через NAT “пробрасывает” порт TCP/25 на внутренний IP-адрес сервера. В таком случае в параметрах MX записи вы указываете “белый” IP-адрес вашего пограничного маршрутизатора. Одно только абсолютно точно – для маршрутизации почты вам нужен “белый” IP-адрес.
Формат MX записи следующий:
Доменное имя | Приоритет | Имя почтового сервера |
Указывается для какого доменного имени будет настроена MX запись. | Если у вас несколько почтовых серверов. Например, основной и резервный, то сервер с более меньшим значением приоритета будет иметь преимущество. Например, у сервера со значением приоритета 10 будет превалировать над серверов со значением приоритета 20. | Указывается доменное имя на которое необходимо направлять поток почты. |
Например, настройки MX записи для домена itproblog.ru следующие:
т.е.:
Доменное имя – itproblog.ru.
Приоритет – 10.
Имя почтового сервера – mail.itproblog.ru.
Стоит отметить, что регистрация MX записи очень сильно зависит от того, кто предоставляет вам услуги DNS сервера.
Настройка коннектора отправки
На текущем этапе на сервер уже должен уметь принимать почту из вне, но он все еще не умеет отправлять почту во внешний мир. причина – он просто не знает куда и как её отправлять. Для этого необходимо ему помочь и настроить коннектор отправки.
Коннектор отправки определяет – через какой маршрут какому серверу и на какой домен разрешено отправлять электронную почту.
Создадим коннектор отправки, который ращрешит нашему сервер Exchange отправлять почту на любой домен через разрешение MX записи соответствующего домена. Если кратко – разрешим отправлять почту на любой домен. Выполните следующий командлет в модули PowerShell для Microsoft Exchange:
New-SendConnector -Name "Internet" -Usage "Internet" -SourceTransportServers "SR-MAIL01" -DNSRoutingEnabled $True -AddressSpaces ("SMTP:*;5")
Проверка корректности маршрутизации электронной почты
Собственно, теперь вы можете попробовать отправить электронное письмо как с внешней электронной почты, так и с вашего почтового ящика Exchange на адрес нашней электронной почты.
Если же транспорт почты не работает, т.е. вы не можете отправить письма наружу или получить письма из вне, то не спешите думать, что вы сделали что-то не так. В ночь с 31 декабря на 1 января 2022 у многих, кто использует Exchange 2016/2019 перестала доставляться почта. Причина – баг в программном коде встроенного антивируса.
Можете для начала выполнить вот этот командлет:
Get-MalwareFilteringServer | Set-MalwareFilteringServer -BypassFiltering $true
Restart-Service MSExchangeTransport
Если же этот “фикс” вам не помог, то далее уже нужно анализировать конфигурацию системы в целом:
- Правильно ли зарегистрирована MX запись во внешней DNS зоне.
- Попробуйте еще добавить SPF запись. SPF запись для домена itproblog.ru:
v=spf1 a mx -all
- Правильно ли выполнена публикация порта TCP/25. Можете использовать, например, вот этот интсрумент для внешней проверки.
- Правильно ли настроен коннектор отправки Exchange.
- Не блокирует ли ваш брандмауэр входящий/исходящий SMTP траффик.
- Может ли ваш сервер Exchange разрешать MX записи внешних почтовых доменов.
Выше приведен лишь перечень основных шагов, которые я обычно выполняю при устранении ошибок с транспортом почты.
Заключение
В этой публикации была рассмотрена установка и первоначальная настройка Exchange 2019. Мы рассмотрели довольно тривиальный вариант развертывания, но именно он позволит вам понять основные шаги на всех этапах установки. Мы рассмотрели предварительную подготовку инфраструктуры Active Directory для установки первого сервера Exchange. Далее мы выполнили непосредственно установки нашего первого сервера Exchange. В заключении мы настроили минимальные основные параметры Exchange, чтобы наш сервер электронной почты мог как отправлять электронную почту во внешний мир, так и принимать электронную почту из сети Интернет.
Надеюсь, что статья будет вам полезна, а в следующих публикация мы рассмотрим процесс обновления сервера Exchange – установку актуального Update Rollup и обновлений безопасности Exchange.
Установка и первоначальная настройка Exchange 2019: 9 комментариев
Thanks! Very usefully
Glad to help you!
Супер! Спасибо большое!)
Изначально всё установил, и вроде даже работало, потом заметил странные логи, и ужаснулся. Видимо случайно указал itproblog в подготовке домена, и теперь у меня везде CN запись itproblog.
Можно как то изменить в adsi этот CN на свой, или мне поможет только полная вычистка из AD и новая переустановка?
Прошу прощения, если где-то по тексту статьи ввел в заблужение. Я бы не стал исправлять имя организации Exchange через редактор ADSI. Единственный адекватный способ – эту адуление Exchange (если это возможно) и удаление всех его контейнеров из Ad – https://serverfault.com/questions/268328/how-to-change-organizationname-after-setup-p
Почитал в мануале микрософт, что изменить это имя невозможно. Хотя в целом, оно ни на что не влияет, (это просто как имя, которое нигде не будет использовано)опять же если я правильно понял)
Подскажите, пожалуйста как правильно настроить exchange c работой клиентов outlook и Thunderbird из Интернета
Зависит от того, что вы хотите получить. Если достаточно только почты, то IMAP будет достаточно. Если еще и календарь или контакты, то смотреть в сторону дополнительных плагинов. Хотя в последних версиях Thunderbird, если не ошибаюсь, есть какая-то поддержка нативного подключения к Exchange (если он опубликован наружу).
Thank you bro1