Windows Server 2008 IIS 7.0 üzerinde Ftp Site Kurulumu ve Konfigürasyonu

FTP(File Transfer Protocol) adından da anlaşılabileceği gibi dosya transfer protokolüdür. Adında da anlaşılabileceği gibi bu tip sunucular kullanıcılara dosya sunmaktadır.Web sayfası üzerinden dosya indirmek ile FTP Sunucusu üzerinden dosya indirmek tamamen farklı şeylerdir.Web sayfası üzerinden dosya indirirken internet bağlantısı kesildiğinde dosya indirme yarıda kalır.FTP sunucusunda ise böyle bir sorun yaşanmaz.Internet kesintisi yaşansa bile yarıda kalan dosyalar kaldığı yerden devam edebilir.FTP iki yönlü çalışan bir yapıya sahiptir. File Transfer Protokolü kullanmak için Windows Firewall üzerinden 20-21 numaralı portların açılması gerekmektedir.

Bu makalemizde web sitemizi kendi bilgisayarımızdan yayınlamak ve ftp ile dosyalarımızı paylaşmak işlemlerini gerçekleştireceğiz.Windows Server 2008 ile FTP Server özelliği IIS’in(Internet Information Service) içerisinde bulunur.FTP sitesi oluşturmak için IIS 7.0 ve FTP 7.0′ın kurulmuş olması ve IIS Manager ile FTP 7.0 yönetim özelliklerinin yüklenmiş olması gerekmektedir.FTP özelliğini yüklemek için ilk olarak Server Manager konsolundan “Add Role Services” bölümünden seciyoruz.

Karşımıza çıkan “Select Role Services” ekranında FTP Server özelliğini aktif hale getiriyoruz.

IIS Manager’da soldaki bölümden sunucumuzun adını çift tıklayarak açıyoruz. Burada “Sites” kısmına sağ tıklıyoruz.Açılan menüden de “Add FTP Site…” linkine tıklıyoruz.

IIS üzerinde FTP rolünü aktif ettikten sonra bir folder yaratıp FTP yapan kişilerin ulaşabileceği herhangi bir dosya alıp,gönderebileceği bir ortam hazırlanır.Hazırlanan ortamla C klasörünün altında “ftp” adında bir klasör hazırlayıp, içinde birkaç dosya oluşturuyoruz. 

Açılan “Add FTP Site” başlıklı pencerede “FTP site name” kısmına FTP sitemiz için açıklayıcı bir isim giriyoruz. “Content Directory” kısmından da FTP ile erişilebilecek dosyaların yer aldığı klasörü seçtikten sonra Next‘e tıklıyoruz.

Görüntülenecek “Binding and SSL Settings” başlıklı pencerede FTP sitemizin IP adresini, portunu ve adını (hostname) giriyoruz. “Start FTP site automatically” ayarını işaretli olarak bıraktığımızda, işlemler tamamlandığında FTP sitemiz hemen yayına geçiyor. SSL kısmında “Require SSL” seçili olarak kalırsa FTP sitemize sadece SSL’li bağlantı yapılabiliyor.“No SSL” seçeneği işaretlendiğinde ise SSL’siz bağlanabiliyoruz. Gerekli bilgileri girip, istediğimiz ayarları seçtikten sonra Next‘e tıklıyoruz.

“Authentication and Authorization Information” başlıklı pencerede “Authentication” kısmında “Anonymous” seçeneği işaretlenirse herhangi bir yetkilendirme yapılmadan FTP sitemize bağlanılabilir, “Basic” seçeneği işaretlenirse sadece izin verdiğimiz kullanıcılar bağlanabilir. “Authorization” kısmındaki “Allow access to:” kısmını eğer herhangi bir kullanıcı tanımı yapılmamışsa “Not Selected” olarak bırakabilir veya yapacağımız yetkilendirmeye uyan seçeneği seçip “Permissions” kısmından da “Read” ile okuma hakkı, “Write” ile de yazma hakkı verebiliriz.Read hakkını “download” Write hakkını ise “download” and “upload” olarak düşünebiliriz.Seçimlerimizi yaptıktan sonra Finish‘e tıklayarak FTP sitesi kurulumunu tamamlayabiliriz.

Authentication and Authorization Information penceresinde Ftp ile siteye ulaşan kişiler için kullanıcı bazında bir engelleme yapabilir ya da NTFS Permission aracılığıyla da sınırlamalar getirilebilir.Seçim tamamen size kalmış.

Örnek olarak user1 adlı kullanıcımıza FTP tarafından Read+Write yetkisi vermiş olabiliriz.Fakat klasör bazında bu verilen yetkileri kısıtlayabilirsiniz.FTP tarafında Read+Write yetkisi NTFS tarafında ise sadece Read yetkisi verilmişse kullanıcı sadece dosyayı okuyup download edebilir,fakat dosya yaratamaz, dosya içerisinde değişiklik yapılamaz.

