Muammer Benzeş

"Duyduklarım, gördüklerim, bildiklerim..."

NAVIGATION - SEARCH

IIS 7'de ASP.NET 2.0, 3.0 ve 3.5 çalıştırma

.NET Framework . IIS 7.0 . IIS 7.5

IIS 7'de ASP çalıştırma başlıklı yazıda ASP projelerimizi nasıl çalıştıracağımızdan bahsetmiştik. Bu yazıda ise .NET 2.0 ve üzeri versiyon projelerimizi nasıl çalıştıracağımızı anlatacağız.

.NET projelerimizi çalıştırmak için öncelikli olarak ilgili bileşenleri kurmamız gerekiyor. Çünkü, bildiğiniz gibi IIS 7.0'da varsayılan kurulum ile bu bileşenler kurulmuyor. İlgili bileşenleri kurmadan .NET projeleri çalıştırmak isterseniz IIS 7'de ASP çalıştırma başlıklı yazıda yeralan ilk görüntüdeki hata mesajını alacaksınız.

.NET kodlarımızın çalışabilmesi için gerekli bileşenleri Server Manager'ı açıp, sol bölümden Roles'e, sağ bölümden de Web Server (IIS) altındaki Add Role Services'a tıklayarak yükleyebiliriz.



Açılan Add Role Services başlıklı pencerede Application Development başlığı altındaki ASP.NET'e tıkladığımızda .NET Extensibility ve ISAPI Filters'ı da yüklememiz gerektiğini söyleyen bir uyarı mesajı çıkacak. Bu uyarı mesajında Add Required Role Services'a tıklayarak .NET Extensibility ve ISAPI Extensions'ı da yüklemek için onaylıyoruz. Sırasıyla Next ve Install'a basarak kurulumu tamamlıyoruz.

Not : Bu yükleme ile .NET 1.1 versiyonu ile yazılmış kodlar çalışmıyor. Çünkü Windows 2008 .NET 1.1 versiyonunu içermiyor, ayrıca kurmak gerekiyor. Buna da değineceğiz.

Kurulum tamamlandıktan sonra IIS Manager'ı açıp sitemizi tanımlıyoruz. Siteyi tanımlarken yeni bir application pool oluşturdunuz veya DefaultAppPool  isimli application pool'u seçtiniz ve projeniz integrated mode'da çalışmaya uyumlu değil ise aşağıdaki hata mesajı görüntülenecektir.



Bu sorunu çözmek için sitenizi varolan Classic .NET Pool isimli application pool'a alabilir veya sitenin application pool'unda Managed pipeline mode ayarını Classic olarak değiştirebilirsiniz. Managed pipeline mode ayarını, IIS Manager'da sol bölümden Applications Pool'a tıklayıp orta bölümde ilgili application pool'a çift tıklayarak yapabilirsiniz.

Bu işlemi de tamamladıktan sonra .NET projelerinizi gönül rahatlığıyla çalıştırabilirsiniz :)

IIS 7'de ASP çalıştırma

ASP . IIS 7.0 . IIS 7.5

IIS 6 kurulduğunda ASP, .NET ve diğer scriptler için gerekli bileşenler de kuruluyor ancak kapalı oluyordu. Hangisini kurmak istiyorsak onu aktif ederek kullanıyorduk. IIS 7 ise varsayılan ayarları ile sadece HTML sayfa gösterecek şekilde kuruluyor. Herhangi bir scripti çalıştırabilmek için o script ile ilgili bileşenleri yüklemek gerekiyor. Bu yazımızda IIS 7 üzerinde ASP uygulamalarımızı nasıl çalıştırabileceğimizden bahsedeceğiz. Hazır olun, sadece ilgili bileşenleri kurmak yeterli olmayacak :)

IIS 7'yi kurarken ayarlarda bir değişiklik yapmadıysanız ASP kodları içeren bir web sitesi oluşturup çalıştırmak istediğimizde aşağıdaki gibi bir ekran göreceksiniz :



