search
Categories
Sponsors
VirtualMetric Hyper-V Monitoring, Hyper-V Reporting
Archive
Blogroll

Badges
MCSE
Community

Cozumpark Bilisim Portali
Posted in Exchange Server, Windows Powershell | No Comment | 4,056 views | 05/01/2011 16:20

Gerekli işletim sistemi bileşenlerini Powershell kullanarak kurabilirsiniz.

Öncelikle ServerManager modülünü import edin:

Import-Module ServerManager

Şimdi gerekli bileşenleri yükleyebilirsiniz:

Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server -Restart

Bu bileşenler sadece Hub Transport rolü için geçerlidir.


Posted in Exchange Server | No Comment | 5,578 views | 01/12/2010 13:56

You may get this warning when you try to install Hosted Exchange 2010 SP1.

The Microsoft Internet Information Service is in 32-bit mode and this is a 64-bit computer. The mode must be changed before Setup can continue.

Open a command prompt and type following:

cscript c:\inetpub\adminscripts\adsutil.vbs SET /w3svc/AppPools/Enable32BitAppOnWin64 False

Now you can continue to install.


Posted in Exchange Server | No Comment | 5,434 views | 18/10/2010 16:51

Bir önceki bölümde, mailbox database’lerini ayarlamıştık. Ayrıca bu database’leri Exchange DAG kullanarak, high available hale getirmiştik. Bu bölümde, OWA load balancing ve sertifika işlemlerini göreceğiz. Load Balancing gereksinimleri için Citrix Netscaler kullanacağım. Fakat Brocade gibi farklı donanımsal load balancing çözümleri ile yazılımsal çözümleri kullanabilirsiniz. Ne de olsa Load Balancing işini hepsi aynı mantıkta yapıyor :)

İlk adım olarak Exchange OWA’nın nasıl Load Balance edilebileceğini göreceğiz.

İlk CAS sunucumuzu servis olarak Citrix’e ekleyelim.

İkinci CAS sunucumuz için de aynı işlemi uygulayalım.

Şimdi EXCAS01’e gidelim ve OWA için sertifika başvurusunu oluşturalım.

Şimdi varsayılan sertifikaları görelim:

Get-ExchangeCertificate -Server 'EXCAS01'

Öyleyse EXCAS01 üzerinde sertifika başvurumuzu yapalım:

New-ExchangeCertificate -FriendlyName 'exchange.radore.com.tr' -GenerateRequest -PrivateKeyExportable $true -KeySize '2048' -SubjectName 'C=TR,S="Metrocity",L="Istanbul",O="Radore Hosting",OU="IT",CN=exchange.radore.com.tr' -DomainName 'exchange.radore.com.tr','autodiscover.radore.com.tr','EXCAS01','EXCAS02','EXGW01','EXGW02' -Server 'EXCAS01'

Ticari sertifikamızı satın aldıktan sonra sertifika kodunu C:\cert.txt içerisine kaydedin.
Sertifikayı EXCAS01 sunucumuza import edelim:

Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path C:\cert.txt -Encoding byte -ReadCount 0)) -Password:(Get-Credential).password

Sertifikaya IMAP, POP ve IIS servislerini tanımlayalım. Lütfen bu işlem esnasında kendi Thumbprint’inizi kullandığınıza dikkat edin.

Enable-ExchangeCertificate -Server 'EXCAS01' -Services 'IMAP','POP','IIS' -Thumbprint '03BB616D714D04D133FDACEC3B9476'

Sertifika durumunu tekrar kontrol edelim:

Get-ExchangeCertificate -Server 'EXCAS01'

Gördüğünüz gibi yeni SSL sertifikamıza servislerimiz tanımlanmış durumda.
Şimdi bu sertifikamızı export edip, ikinci CAS sunucumuz olan EXCAS02 isimli sunucuya import edeceğiz.

1
2
$File = Export-ExchangeCertificate -Thumbprint '03BB616D714D04D133FDACEC3B9476' -BinaryEncoded:$true -Password (Get-Credential).password
Set-Content -Path "C:\htcert.pfx" -Value $File.FileData -Encoding Byte

Şimdi bu pfx dosyasını EXCAS02 sunucusuna transfer edip, import edelim.

Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path c:\htcert.pfx -Encoding Byte -ReadCount 0)) -Password:(Get-Credential).password -PrivateKeyExportable $true

Sertifika durumuna tekrar göz atalım:

Get-ExchangeCertificate -Server 'EXCAS02'

Aynı servisleri EXCAS02 üzerinde de tanımlayalım:

Enable-ExchangeCertificate -Server 'EXCAS02' -Services 'IMAP','POP','IIS' -Thumbprint '03BB616D714D04D133FDACEC3B9476'