(IUSR) Anonymous User kullanıcı tipidir.Bu kullanıcı hesabı Local Account’ların içerisinde bulunmaktadır.

FTP Sitesini kontrol etmek için IIS servisini üzerinde bulunduran bilgisayarın Internet Explorer çubuğu üzerinde ftp://10.5.26.202 yani ip adresi yazılarak Ftp Site çalışıp, çalışmadığı kontrol edilebilir.

IIS Servisi üzerinde bulunduran makineden FTP Site’a ulaşmayı test ettik.Şimdi sıra geldi başka bir makina üzerinden oluşturduğumuz bu Ftp Site’ına ulaşmaya.İlk olarak başka bir makinanın bu ftp adresini çözebilmesi için kendi DNS’inde bu Ftp Site’ına ait bir host, yani ağ kaydının olması gerekir.Bağlanacağımız bilgisayarın DNS Servisinde, IIS Servisini üzerinde bulunduran makinanın ip’sine ait bir host kaydı oluşturalım.

Ftp Site bağlanacağımız bilgisayarda Internet Explorer çubuğuna ftp://10.5.26.202 yazıp denemeyi gerçekleştirelim.

Ekranda da görüldüğü gibi FTP Site’a ulaşamıyoruz.Bu durum birkaç neden’den dolayı meydana gelmiş olabilir.Örneğin, Internet Explorer’ın güvenlik ayarlarından(Configure IESC) , Windows Firewall’dan kaynaklı bir problem olabilir.Bunu test etmek için ilk olarak ulaşmak istediğim server’a TELNET Client feature’ını kurup bir deneme gerçekleştireceğiz.

Telnet Client’le bağlanıp durumun Windows Firewall’dan kaynaklı olup olmadığını anlayacağız.Ekranda ip adresinin sonundaki “21” port numarasını göstermektedir.FTP Site’ımıza bağlanmak için Windows Firewall üzerinde kontrol etmemiz gereken bazı noktalara göz atalım.Bunun için IIS Servisini ve FTP Site’ımız üzerinde bulunan makinenin Windows Firewall with Advanced Security penceresinden Firewall Statu durumunu “Off” ayarlayalım.Bu uygulamayı istersek “netsh advfirewall set opmode disable” komutuyla da kapatabiliriz.

Aşağıdaki pencerede görüldüğü gibi artık Telnet üzerinden FTP Site’sine ulaşabildiğimi görüyorum.

Kullanıcılar aşağıda görüldüğü iki şekilde FTP Sitesi’ne ulaşabilirler.

-Internet Explorer çubuğuna ftp://10.5.26.202 adresini yazarak ya da

-Windows Explorer çubuğuna ftp://10.5.26.202 yazarak yeni bir pencere açılır.

Bunların arasındaki en önemli fark ise ilk pencerede kullanıcılar sadece download yaparken ikincisinde ise kullanıcılar hem download hem upload yapabilirler.Kullanıcılar isterse burada dosya içine herhangi birşey kopyalayabilirler.Kullanıcının karşısına herhangi bir folder’mış gibi geliyor.Bu uzaktaki bir server olursa kullanıcının herhangi bir dosya download yada upload etmesi network bağlantısına göre değişkenlik gösterebilir.

Tüm bu işlemler Anonymous kullanıcı olarak gerçekleştirildi.Fakat biz makinada bulunan omer adlı kullanıcı hesabıyla FTP Site’sine bağlanmak istiyorsak ne gibi işlemler yapılmalıyız.İlk olarak net user omer Password1 /add komutu aracılığıyla bir kullanıcı hesabı oluşturalım.Site’ye bağlandıktan sonra sağ tıklayarak “Login As” seçeneği seçilir.Karşımıza çıkan pencereye bağlanmak istediğiniz kullanıcının adı ve şifresi yazılır.Burada “Save Password” seçeneği işaretlenirse siteye tekrar girildiğinde password bir daha sorulmayacaktır.”Log on Anonymously” seçeneği seçilirse yukarıda belirtilen kullanıcıyı kullanmak yerine anonymous kullanıcı olarak bağlantı kurulacaktır.Böyle bir bağlantı gerçekleştiğinde bağlandığımız yerde omer adlı kullanıcıya hangi haklar verilmişse onlar kullanılmaya başlayacaktır.

