FTP (File Transfer Protocol) adalah protokol yang digunakan untuk mentransfer file antar komputer melalui jaringan. Debian 12, sebagai distribusi Linux yang stabil, mendukung FTP server untuk memungkinkan akses file jarak jauh. Dalam tutorial ini, kita akan menggunakan vsftpd (Very Secure FTP Daemon) untuk mengonfigurasi FTP server di Debian 12.
Langkah 1: Menginstal vsftpd
Update Sistem Anda
Sebelum memulai instalasi, pastikan sistem Anda diperbarui dengan menjalankan perintah berikut:
sudo apt update && sudo apt upgrade
Instalasi vsftpd
Gunakan perintah berikut untuk menginstal vsftpd:
sudo apt install vsftpd
Cek Status vsftpd
Setelah instalasi selesai, periksa status vsftpd untuk memastikan bahwa layanan berjalan dengan baik:
sudo systemctl status vsftpd
root@debian:~# systemctl status vsftpd.service
● vsftpd.service - vsftpd FTP server
Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; preset: enabled)
Active: active (running) since Sat 2024-12-14 14:02:20 WITA; 6s ago
Process: 1618 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, status=0/SUCCESS)
Main PID: 1620 (vsftpd)
Tasks: 1 (limit: 2306)
Memory: 884.0K
CPU: 17ms
CGroup: /system.slice/vsftpd.service
└─1620 /usr/sbin/vsftpd /etc/vsftpd.conf
Dec 14 14:02:20 debian systemd[1]: Starting vsftpd.service - vsftpd FTP server...
Dec 14 14:02:20 debian systemd[1]: Started vsftpd.service - vsftpd FTP server.
Jika layanan tidak berjalan, Anda bisa memulai layanan dengan:
sudo systemctl start vsftpd
Langkah 2: Mengonfigurasi vsftpd
Backup File Konfigurasi
Sebelum mengubah konfigurasi, pastikan untuk membuat salinan cadangan file konfigurasi vsftpd:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
Edit File Konfigurasi
Gunakan editor teks seperti nano untuk mengedit file konfigurasi:
sudo nano /etc/vsftpd.conf
Berikut adalah pengaturan yang harus dilakukan dalam file vsftpd.conf
Pengaturan | Deskripsi | Nilai yang Ditetapkan |
---|---|---|
local_enable | Mengaktifkan akses bagi pengguna lokal (pengguna sistem dapat login). | local_enable=YES |
write_enable | Mengizinkan pengunggahan file (write) oleh pengguna yang sudah login. | write_enable=YES |
anonymous_enable | Menonaktifkan akses anonim untuk meningkatkan keamanan. | anonymous_enable=NO |
chroot_local_user | Membatasi pengguna agar hanya dapat mengakses direktori home mereka. | chroot_local_user=NO |
pasv_min_port dan pasv_max_port | Mengonfigurasi rentang port pasif yang akan digunakan untuk koneksi FTP pasif. | pasv_min_port=10000 pasv_max_port=10100 |
Langkah 3: Sesuaikan Kepemilikan dan Hak Akses Direktori
Pastikan bahwa direktori home pengguna ftpuser hanya dapat ditulis di subdirektori, bukan di root direktori itu sendiri.
Buat Subdirektori
Buat subdirektori di dalam direktori home ftpuser yang akan digunakan untuk menyimpan file. Misalnya, buat direktori uploads
:
sudo mkdir /home/ftpuser/uploads
Ubah Kepemilikan Direktori
Ubah kepemilikan direktori uploads agar dimiliki oleh pengguna ftpuser:
sudo chown ftpuser:ftpuser /home/ftpuser/uploads
Beri Izin Tulis di Subdirektori
Pastikan pengguna ftpuser memiliki izin untuk menulis di subdirektori tersebut:
sudo chmod 755 /home/ftpuser/uploads
Pastikan direktori root (/home/ftpuser
) tidak memiliki izin tulis untuk pengguna ftpuser, dan hanya subdirektori (seperti uploads
) yang dapat diakses untuk pengunggahan.
Langkah 4: Restart vsftpd
Setelah Anda membuat perubahan di file konfigurasi, restart layanan vsftpd untuk menerapkan perubahan:
sudo systemctl restart vsftpd
Langkah 5: Uji Kembali Koneksi FTP
Sekarang, coba lagi untuk login menggunakan FTP:
Sesuaikan dengan ip debian anda
ftp 192.168.1.65
Masukkan nama pengguna dan kata sandi yang benar
ftp 192.168.1.65
Connected to 192.168.1.65.
220 (vsFTPd 3.0.3)
Name (192.168.1.65:ping): ftpuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Setelah berhasil login, untuk meng-upload file, gunakan perintah put
diikuti dengan nama file yang ingin di-upload, misalnya:
ftp> put daengserver.txt
local: daengserver.txt remote: daengserver.txt
229 Entering Extended Passive Mode (|||10079|)
150 Ok to send data.
0 0.00 KiB/s
226 Transfer complete.
Untuk berpindah ke direktori tertentu, gunakan perintah cd
diikuti dengan nama direktori, misalnya:
ftp> cd uploads
250 Directory successfully changed.
Dan untuk membuat direktori baru di server FTP, gunakan perintah mkdir
diikuti dengan nama direktori yang ingin dibuat, misalnya:
ftp> mkdir daengserver
257 "/home/ftpuser/uploads/daengserver" created
ftp>
Kesimpulan
Anda sekarang telah berhasil mengonfigurasi FTP server di Debian 12 menggunakan vsftpd. Server FTP ini memungkinkan Anda untuk berbagi file melalui jaringan lokal atau internet dengan aman dan efisien.
Jika Anda memiliki pertanyaan lebih lanjut, atau jika masalah masih berlanjut, jangan ragu untuk bertanya!
FAQ (Pertanyaan yang Sering Diajukan)
1. Apa itu FTP?
FTP (File Transfer Protocol) adalah protokol yang digunakan untuk mentransfer file antara komputer di jaringan.
2. Mengapa saya harus menggunakan vsftpd di Debian?
vsftpd adalah FTP server yang sangat aman dan cepat, cocok untuk digunakan di server yang membutuhkan transfer file.
3. Bagaimana cara menambah pengguna FTP?
Gunakan perintah sudo adduser ftpuser
untuk menambahkan pengguna baru yang dapat mengakses server FTP.
4. Apakah FTP aman digunakan di internet?
FTP standar tidak mengenkripsi data, termasuk kata sandi. Disarankan untuk menggunakan FTP dengan SSL/TLS atau SFTP untuk keamanan tambahan.
5. Bagaimana cara mengatur FTP agar hanya bisa diakses oleh pengguna tertentu?
Anda dapat mengonfigurasi chroot di file vsftpd.conf
untuk membatasi akses pengguna ke direktori mereka sendiri.