IIS 7 ve IIS 7.5'te CGI uygulaması çalıştırmak

CGI (Common Gateway Interface), günümüzde her ne kadar popülaritesini kaybetmiş olsa da önemli bir teknoloji.  Tanımına kısaca göz atacak olursak :

"CGI (Common Gateway Interface), Web Servisleri ile bu servislerin dışındaki programlar arasında etkileşim (ortak çalışma) platformu oluşturmak için geliştirilmiş bir standarttır. CGI, aslında bir programdır." (http://www.bilisimterimleri.com/bilgisayar_bilgisi/bilgi/68.html)

Elimizde daha önce yazılmış, halen kullandığımız ve IIS 7 üzerinde çalıştırmak istediğimiz bir CGI uygulaması varsa ne yapacağız? Bu daha önceden kullandığımız kendi uygulamamız olabileceği gibi, üçüncü parti bir bileşen de olabilir. IIS 7 üzerinde CGI çalıştırmak istediğimizde muhtemelen aşağıdaki gibi bir hata mesajı ile karşılaşacağız :

HTTP Error 404.2 - Not Found The page you are requesting cannot be served because of the ISAPI and CGI Restriction list settings on the Web Server.

CGI uygulamalarını çalıştırabilmek için birkaç adımdan oluşan adımları tamamlamamız gerekiyor. Öncelikle IIS Manager'da sunucu adı kısmına tıklayıp ISAPI and CGI Restrictions kısmına tıklayalım.

ISAPI and CGI Restrictions ekranında Add butonuna tıklayıp gerekli bilgileri girelim : ISAPI or CGI path bölümüne CGI uygulamasının yolunu ve adını, Description kısmına CGI uygulaması için açıklama giriyoruz. Son olarak "Allow extension path to execute" kısmını da işaretleyip işlemi tamamlayalım.

İkinci olarak CGI klasörünü Virtual Directory olarak tanımlamamız gerek. Bunun için yine IIS Manager ilgili web sitesine sağ tıklayıp Add Virtual Directory linkine tıklıyoruz. Add Virtual Directory ekranında Alias kısmına URL'de görünmesini istediğimiz adı, Pyhsical path kısmına da CGI uygulamasının olduğu klasörün adını yazıp OK ile işlemi tamamlıyoruz. (Sanal klasör adı ile gerçek klasör adı aynı veya farklı olabilir)

Bu tanımlamadan sonra son bir işlem daha kaldı :) O işlemi yapmayıp CGI uygulamasını çalıştırmayı istediğimizde çalışmayıp dosyayı indirmeyi deneyecek. CGI uygulamasının çalışabilmesi için IIS Manager'da Virtual Directory'ye tıklayıp ortadaki bölümden Handler Mappings kısmına çift tıklıyoruz. Ekranın sağındaki Actions bölümünde Edit Feature Permissions kısmına çift tıklayıp Execute kısmını işaretleyerek CGI uygulamasının çalışabilmesi için gerekli tüm işlemleri tamamlıyoruz.

Tüm işlemleri tamamladığımıza göre artık CGI uygulamamızı test edip sonucu görebiliriz. Problemsiz bir şekilde çalıştığını görmek güzel :)

 

Comments