Bu hata mesajı ASP bileşenlerinin yüklenmediğini gösteriyor. (Hata mesajı aynı bilgisayar üzerinde çalışırken bu şekilde, uzak bilgisayarda 404 hata sayfası görüntülenecektir). ASP bileşenlerini Server Manager'ı açıp, sol bölümden Roles'e, sağ bölümden de Web Server (IIS) altındaki Add Role Services'a tıklayarak yükleyebiliriz.



Açılan Add Role Services başlıklı pencerede Application Development başlığı altındaki ASP'ye tıkladığımızda ISAPI Extensions'ı da yüklememiz gerektiğini söyleyen bir uyarı mesajı çıkacak. Bu uyarı mesajında Add Required Role Services'a tıklayarak ISAPI Extensions'ı da yüklemek için onaylıyoruz. Sırasıyla Next ve Install'a basarak kurulumu tamamlıyoruz.

Kurulum bittikten sonra ASP sayfalarımız çalışmaya başlıyor. Ancak kullandığınız kod ile ilgili problemler varsa (ör : veritabanı bağlantısı, parent path kullanımı vs) sayfamızda aşağıdaki mesaj görüntülenecektir.



IIS 7.0'da varsayılan ayarlarda ASP'de oluşan hatalar tarayıcıda gösterilmediği için bu mesaj görüntülenir. IIS Manager'da sol bölümden ASP sitemize, orta bölümde ASP başlıklı linke tıklıyoruz. Görüntülenecek ekranda Debugging Properties başlığı altındaki Send Errors to Browser kısmını True yapıp Apply'a basarak detaylı hata mesajlarını görebiliyoruz.



Sitemizde parent path kullanıyorsak aynı sayfadaki Enable Parent Paths kısmından bu özelliği de aktif edebiliyoruz. ASP siteniz ile ilgili kullandığınız farklı ayarlar var ise bunları aynı sayfa üzerinden ayarlayabilirsiniz.

IIS 7'de web sitesi logları

IIS 7.0 . IIS 7.5

IIS 5 ve 6'da varsayılan olarak yüklü ve çalışan web sitesi loglama IIS 7'de kapalı! Evet, yanlış okumadınız : kapalı. IIS 7'nin modüler yapısı ve minimum kurulum nedeniyle loglama varsayılanda kurulmuyor. Peki web sitemizin loglarını tutmak istiyorsak ne yapacağız?

İlk olarak "Server Manager"ı açıyoruz. Sol bölümden "Roles"e tıklıyoruz. Sağ bölümde "Web Server (IIS)" bölümünü bulup, oradaki "Add Role Services" linkine tıklıyoruz.



Açılan "Add Role Services" başlıklı pencerede "Health and Diagnostics" bölümünden kullanacağımız loglama türlerini seçip kurulumu tamamlıyoruz.



Kurulum bittikten sonra web sitelerinde varsayılan olarak W3C formatında loglama başlıyor. IIS 7, bize sadece W3C formatında loglama seçeneği sunmuyor. IIS'in kendi formatı, NCSA formatı, özel format oluşturma ve hatta ODBC ile loglamayı veritabanı üzerinde tutmak gibi alternatifler sağlıyor.

Bu alternatiflerden istediğimize uygun olanı ayarlamak için "IIS Manager"ı açıyoruz. Loglama ayarını değiştirmek istediğimiz web sitesini sol bölümde bulup bir defa tıklayınca ortadak bölümde görüntülenen "Logging" linkine çift tıklıyoruz.




Orta bölümdeki "Format" combobox'ından kullanmak istediğimiz log formatını seçip, "Directory" kısmından logların tutulmasını istediğimiz klasörü belirleyip diğer ayarları da yaptıktan sonra "Apply" linkine tıklayarak ayarlarımızın aktif olmasını sağlayabiliyoruz.



Resimde de görebileceğiniz gibi varsayılan loglama klasörü değişmiş. IIS 5 ve 6'da olduğu gibi artık C:\Windows\System32\LogFiles klasöründe değil, inetpub altında tutuluyor. Bu da IIS 7'nin farklarından biri :)

Loglama ile ilgili söylenecek daha çok şey var, farklı yazılarla bu konuya değinmeye devam etmek istiyorum.

Yandex.Metrica