9 Aralık 2016 Cuma

IIS (Internet Information Services) Nedir? IIS'de Web Sitesi Yayınlama



                                          

                                            IIS (Internet Information Services) Nedir?


IIS en basit anlatımla Microsoft'un web sunucusudur. Microsoft tabanlı web sayfalarının ve uygulamalarının barındırıldığı sunucu Internet Information Services (IIS) diye anılır. Buradan anlaşılacağı üzere Asp.net web uygulamaları IIS üzerinde barındırılır ve IIS üzeerinden çalıştırılarak yayınlanabilir. İstemcinin isteklerini sunucuda IIS karşılar ve cevaplandırır. IIS'in varsayılan portu 80 dir.

IIS hosting hizmeti veren kuruluşların Windows tabanlı sunucularında kullanılır. Ayrıca localhost'ta IIS kurulumu yaparak geliştirmiş olduğumuz Asp.net uygulamalarını kendi bilgisayarımız üzerinde de çalıştırabiliriz. Şuanki IIS versiyonu IIS8'dir. Asp.Net geliştirmek için Visual Studio kullanılıyorsa ayrıyeten IIS kurmamıza gerek yoktur.

IIS hosting hizmetini localhost'a kurmak için yapmamız gereken: Başlat -> Denetim Masası -> Windows Özelliklerini Aç/Kapat sekmelerini izleyerek açılan pencereden Internet Information Services seceneğini aktif ettiğimizde sistem IIS için gerekli yazılımı otomatik kuruyor.



                                                IIS'de Web Sitesi Yayınlama


Asp.Net'te yapmış olduğumuz web tabanlı uygulamayı kendi bilgisayarımızda yayınlamak istiyorsak IIS içerisinde ASP.NET barındırılıyor olması gerekir. IIS dışarıdan gelen çağrıları yanıtlayabilemk için varsayılan olarak 80 portu dinler ve gelen talepleri uygun altyapıya devrederek dışarıya HTML çıktısını verir. Biz de geliştirmiş olduğumuz Asp.Net uygulamalarını yayınlamak için IIS üzerinde gerekli konfigürasyonları yapmamız gerekir. Bir Asp.Net uygulamasını IIS üzerinden yayınlamak istiyorsak, IIS üzerinde sanal dizin (Virtual Directory) adını verdiğimiz yapıları kullanmamız gerekir.

Yeni bir web sitesi yayınlamak için ilk olarak Denetim Masası'ından Yönetimsel Araçlar bölümüne geçilip Internet Information Services(IIS) kısa yoluna tıklanarak IIS'in yönetim penceresi açılır.




Yönetimsel Araçlar bölümünden IIS’e çift tıklandığında IIS’in yönetim penceresi açılıyor olacaktır. Bu pencere aracılığı ile IIS üzerinde bulunan siteler görülüp, özellikleri ayarlanabilir ya da yeni bir site eklenebilir. Yeni bir site eklemek için Siteler üzerinde (Sites) mouse’ın sağ tuşu ile tıklanıp açılan menüden Add Web Site(Web Sitesi Ekle) seçeneği seçilmelidir. 




Yukarıdaki işlemden sonra sanal site adı ve fiziksel dosyaların saklanacağı yer soruluyor olacaktır. Site adı bölümüne istediğimiz ismi yazdıktan sonra fiziksel yol (Physical Path) bölümünden de fiziksel dosyalarımızın, yani ASP.NET dosyalarımızın, bulunduğu bölümü seçiyoruz. Ana bilgisayar adı olarak bölümüne www.domainAdı.com değerini yazarak ve Tamam diyerek web sitemizi IIS üzerinde hazır hale getiriyoruz. IP Adresi üzerinden web uygulamamıza IP Adresi üzerinden erişmek istiyorsak IP adresi değerini seçmemiz gerekir. 80 Port default olarak kalırsa ileride olası hataları almamak için daha iyi olur.



  

                         IIS ile ilgili işlemlerden sonra sitemiz kendi bilgisayarımız üzerinde yayınlamak için C:\Windows\System32\drivers\etc dizini altındaki hosts dosyasını aşağıdaki ekranda görüldüğü gibi değiştirerek kaydediyoruz.






 Çıkabilecek Olası Hatalar

 1 -

HTTP Error 401.3 - Unauthorized You do not have permission to view this directory or page because of the access control list (ACL) configuration or encryption settings for this resource on the Web server.

Böyle bir hata alındığı taktirde öncelikle yayınlamak istediğimiz Asp.Net uygulamasının kullandığı Application Pool'u değiştirmeyi denememiz gerekir. Ya da uygulamamızın kullanıyor olduğu Application Pool'un ayarlarını kontrol etmemiz gerekiyor. Ben öyle bir hata aldığımda alttaki resimlerde görüldüğü gibi Asp.Net uygulamamın kullanıyor olduğu DefaultAppPool'u .Net v4.5 Classic ile değiştirdim. Aşağıdaki ayar penceresini açmak için IIS'de yayınlamak istediğimiz Web Sitesinin IIS arayüzünde sol taraftaki adının üzerine mouse'la sağ tuşlayarak Manage Website -> Advanced Setting.. yolunu izlememiz gerekir.



Web sitemizin IIS üzerinde kullandığı pool ayarlarına bakmak için şöyle bir yol izlenmelidir: IIS arayüzünün sol tarafındaki sekmelerden Application Pools -> 

uygulamamızın kullandığı Application Pool'un üzerine mouse ile sağ tuşalayarak aşağıdaki gibi Advanced Settings arayüzünden ayarlar yapılmalıdır.


Identity ayarının ApplicationPoolIdentity olması gerekir.

Ayrıca yukarıdaki hatayı almamak için IIS ayarlarından Authentication ayarlarını yapmamız gerekiyor.



Aşağıdaki görüntüdeki gibi işaretli yerlerin Enabled olarak ayarlanmış olması gerekir.


Ayrıca Anonymous Authentication ayarları için mouse ile üzerine sağ tuş  Edit yaparak aşağıdaki gibi Application Pool Identity seçeneğinin seçili olması gerekir. 





2- 

                                               HTTP Error 403.14 - Forbidden

                                               The Web server is configured to not list the contents of this directory.


Böyle bir hata alındığında ise IIS ayarlarından Directory Browsing ayarına çift tıklayarak Actions durumunu Enabled  yapmamız gerekir.






Hiç yorum yok:

Yorum Gönder