Exchange Server 2019 Kurulum Gereksinimleri ve Hazırlık
Yıllar önce ilk Exchange kurulumumu yaparken, hazırlık aşamasını atlamak yerine “hızlıca kurayım, sonra düzeltirim” diye düşünmüştüm. O kurulum bana tam üç gün kaybettirdi. Şimdi her Exchange projesine başlamadan önce aynı soruyu soruyorum: Hazırlık olmadan kurulum olmaz. Exchange 2019 da bu konuda son derece talepkar bir yapıya sahip ve sistemi ayağa kaldırmadan önce doğru zemini hazırlamak, ilerleyen süreçte saatlerce troubleshooting yapmaktan çok daha değerli.
Exchange Server 2019 Genel Mimarisi ve Rol Yapısı
Exchange 2019 ile Microsoft önemli bir mimari sadeleştirmeye gitti. Artık sadece iki sunucu rolü var: Mailbox Server ve Edge Transport Server. Önceki sürümlerdeki Client Access Server rolü Mailbox rolüne entegre edildi. Bu birleşme, özellikle DAG (Database Availability Group) yapılarında yönetimi ciddi ölçüde kolaylaştırdı.
Mailbox Server rolü şunları barındırıyor:
- Posta kutusu veritabanları
- Transport servisleri
- Client Access servisleri (HTTP, MAPI, EWS, ActiveSync)
- Unified Messaging (artık desteği kısıtlı)
Edge Transport Server ise DMZ’de konumlandırılıyor, SMTP relay ve anti-spam görevlerini üstleniyor. İç ağdaki Exchange organizasyonuyla EdgeSync mekanizması üzerinden haberleşiyor. Her iki rolü de aynı sunucuya kurmak mümkün değil, bunu baştan bilmek gerekiyor.
Donanım Gereksinimleri: Minimumun Ötesine Geçin
Microsoft’un resmi dökümanlarında yazan minimum değerlere bakıp sunucu sipariş etmeyin. O değerler “Exchange açılır ve çalışır” anlamına geliyor, “production ortamında makul performans verir” anlamına gelmiyor.
İşlemci:
- Minimum 64-bit işlemci, x64 mimari zorunlu
- Hyper-Threading teknolojisi destekli işlemci tercih edilmeli
- Her 2000 kullanıcı için yaklaşık 6-8 çekirdek hesabı yapılabilir
- NUMA mimarisi olan sunucularda Exchange otomatik optimizasyon yapıyor
RAM:
- Mailbox Server için minimum 128 GB (küçük ortamlarda 64 GB ile başlanabilir ama büyümeyi hesaba katın)
- Exchange’in kendi cache mekanizması var, ne kadar RAM verirseniz o kadar verimli çalışıyor
- Edge Transport için 64 GB yeterli
- Sanallaştırılmış ortamlarda RAM overcommit yapmayın, bu Exchange için gerçek bir sorun
Disk:
- Sistem sürücüsü için minimum 30 GB boş alan (kurulum sırasında + log dosyaları için)
- Exchange binary’leri varsayılan olarak 30-40 GB yer kaplıyor
- Mailbox veritabanları için ayrı disk grupları oluşturun
- JBOD konfigürasyonu DAG ortamlarında SAN’dan daha maliyet etkin ve Microsoft tarafından destekleniyor
- Transaction log’ları için veritabanlarından ayrı disk: bu kritik, karıştırmayın
İşletim Sistemi Gereksinimleri
Exchange 2019, sadece Windows Server 2019 ve Windows Server 2022 üzerinde çalışıyor. Windows Server 2016 desteği CU2’den itibaren düşürüldü, bunu atlayan organizasyonlar var, dikkat edin.
Server Core kurulum seçeneği Exchange 2019 ile destekleniyor ve Microsoft bunu öneriyor. Daha az attack surface, daha az patch, daha az restart. Ama yönetim tamamen remote araçlarla yapılıyor, buna hazırlıklı olmak gerekiyor.
Desktop Experience (GUI) ile kurulum yapmak isteyenler için sorun yok, ikisi de çalışıyor. Benim tercihim hibrit: kurulum ve ilk konfigürasyon sırasında Desktop Experience, sonrasında Core’a geçiş. Ama bu ekstra iş demek.
Windows Update’in güncel olması şart. Exchange setup, bazı Windows bileşenlerini kontrol ediyor ve eksik update varsa setup duraksıyor.
Active Directory Gereksinimleri ve Hazırlığı
Exchange, AD’ye son derece bağımlı bir yapı. Kurulum öncesi AD’nin hazır olması gerekiyor.
Forest ve Domain Functional Level:
- Forest Functional Level: Windows Server 2012 R2 veya üzeri
- Domain Functional Level: Windows Server 2012 R2 veya üzeri
Bunu kontrol etmek için:
Get-ADForest | Select ForestMode
Get-ADDomain | Select DomainMode
AD Site ve Servis Yapılandırması:
Exchange sunucusu ile Domain Controller’ların aynı AD Site içinde olması performans açısından kritik. Farklı site’lardaki DC’lerle çalışmak, özellikle yüksek trafikte gecikmelere yol açıyor.
# Exchange sunucusunun hangi AD Site'ında göründüğünü kontrol et
nltest /dsgetsite
# Site'daki DC'leri listele
nltest /dclist:domainadi.local
Schema Extension:
Exchange kurulumu AD schema’sını extend ediyor. Bu işlem için Schema Admins ve Enterprise Admins yetkisine ihtiyaç var. Schema extension işlemi her AD ortamında geri alınamaz, bu yüzden öncesinde AD yedeği alınmalı.
Schema extension’ı setup sırasında otomatik yapabilirsiniz ya da ayrı bir adım olarak elle çalıştırabilirsiniz. Büyük ortamlarda elle çalıştırmak daha kontrollü:
Setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF
AD’yi exchange kurulumuna hazırlamak için sırasıyla:
Setup.exe /PrepareAD /OrganizationName:"OrganizasyonAdiniz" /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF
Setup.exe /PrepareDomain /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF
Multi-domain forest’larda her domain için PrepareAllDomains çalıştırılmalı:
Setup.exe /PrepareAllDomains /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF
PrepareAD tamamlandıktan sonra AD replikasyonunun tamamlanmasını bekleyin. Acele etmeyin, replikasyon bitmeden kuruluma geçmek sizi garip hata mesajlarıyla karşı karşıya bırakır. Büyük ortamlarda bu 15-30 dakika sürebilir.
# Replikasyon durumunu kontrol et
repadmin /replsummary
repadmin /showrepl
Gerekli Windows Rolleri ve Özellikleri
Exchange kurulumu bazı Windows rollerini otomatik kurmaya çalışıyor, ama ben bunu elle yapmayı tercih ediyorum. Hem ne kurulduğunu biliyorsunuz hem de olası setup hatalarının önüne geçiyorsunuz.
Install-WindowsFeature 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 -Restart
Bu komut oldukça uzun, biliyorum. Ama bu özelliklerin hepsini tek seferde kurmak, kurulumun ortasında “bu özellik eksik” hatasıyla karşılaşmaktan çok daha iyi.
Kurulum tamamlandıktan sonra yeniden başlatma gerekebilir. Bunu planlayın.
.NET Framework ve Visual C++ Gereksinimleri
Exchange 2019, .NET Framework 4.8 gerektiriyor. Windows Server 2019 üzerinde bu genellikle mevcut ama kontrol etmekte fayda var:
Get-ItemProperty "HKLM:SOFTWAREMicrosoftNET Framework SetupNDPv4Full" | Select Version, Release
Release değeri 528040 veya üzeriyse .NET 4.8 kurulu demektir.
Visual C++ Redistributable paketleri de gerekli:
- Visual C++ 2012 Redistributable Package (x64)
- Visual C++ 2013 Redistributable Package (x64)
Bu paketler Microsoft’un resmi indirme sayfasından alınmalı. Kurulum sırasında bunlar eksikse setup uyarı verecek, ama önceden kurmanız daha temiz bir kurulum süreci sağlar.
Sertifika Planlaması: Kurulumdan Önce Yapın
Bu kısmı atlayan sysadmin’lerin sonradan başını çok yaktığını gördüm. Exchange 2019 çok sayıda servis için SSL/TLS sertifikası kullanıyor: OWA, EWS, ActiveSync, Autodiscover, SMTP. Hepsinin düzgün çalışması için sertifika planlaması kurulumdan önce yapılmalı.
İç DNS adları ve dış DNS adları belirleyin:
Tipik bir Exchange sertifikasında bulunması gereken Subject Alternative Names (SAN):
- mail.sirketadi.com (OWA ve diğer istemci servisleri)
- autodiscover.sirketadi.com (Autodiscover)
- Sunucu FQDN’i (iç erişim için)
- SMTP sunucu adı (gerekirse)
Üçüncü taraf bir CA’dan wildcard sertifika (*.sirketadi.com) almak esneklik sağlıyor ama tüm Exchange servislerinde çalışmıyor, özellikle Autodiscover konusunda dikkatli olun.
DNS Yapılandırması
Exchange kurulumu DNS’e çok bağımlı. Hem forward hem reverse lookup zone’ların doğru yapılandırılmış olması gerekiyor.
# Exchange sunucusunun kendi FQDN'ini doğru çözümlediğini kontrol et
Resolve-DnsName -Name "exchangeserver.domain.local"
# Reverse lookup çalışıyor mu?
Resolve-DnsName -Name "10.0.0.1" -Type PTR
# Autodiscover kaydı
Resolve-DnsName -Name "autodiscover.domain.com"
Exchange sunucusunun DNS suffix’i doğru ayarlanmış olmalı:
# DNS suffix kontrolü
Get-DnsClientGlobalSetting
# Gerekirse ayarla
Set-DnsClientGlobalSetting -SuffixSearchList "domain.local"
Antivirus ve Güvenlik Duvarı Hazırlığı
Kurulum öncesi antivirus yazılımını geçici olarak devre dışı bırakın. Bu ciddiye alınması gereken bir öneri, ben bunu kurulum tamamlanana kadar antivirus’ü tamamen kapatarak yapıyorum. Exchange ile antivirus entegrasyonu ayrı bir konu, kurulumdan sonra özel Exchange-aware antivirus konfigürasyonu yapılmalı.
Güvenlik duvarında açılması gereken portlar:
# Gerekli firewall kurallarını PowerShell ile ekle
New-NetFirewallRule -DisplayName "Exchange SMTP" -Direction Inbound -Protocol TCP -LocalPort 25 -Action Allow
New-NetFirewallRule -DisplayName "Exchange HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
New-NetFirewallRule -DisplayName "Exchange IMAP" -Direction Inbound -Protocol TCP -LocalPort 993 -Action Allow
New-NetFirewallRule -DisplayName "Exchange POP3" -Direction Inbound -Protocol TCP -LocalPort 995 -Action Allow
New-NetFirewallRule -DisplayName "Exchange HTTP Redirect" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
DAG ortamları için ek portlar gerekiyor:
- TCP 3343: Cluster komunikasyonu
- TCP/UDP 3343: Node Manager
- TCP 64327: DAG replikasyonu (varsayılan, değiştirilebilir)
Kurulum Öncesi Kontrol Listesi
Kuruluma geçmeden önce şu komutla hazırlık durumunu test edebilirsiniz:
Setup.exe /PrepareAD /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF /OrganizationName:"TestOrg"
Bu komutu çalıştırmadan önce aşağıdakilerin tamam olduğunu doğrulayın:
# Sunucu adı ve domain membership
$env:COMPUTERNAME
(Get-WmiObject Win32_ComputerSystem).Domain
# Kurulumu yapacak hesabın yetkilerini kontrol et
whoami /groups | findstr "Schema Admins"
whoami /groups | findstr "Enterprise Admins"
whoami /groups | findstr "Domain Admins"
# Disk boşluğu kontrolü
Get-PSDrive C | Select Used, Free
# Servis durumları
Get-Service -Name "NTDS" | Select Status
Get-Service -Name "DNS" | Select Status
Get-Service -Name "W32Time" | Select Status
Zaman senkronizasyonu özellikle kritik. Exchange ve DC’ler arasındaki zaman farkı 5 dakikayı geçerse Kerberos authentication çalışmayı durduruyor.
Sanal Ortamlarda Exchange 2019
Fiziksel donanım zorunluluğu yok, Exchange 2019 sanal makinelerde gayet başarılı çalışıyor. Ama dikkat edilmesi gereken noktalar var:
Hypervisor Gereksinimleri:
- VMware vSphere 6.5 ve üzeri
- Microsoft Hyper-V (Windows Server 2016 ve üzeri)
- Nutanix AHV (destekleniyor ama Microsoft’un birincil desteklediği değil)
Sanal Makine Konfigürasyon Önerileri:
- SCSI controller olarak paravirtualized driver kullanın (VMware: VMware Paravirtual, Hyper-V: SCSI Controller)
- IDE controller kullanmayın, I/O performansı çok kötü
- Sanal disk dosyalarını (VMDK/VHDX) NFS üzerine koymayın, SAN veya lokal SSD tercih edin
- Dynamic memory / Memory Balloon devre dışı bırakın
- VM snapshot’ı production Exchange için kullanmayın, bu desteklenmiyor ve veritabanı tutarsızlıklarına yol açabiliyor
# Hyper-V üzerinde Exchange VM için önerilen konfigürasyon
# Bu komutlar Hyper-V host üzerinde çalıştırılır
Set-VMMemory -VMName "ExchangeServer01" -DynamicMemoryEnabled $false
Set-VM -VMName "ExchangeServer01" -AutomaticCheckpointsEnabled $false
Kurulum Medyası ve Lisans Hazırlığı
Exchange 2019 ISO dosyasını Microsoft’un Volume Licensing Service Center veya MSDN/Visual Studio Subscriptions üzerinden indirin. Torrent veya üçüncü taraf kaynaklardan indirilen ISO’ların manipüle edilmiş olma riski var.
ISO hash değerini doğrulayın:
Get-FileHash -Path "C:DownloadsExchangeServer2019.iso" -Algorithm SHA256
Bu hash değerini Microsoft’un resmi dokümantasyonundaki değerle karşılaştırın. Eşleşmiyorsa dosyayı kullanmayın.
Exchange 2019 lisans modeli:
- Standard Edition: Sunucu başına 5 Mailbox Database
- Enterprise Edition: Sunucu başına 100 Mailbox Database
- Her kullanıcı için CAL (Client Access License) gerekiyor
- Exchange Enterprise CAL ile daha gelişmiş özellikler (Archiving, DLP, vb.) açılıyor
Kurulumu evaluation mode’da yapıp sonradan lisans anahtarı girebilirsiniz:
# Mevcut lisans durumu
Get-ExchangeDiagnosticInfo -Server ExchangeServer01 -Process EdgeTransport -Component ResourceThrottling
# Lisans anahtarı girme
Set-ExchangeServer -Identity ExchangeServer01 -ProductKey XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
Sonuç
Exchange 2019 kurulumu, hazırlık aşaması iyi yapıldığında oldukça sorunsuz ilerliyor. Benim gözlemlediğim kurulum sorunlarının büyük çoğunluğu yetersiz hazırlıktan kaynaklanıyor: Eksik Windows özellikleri, tamamlanmamış AD replikasyonu, yanlış DNS konfigürasyonu veya yetki sorunları.
Bu yazıda anlattıklarımı madde madde kontrol listesi gibi kullanmanızı öneririm. Schema extension, PrepareAD, Windows rol kurulumu, DNS doğrulama ve sertifika planlaması adımlarını atlamadan geçin. Exchange kurulumu sonrasında ortaya çıkan sorunların büyük bölümü, burada birkaç saat harcayarak önlenebilir.
Bir sonraki yazıda Exchange 2019’un gerçek kurulum sürecini, CU (Cumulative Update) stratejisini ve post-installation konfigürasyon adımlarını ele alacağım.