Şimdi aynı sertifikayı Citrix Netscaler üzerinde tanımlayalım. Bunun için Citrix menüsünden SSL bölümüne giriş yapıp, “import PKCS#12” bağlantısını kullanalım.

Şimdi pfx dosyamızı seçelim ve yerel kullanım için excas_cert gibi bir isim verelim.
Sonrasında tekrar SSL bölümü altından Certificates’e girelim ve Add bağlantısına tıklayalım.

Şimdi Rewrite -> Actions kısmına giriş yapıp, Add bağlantısına tıklayalım.

Rewrite -> Policy kısmına girip, Add bağlantısına tıklayalım.

Gerekli adımları tamamladık. Şimdi Load Balancing -> Virtual Servers menüsüne girip Add bağlantısına tıklayalım.

NLB IP adresimizi tanımlayalım. SSL’i seçip, port olarak 443 tanımlıyoruz. Sonrasında SSL bölümünden OWA sertifikamızı seçip, Add butonuna tıklayalım.

OWA servislerini ekleyelim:

Method and Persistence’ı ayarlayalım:

OWA yönlendirmesini ayarlayalım:

Şimdi Create butonuna tıklayarak, SSL Virtual Server Load Balancing işlemini bitirelim.

Şimdi başka bir Virtual Server daha yaratıp, HTTP isteklerini HTTPS’e yönlendirmeyi yapalım.

Load Balancing -> Virtual Servers altından Add bağlantısına tıklayalım.

Aynı NLB IP adresini tanımlayın. HTTP seçip, port olarak 80’i tanımlayın. Yönlendirme için hiç bir servis seçmemeniz gerekiyor.

Advanced Tab’a giriş yapınız.

Yine Method and Persistence’ı ayarlayalım:

Create butonuna tıklayarak HTTP Virtual Server Load Balancing işlemini tamamlayın.

Hiç servis seçmediğimiz için Virtual Server, Down olarak görülecektir.

Son adım olarak EXCAS01 ve EXCAS02 sunucularının IIS’ine gidin ve SSL Security’i aşağıdaki gibi ayarlayın:

“Require SSL” kısmını temizleyin ve Client Certificates bölümünü “Accept” olacak şekilde ayarlayın. Aynı işlemleri OWA, EWS, ECP.. için de uygulayın. Tüm alt virtual directory’ler güvenli olmayan bağlantıyı da kabul edecek duruma gelmelidir.

Şimdi Exchange Server 2010 OWA’mızı test edelim:

Gördüğünüz gibi Citrix Netscaler üzerinden OWA Load Balancing’ini tamamlamış olduk.
Bir sonraki bölümde, CAS ve Hub Transport sunucularını nasıl Load Balance yapabileceğimizi göreceğiz.
Görüşmek üzere.

Hosted Exchange 2010 – Hosted Exchange 2010 Installation


Posted in Exchange Server | 2 Comments | 6,646 views | 04/10/2010 00:20

İlk makalemizde, yedekli Hosted Exchange yapımızı oluşturabilmek amacıyla iki adet Client Access Server (CAS) ve Mailbox Server ile iki adet Hub Transport Server kurulumu yapmıştık. Makalemizin ikinci bölümünde, ilk bölümde kurduğumuz iki Mailbox sunucu arasında Database Availability Group oluşturacağız. Böylece iki Mailbox sunucumuzun da yedekli çalışır olmasını sağlayacağız. DAG yapıları ile birlikte, Mailbox database’i, Cluster üzerinde tutulur ve High Availability sağlanmış olur. Yalnız DAG’ın bir avantajı, mailbox database’in ortak bir diskte (shared volume) üzerinde tutulmaması, replication ile iki kopya oluşturmasıdır. Böylece bir sunucudaki mailbox database’ini tamamen kaybetseniz bile, diğer sunucuda replication ile bir yedeği her zaman hazır halde bulunmuş olacak. Hosted Exchange’te müşterilere maksimum erişilebilirlik sunmak için DAG yapısı kurmak zorundayız.

