Cara Install FTP Server dengan VsFTPd di Ubuntu
File Transfer Protocol (FTP) adalah standar protokol jaringan pada layer application yang digunakan untuk melakukan transfer file antara client dan server, dengan nomor port 21. Ada 3 aplikasi FTP server yang umum digunakan di Unix-like yaitu Pure-FTPd, VsFTPd, dan ProFTPd. Pada tutorial ini saya menggunakan VsFTPd (Very secure FTP daemon) di Ubuntu 16.04.
Install vsftpd
1 | sudo apt-get install vsftpd |
Konfigurasi
Konfigurasi dasar
Buka file konfigurasi vsftpd.conf
1 | sudo nano /etc/vsftpd.conf |
Aktifkan opsi write_enable dengan menghapus karakter # dan ubah nilainya menjadi YES. Opsi ini agar dapat melakukan penulisan file (upload/create/delete) pada server.
1 | write_enable=YES |
Restart service dan cek statusnya
1 2 | sudo systemctl restart vsftpd sudo systemctl status vsftpd |
Uji konfigurasi dengan menggunakan aplikasi FTP client seperti FileZilla. Login menggunakan username dan password yang terdapat di sistem server dan upload file.
Konfigurasi chroot_local
Konfigurasi sebelumnya sudah bisa berjalan dengan baik, tapi user yang login bisa mengakses folder yang lain. Untuk itu perlu dikonfigurasi agar user yang login hanya berada pada folder home-nya saja /home/user, tidak bisa lagi mengakses folder lain atau disebut juga chroot jail.
Buka kembali file vsftpd.conf, lalu aktifkan chroot_local_user dan tambahkan opsi allow_writeable_chroot. Setelah konfigurasi, restart service.
1 2 | chroot_local_user=YES allow_writeable_chroot=YES |
Uji kembali konfigurasi. Jika berhasil yang tampil hanya folder / (root), tapi sebenarnya itu adalah folder /home/user.
Konfigurasi local_root
Pada saat berhasil login secara default folder yang dituju adalah folder /home/user. Nah, sekarang bagaimana caranya jika mau diarahkan ke folder lain, misalnya /var/www/user. Hal ini dapat dilakukan dengan melakukan konfigurasi local_root.
Buka file konfigurasi dan tambahkan pada baris paling bawah opsi berikut ini. Jangan lupa restart service setelah konfigurasi.
1 2 | user_sub_token=$USER local_root=/var/www/$USER |
Buat direktori sesuai nama user pada /var/www dan buat file di dalamnya sebagai penanda bahwa itu folder /var/www/user.
1 2 3 4 5 | sudo mkdir /var/www/namauser cd /var/www/namauser touch folder_var_www_namauser.txt sudo chown -R namauser:namauser /var/www/namauser sudo chmod -R 775 /var/www/namauser |
Konfigurasi Passive Mode
Tambahkan konfigurasi di bawah ini
1 2 3 | pasv_enable=Yes pasv_min_port=10090 pasv_max_port=10100 |
Konfigurasi dot file (hidden file)
Pada sistem operasi Unix-like, file/folder yang diawali dengan karakter titik (.) menjadi tersembunyi (hidden). Contoh filenya adalah .htaccess. Jika ingin VsFTPd langsung menampilkan dot file tambahkan opsi di bawah ini.
1 | force_dot_files=YES |
Konfigurasi FTP over TLS
Pada log terdapat pesan Status: Insecure server, it does not support FTP over TLS, yang artinya belum ada enkripsi.
Langkah pertama adalah dengan melakukan generate key
1 | openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem |
Lalu isi identitas sertifikat
1 2 3 4 5 6 7 | Country Name (2 letter code) [AU]: ID State or Province Name (full name) [Some-State]:Sulawesi Selatan Locality Name (eg, city) []:Makassar Organization Name (eg, company) [Internet Widgits Pty Ltd]:MusaAmin.Web.ID Organizational Unit Name (eg, section) []:Lab MusaAmin.Web.ID Common Name (e.g. server FQDN or YOUR name) []:musaamin.web.id Email Address []:mail@musaamin.web.id |
Ubah nilai opsi konfigurasi di bawah ini
1 2 3 | rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=YES |
Dan tambahkan opsi
1 2 3 4 5 6 7 | ssl_ciphers=HIGH ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO force_local_data_ssl=YES force_local_logins_ssl=YES require_ssl_reuse=NO |
Restart service dan uji kembali konfigurasinya. Jika berhasil ditampilkan informasi sertifikat dan Status: TLS connection established.
Sekian dulu tutorial kali, semoga bisa membantu teman-teman sekalian.
selamat mencoba 🙂
sangat membatu om, buat ngerjain tugas SOBJ dari pak musa 🙂
Terimakasih ,akhirnya bisa akses file vps