Bir FTP yada Web sitesine bağlanırken IIS tarafından Authentication isteniyorsa veya bir form sitesine girerken bir username ve password soruluyorsa kullanıcı karşısına bir kutu içerisinde username ve password’ünü isteyen bir yapı gelir.Bu yapı kullanıcıya IIS tarafından sorulur. Buradaki username&password’ü adres satırına yazarak’ta ulaşabiliriz.Örneğin ftp://omer:Password1@10.5.26.202 yazarak FTP Site’sine bağlanabiliriz.Fakat bu method çok sağlıklı bir kullanım değildir.Adres satırı tekrar açıldığında kullanıcı adına tekrar ulaşılırken password şifrelenmiş olarak karşımıza gelir.FTP Site’sine kendi yarattığımız omer adlı kullanıcıyla dosya download edip, upload etmeyi diğer kullanıcıların ise sadece dosyayı açıp okumalarını ,dosya içerisinde herhangi bir şey yapmalarını istenmiyorsa ne yapmalıyız.İlk olarak IIS tarafında tüm kullanıcılara tam yetki vermiş olsak bile FTP için açtığımız klasör’ün NTFS Permission’larında gerekli düzenlemeler yapılır. 

FTP klasörünün üzerine sağ tıklayarak “Properties” kısmı seçilir.Buradan “Advanced” butonuna tıklanır.Karşımıza gelen pencerede “Change Permission” butonuna tıklanır.Üst klasörlerden gelen yetkileri kaldırmak için “Include inheritable permissions from this object’s parent” seçeneğini kaldırıp Add butonuna tıklayarak gerekli düzenlemeleri yapabiliriz.

Omer ve Administrator kullanıcılara Full Control yetkisi verirken; IUSR adlı anonymous kullanıcıya sadece read yetkisi veriyoruz.Windows Explorer açılarak ftp://10.5.26.202 yazılırak FTP Site’sine ulaşalım.Site’de herhangi bir değişiklik yapmaya çalıştığımızda kullanıcı hata mesajı ile karşılaşabilir.Bu hata mesajının nedeni: bu site’ye anonymous kullanıcı olarak bağlantı gerçekleşmesinden dolayıdır. Çünkü NTFS Permission bölümünde anonymous kullanıcılarının yetkileri kısıtlanmıştı.Anonymous kullanıcılar dosya üzerinde herhangi bir değişiklik yapamaz,yeni bir dosya yaratamaz fakat var olan bir dosyayı download edebilirler.

Şimdi omer adlı kullanıcıyla bir deneme gerçekleştirelim.Aşağıda görüldüğü gibi omer adlı kullanıcı dosya download edebilirken ayrıca upload edebiliyor.Herhangi bir dosya yaratıp, silebiliyor.Çünkü hem NTFS hemde IIS tarafında bu kullanıcıya Full Control yetkisi verilmişti.

Dünya’nın başka herhangi bir yerinde bir Ftp Site’ına bağlanmak için parasını verip bir hosting hizmeti satın aldınız,kendi dosyalarınızı web site’ınıza göndermemiz gerekiyor.Ftp ile bağlanmamız gerektiğini söylediler.Size ip adresinizi,username ve password’ünüzü söyleyip bu şekilde bağlantı kurabileceğinizi söylediler.Bu bağlantı Windows Explorer aracılığıyla ile sağlanabilir.Fakat genelde çok tercih edilen bir yöntem değildir.Bunun yerine ücretli ya da ücretsiz third party Ftp Client yazılımları’da kullanabilirsiniz.Bu yazılımlara örnek olarak CureFtp,CoreFtp,Filezilla,BulletProofFtp yazılımlarını gösterebiliriz.

Buna ek olarak third party Ftp Server’lar bulunmaktadır.En çok kullanılan Serv-u Ftp Server’ı örnek olarak gösterebiliriz.Bu tip yapılar herhangi bir IIS servisi üzerinde ayar yapmadan kullanabilir.Üzerinde birçok ayarlar yapılandırılabilinen esnek yapıda bir Ftp Server’dır.Bilgisayar üzerinde port’un açık olup olmadığını kontrol etmek için ise çalıştır ekranına sırasıyla cmd>netstat –an yazılarak port’un açık olup,olmadığı kontrol edilir.

Note:Windows Server 2008 IIS 7.0 üzerinde FTP Site Kurulumu ve Konfigürasyonu,Windows Server 2008 IIS 7.0 üzerinde Web Sitesi Yayınlama,IIS’de Birden fazla SSL’li WebSitesiYayınlama gibi makaleler yazarken aşağıdaki topolojiden yararlanacağız.


6 responses to “Windows Server 2008 IIS 7.0 üzerinde Ftp Site Kurulumu ve Konfigürasyonu

  1. kardeşim çok güzel bir döküman ama ben server 2008 enterprise ‘de yapamadım bunu olmuyor IIS 7 de kuramıyorum

  2. Geri bildirim: Anonim

  3. Hocam merhabalar. Ben dediğiniz bütün işlemleri yaptım ama şöyle bi problemim var. Hostu siz ekledikten sonra deniyorsunuz ya http://ftp.omer.com diye ben denediğimde sayfa bulunamadı şeklinde hata alıyorum yardımcı olabilir misiniz?

Yorum bırakın