DAG kurulumunu gerçekleştirmeden önce, iki CAS sunucumuz üzerinde de Failover Cluster özelliğini aktif hale getirmemiz gerekiyor. Ben kurulumu CAS üzerinde yapıyorum çünkü Mailbox database’im ve Mailbox rolüm, CAS sunucular üzerinde. Eğer elinizde daha geniş kaynaklar varsa ve CAS ile Mailbox rollerini farklı sunucular üzerine dağıttıysanız, Failover Cluster özelliğini de Mailbox sunucuları üzerinden aktifleştirmelisiniz. Tabii Failover Cluster özelliğini aktif hale getirdikten sonra bir de Witness sunucu tanımlamamız gerekir. Eğer witness sunucu tanımlamazsanız, High Availability sağlayamazsınız. Exchange, file share olarak Witness seçmemize izin veriyor. Fakat Witness sunucu olarak bir Exchange sunucusu seçmelisiniz ve bu sunucu Mailbox rolüne sahip olmamalıdır. Bizim yapımızda da en uygun sunucu Hub Transport sunucusu olarak görülüyor. Zaten Microsoft’un da tavsiye ettiği sunucu, Hub Transport sunucusudur. Bu yüzden Witness sunucu olarak EXGW01 isimli sunucumu seçiyorum.

New-DatabaseAvailabilityGroup -Name 'RadoreDAG' -WitnessServer 'EXGW01' -WitnessDirectory 'C:\RadoreDAG'

Yukardaki komutu Exchange Management Shell üzerinde çalıştırmalısınız. Komutu çalıştırdıktan sonra DAG’ı kontrol edelim.

Gördüğünüz gibi şuan DAG’a üye olan bir sunucum bulunmuyor. Şimdi Mailbox sunucularımızı DAG’a üye yapalım.

Add-DatabaseAvailabilityGroupServer -Identity 'RadoreDAG' -MailboxServer 'EXCAS01'

İlk Mailbox sunucumuzu ekledikten sonra witness klasörünü inceleyebilirsiniz. Exchange DAG tarafından otomatik olarak oluşturulmuş olmalı. Yine Cluster’ın da oluşturulmuş olduğunu görebilirsiniz. Şimdi ikinci Mailbox sunucumuzu da DAG’a üye yapalım.

Fakat görebileceğiniz üzere şuan hiç network’ümüz bulunmuyor. Hemen bir tane ekleyebilmek için gerekli kontrollerimizi yapalım.

IPv4 durumuna bakalım:

Get-DatabaseAvailabilityGroup | FL Name,*IP*
Name : RadoreDAG
DatabaseAvailabilityGroupIpv4Addresses : {}
DatabaseAvailabilityGroupIpAddresses : {}

Görüldüğü üzere DAG için aktif bir network görünmüyor. Şimdi eklemeye başlayalım.
En az iki farklı network’e sahip olmamız gerekiyor. Bunlardan bir tanesi Public, diğeri ise Replication network olarak ayarlanmalı. Kurduğum yapıda, Backup Network’u Replication Network olarak kullanacağım. İlerdeki bölümlerde, yine Microsoft System Center Data Protection Manager 2010 kullanarak Exchange sunucularımı bu Backup Network üzerinden yedekleyeceğim. Şimdi Public ve Replication Network’lerimi görelim:

Public Network: 94.101.92.0/24
Replication Network: 192.168.0.0/16

Şimdi Network’leri oluşturma vakti geldi. Public network için:

New-DatabaseAvailabilityGroupNetwork -DatabaseAvailabilityGroup RadoreDAG -Name Internet -Description "Internet Network" -Subnets 94.101.92.0/24 -ReplicationEnabled:$False

Replication network için:

New-DatabaseAvailabilityGroupNetwork -DatabaseAvailabilityGroup RadoreDAG -Name Backup -Description "Backup Network" -Subnets 192.168.0.0/16 -ReplicationEnabled:$True

Network ayarlarından sonra Group IP’sini ayarlamamız gerekiyor.

Set-DatabaseAvailabilityGroup -Identity RadoreDAG -DatabaseAvailabilityGroupIPAddresses 94.101.92.10

Şimdi Failover Cluster Manager üzerinden bir kontrol edelim:

Gördüğünüz gibi DAG ismi aktif durumda. Ayrıca Network’lerimiz de aktif haldeler.

Şimdi DAG’a ikinci sunucumuzu ekleyebiliriz.

Add-DatabaseAvailabilityGroupServer -Identity 'RadoreDAG' -MailboxServer 'EXCAS02'

Evet, ikinci sunucumuz da DAG’ta aktif durumda.

İkinci sunucunun yapıya dahil edilmesinden sonra, Witness’ın da aktif hale geldiğini göreceksiniz.

DAG ve network’leri yarattık. Şimdi müşterilerimiz için 3 farklı database yaratalım.

New-MailboxDatabase -Server 'EXCAS01' -Name 'Database01' -EdbFilePath 'C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Database01\Database01.edb' -LogFolderPath 'C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Database01'
New-MailboxDatabase -Server 'EXCAS01' -Name 'Database02' -EdbFilePath 'C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Database02\Database02.edb' -LogFolderPath 'C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Database02'
New-MailboxDatabase -Server 'EXCAS01' -Name 'Database03' -EdbFilePath 'C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Database03\Database03.edb' -LogFolderPath 'C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Database03'

