Kendinize ait bir FTP sunucu kurmak istiyorsanız, bu konuda size Pardus ve ProFTPd fazlasıyla yardımcı olacaktır.
Elbette bir sunucu kurmak ve yapılandırmak bir miktar tecrübe istiyor. Mümkün olduğunca basit anlatarak ve minimum ihtiyaçlarınızı görecek şekilde Pardus Sunucu 21 üzerine ProFTPd nasıl kurulur ve yapılandırılır, anlatmaya çalışacağım.
Yazının hemen başında şöyle bir uyarı yapayım; “Bu yazıda anlatılanlar en azından sunucu nedir, IP/Ağ geçidi adresi nedir, yönlendirme ne demek, TCP/IP Protokolü ve DHCP nedir ne işe yarar, ağ yapılandırması nasıl yapılır, güvenlik duvarı/yönlendirici/modem nasıl çalışır gibi temel bilgilere hakim kullanıcılar içindir”. Elbette, Pardus Sunucu sürümünü daha önce kurmuş ve kullanmış olmaları gerekmektedir.
ProFTPd hakkında kısa bir tanıtım
Gelelim konumuza, ProFTPd günümüzde hemen hemen en çok kullanılan açık kaynak kodlu, özgür bir FTP sunucu yazılımıdır. VSFTPd ve Pure-FTPd gibi alternatifleri de vardır ancak her geçen gün popülaritesi artan ProFTPd daha fazla kullanıcıya ulaşmaktadır. Bu sebeple ben de kurulumu bu uygulamayla yapacağım. Talep olursa ilerleyen zamanlarda diğer FTP sunucu yazılımlarını da başka bir yazıda anlatırız.
Hepinizin bildiği gibi FTP sunucular çok yaygın olarak kullanılmaktadır ve dosya boyutundan bağımsız olarak dosyaları bir yerden bir yere transfer etmenin en güvenilir ve hızlı yollarından birisidir. FTP protokolü uzun yıllar önce ortaya çıkmış ve sürekli geliştirilerek yüksek bir stabiliteye/doğruluğa kavuşmuştur.
Şimdi Pardus Sunucu 21.0 sürümünü standart ayarlarla kurduğunuzu varsayalım.
İlk iş olarak Pardus’da yapmamız gereken hazırlıklar var.
sudo apt update
ve
sudo apt full-upgrade
komutlarıyla önce mevcut işletim sistemimizi güncelleyelim.
Şimdi sıra sunucumuzun ağ yapılandırmasında. Bunun için aşağıdaki komutla interfaces dosyasını düzenleyeceğiz.
sudo nano /etc/network/interfaces
Ekrana aşağıdaki gibi bir yapılandırma gelecektir. Varsayılan olarak Pardus DHCP aracılığı ile sistemden otomatik IP bilgisini alacaktır. Biz bir FTP sunucu yapılandıracağımız için bunun her defasında farklı IP adresi almasını istemeyiz. Bu sebeple sabit bir IP almasını sağlamamız gerekir.
Varsayılan olarak gelen interfaces dosyası yukarıdaki gibi olacaktır. Ben örnek olarak 192.168.120.120 IP adresini ve /16 (255.255.0.0) ağını ve ağ geçidi olarak 192.168.0.1 (Güvenlik duvarının IP adresi) kullanmak istediğim için ayarları aşağıdaki şekilde değiştiriyorum. Yeni yapılan ayarların geçerli olabilmesi için ya sudo reboot
ile sunucuyu yeniden başlatın veya
komutu ile ağ servisini yeniden başlatın.sudo systemctl restart networking
Eğer ağ kartınız veya bağlı olduğunuz switch (anahtarlama cihazı) 1Gbps hıza sahipse interfaces dosyasının sonuna mtu 1500 yazmanız gereksizdir zira varsayılan olarak öyle olduğu kabul edilir. Ancak 10Gbps ve üstü bakır veya fiber bir ağ kartına ve anahtarına sahipseniz, TCP paketlerinin daha hızlı akması için mtu boyutunu 9000 yapmanızı öneririm. Bu sayede FTP sunucunuza bağlanacak kullanıcılar daha hızlı transferler yapabilecektir. (Elbette bu durum dış dünya ile bağlantınızın hızına bağlıdır). En azından dahili (Şirket içi) bağlantılarınız çok daha hızlı olacaktır.
Tüm bu ayarları yaptıktan sonra artık Pardus Server 21.0’a ProFTPd kurulumunu yapmaya hazırız demektir.
ProFTPd kurulumu
Pardus üzerine ProFTPd kurulumu epey basittir.
sudo apt install proftpd
komutunu girerek kurulumu yapabilirsiniz. İlgili/bağlantılı diğer paketlerin de kurulmasını isteyip istemediğiniz sorulacaktır EVET diyerek kurulumu tamamlıyoruz.
Artık Pardus Sunucu 21.0 üzerinde ProFTPd kuruldu ve kullanıma hazır.
Kurulumun doğru yapıldığını kontrol etmek amaçlı ProFTPd servisinin durumunu kontrol etmekte fayda var.
sudo systemctl status proftpd
Her şey yolundaysa ProFTPd’nin kişiselleştirilmesi ve sizin ihtiyaçlarınıza uygun hale getirilmesi için birtakım ayarlar yapmak daha kullanışlı olacaktır.
Örneğin ftpkullanicilari adında bir grup oluşturalım ve sadece bu gruba üye olan kullanıcıların FTP sunucumuza girmesine izin verelim.
sudo addgroup ftpkullanicilari
Artık adı ftpkullanicilari olan bir grubumuz var. Şimdi bu grubun ilk üyesini (kullanıcısını) oluşturalım. Kullanıcı adı hakan olsun ve /home/ftpklasoru de bu kullanıcının kullanacağı klasör olsun. Klasörü oluşturmak için
komutunu girmeniz yeterli olacaktır.sudo mkdir /home/ftpklasoru
Oluşturduğunuz klaösrün yetkilisini ayarlamanız gerekir.
sudo chown -R hakan:ftpkullanicilari /home/ftpklasoru
Bu sayede /home/ftpklasoru üzerinde hakan kullanıcısı tam yetkili olacaktır.
sudo adduser hakan -shell /bin/false -ingroup ftpkullanicilari -home /home/ftpklasoru
Bu komut size hakan adında ve ftpkullanicilari grubunun üyesi yeni bir kullanıcı oluşturur. Bu sırada sizden kullanıcı için bazı bilgiler isteyecektir. İlgili alanları doldurmanız yeterlidir.
Bu şekilde komut satırından ihtiyacınız olan tüm kullanıcıları oluşturabilirsiniz.
Şimdi biraz daha ileri seviye ayarlamaları yapalım. ProFTPd’nin ayar dosyası /etc/proftpd/proftpd.conf içerisindedir. İlgili dosya içerisinde varsayılan bazı ayarlar bizim işimize gelmeyebilir. Bu sebeple en azından aşağıda tavsiye edeceğim bazı ayarları değiştirmeniz uygun olacaktır.
sudo nano /etc/proftpd/proftpd.conf
komutu ile dosyayı düzenleyelim. Aşağıda parçalar halinde vereceğim satırları bulup yine aşağıdaki şekilde değiştirin.
- UseIPv6 on yazan yeri UseIPv6 off yapın. Bu sayede sadece IP v4 ile yola devam edebilirsiniz. IP v6 için henüz ihtiyaç yok diyebiliriz.
- RootLogin on yazan yeri RootLogin off yapın. Bu sayede sisteme root yetkisi ile giriş yapılamayacaktır.
- # RequireValidShell off yazan satırın başındaki # işaretini kaldırın.
- Son satıra DefaultRoot ~ komutunu ekleyin. Bu sayede her kullanıcı sadece kendi home klasöründe işlem yapabilecektir.
<Limit LOGIN>
DenyGroup !ftpkullanicilari
</Limit>
- Dosyanın sonuna yukarıdaki 3 satırı ekleyin ve bu sayede ftpkullanicilari grubuna üye olmayan hiç bir kullanıcı giriş yapamasın.
Tüm bu ayarları ve isterseniz daha fazla detay ayarları yaptıktan sonra dosyayı kaydedip (CTRL+O Enter) çıkalım (CTRL+X)
Artık sistemi sudo reboot
komutu ile yeniden başlattığımızda yaptığımız ayarlar aktif olacaktır. İsterseniz sadece proftpd servisini de restart edebilirsiniz.
sudo systemctl restart proftpd
Sunucu çalışmaya başladıktan sonra FileZilla programını kullanarak sunucunuza bağlanabilir ve dosya transferi yapmaya başlayabilirsiniz. FileZilla programını daha önceki yazımızda burada tanıtmıştık. Göz gezdirmenizde fayda var.
“Hemen her şeyi komut satırından yaptırıyorsun” diye şikayetçi olduğunuzu duyar gibiyim. Elbette bir web arayüz olsa ve tüm ayarları oradan yapsak daha hoş olurdu diyebilirsiniz. Üzülmeyin, web arayüz var ve onun da nasıl kurulacağını başka bir yazıda anlatacağım. Bu yazıyı şimdilik fazla uzatmayalım.
Özellikle sunucu sistemlerinde genellikle tüm işlemler komut satırından yapılır zira boşu boşuna grafik arabirimler kullanıp kaynakları tüketmenin bir anlamı yoktur. Sunucu işletim sistemlerini desktop gibi kullanmak zaten çok mantıklı değildir ve arka planda kendisine verilen işi hızlı ve doğru yapsın yeterlidir. Sunucuları yapılandırmak ve yönetmek yeni başlayan kullanıcılar için değildir ve konuya hakim tecrübeli kullanıcı/yöneticiler tarafından yapılması gerekmektedir. Ben bu yazıyı sunucu sistemlere merak salan ve bu konuda kendisini yetiştirmek isteyen arkadaşlara kılavuz olması amacıyla hazırladım.
FTP sunucunuzu dış dünyaya açmak için DNS kayıtlarınızı eklemeyi, işyerinizdeki/evinizdeki güvenlik duvarı veya modem yönlendirici gibi cihazların ayarlarını da yapmanız gerektiğini unutmayın.
Konu hakkında soru, görüş ve önerilerinizi forumlarımıza bekliyorum.
Kalın sağlıcakla.