langturk adlı kişiyi Twitter'da takip et langturk adlı kişiyi Twitter'da takip et

vsftpd FTP server kurulumu

Merhabalar,

Bu yazıda sizlere birkaç adımda vsftpd programını nasıl kuracağınızı ve daha sonra yine çok kısa ve öz biçimde bu programı nasıl yapılandırabileceğinizi anlatacağım. Bu işlemden sonra sunucunuzda artık çalışan bir FTP server sahibi olacaksınız.



Öncelikle iki kavramı netliğe kavuşturmak lazım diye düşünüyorum bunlardan ilki server diğeri ise host.

Türkçe net karşılıkları ne kadar tanımlayıcı olabilir bilmiyorum ancak server, hostu barındıran makinaya verilen isimdir şeklinde özetleyebiliriz.
Serverı bir bilgisayar gibi düşünün bu bilgisayarın içine 20 tane işletim sistemi kurduğunuzu ve bu 20 işletim sistemini 20 ayrı kişiye verdiğinizi düşünün işte bu 20 işletim sisteminin her birine host denmektedir. Bu durumda tabi sizde çoktan bir hosting şirketi açmışsınız demektir. :)

Server sahibi olduğunuzda host oluşturabilir ve bu hostu kullanıcılarınıza kiralayarak bir hosting şirketi kurabilirsiniz. Bu aşamada apache, mysql ve diğer web gereksinimlerine kullanıcılarınızın ihtiyacı olacaktır. Bu ihtiyaçlardan biriside sunucuların yani serverların olmazsa olmazları olan FTP sunucularıdır.

Linux işletim sistemi kurulmuş olan bir makinada (server) ilk planda FTP sunucusu kurmak için size gerekli olan program vsftpd dir.

Çoğu linux dağatımında repository denen depolarda programlar hazır bulunmaktadır. Vsftpd programını bu depolardan indirip otomatik olarak kurabilirsiniz. Eğer linux üzerinde program kurulumu hakkında detaylı bilgi istiyorsanız formumuzun linux belgeleri kısmına uğrayarak bunlara ulaşabilirsiniz.

Redhat/fedora/centos dağatımları için

yum install vsftpd

Debian/ubuntu dağatımları için

apt-get install vsftpd

komutlarını kullanarak, komut satırından vsftpd programını rahatça indirebilir ve sisteminize kurabilirsiniz.

Bu işlemleri yapıp programı kurduktan sonra ilk yapmanız gereken vsftpd’ nin configuration yani yapılandırma dosyasını ayarlamaktır.

Çoğu dağatımda bu dosyaya

/etc/vsftpd/

dizini içerisinde vsftpd.conf olarak bulunur. Komut satırını kullanıp vim, nano, pico gibi linux komut satırı metin editörleri ile bu dosyayı açalım.

nano /etc/vsftpd/vsftpd.conf

Şimdi bu dosyada düzenlemeler yapacağız. Bu düzenlemelerden sonra çalışan bir vsftpd FTP server sahibi olacağız.

Komut satırı ekranında programda kullanmak istediğiniz özelliğin önce açıklaması sonrada kendisi yer almaktadır şöyleki.