Database’lerimizi kontrol edelim:

Get-MailboxDatabase

Database’lerimizin yaratılmış olduğunu görüyoruz. Şimdi Database’lerimizin durumlarına bakalım:

Get-MailboxDatabaseCopyStatus

Şimdi bu database’leri mount etmemiz gerekiyor:

Mount-Database -Identity 'Database01'
Mount-Database -Identity 'Database02'
Mount-Database -Identity 'Database03'

Tekrar kontrol edelim:

Database’ler hazır olduğuna göre artık replikasyonu başlatabiliriz.

Add-MailboxDatabaseCopy -Identity 'Database01' -MailboxServer 'EXCAS02' -ActivationPreference '2'
Add-MailboxDatabaseCopy -Identity 'Database02' -MailboxServer 'EXCAS02' -ActivationPreference '2'
Add-MailboxDatabaseCopy -Identity 'Database03' -MailboxServer 'EXCAS02' -ActivationPreference '2'

Operasyon sırasında aşağıdaki hatayı alabilirsiniz:

A source-side operation failed. Error An error occurred while performing the seed operation. Error: An error occurred w
hile processing a request on server ‘EXCAS01’. Error: Database ‘bb1e972e-a343-4cfe-8544-39f18facd816’ was not active on
source server ‘EXCAS01’.. [Database: Database01, Server: EXCAS02.vpool.radore.net]
+ CategoryInfo : InvalidOperation: (:) [Add-MailboxDatabaseCopy], SeedInProgressException
+ FullyQualifiedErrorId : E25C52CD,Microsoft.Exchange.Management.SystemConfigurationTasks.AddMailboxDatabaseCopy

Bu başlangıçtaki bir replikasyon problemidir, korkulacak bir durum yok.

Öncelikle replikasyon durumlarını kontrol edelim:

Get-MailboxDatabaseCopyStatus -Identity 'Database01'
Get-MailboxDatabaseCopyStatus -Identity 'Database02'
Get-MailboxDatabaseCopyStatus -Identity 'Database03'

Görüldüğü üzere replikasyonları başlatmamız gerekiyor:

Resume-MailboxDatabaseCopy -Identity 'Database01\EXCAS02'
Resume-MailboxDatabaseCopy -Identity 'Database02\EXCAS02'
Resume-MailboxDatabaseCopy -Identity 'Database03\EXCAS02'

DAG database’lerimiz yaratıldığına göre, şimdi default mailbox’larımızı DAG’a taşıyabiliriz.

Get-Mailbox | New-MoveRequest -TargetDatabase "Database01"

Move Request durumunu kontrol edebilmek için aşağıdaki komutu kullanıyoruz:

Get-MoveRequest

Eğer “Completed” bilgisini görüyorsanız, request’leri kaldırabilirsiniz demektir.

Get-MoveRequest | Remove-MoveRequest

Default mailbox’larımızı taşıdıktan sonra sıra gizli mailbox’ları taşımaya geldi. Öncelikle gizli mailbox’lara bir göz atalım:

Get-Mailbox -Arbitration

Şimdi bu gizli mailbox’larımızı DAG’ta bulunan database’imize taşıyalım.

Get-Mailbox -Arbitration | New-MoveRequest -TargetDatabase “Database01”

Aynı işlemleri bu taşıma sırasında da yapmaya devam ediyoruz.

Get-MoveRequest

Get-MoveRequest | Remove-MoveRequest

Tüm mailbox’larımızı taşıdığımıza göre artık default mailbox database’imizi sistemden kaldırabiliriz.

Kurulum adımlarımızı tamamladık. Şimdi final adımı olarak replikasyon durumunu kontrol edelim.

Test-ReplicationHealth 'EXCAS01'

Test-ReplicationHealth 'EXCAS02'

Şuan DAG yapısında çalışan 3 adet aktif database’imiz mevcut. Gelecek bölümde, CAS sunucularımızı nasıl Load Balance yapabileceğimizi göreceğiz.

Görüşmek üzere.

Hosted Exchange 2010 – Hosted Exchange 2010 Installation


Posted in Exchange Server | No Comment | 7,832 views | 14/09/2010 13:14

