Ada banyak pilihan untuk ftp server, tapi proftpd adalah salah satu ftp
server yang fleksibel dan mudah dikonfigurasi. Dan di tulisan ini akan
menjelaskan secara singkat bagaimana menginstal proftpd di Ubuntu 8.04.
FTP adalah protokol yang sudah sangat tua, tapi walaupun begitu masih
banyak digunakan untuk keperluan transfer berkas. Mungkin karena
kestabilannya dan banyaknya client atau aplikasi yang mendukung proses
transfer berkas melalui ftp, yang menyebabkan ftp masih sangat populer.
Instalasi
Menginstal proftpd di Ubuntu, semudah menginstal aplikasi lain dari repositori. Caranya,
sudo apt-get install proftpd
Saat ada pilihan apakah akan menjalankan proftpd via inetd atau
standalone, pilih standalone saja. Setelah instalasi selesai, seharusnya
proftpd otomatis dijalankan. Jika tidak, coba Anda jalankan perintah
berikut.
sudo /etc/init.d/proftpd start
Letak berkas konfigurasi ada di /etc/proftpd/proftpd.conf.
Contoh yang diberikan oleh paket proftpd di Ubuntu sudah sangat baik.
Tapi tentu saja, Anda tetap bisa mengkonfigurasinya lagi agar lebih
sesuai dengan keperluan Anda.
Test Instalasi
Sebelum membahas konfigurasi untuk proftpd, mari kita sedikit
meluangkan waktu untuk melakukan sedikit test. Setelah proftpd berhasil
dijalankan, Anda bisa melakukan proses cek, apakah proftpd sudah listen
atau belum.
sudo lsof -i -n -P |grep "21" |grep LISTEN
Jika proftpd sudah listen di port 21 tersebut, selanjutnya mari kita cek. Seperti pada contoh di bawah ini.
ftp localhost
Connected to localhost.
220 ProFTPD 1.3.1 Server (Debian) [::ffff:127.0.0.1]
Name (localhost:cecep): cecep
331 Password required for cecep
Password:
230 User cecep logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
200 PORT command successful
150 Opening ASCII mode data connection for file list
-rw-r--r-- 1 root root 3169166 May 17 09:23 redmine-0.8.4.tar.gz
drwxr-xr-x 7 cecep cecep 4096 Jul 21 23:47 rubygems-1.3.5
-rw-r--r-- 1 cecep cecep 278469 Jul 22 00:16 rubygems-1.3.5.tgz
226 Transfer complete
ftp>
Membatasi User FTP di homedir
Lihat konfigurasi proftpd.conf, cari baris DefaultRoot, Anda tinggal membuang tanda pagar didepannya, seperti contoh di bawah ini.
# Use this to jail all users in their homes
DefaultRoot ~
Seperti biasa, jika konfigurasi baru sudah Anda simpan, Anda harus merestart service proftpd.
sudo /etc/init.d/proftpd restart
Membatasi Berkas yang Boleh di Upload
Misal, Anda membuat ftp server untuk keperluan kantor. Dan Anda tidak
ingin user Anda mengupload berkas-berkas mp3 dan video yang mungkin
tidak berkaitan dengan keperluan kantor.
Anda bisa menerapkan konfigurasi berikut.
# Reject files with this extension
PathDenyFilter "\\.(3gp|avi|mp3|mpg|wmv)$"
Contoh lainnya, Anda ingin membatasi besar berkas yang boleh di upload.
# Restrict upload to only 10 megabytes
MaxStoreFileSize 10 Mb
Tuning Untuk Server yang Super Sibuk
Jika FTP server Anda sangat sibuk, mungkin Anda harus mengubah
beberapa konfigurasi Timeout untuk kondisi client yang tidak
mentransfer, stalled atau yang sedang idle. Tujuannya
agar client-client tersebut tidak membebani server, dan memberikan
kesempatan ke client lain yang ingin mengakses server Anda.
Nilai default di instalasi Ubuntu, ingat satuannya dalam detik. Jadi 600 artinya 10 menit.
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
Anda bisa ubah misalnya menjadi seperti di bawah ini.
TimeoutNoTransfer 60
TimeoutStalled 60
TimeoutIdle 120
Anda juga mungkin bisa menerapkan konfigurasi tambahan seperti di bawah ini.
# Disable Ident Lookups
IdentLookups off
# Disable Reverse DNS Lookups
UseReverseDNS off
# Disable ls -R
ListOptions +R strict
# Disable checking for .ftpaccess
AllowOverride off
# Disable logging to wtmp file
WtmpLog off