Introduction
Artikel kali ini saya akan menulis artikel tentang bagaimana sih cara install vsftpd di OS ubuntu. File Tansfer Protokol atau (FTP) adalah protokol yang berfungsi untuk saling menukan file dalam suatu network yang men-support TCP/IP protokol.
Dua hal penting yang ada dalam FTP adalah FTP server dan FTP client, FTP server menjalankan software yang digunakan untuk saling tukas menukar file, yang selalui siap memberikan layanan FTP apabila mendapat request dari FTP client, sedangkan FTP client adalah komputer yang me-request koneksi ke FTP server untuk tujuan tukar-menukar file atau upload dan download file. Aplikasi FTP di linux sendiri banyak macamnya contoha ada Proftpd dan juga Vsftpd, yang dimana akan kita praktek’kan kali ini.
Prepare
Cara Install Vsftpd di Ubuntu
Step 1 – Update & install Vsftpd
Update package repository ubuntu, setelah itu isntall service FTP karena disini kita akan menggunakan vsftpd
$sudo apt-get update
$sudo apt-get install vsftpd
Step 2 – Preparing user directory
Siapkan terlebih dahulu user dan juga file directory yang akan digunakan untuk FTP nya, buat password/kata sandi untuk di sesuaikan.
$sudo add user iguns
Kemudian change permission untuk folder yang akan kita gunakan, dan biasanya kita taruh file backup’an kita di /home/$USER/files
$sudo chown $USER:$USER /home/$USER/files
Untuk check perubahan ownership
$sudo ls -la /home/$USER/files
Step 3 – Configuration FTP access
Selanjutnya disini kita akan melakukan konfigurasi files vsftpd yang berlokasikan di file directory /etc/vsftpd
$sudo nano /etc/vsftpd.conf
# daemon started from an initscript.
listen=NO
# files.
listen_ipv6=YES
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=NO
# Uncomment this to allow local users to log in.
local_enable=YES
# Uncomment this to enable any form of FTP write command.
write_enable=YES
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
dirmessage_enable=YES
# option.
use_localtime=YES
# Activate logging of uploads/downloads.
xferlog_enable=YES
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
# chroot_list_enable below.
chroot_local_user=YES
# access.
secure_chroot_dir=/var/run/vsftpd/empty
# Tambahkan script ini di bawah
pasv_enable=YES
pasv_min_port=10000
pasv_max_port=10100
allow_writeable_chroot=YES
local_root=/home/$USER
pam_service_name=ftp
Pada dasarnya FTP menggunakan port 21, tapi kita bisa melakukan perubahan atau meng’custom portnya dengan menambahkan syntax berikut listen_port=2120
Step 4 – Openning firewall
Selanjutnya kita akan mengaktifkan firewall , sebenarnya ini kondisional dan tidak wajib, contoh disini saya akan membuka beberapa port saja yang perlu ditambahkan sesuai configurasi di file vsftpd.conf tadi.
$sudo ufw enable
$sudo ufw start
$sudo ufw allow 20,21,990/tcp
$sudo ufw allow 40000:50000/tcp
Kemudian check dengan syntax berikut ufw status untuk melihat apakah port2 tersebut sudah di allow
Step 5 – Testing FTP Access
Selanjutnya adalah kita tinggal melakukan testing koneksi ke FTP dan juga testing upload download file ke FTP server.
$ftp -p 10.xx.xx.20
Output
Connected to 10.xx.xx.20.
220 (vsFTPd 3.0.3)
Name (10.xx.xx.20:default): $USER
331 Please specify the password.
Password: your_user's_password
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Testing create file
ftp> put test.txt upload.txt
150 Ok to send data.
226 Transfer complete.
17 bytes sent in 0.00 secs (5.3227 kB/s)
Selamat mencoba

Admin website igunawan.com, System Administrator, DevOps Engineer