Exchange Server 2010 SP1 ile birlikte Hosted Exchange desteği de gelmeye başladı. Exchange Server 2007 zamanında HMC ile birlikte kurulabilen Hosted Exchange yapısı, artık Exchange Server 2010 SP1 ile birlikte geliyor. Böylece HMC’ye de gerek kalmamış oluyor. HMC’nin desteğinin 2011 yılında kesileceğini duyuran Microsoft, mevcut HMC müşterilerinin de 2010’a geçiş yapmasının önemini göstermiş oldu. Ayrıca Exchange Server 2010 için HMC çıkarılmayacağı da belirtiliyor.

Hosted Exchange 2010 ile birlikte bazı özellikler ne yazık ki kullanılamıyor. Aşağıda mevcut olmayan özellikleri bulabilirsiniz:

• Exchange Management Console
• Public Folders
• Unified Messaging Server Role
• Federation
• Business-to-Business Features such as cross-premises message tracking and calendar sharing
• IRM
• Outlook 2003 support (EnableLegacyOutlook)
• Edge Transport Server role

Yukardaki özellikler arasında sizi şaşırtan bir tanesi olabilir. Evet, Exchange Management Console. Beklediğimiz oldu ve Hosted Exchange 2010 ile birlikte arayüz desteği kaldırıldı. Yani tüm kurulum ve yönetim, tamamen Powershell üzerinden yapılıyor. Bu da Powershell bilen kişilerin ne kadar önem kazandığının bir göstergesi aslında. Bu makalede yapacağımız kurulum da tamamen Powershell üzerinden olacak.

Yapımda kurulumunu yapacağım sunucular:

* 2 x 1 Hub Transport Role
* 2 x 1 CAS + Mailbox Role

Ne yazık ki CAS ve Mailbox rollerini ayırabilecek yeterli kaynağa sahip değilim. Bu yüzden iki rol de aynı sunucu üzerinde hizmet veriyor olacak. Fakat elinizde imkan varsa, maksimum performans ve erişilebilirlik için mutlaka CAS ve Mailbox rollerini ayırın. Ayrıca Hosted Exchange 2010 kurabilmek için yapınızda daha önceden başka bir Exchange sunucusu bulunmuyor olmalı. Sıfır bir yapıda, kuruluma Exchange Server 2010 SP1 ile başlamalısınız. Evet, Exchange Server 2010’u daha önceden yüklediyseniz, SP1 ile upgrade yapma ihtimaliniz bulunmuyor. Bunun nedeni de hosting yapısında, schema’da bazı değişikliklerin bulunması. Yani normal Exchange yapısı ile Hosted Exchange yapısı arasında büyük farklılıklar var. Yapıma kuracağım rolleri belirlediğime göre şimdi kurulumlara başlayabilirim.

Aşağıdaki bağlantıdan Exchange Server 2010 SP1’i indirelim:

İndirdiğinizde bir exe dosyası olduğunu göreceksiniz. Öncelikle bu exe dosyasını extract etmeniz gerekiyor. Hosted Exchange 2010’un sadece komut satırı üzerinden kurulabildiğini belirteyim. Arayüz üzerinden Hosting modunda kurulum yapamıyorsunuz. Öncelikle EXGW01 ismini verdiğim ilk Hub Transport sunucumun kurulumunu yapacağım. Kuruluma başlamadan önce gerekli bileşenlerin kurulumunu yapmam gerekiyor. Kurulumları hızlı bir şekilde yapabilmeniz için Exchange kurulum dosyalarının bulunduğu klasörün içinde bulunan Scripts klasöründe, Exchange-All.xml isminde bir dosya göreceksiniz. Bu dosyayı kullanarak aşağıdaki gibi gerekli bileşenlerin kurulumunu yapabilirsiniz.

servermanagercmd /ip Exchange-All.xml

“NetTcpPortSharing” servisinin başlangıç ayarını Powershell ile otomatik hale getirelim:

Set-Service NetTcpPortSharing –startuptype Automatic

Exchange’in Active Directory scheme extend edebilmesi için aşağıdaki komutu çalıştırın:

ServerManagerCmd -i RSAT-ADDS

Gerekli bileşenlerin kurulumu sonrası sunucu restart etmeniz gerekmektedir.

Restart işlemi tamamlandıktan sonra Office 2010 filter pack kurulumu yapın.

Gerekli tüm bileşenleri kurduğumuza göre şimdi kuruluma başlayabiliriz.
Komut satırı penceresi açın (CMD) ve kurulum komutu girin.

setup.com /mode:install /role:HT,MT /organizationName:HostedExchange /hosting

Tüm rollere ait kodları aşağıda bulabilirsiniz:

HubTransport: HT
ClientAccess: CA
Mailbox: MB
EdgeTransport: ET
ManagementTools: MT

1. adımı aşağıda görebilirsiniz:

Bu esnada Active Directory scheme durumunu kontrol edelim:

