Keuntungan membuat FTP server di VPS
- Dapat menyimpan beberapa file di dalam server dan dapat diakses menggunakan internet dimanapun berada. Sedangkan jika menggunakan server lokal, maka akses hanya sebatas di jaringan itu saja.
- Bisa dengan mudah mengunggah file situs web ke server sehingga dapat diakses melalui jaringan internet.
- Tidak perlu khawatir dengan pertukaran data yang berukuran besar, karena jika menggunakan FTP file-file yang berukuran besar dapat dikirim dan diunggah dengan mudah.
Install FTP Server di Ubuntu, Centos, dan Manjaro
Very Secure FTP Daemon (VSFTPD) adalah perangkat lunak yang berfungsi sebagai FTP server dan dapat berjalan di hampir semua sistem operasi Linux. VSFTPD dapat dikonfigurasi sesuai dengan kebutuhan pengguna dengan cukup mudah. Berikut adalah langkah-langkahnya:
1. Install VSFTPD
Langkah pertama adalah menginstal VSFTPD menggunakan Terminal. Buka Terminal dan ketikkan perintah berikut.
Ubuntu: $ sudo apt-get install vsftpd
CentOS: $ sudo yum install vsftpd
Manjaro: $ sudo pacman -S vsftpd
2. Konfigurasi VSFTPD
Cara konfigurasi FTP server menggunakan VSFTPD hanya menggunakan satu file saja.
Note : Sebelum mengubah konfigurasi di file VSFTPD lakukan backup. Sehingga jika terjadi masalah yang tidak bisa diselesaikan dapat menggunakan file backup yang sudah ada.
Ketikkan perintah berikut untuk membackup file konfigurasi VSFTPD gunakan perintah cp ‘untuk menyalin’.
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_backup
Konfigurasi VSFTPD ada di file vsftpd.conf yang berada di folder etc:
$ sudo nano /etc/vsftpd.conf
Sesuaikan konfigurasi dengan kebutuhan atau dapat mengikuti konfigurasi berikut.
SCRIPT | KETERANGAN |
| Digunakan untuk mengatur hak akses user anonim yang ingin mengakses FTP. |
| Digunakan untuk mengatur izin akses dari user lokal. |
| Digunakan untuk mengatur segala bentuk perintah write ‘tulis’ FTP. |
| Digunakan untuk mengatur nilai umask dari user lokal. |
| Digunakan untuk mengatur pesan direktori ‘pesan yang diberikan kepada pengguna jarak jauh ketika yang ingin masuk ke direktori tertentu’. |
| Digunakan untuk mengaktifkan pencatatan kegiatan unggah (uploads)/unduh (downloads). |
| Digunakan untuk mengatur port yang digunakan untuk akses FTP. |
| Digunakan untuk mengatur format log yang ingin dipakai. |
| Digunakan untuk menentukan daftar eksplisit pengguna lokal untuk chroot () ke home direktori. |
| Ketika “listen” direktif diaktifkan, vsftpd berjalan dalam mode mandiri dan listen pada soket IPv4. |
| Jika listen_ipv6 diaktifkan, ini digunakan untuk listen pada IPv6. |
Dapat juga menambah beberapa konfigurasi seperti:
- pam_service_name=vsftpd
- userlist_enable=YES
- tcp_wrappers=YES
3. Buat User FTP
Langkah selanjutnya adalah membuat user untuk FTP. Gunakan beberapa perintah berikut untuk mengatur user tambahan yang digunakan untuk mengakses FTP.
$ sudo useradd -m akunftp
$ sudo passwd akunftp
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Perintah diatas membuat user bernama akunftp dan membuat folder di /home bernama “akunftp”.
Pengujian dapat dilakukan dengan cara menambahkan file ke dalam folder “akunftp” di home menggunakan perintah berikut.
$ sudo bash -c “echo Ini melakukan akses FTP > /home/akunftp/akses_ftp”
Perintah di atas akan membuat file akses_ftp dengan isi teks “Ini melakukan akses FTP”.
4. Ubah Pengaturan User Jail
Dapat menggunakan user yang sudah ada, tetapi perlu merubah beberapa pengaturan untuk mengatasi jail (pencegahan user mengakses direktori yang bukan haknya) atau yang biasa muncul dengan erorr “500 OOPS: vsftpd: refusing to run with writable root inside chroot()”. Seperti di bawah ini:
Error muncul ketika mencoba untuk terhubung dengan VSFTPD FTP server yang dikonfigurasi ke jail (mencegah akses ke direktori lain) setiap user FTP. Di bawah ini langkah sederhana untuk membuat user di Linux agar tidak dapat login menggunakan SSH dan hanya bisa menggunakan FTP.
$ sudo usermod -s /sbin/nologin testuser
Perintah tersebut belum menyelesaikan error yang muncul. Untuk mengatasinya, perlu membuat direktori home read only ‘hanya bisa dibaca’. Misalnya username yang dipakai adalah akunftp dan direktori home berada di /home/akunftp, gunakan perintah berikut.
$ sudo chmod a-w /home/testuser
Kemudian restart VSFTPD.
$ sudo systemctl restart vsftpd
Dapat menggunakan Altenatif (Opsional) lain
Gunakan perintah berikut untuk melewati writable check.
$ sudo echo ‘allow_writeable_chroot=YES’ >> /etc/vsftpd.conf
Pengujian Akses FTP
Pengujian server FTP dapat menggunakan Terminal dan FileZilla.
Terminal:
Ketikkan perintah berikut. $ ftp host_name
Host_name dapat berupa nama domain atau alamat IP dari server.
Masukkan username dan password untuk masuk ke akun FTP.
FileZilla:
Browser:
Cara mengakses FTP dari browser, ketikkan ftp://host_name pada kolom URL dan akses. Masukkan username dan password. Jika berhasil, maka akan muncul list file yang ada di akun FTP tersebut.