Merhaba, bu makalemizde Windows Sunucu rolü olan IIS üzerinden çoklu web sitesi yayımlama özelliğini ele alıyor olacağız. Windows Server 2003 ve 2008’in artık kullanılmadığını düşünürsek, makalemizdeki adımları aynı şekilde Windows Server 2012, 2016 ve 2019 üzerinde aynı metot ile uygulayabiliriz.
Günümüzde web sitesi yayımlama işi Windows ve Linux sistemler üzerinde çalışan farklı platformlar üzerinden yapılabilmektedir. Bu platformların kendilerine has özellikleri olup, birbirlerine göre artıları ve eksileri bulunmaktadır. Biz hali hazırda çoklu site yayımlama işlemlerini elimize bulunan Windows Server 2022 üzerindeki IIS rolü ile yapıyor olacağız.
Ortamımıza kısaca bakacak olursak ortamımda Windows Server 2022 işletim sistemine sahip sunucumuz bulunmaktadır. Sunucumuz üzerinde ayrıca Active Directory rolü yer almaktadır. Bu zorunlu bir gereksinim değildir.
Ortama göz attıktan sonra platform olarak IIS yapısını kullanacağımız için işlemlerimize IIS rolünü kurarak başlayalım. Server Manager üzerinde aşağıdaki iki alandan bir tanesini kullanarak Add roles and features linkine tıklayarak rol ekleme adımlarına başlayabiliriz.
Açılan ekranda sihirbaz ile yapabileceklerimiz noktasında bilgi verilmektedir. Next ile bir sonraki ekranımıza ilerleyelim.
Açılan ekranımızda iki seçeneğimiz yer almaktadır. Bunlardan birincisi olan;
Role-based or feature-based insallation : Rol ve Özellik bazında ekleme kurulum yapma imkânı verir. Windows Server 2016 içerisinde sahip olduğumuz sürüme göre, içerisinde bulunan ve ihtiyacımız olan rol ve özellikleri buradan ekleyip kaldırabilmekteyiz.
Remote Desktop Services installation: Eski zamanlarda Terminal Servis olarak anılan ve şimdi RDS (Remote Desktop Services) uzak masaüstü yapılandırmasını hızlı ve standart olarak buradan yapabilmekteyiz.
Bu nedenle biz IIS rolünü kuracak olduğumuz için Role-based or feature-based insallation seçimini yaparak Next ile ilerliyoruz.
Windows Server 2008,2012,2016 ve 2019 ile birlikte sunucu kümesi oluşturarak bu küme üzerine toplu olarak ve farklı bir sunucu üzerinden Rol ve Özellik ekleme ve kaldırma işlemleri yapabilir duruma geldik. Tabi bu işlem Windows Server 2022 üzerinden doğrudan yapılabilirken Windows Server 2008’e bazı özellikler katmamız gerekiyordu. Bizim ortamımızda tek bir sunucumuz olduğundan ve bu sunucumuza IIS rolünü kuracak olduğumuzdan Adı, ip adresi ve versiyon bilgisi sunulan sunucumuzu seçerek Next ile ilerliyoruz.
Karşımıza gelen ekrandan kuracak olduğumuz Web Server (IIS) rolünü seçiyoruz.
IIS rolünü kurmak istediğimizde bu rolün kurulabilmesi için farklı özelliklerin ve bileşenlerin gerekli olduğunu gösteren bir ekran karşımızda belirliyor. Rol kurulumu için gerekli olan bu bileşenlerinde yüklenmesi için Add Features butonuna tıklayalım.
Şimdi kurulacak olan rolümüz seçili hale geldi. Bir sonraki adıma ilerleyebiliriz. Şimdi Next butonuna tıklayarak bir sonraki adıma ilerleyelim.
Bir sonraki ekranımızda özellik ekleme ekranımız bizi karşılamakta. Bir özellik ekleme istediğimiz durumda bu ekranı kullanmalıyız. Biz bu ekranda bir özellik eklemeyeceğimiz için Next ile ilerleyebiliriz.
Bu ekranımızda kurulacak olan IIS versiyonu ile ilgili olarak bilgiler sunulmakta. Bir bakıma sihirbaz görevi gören bu ekranımızı Next ile geçelim.
IIS rolü üzerinde çok sayıda bileşen ve ayar olmasından dolayı karşımıza özelleştirmeler yapabilmemiz için bir ekran geldi. Biz aşağıdaki ayarlar ile ilerliyor olacağız. Örnek olarak HTTP Redirection gibi yönlendirme işlemi yapacaksanız buradan bu özelliği aktif etmeniz gerekmektedir. Bir varsayılan ayarları kullanacağımız için bu adımı Next ile geçelim.
Restart the destination server automatically if requred seçimini yaparak rollerin kurulumu sonrası yeniden başlatma gerekmesi durumunda bu işlemin otomatik olarak gerçekleşmesini sağlayalım.
Karışımıza gelen sorun ekranında YES butonuna tıklayalım ve yeniden başlama işlemine onay verdiğimizi belirtmiş olalım.
Bu ekranımızda Install butonumuza tıklayarak kurulum işlemimizi başlatalım.
Rolümüz kurulmaya başladı.
Kurulum işlemimiz tamamladı. Close kurulum adımımızı tamamlayalım.
Başlat menümüz üzerinde kurulum sonrası IIS konsoluna erişim sağlayan konsol kısa yolu yerini almış durumda. Konsolumuzu açalım.
Varsayılan bir site oluşmuş durumda.
http://localhost http://ipadresi veya http://sunucuismi şeklinde varsayılan IIS sitesine erişim sağlayabiliriz. Aşağıdaki ekran geldiğine göre kurulum sorunsuz tamamlanmış ve servisler ayakta demektir.
Şimdi sıra IIS üzerinde çoklu site yayımlamak için yapılandırma aşamasında. Bu aşamaya geçmeden önce bu işlemi nasıl yapacağımız konusunda biraz bilgi vereyim. Bu işlemi yapacağımız metot Host Header.
Host Header: Çözümpark Sözlük üzerinde durum şöyle anlatılmakta. IIS üzerinde bir ip adresi için birden çok web sitesi barındırmak istiyorsanız eğer host header kullanmanız gerekmektedir. Bunun temel sebebi bu Web server ip adresi için gelen bir paket içerisinde source ip , destination ip , source port ve destination port bulunur ki hedef ip ile hedef port bellidir ( ip olarak web server’ ın ip adresi , port olarak ise varsayılan olarak 80 nolu port kullanılır ). Sorun ise şudur, eğer siz bu web server üzerinde birden çok web sitesi oluşturursanız böyle bir isteği hangi web sitesi için geldiğini anlayamazsınız, bu nedenle insanlar ip üzerinden değil de URL ile yani web sitelerinin adresi ile size gelirler, sizde IIS üzerinde her bir web sitesi için sen www.rizasahan.com’ sun, sen www.cozumpark.com’ sun gibi bir tanımlama yaparız.
Şimdi adımlarımıza geçelim. Öncelikle oluşturulan siteler için dns üzerinde gerekli kayıtları açmamız gerekmekte. Şu an aşağıdaki resimde Active Directory kurulumu sırasında gelen kayıtlar gelmekte.
Oluşturulacak olan siteler için yeni DNS zone tanımlamaları yapılmalı. Bu nedenle DNS üzerinde sağ tıklayarak New Zone… kısmına tıklayalım.
Açılan ekranda sihirbazı geçmek için Next butonuna tıklayalım.
Biz yeni ve ayrı bir zone tanımlayacağımız için Primary Zone seçimi yaparak Next ile bir sonraki adıma ilerleyelim.
Bizim ortamımızda tek bir dns sunucumuz olduğu için To all DNS server running on on domain controllers in tihs domain : cozumpark.lokal seçimini yaparak Next ile bir sonraki adıma ilerleyelim.
Forward lookup zone seçimi ile Next butonuna tıklayarak sonraki adıma ilerleyelim.
Oluşturulacak olan dns zone için bilgileri girelim. Biz IIS üzerinde rizasahan.com isimli bir site barındıracağımız için zone bilgisi olarak cozumpark.com olarak tanımlamamızı yapıp bir sonraki adıma Next ile ilerliyoruz.
Aşağıdaki seçimi değiştirmeden Next ile son adıma ilerleyelim.
Şu ana kadar olan işlemlerin bir özeti bizi karşıladı. Tanımlama işlemini tamamlamak için Finish butonuna tıklayarak bu adımı da bitirelim.
DNS konsolumuzda durum aşağıdaki gibi gözükmekte. Cozumpark.com isimli zone tanımlamamızı görüyoruz.
Örneğimizi iki site ile yapacağımız için yeni bir zone tanımlama işlemini yukarıdaki adımlar ile yapalım. Ben rizasahan.com için bir tanımlama işlemi daha yapıyorum ve tamamlıyorum. Bu işlemden sonra rizasahan.com zone tanımı da aşağıdaki gibi gözükmekte.
Öncelikle cozumpark.com zonu üzerinde sağ tıklayarak New Host (A or AAAA)… kısmına tıklayalım. Bu kayıtlar ne işe yarar noktasında ise aşağıdaki bilgilerden yararlanabilirsiniz. Bu kayıtlar genel kayıtlar olup bu kayıtlar haricinde birçok kayıt türü daha bulunmaktadır.
MX Kaydı;
MX kayıtları, alan adınıza gelen e-posta iletilerinin hangi sunucuya yönlendirileceğinin bilgisini içerir. Server alanında belirtebileceğiniz örnek veriler mail.alanadiniz.com ya da aspmx.L.google.com gibi e-posta sunucularının adresleridir. Priority olarak adlandırılan değer iletilerin hangi öncelik sırasında belirtilen sunuculara yönlendirileceğini belirleyen değerdir. Alan adınız için birden fazla MX kaydı tanımlayabilirsiniz. Bu durumda iletileriniz öncelikli olarak en düşük Priority değerine sahip sunucuya, bu sunucudan cevap alınılmazsa sıralamadaki diğer sunuculara yönlendirilir.
A Kaydı;
Adres (A) kaydı, host adını bir IP adresine yönlendirir. Örneğin, www.cozumpark.com adresinin direkt olarak sizin ana bilgisayarınıza (ip adresi 192.168.1.1 olsun) yönlendirilmesini istiyorsanız, şunun gibi bir kayıt girmeniz gerekir:
cozumpark.com. A 192.168.1.1
En çok kullanılan kayıt türü diyebiliriz. Alan adınıza bağlı bir alt alan adının hangi IP adresine yönlendirileceği bilgisini içerir. Örnek olarak alan adınıza bağlı “www” alt alan adının, web sitenizin barındırıldığı sunucu IP adresine yönlendirilmesinde kullanılır.
CNAME Kaydı;
CNAME, bir bilgisayarın, bir veya daha fazla host adı tarafından bilinmesini sağlar. Öncelikli olarak bir A kaydı mutlaka olmalıdır ki bu resmi bir isim olmalı. Örneğin:
cozumpark.com.com. A 192.168.1.1
CNAME’i kullanarak, diğer host adlarını bir resmi (A kaydı) adrese yönlendirebilirsiniz. Örneğin:
ftp.cozumpark.com. CNAME cozumpark.com.
mail.cozumpark.com. CNAME cozumpark.com.
ssh.cozumpark.com. CNAME cozumpark.com.
CNAME kayıtları, domaininizi ftp.cozumpark.com, mail.cozumpark.com vb. vasıtasıyla görüntülemenize yardımcı olur. Uygun bir CNAME kaydınız yoksa bu tip adresleri kullanarak, sunucunuza bağlanamazsınız.
TXT Kayıtları;
Bu tip kayıtlar özel amaçlı kayıtlardır. Genellikle spam e-posta gönderimleri engellemek için düşünülmüş kurallardan biri olan “SPF” kayıtlarını tanımlamak için kullanılır.
PTR Kaydı;
Sadece Reverse Lookup Zone da kullanılabilir. Ip adresinden isme eşleşme yapan kayıttır. Yani 192.168.1.1 li ip ye sahip makinenin ismi nedir sorusuna DNS server PTR kayıtlarına bakarak cevap verir.
Pointer (imleç) kaydı, aramaları tersine çevirmek için kullanılır. Örneğin, 192.168.0.1‘i www.cozumpark.com ile eşleştirmek istediniz, kaydınız şu şekilde görünür: 1.0.168.192.in-addr.arpa PTR www.cozumpark.com.
NS Kaydı;
Network üzerinde bulunan ve kullanım da olan Dns Serverları tanımlar. Yani bir dns server network deki diğer Dns server dan bu kayıt sayesinde daha kolay ve hızlı bir şekilde haberdar olabiliyor denilebilir.
NS kayıtları, alan adları için, geçerli sunucu isimlerini belirlemeyi sağlar. NS kayıtları, sitenizin çalışmaya son vermesine neden olabilir. Genelde NS kayıtlarını değiştirmeye gerek yoktur.
AAA Kaydı;
A kaydı ile aynı işi yapar yani hostnameleri ip adresleri ile eşler ama ip V6 ile kullanılmak üzere tasarlanmış bir kayıttır. Şimdi kaydımızı açabiliriz.
Biz www.cozumpark.com adresine gelen istekleri yönlendireceğimiz için rizasahan.com dns zone tanımları içerisinde www kaydı oluşturuyoruz. Name olarak www ip adresi olarak ise 192.168.1.4 (DNS sunucu ip adresi ) bilgisini girip Add Host butonuna tıklayalım.
Kaydımızın oluşturulduğuna dair gelen bilgi mesajını OK ile geçelim.
Oluşan www kaydımız aşağıdaki gibi gözükecektir.
Aynı işlemi yukarıdaki adımları takip ederek rizasahan.com Dns Zone içinde yapalım. Durum aşağıdaki gibi olacaktır.
Evet DNS tarafında yapılacak olan işlemler bunlar. Şimdi www.rizasahan.com ve www.cozumpark.com isimlerine ping atalım. İşlem başarılı olduğundan ping isteklerimize yanıt alabiliyoruz. Bu durumda sorun yaşamanız durumunda ipconfig/ flushdns komutu ile Dns önbelleğini temizleyip ping işlemini tekrar deneyerek veya yine çözülmez ise dns servislerini restart ederek sorunu aşabilirsiniz.
IIS üzerinde siteler genelde c:\inetpub\wwwroot dizininde tutulur. Biz iki site ile test yapacağımız için ben iki adet örnek site tasarlayarak bunları oluşturduğum klasörlere aktardım.
Sitelerin içerisinde örnek birer htm dosyası yer almakta.
Şimdi IIS üzerinde www.rizasahan.com ve www.cozumpark.com sitelerini çalıştırmak için gerekli işlemlere başlayalım. İlk olarak yeni bir site oluşturmak için iis üzerinde Sites kısmına sağ tıklayarak Add Website… kısmına tıklayalım.
1-Sitemize bir isim verelim.
2-… butonu ile sitenin tutulduğu yolu gösterelim.
3-Sitemizin yayımlanacağı portu belirleyelim. Ben dünya standardı olan 80 portunu olduğu gibi bırakıyorum.
4- Sitemizin yolunu da gösterdiğimize göre sitemize giriş yapılacak olan linki tanımlamamız gerekmekte. Bu işlem için biz dns üzerinde zone oluşturup www isimli A kaydı tanımlaması yapmıştık. Bu nedenle bu alana www.rizasahan.com olarak bilgilerimizi girelim. OK ile işlemimizi onaylayalım.
Aynı işlemleri cozumpark.com içinde yapalım. Aşağıdaki ekranlarda görüldüğü gibi sitelerimizin tanımlaması yapıldı.
Şimdi test aşamasına geldik. www.rizasahan.com sitemiz sorunsuz çalışıyor.
www.cozumpark.com sitemizde sorunsuz çalışmakta.
Umarım yararlı bir makale olmuştur. Başka bir makalede görüşmek dileğiyle.