Exchange Server 2010 ile Hosted Exchange 2010 arasında bir scheme farkı görüyor musunuz? Evet, Hosted Exchange 2010’da fazladan bir ConfigurationUnit daha mevcut.

Bu arada kurulum da yolunda gidiyor olması lazım..

ve sonunda ilk sunucumuzun kurulumunu tamamladık. Şuan bir Hub Transport sunucumuz var.

Aynı adımları ikinci Hub Transport sunucum için de yapacağım. Kurulum sonrası bu iki Hub Transport sunucusunu Load Balanced yapacağım. İki sunucunun nasıl Load Balanced yapılabildiğini sonraki makalelerde anlatacağım.

Bir sonraki adım olarak CAS ve Mailbox sunucularımın kurulumlarını yapacağım. Daha önceden söylediğim gibi iki rol de aynı sunucu üzerinde olacak çünkü yeterli kaynağa sahip sunucularım bulunmuyor. Eğer yapınızda bol ram ve disk bulunuyorsa, sadece kurulum sırasında belirtilen rol kodlarını değiştirerek, CAS ve Mailbox rollerini dağıtabilirsiniz. Yeni kurulumu da yine CMD üzerinden yapacağım. Yalnız CAS ve Mailbox rolleri için aşağıdaki update paketlerini de yüklemeniz gerekmektedir.

Update’ler sonrası sunucuyu restart etmeniz gerekmemektedir.

Eğer bu gerekli updateleri yüklemeyecek olursa Exchange kurulumu hata verecektir.

Kurulumu başlatalım:

setup.com /mode:install /role:CA,MB,MT /organizationName:HostedExchange /hosting

Eğer gerekli tüm bileşenlerin kurulumunu yaptıysanız, kurulum işlemi hata vermeden bitmesi lazım.

Kurulum tamamlandıktan sonra sunucularınızı reboot etmeniz gerekmektedir. Bu işlem sonrası ikinci CAS ve Mailbox rollerini yükleyeceğimiz sunucuya giderek, aynı adımları diğer sunucu üzerinde de uygulamanız gerekmektedir. Eğer diğer sunucunun da kurulumunu bitirirseniz, ilk bölümü tamamlamış olacağız. Bir sonraki makalede, yapımızı oluşturabilmemiz için gereken ayarlamaları göreceksiniz.

Hosted Exchange 2010 – Hosted Exchange 2010 Installation


Posted in Exchange Server | 32 Comments | 36,597 views | 01/09/2010 21:30

Last parts of guide, I configured Exchange server roles. We have 2 Mailbox + CAS Servers and 2 Hub Transport servers. I made load balanced CAS servers and Hub Transport server with Citrix Netscaler Hardware Load Balancer. Now this part I’ll configure CAS arrays, IMAP, POP and SMTP services. Also I’ll show you configuration of Forefront Protection 2010 for Exchange Server.

First of all, go to EXCAS01 and create a new CAS array.

New-ClientAccessArray -Fqdn "exchange.radore.com.tr" -Site "Default-First-Site-Name"

See Client Access Array:

Get-ClientAccessArray | fl *

Assign DAG databases to new Client Access Array:

Get-MailboxDatabase | Set-MailboxDatabase -RPCClientAccessServer “exchange.radore.com.tr”

Okay, we created our CAS array and assigned a database to it. Now we should configure POP and IMAP settings for client access.

Go to EXCAS01 and set Pop settings:

Set-PopSettings -LoginType PlainTextLogin
Set-PopSettings -ExternalConnectionSettings 'exchange.radore.com.tr:995:SSL','exchange.radore.com.tr:110:TLS'

See POP settings:

Get-POPSettings | fl *

Set IMAP settings:

Set-ImapSettings -LoginType PlainTextLogin
Set-ImapSettings -ExternalConnectionSettings 'exchange.radore.com.tr:993:SSL','exchange.radore.com.tr:143:TLS'

See IMAP settings:

We use PlainTextLogin because you can’t get Authenticated with SecureLogin in Hosted Exchange environment. So you should use PlainTextLogin. But don’t worry, we use Citrix Netscaler to secure connection.

Also we should configure Outlook access. First install RPC over HTTP:

ServerManagerCmd -i RPC-over-HTTP-proxy

Then configure Outlook Anywhere:

Enable-OutlookAnywhere -ExternalHostname exchange.radore.com.tr -DefaultAuthenticationMethod:Basic -SSLOffloading $False

You can see your Outlook Anywhere configuration:

Get-OutlookAnywhere | fl *

You should change Autodiscover External URL:

