Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part 1).
В первой части данного цикла я описывал требования, необходимые для установки Exchange, а затем рассказал об установке Exchange и ее проверке. Сейчас во второй части я перейду к описанию общих действий по настройке, необходимых для функционирования системы.
Завершив установку Exchange 2007 в первой части, нужно настроить сервер для использования. Все скрипты теперь выполняются через версию Exchange PowerShell под названием Exchange Management Shell или EMS.
Сначала необходимо ввести сведения о лицензионном ключе для каждого сервера. Это действие выполняется при помощи скрипта, показанного ниже, который позволяет вам указать, к какому серверу Exchange применяется лицензионный ключ, с помощью параметра –Identity.
#Введение лицензионного ключа
Set-ExchangeServer -Identity Exch2007 -ProductKey 12345-12345-12345-12345-12345
#Перезапуск службы Information Store Service
Restart-Service msexchangeis
Недавно прозвучала рекомендация на блоге команды Exchange об изменениях значения DatabaseMaxCache базы данных Message Queue Database на серверах Hub Transport. Сюда входит изменения текстового файла C:\Program Files\Microsoft\Exchange Server\Bin\EdgeTransport.exe.config, а также следующей строки в секции <appSettings> :
<add key="DatabaseMaxCacheSize" value="134217728" />
Для прочтения:
<add key="DatabaseMaxCacheSize" value=" 536870912" />
Это можно сделать с помощью следующего скрипта :
(Get-Content "C:\Program Files\Microsoft\Exchange
Server\Bin\EdgeTransport.exe.config") | Foreach-Object {$_ -replace "134217728",
"536870912"} | Set-Content "C:\Program Files\Microsoft\Exchange
Server\Bin\EdgeTransport.exe.config"
Restart-Service MSExchangeTransport
В сущности, этот скрипт загружает файл в массив, а затем пробегает его в поисках соответствующего содержимого для замены. А затем происходит запись измененного содержимого обратно в файл. Несомненно, есть более элегантные пути для этого, но на данный момент не могу предложить ничего лучшего!
Как я уже объяснял, я работаю в односерверной среде, однако здесь необходимо упомянуть важный шаг для перехода к многосерверным средам – настройку маршрутизации. Как часть установки по умолчанию создается коннектор группы маршрутизации между группой маршрутизации Exchange 2003, которая работает с указанным сервером при установке, и группой маршрутизации Exchange 2007. В больших организациях я бы использовал следующий скрипт для настройки других существенных коннекторов:
#Получить существующий коннектор группы маршрутизации, созданный при установке и удалить его
Get-RoutingGroupConnector | where {($_.sourceroutinggroup -eq "Exchange
Routing Group (DWBGZMFD01QNBJR)") -or ($_.targetroutinggroup -eq "Exchange Routing
Group (DWBGZMFD01QNBJR)")} | Remove-RoutingGroupConnector -Confirm:$false
#Создать новые коннекторы группы получения
New-RoutingGroupConnector -Name "New York 2003-2007" -SourceTransportServers
"NYC-Exch2007.gaots.co.uk’ -TargetTransportServers "NYC-Exch2003.gaots.co.uk" -
Bidirectional:$true -Cost 10
New-RoutingGroupConnector -Name "London 2003-2007" -SourceTransportServers
"LDN-Exch2007.gaots.co.uk" -TargetTransportServers "LDN-Exch2003.gaots.co.uk" -
Bidirectional:$true -Cost 10
Этот скрипт сначала удаляет коннектор по умолчанию, а затем заменяет его коннекторами с именами согласно вашей конвенции именования, которые являются двунаправленными и стоят 10.
Возвращаясь к односерверной среде, нужно настроить еще несколько глобальных опций. Сначала я устанавливаю размер журнала отслеживания сообщений равным 10ГБ.
#Установить число сохраненных журналов для почтовых серверов
Get-MailboxServer | Set-MailboxServer -MessageTrackingLogMaxDirectorySize 10GB
#Установить число сохраненных журналов для транспортных серверов
Get-TransportServer | Set-TransportServer -
MessageTrackingLogMaxDirectorySize 10GB
Затем я настраиваю максимальный размер сообщений, принимаемых организацией Exchange. Скрипт ниже устанавливает размер в 50МБ на уровнях глобального коннектора, коннекторов отправки и получения.
#Установить ограничения на глобальный размер сообщения
Set-TransportConfig -MaxSendSize 50MB -MaxReceiveSize 50MB
#Получить все коннекторы получения и установить максимальный размер сообщения в 50 МБ
Get-ReceiveConnector | Set-ReceiveConnector -MaxMessageSize 50MB
#Получить все коннекторы отправки и установить максимальный размер сообщения в 50 МБ
Get-SendConnector | Set-SendConnector -MaxMessageSize 50MB
Наконец, я убеждаюсь, что Exchange 2007 позволит клиентам Outlook 2003 и Outlook 2007 отправлять сообщения в Интернет, с помощью скрипта:
#Получить все типы удаленных доменов (равноценно форматам интернет-сообщений из
#Exchange 2003 установить AllowedOOFType в ExternalLegacy, что позволяет
#клиентам Outlook2003 и 2007 отправлять OOF
Get-RemoteDomain | Set-RemoteDomain -AllowedOOFType ExternalLegacy
Выполнив задачи глобальной настройки, я перехожу к следующим шагам для установки особых настроек на сервере клиентского доступа.
Как вы, возможно, знаете, Exchange использует сертификаты для обеспечения безопасности различным методам доступа, включая Outlook Web Access. По умолчанию используется самоподписанный сертификат, однако это всегда требует замещения сертификата, созданного во внутреннем частном центре сертификации или в публичном центре сертификации вроде VeriSign, в противном случае пользователей предупреждают о ненадежности сертификата. Для этого я использую следующие команды:
#Создать запрос сертификата
New-ExchangeCertificate -GenerateRequest:$True -SubjectName "c=US,
o=Gaots,cn=email.gaots.co.uk" -DomainName email.gaots.co.uk,
autodiscover.gaots.co.uk, exch2007, child.gaots.co.uk,
exch2007.child.gaots.co.uk -FriendlyName ExchOWACert -
PrivateKeyExportable:$True -Path C:\ExchOWACert.req
Вышеприведенный скрипт создает файл запроса сертификата, который затем будет передан либо на внутренний, либо на публичный центр сертификации.
После получения сертификата из центра сертификации нужно использовать следующие скрипты для установки и включения сертификата.
#Импортировать сертификат и включить для служб
Import-ExchangeCertificate -path c:\ExchOWACert.cer | Enable-
ExchangeCertificate -Services "IIS,SMTP,POP,IMAP"
Вышеприведенный скрипт сначала импортирует сертификат, а затем передает Thumbprint команде Enable, таким образом включая сертификат для соответствующих служб. Обратите внимание, что, возможно, от вас потребуется подтверждение перед включением.
Завершив установку сертификата, затем нужно настроить виртуальные директории, обеспечивающие доступ к Exchange. Это делается с помощью следующего скрипта:
#Настроить виртуальные директории для "Web-сайта по умолчанию"
Set-WebServicesVirtualDirectory -Identity Exch2007\"EWS (Default Web Site)" -
InternalUrl https://exch2007.child.gaots.co.uk/ews/exchange.asmx -ExternalUrl
https://email.gaots.co.uk/ews/exchange.asmx
Set-OabVirtualDirectory -Identity Exch2007\"OAB (Default Web Site)" -
InternalUrl https://exch2007.child.gaots.co.uk/OAB -ExternalUrl https://
email.gaots.co.uk/OAB -RequireSSL:$True
Set-UMVirtualDirectory -Identity Exch2007\"UnifiedMessaging (Default Web
Site)" -InternalUrl https://exch2007.child.gaots.co.uk/unifiedmessaging/
service.asmx -ExternalUrl https://email.gaots.co.uk/unifiedmessaging/service.asmx
Set-OWAVirtualDirectory -Identity Exch2007\"OWA (Default Web Site)" -
InternalURL https://exch2007.child.gaots.co.uk/owa -ExternalUrl https://
email.gaots.co.uk/owa -LogonFormat username -DefaultDomain child.gaots.co.uk
# Установить URL для автообнаружения
Set-ClientAccessServer -Identity Exch2007 -AutodiscoverServiceInternalURI
https://exch2007.child.gaots.co.uk/autodiscover/autodiscover.xml -
AutodiscoverSiteScope:$null
Set-AutoDiscoverVirtualDirectory -identity Exch2007\"Autodiscover (Default
Web Site)" -InternalUrl https://exch2007.child.gaots.co.uk/autodiscover/
autodisover.xml-ExternalUrl https://email.gaots.co.uk/autodiscover/
autodisover.xml
# Переустановить IIS
IISRESET -NoForce
Выполнив вышеприведенные действия, ваша система теперь готова к работе в качестве сервера клиентского доступа для обеспечения доступа к .
Перед переходом к другим областям, думаю, стоит упомянуть то, что будет иметь для вас значение только в том случае, если вы используете пару (или более) серверов клиентского доступа, которые вы будете использовать только в конфигурации NLB. В этом случае вам будет нужно, чтобы оба сертификата на обоих серверах совпадали. Сначала вы должны экспортировать сертификат из первого сервере клиентского доступа с помощью следующего скрипта:
#Экспортировать и копировать на второй сервер
Get-ExchangeCertificate | where {$_.services -eq "IMAP, POP, IIS, SMTP"} |
export-exchangecertificate -path \\SecondServer\c$\OWAcas-cert.pfx -binaryencoded:
$true-password:(Get-Credential).password
При выполнении команды вам предложат ввести пароль для надежности частного ключа, а затем сертификат будет отправлен в корневую папку на C: второго сервера.
А на втором сервере вам нужно будет импортировать сертификат с помощью следующего скрипта, который также попросит ввести установленный вами пароль:
#Импортировать и включить сертификат
Import-ExchangeCertificate -path c:\DCcas-cert.pfx -Password:(Get-
Credential).password | Enable-ExchangeCertificate -Services "IIS,SMTP,POP,IMAP"
А сейчас вам нужно будет настроить виртуальные директории как на первом сервере.
Как я уже упоминал, мы установили сервер клиентского доступа, однако один из методов доступа, которые будут использоваться, еще не включен. Это Outlook Anywhere, ранее известный как RPC через HTTP. Перед включением Outlook Anywhere вы должны убедиться, что компонент RPC Proxy установлен на сервере клиентского доступа. Также рекомендуется отключить Kernel Mode Authentication при запуске роли Client Access на машине Windows Server 2008, так как в противном случае, если вы используете Outlook Anywhere с опциями NTLM аутентификации у пользователей все время будут спрашивать данные для входа в систему. Далее приводящийся скрипт отключает аутентификацию Kernel Mode Authentication, а затем включает Outlook Anywhere с базовой аутентификацией и без SSL Offloading:
#Отключить аутентификацию Kernel Mode Authentication для IIS7
C:\Windows\SysWOW64\inetsrv\AppCmd.exe set config /section:system.webServer/
security/authentication/windowsAuthentication /useKernelMode:false
#Включить Outlook Anywhere с базовой аутентификацией и без SSL Offloading
Enable-OutlookAnywhere -Server:Exch2007.child.gaots.co.uk -
ExternalHostname:email.gaots.co.uk -DefaultAuthenticationMethod:Basic -
SSLOffloading:$false
Последний наш шаг будет заключаться в настройке клиентского коннектора для разрешения ретрансляции из внутренних приложений.
Замечание: Хотя у нас в среде всего один сервер, если у вас есть группа серверов-концентраторов со сбалансированной нагрузкой, настройка ретрансляции должна проводиться на всех транспортных серверах-концентраторах.
#Пример скрипта для установки ретрансляции для транспортных серверов-концентраторов
New-ReceiveConnector -Name ‘Internal SMTP Relay’ -Usage Custom -Bindings
192.168.22.67:25, 192.168.22.67:587 -Fqdn exch2007.child.gaots.co.uk -RemoteIPRanges
192.168.22.60 -Server Exch2007 ‘AuthMechanism TLS, ExternalAuthoritative
‘PermissionGroups ExchangeServers ‘MaxMessageSize 1GB
Вышеприведенный скрипт позволяет транспортному серверу-концентратору прослушивать ретрансляцию на IP 192.168.22.67 на портах 25 и 587. Порт 587 настроен в дополнение к порту 25, так как это порт по умолчанию для клиент-серверного HTTP трафика в отличие от сервер-серверного трафика, проходящего через порт 25. Затем скрипт разрешает соединения только с сервером 192.168.22.60 и устанавливает максимальный размер сообщения в 1 ГБ.
В данный момент мы закончили базовые шаги, необходимые для настройки сервера клиентского доступа. Я постарался не только продемонстрировать необходимый минимум, но и добавить некоторые действия по настройке часто требующихся деталей, с которыми я сталкивался. В третьей и финальной статье этого цикла я настрою роль почтового сервера и подведу итог некоторым процессам, которые я использовал при настройке сервера Exchange.
Источник http://www.msexchange.org
Tags: bind, cache, domain, Exchange, imap, proxy