Çoğu bilgi işlem çalışanı Arkadaşımızın çalıştıkları şirketlerde mail ekleri 10MB ile sınırlıdır. 10MB üzeri dosya transferlerinde hemen herkes bir takım çözümler bulmaya çalışmakta bu çözümlerin başında da FTP sunucular gelmektedir. Bunun dışında kullanılan yöntemler ise rapidshare yada hotfile gibi bedava (büyük dosya yollamamızız sağlayan) servislerdir. Fakat bu servisler güvensizdir ve yolladığınız dosyalar şirketin özel bilgilerini içerebilir. Dolayısı ile bu servisleri kullanmak çok cazip gelmeyebilir. Şöyle bir çözüm olsa, biz dosyayı bir FTP sunucusuna upload etsek ve linkinide ilgili kişiye yollasak. Oda gerektiği şekilde download etse. Güvenili, stabil ve kolay...
Bugün sizlere büyük dosya transferlerinde kullanabileceğiniz, oldukça kullanışlı bir FTP sunucu kurulumunu anlatacağım. Bu kurulumu yine herzamanki gibi tamamen ücretsiz CentOS işletim sistemi üzerinde gerçekleştireceğiz.
www.centos.org adresinden CentOS’un 6.3 versiyonunu indirip kurulumua başlayalım. Sunucuyu ilk açtığınızda yukarıdaki karşılama ekranı gelecektir. Enter tuşuna basarak devam edelim,
Yukarıda göreceğiniz üzere selamlama ekranı geliyor. Bu ekran aynı zamanda indirmiş olduğunuz DVD kalıbının kurulum öncesi problem durumunu incelemeye yarıyor. Siz eğer kontrol etmek isterseniz OK seçeneği ile devam edebilirsiniz. Ben bu iso kalıbı ile birçok kurulum yaptığımdan ve problem olmadığından emin olduğum için skip yani bu aşamayı atla diyerek geçiyorum.
Şimdi ise yukarıdakigrafik ekran geliyor. Bundan sonrasında nisbeten daha alışık olduğumuz grafik ekranlar ile devam edeceğiz. Next diyerek devam edelim.
Dil seçenkleri. Eğer Türkçe seçerseniz herşey Türkçeye dönecek. Arayüz tamamen Türkçe olacaktır. Ben ingilizce kurmayı tercih ediyorum. Zaten bu grafik ekranları kullanmayacağım. Benim tüm işlemlerim sistem bazında Command-Line tarafında olacak. Next diyelim devam edelim.
Şimdiki ekranda ise klavye seçeneklerini soruyor. Ben Türkçe bir klavye kullandığım için, Türkçe seçerek devam edeceğim. Alışık olduğum klavye düzeninden vazgeçmek istemiyorum çünkü, Next ile devam edelim.
Disk yapılandırma ekranı geldi karşımıza. Eğer spesifik bir disk kullanıyorsanız seçim yapabilirsiniz. Ben zaten sanal ortam kullandığım için basic storage device seçeneği ile devam ediyorum.
Standart bir uyarı. Diskinizin içeriği tamamen silinecek eminmisiniz, Yes, Discard any data seçeneğini tıkladıktan sonra next diyor devam ediyoruz,
Sunucu ve domain ismi veriyoruz. Default olarak isim ve domain yukarıdaki gibi localhost.localdomain gelecektir. İsterseniz ismi değiştirebilirsiniz. Next ile devam edelim,
Regional Settings saat ve lokasyon bilgilerinin düzenlenmesi için gerekli bilgileri içeriyor. Bizim için gerekli olanları seçerek devam edelim,
Root password’ünü verelim devam edelim,
Şimdi partition’ları yapılandıralım. Eğer farklı bir yapı kullanacaksanız istediğiniz gibi yapıalndırabilirsiniz. Ben tüm alanı bu sunucu için yapılandırdığımdan en üstteki seçenek ile devam ediyorum. Next diyelim,
Tüm datalara elveda demeye hazırmısınız. Write changes to disk diyelim devam edelim,
Şimdi ise karşımızda kurulum seçenekleri. Burada istediğiniz tipte kurulum yapabilirsiniz. Bir web server kuracaksanız ilgili paketler yüklenecektir. Yok database sunucu kurmanız lazımsa yukarıdaki seçeneklerden işaretlediğiniz takdirde database için gerekli bileşenler kurulacaktır. Ben gerekli paketleri daha sonra ilave edeceğimden minimal olarak kuracağım. Bu seçenek ekstra kaynak kullanacak paketleri içermeyecek böylece stabil ve performanslı bir sistem elde edeceğiz. Next diyelim devam edelim,
Evet kutulum başladı. Gerekli tümpaketlerin kurulumu tamamlanacak.
Kurulum tamamlandığında doğal olarak reboot gerekecektir. Artık DVD’yi çıkarabilirsiniz. Kurulum sonrası çalışır temiz bir sistem elde etmiş oluyoruz.
Reboot ettik ve yukarıdaki ekranda gördüğünüz gibi sistem açıldı. Kullanıcı adı olarak root veriyoruz ve şifre ile login oluyoruz. Sistem minimal olarak kurulduktan sonra açılınca etnernet kartı enable gelmi yor. Ethernet kartını enable ederek networkten bir ip almasını sağlamak için
# ifup eth0
komutunu veriyoruz. Bu komut ile ethernet 0 kartı artık enable hale geliyor ve DHCP’den ip alıyor.
Bu işlem ile eth0 kartı şimdilik enable oldu. Ama sistemi restart ettiğinizde yine eth0’ın disable olarak geldiğiniz göreceksiniz. Bu işi kalıcı hale getirelim o halde. Yukarıdaki kırmızı karede olduğu gibi vi ile eth0 kartının konfigürasyon dosyasını düzenleyelim,
Yukarıdaki gibi dosyanın içeriği karşınıza gelecektir. Sizin ilk açtığınızda ONBOOT=”no” şeklinde gelecektir. Siz onu “yes” ile değiştirip sistemi restart ederseniz sistem açılışında ethernet kartınız enable olmuş olarak gelecektir. Restart etmek istemezseniz,
# service network restart
Komutu ile buradan devam edebilirsiniz. Eğer statik ip vermek isterseniz, yukarıdaki içeriği aşağıdaki gibi değiştirebilirsiniz, bold olan kısımları ilave etmeniz yeterli. Burada kendi bilgilerinizi girmeyi unutmayın. J
DEVICE="eth0"
BOOTPROTO="static"
IPADDR="192.168.1.25"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.250"
HWADDR="00:50:56:A6:5F:59"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="c6fc56a9-5597-479e-9654-79585b4ddc90"
Herşey süper. Şimdi sistemi update edelim,
# yum -y update
Bu komut ile kurduğumuz sistem enson versiyona çıkacaktır. Kurulum aslında 15dk gibi bir zamanda tamamlanmaktadır.
Linux kurulumu tamamlandı. Şimdi FTP sunucumuz için gerekli paketleri kuralım. Oldukça basit ve kolay şekilde kurulacaktır. Bunun için aşağıdaki komutları yazıyoruz.
# yum install -y vsftpd nano telnet ftp
Yukarıda göreceğiniz ekran karşınıza çıkacaktır. Y cevabı ile devam edelim. Gerekli paketleri yükleyecektir.
Şimdi IpTables’i kapatalım ve vsftpd servisini açılışta otomatik hale getirelim. Bunun için aşağıdaki komutları kullanıyoruz,
# chkconfig vsftpd on;service vsftpd start
# chkconfig iptables off;service iptables stop
# chkconfig ip6tables off;service ip6tables stop
Ekran çıktısı aşağıdaki gibi olacaktır.
Şimdi VsFtpd configurasyonu yapalım. Bunun için önce orjinal konfigürasyon dosyasının yedeğini alacağız. Hemen VsFtpd dizinine gidiyoruz,
# cd /etc/vsftpd/
Sonra dosyanın ismini değiştirelim.
# mv vsftpd.conf vsftpd.org
Şimdi VsFtpd’nin konfigürasyon dosyasını yeniden oluşturalım. Sonrasında dosyayı yeniden oluşturalım.
# nano vsftpd.conf
Yukarıdaki komutu verince bu editör size vsftpd.conf dosyası oluşturacaktır. Bu editör ile dosyayı oluşturduktan sonra aşağıdaki metni bu dosya içerisine yapıştıralım.
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
#anon_upload_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to HELL, YEEAAAHHH...
chroot_local_user=YES
listen=YES
max_clients=100
max_per_ip=25
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
işlem bittikten sonra ctrl+x tuş kombinasyonuna basın. Size save edeyimmi diye soracaktır. Y cevabı ile kayıt işlemini bitirin. Ekran görüntüsü şu şekil olacak,
Şimdi servisi restart edelim ve VsFtpd’servisini çalışır hale getirelim.
# service vsftpd restart
Evet aslında FTP serverimiz hazır. İnce ayarlara geçiyoruz şimdi aşağıdaki komutları verelim ve SeLinux’u ayarlayalım,
# setsebool -P ftp_home_dir on
# setsebool -P allow_ftpd_full_access=1
Bu işlem biraz zaman alacaktır, sonrasında herşey tamam. FTP sunucumuz hazır durumda. Kullanıcı oluşturalım ve bu kullanıcıların FTP sunucumuzu kullanmalarını sağlayalım. Ben FTP sunucunun yerel kullanıcılar ile kullanılmasında hiçbir zaman bir sıkıntı görmedim ve yaşamadım. O yüzden basit ve kullanışlı komutlarla hemen kullanıcımızı oluşturalım ve kullanmaya başlayalım.
# useradd huzuner -d /home/huzuner
buradaki /home/huzuner bu kullanıcının home directory’si olacak. İsterseniz değiştirebilirsiniz. Şimdi bu kullanıcı için şifre belirleyelim. Çünkü şifresiz kullanım mümkün olmayacaktır.
# passwd huzuner
Evet kullanıcımızda hazır sunucumuzda hazır. Bağlanıp test edelim,
Evet, sunucumuza bağlandık ve dosya kopyalamayı başardık. Burada önemli olan kullanıcının kendi klasörü dışında başka yerlerde gezmesinin engellenmiş olması. Bu kurulumu bir kere yapıp yıllarca kullanabilirsiniz. Şimdi upload ettiğiniz dosyanın linkini kullanıcısına ulaştırıp dosyayı download etmesini sağlayabilirsiniz. Kolay gelsin.