Set-AutodiscoverVirtualDirectory -Identity 'autodiscover (default Web site)' -ExternalURL 'https://exchange.radore.com.tr/autodiscover' -InternalURL 'https://exchange.radore.com.tr/autodiscover' -BasicAuthentication $true

Change OAB virtual directory external URL:

Set-OABVirtualDirectory -Identity "EXCAS01\OAB (Default Web Site)" -ExternalUrl 'https://exchange.radore.com.tr/OAB' -InternalURL 'https://exchange.radore.com.tr/OAB' -BasicAuthentication $true

Change Web services virtual directory external URL:

Set-WebServicesVirtualDirectory -Identity "EXCAS01\EWS (default Web site)" -BasicAuthentication $true -ExternalUrl 'https://exchange.radore.com.tr/EWS/exchange.asmx' -InternalUrl 'https://exchange.radore.com.tr/EWS/exchange.asmx'

We finished changes on POP, IMAP and Outlook Anywhere. Don’t forget to do same steps on EXCAS02. Now it’s time to configure SMTP. Now go back to EXGW01 and EXGW02.

Configure EXGW01 Receive Connector for Outlook Authentication:

Get-ReceiveConnector 'EXGW01\EXGW01 SMTP' | Set-ReceiveConnector -PermissionGroups 'AnonymousUsers','ExchangeUsers','ExchangeServers'

Also configure Inbound SMTP Array for Outlook Authentication:

Get-ReceiveConnector 'EXGW01\Inbound SMTP Array' | Set-ReceiveConnector -PermissionGroups 'AnonymousUsers','ExchangeUsers','ExchangeServers'

Configure Encryption on Receive Connectors:

Get-ReceiveConnector 'EXGW01\EXGW01 SMTP' | Set-ReceiveConnector -AuthMechanism 'Tls','Integrated','BasicAuth'
Get-ReceiveConnector 'EXGW01\Inbound SMTP Array' | Set-ReceiveConnector -AuthMechanism 'Tls','Integrated','BasicAuth'

Also you should change binded ip address of Inbound SMTP Array.
But first you should remove old ones:

Get-ReceiveConnector 'EXGW01\Default *' | Remove-ReceiveConnector
Get-ReceiveConnector 'EXGW02\Default *' | Remove-ReceiveConnector
Get-ReceiveConnector 'EXGW01\Client *' | Remove-ReceiveConnector
Get-ReceiveConnector 'EXGW02\Client *' | Remove-ReceiveConnector

Now see the Receive Connectors:

Get-ReceiveConnector | fl *

Get-ReceiveConnector 'EXGW01\Inbound SMTP Array' | Set-ReceiveConnector -Bindings '0.0.0.0:25','0.0.0.0:587'

Do same thing for EXGW02:

Get-ReceiveConnector 'EXGW02\Inbound SMTP Array' | Set-ReceiveConnector -Bindings '0.0.0.0:25','0.0.0.0:587'

Now lets check again:

Get-ReceiveConnector | fl *

Go back to Citrix Netscaler and configure services for IMAP, POP and RPC:

Also configure virtual servers:

Be sure to choose SOURCEIP for load balancing. After this, you can start to test POP3 and IMAP connection via Outlook. You shouldn’t choose any encryption method like TLS or SSL because of Hosted Exchange AD structure. Now I’ll show you how to configure Forefront Protection 2010. I installed Forefront on EXGW01 and EXGW02.

Enable connection filtering:

Enable DNSBL checking:

Enable SenderID and leave “Stamp header” option:

Enable Sender Filter:

Enable Receipent Filtering:

Enable Backscatter:

Enable Content Filter:

Configure SCL:

You can leave default other options and services of Forefront Protection. I finished this part. Next part, I’ll show you how to create organizations and users. But if you did exact same steps with me, that means you have a fully working Hosted Exchange 2010.


Posted in Exchange Server | 6 Comments | 24,468 views | 31/08/2010 12:13

At Part 3, We configured OWA service and SSL certificate. This part, we will configure our 2 Hub Transport servers, EXGW01 and EXGW02. I’ll use Citrix Netscaler again to make a load balance between them.

Now on EXGW01, open Exchange Management Shell and execute;

New-ReceiveConnector -Name 'Inbound SMTP Array' -Usage 'Custom' -Bindings '94.101.92.2:25','94.101.92.2:587' -Fqdn 'mail.radore.com.tr' -RemoteIPRanges '0.0.0.0-255.255.255.255' -Server 'EXGW01'

Do same thing on EXGW02:

New-ReceiveConnector -Name 'Inbound SMTP Array' -Usage 'Custom' -Bindings '94.101.92.2:25','94.101.92.2:587' -Fqdn 'mail.radore.com.tr' -RemoteIPRanges '0.0.0.0-255.255.255.255' -Server 'EXGW02'