Resim kaldırılmıştır :(

Resimde gördüğünüz gibi yapılandırma dosyası nano ile bu şekilde görünmektedir. Küçük yuvarlak içine alınanlara quote denir. Bir yapılandırma dosyasında herhangi bir ayarın önünde quote varsa o ayar işlevsel değil demektir ve işlev kazandırmak için, # işaretinin silinmesi gereklidir. Bu sadece vsftpd için değil tüm hemen hemen tüm linux dağatımlarındaki yapılandırma dosyaları için bir kuraldır.

vsftpd yapılandırma dosyası açıklamalar silinmiş sadece yapılandırmada kullanılacak ayarlar aktif olarak bırakılmış şekilde de yazılabilir, herhangi bir ayarı devre dışı bırakmak isterseniz o ayarın başına “#” sembolünü yerleştirmeniz yeterli olacaktır.

Şimdi sizlere çok temel bir FTP sunucusunun çalışması için gerekli ayarları yazıyorum.

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ftpd_banner=Welcome to blah FTP service
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
userlist_deny=NO

Fark ettiyseniz userlist_deny=NO şeklinde yeni bir ayar girdim. vsftpd klasöründe userlist adında bir dosya daha bulunmaktadır.
Bu dosya içinde ise kullanıcı isimleri bulunmaktadır. Eğer bu dosya içindeki kullanıcı isimlerinin FTP sunucusunu kullanmalarına izin vermek istiyorsanız o zaman userlist_deny=NO şeklinde ayarı vsftpd yapılandırma dosyasına girmelisiniz, eğer bu listedeki kullanıcıların FTP sunucusunu kullanmalarını engellemek istiyorsanız userlist_deny=YES şeklinde ayarlamalısınız. Bu nedenle vsftpd sunucusunu başlatmadan önce bu dosyaya gözatmanızda yarar vardır.

Tüm bu uygulamaları yerine getirdikten sonra ise, artık vsftpd sunucusunu çalıştırabiliriz ve userlist dosyasını ayarladığımız için zaten sistemde kayıtlı bulunan kullanıcıların kullancı adları ve şifrelerini kullanarak sisteme girebiliriz. Bunun için aşağıdaki komutları girmeniz yeterli olacaktır.

/etc/init.d/vsftpd start –> Sunucuyu başlatır
/etc/init.d/vsftpd stop –> Sunucuyu durdurur
/etc/init.d/vsftpd restart –> Sunucuyu yeniden başlatır

Evet artık sunucunuzda çalışan bir FTP server sahibisiniz. :)

Prit