Use Get-ReceiveConnector to see recently added connectors:

Get-ReceiveConnector

Enable receive connectors to get mail from external mail address:

Get-ReceiveConnector "Inbound *" | Set-ReceiveConnector -PermissionGroups:AnonymousUsers,ExchangeUsers,ExchangeServers

Disable default receive connectors:

1
2
3
4
'EXGW01\Default *' | Set-ReceiveConnector -Enabled $false
'EXGW02\Default *' | Set-ReceiveConnector -Enabled $false
'EXGW01\Client *' | Set-ReceiveConnector -Enabled $false
'EXGW02\Client *' | Set-ReceiveConnector -Enabled $false

Now add new receive connectors for EXGW01 and EXGW02:

New-ReceiveConnector -Name 'EXGW01 SMTP' -Usage 'Custom' -Bindings '94.101.92.3:25','94101.92.3:587' -Fqdn 'mail.radore.com.tr' -RemoteIPRanges '0.0.0.0-255.255.255.255' -Server 'EXGW01'
New-ReceiveConnector -Name 'EXGW02 SMTP' -Usage 'Custom' -Bindings '94.101.92.4:25','94101.92.4:587' -Fqdn 'mail.radore.com.tr' -RemoteIPRanges '0.0.0.0-255.255.255.255' -Server 'EXGW02'

Configure load balancing on Citrix Netscaler. First add service definition as TCP – 25 for EXGW01.

Add same service definition for EXGW02 and Create a Virtual Server:

Choose Least Connection as LB Method:

Now telnet your NLB ip and you should see your FQDN:

Ok, now lets create a send connector to send mails to external address:

New-SendConnector -Name 'Exchange Gateway' -Usage 'Custom' -AddressSpaces 'SMTP:*;1' -DNSRoutingEnabled $true -UseExternalDNSServersEnabled $false -Fqdn 'mail.radore.com.tr' -SourceTransportServers 'EXGW01','EXGW02'

Create a SSL request for EXGW01:

New-ExchangeCertificate -FriendlyName 'mail.radore.com.tr' -GenerateRequest -PrivateKeyExportable $true -KeySize '2048' -SubjectName 'C=TR,S="Metrocity",L="Istanbul",O="Radore Hosting",OU="IT",CN=mail.radore.com.tr' -DomainName 'mail.radore.com.tr','autodiscover.radore.com.tr','EXCAS01','EXCAS02','EXGW01','EXGW02' -Server 'EXGW01'

Buy your commercial certificate and save certificate code to C:\cert.txt.
Import your certificate on EXGW01:

Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path C:\Cert.txt -Encoding byte -ReadCount 0)) -Password:(Get-Credential).password

Assign SMTP services to certificate. Don’t forget to use your own Thumbprint.

Enable-ExchangeCertificate -Server 'EXGW01' -Services 'SMTP' -Thumbprint '5C9F5C946CAC544F054D24'

We will export our certificate and import it to second Hub Transport server, EXGW02.

1
2
$File = Export-ExchangeCertificate -Thumbprint '5C931E54FDA054D24' -BinaryEncoded:$true -Password (Get-Credential).password
Set-Content -Path "C:\htcert2.pfx" -Value $File.FileData -Encoding Byte

Now, transfer your pfx file to EXGW02 and import it:

Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path c:\htcert2.pfx -Encoding Byte -ReadCount 0)) -Password:(Get-Credential).password -PrivateKeyExportable $true

Enable SMTP service for EXGW02:

Enable-ExchangeCertificate -Server 'EXGW02' -Services 'SMTP' -Thumbprint '03BB616D714D03B9476'

Go to Citrix Netscaler again and create a Virtual Server for SMTP.
Choose SSL as protocol and 443 as port number.

Configure LB method as Least Connection.

Check Hosted Exchange 2010 Setup Guide Part 3 for how to import SSL Certificate to Citrix:

Bind SSL certificate to virtual server.

Also you can add HTTP, 80 as another Virtual Server.

Please follow Hosted Exchange 2010 Part 3 for how to add HTTP 80 Virtual Server.

Go to EXGW01 and EXGW02, open IIS manager (inetmgr) and navigate to SSL Security for Default Web Site.

Clear “Require SSL” and click Accept from SSL settings.

Now test your Exchange Server 2010 SMTP address:

Wadaaaa again! We finished Citrix Netscaler Load Balancing for Hub Transport Servers.
Next Part, We will see how to configure Forefront Protection 2010 for Exchange Servers.
Thanks for reading.

Please continue with Part 5:

Hosted Exchange 2010 – Hosted Exchange 2010 Installation