19 Responses to “vsftpd FTP server kurulumu”

  1. Umut Says:

    Her seferinde otomatik olarak çalışmasını nasıl sağlıyacagiz peki, eminim temel bişi soruyorum ya sordum bile. :)

  2. admin Says:

    Merhaba Umut,

    Redhat / Fedora için komut satırına

    chkconfig vsftpd on

    Ubuntu / Debian için ise komut satırına

    sysv-rc-conf on

    yazmanız yeterli olacaktır bunu yaparken sisteme root olarak girdiğinizden emin olun.

    (Eğer bu komutları kullanamayacağınız bir işletim sistemi kullanıyorsanız o zaman ise bunun için hazırlanmış scriptler (betikler bulunmaktadır.)

    Kolay gelsin :)

  3. Umut Says:

    Cevap için teşekkür ederim, debian kullanıyorum, burada yazmadan bir süre önce keşfettim, daha doğrusu aşağıdaki komut

    apt-get install vsftpd

    bu işi benim için halletmişti. Şimdi, yeni kullanıcılar için, aslında sadece bir tane apache2 ftp kullanıcımız olacak, hesap ekleme ve dizin erişimlerini de aarlayınca ftp server temel olarak kurumuş olacak.

    Debian gerçekten harika, çünkü benim gibi ilk kez server kuran birisine apache2 + php5 + php-gd + mysql + phpmyadmin + ssh işlerini halletirebilmeyi becerdi.

    Not: İlk kez server kuruyorum, fakat php+apache windows üzerinde gayet deneyim sahibiyim, onların da avantajı oldu tabi.. :)

  4. admin Says:

    Debian tercihi güzel bir tercih kararlı ve güçlü bir işletim sistemi, serverlar için belkide kullanılabilecek en uygun 2-3 linux dağatımından biri.

    Ben ilk server kurduğumda bu bilgilere ancak mail-listlerden ulaşabiliyordum tabi İngilizceydi onlar. Zaman geçtikçe ve site şeklilendikçe bu bilgilerimi aktarmak istedim. Sizin gibi arkadaşların işine yaradığını görmek çok güzel.

    Linux konusunda forumda da bazı yazılar var daha geniş kapsamlı onları da takip edebilirsiniz.

    Kolay gelsin.

  5. Deja-Vu Says:

    Ubuntu server edition’da vsftpd kurulumu gerçekleştirdim. Ama sanal kullanıcı(virtual users) özelliğini kullanmak istiyorum. Bunun nasıl yapıldığını adım adım açıklayabilir misiniz?

  6. webdr Says:

    Merhaba Deja-Vu,

    Bir süredir bu konuda bir makale yazmayı düşünüyordum, sizin isteğinizde üstüne gelince sanırım artık daha fazla bekletmemek lazım bu makaleyi, bu hafta içerisinde virtual user kullanımı ve yönetimi ile ilgili bir makale yayımlamaya çalışacağım.

    Kolay gelsin :)

  7. » Vsftpd Virtual User Ayarları Says:

    [...] alan bir makale olmasını hedefliyorum. Umarım Türk kullanıcı arkadaşlar bu makaleden tıpkı vsftpd FTP server kurulumu makalemizden yararlandıkları gibi yararlanırlar. Anlatıma geçmeden önce belirtmem gerekirki [...]

  8. nasıl yapıcam Says:

    merhaba..bu söylediğiniz dosyaların hepsini bulabiliyorum ama üzerinde değişiklik yapamıyorum..pardus kullanıcısıyım root normal kullanıcı olarak sistemem girdim root olarakmı açmam lazım..eğer öyleyse nasıl root olarak açıcam sistemi…

  9. selim Says:

    bu programı kurdum çalıştırdım sorun yok ama ftpye ulaşılamaıyor, yani sanki çalışmıyor, sorun ne olabilirki, ?

  10. barış Says:

    ben debian etch üstüne kurdum ama userlist diye bir dosya oluşturmadı. Şu anda erişim yapamıyorum. Userlist dosyasını kendim mi oluşturmalıyım?

  11. webdr Says:

    Evet siz oluşturun.

  12. osman rd Says:

    benn ubuntuya vsftpd kurdum.

    root olarak nasıl girerim ve nasıl dosya atarım ftp ye ?

  13. Fuzbing Says:

    Teşekkürler bu sefer başardım.

  14. dimple Says:

    merhaba. bende fedora üstünde postgresql+phpadmin+php kurdum fakat apachi serverını kurup yapılandıramadım yardımcı olabilir misin?

  15. webdr Says:

    Aslında en basiti apache kurmak, bu dediklerini yaptıysan apache’yi 50 defa kurman gerekli, ama dersenki apache yerine ne kullansam daha iyi olur? lighttpd’yi tek geçerdim, daha hızlı daha konforlu.
    pg-sql gayet güzel bir seçim olmuş.

  16. ihsan guvenc Says:

    admin kardeş yukardaki bilgiler için saol. ama benim bir sorum daha olacak.

    kurulum tamam. herşey iyide
    /home/ftp default olarak geliyor

    bu dizin yolunu degistirmek istiyorum ama bir türlü nereden değiştiğini bulamadım. yardımcı olursan sevinirim.

  17. webdr Says:

    .conf dosyasının sonuna

    anon_root=/değiştirmek/istediğiniz/dizin

    şeklinde bir ekleme yapıp tekrar deneyin.

  18. Hayalet Says:

    Emeği geçen arkadaşlara gerçekten teşekkürler. Çok güzel bi paylaşım olmuş.

  19. seyret Says:

    Gerçekten güzel paylaşım bilgi dağarcığımız genişliyor . Teşekkürler

Yorumlarınız ve ilgili sorularınız için öncelikle FORUMUNUZU kullanmayı tercih edin, böylece sorularınıza daha hızlı cevap alabilir, katılımınızla nezih bir topluluk oluşturmada yardımcı olabilirsiniz.