Jumat, 19 Maret 2010

FTP Server

FTP (File Transfer Protocol) adalah sebuah protokol Internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pentransferan berkas (file) komputer antar mesin-mesin dalam sebuah internetwork. Protokol ini masih digunakan hingga saat ini untuk melakukan pengunduhan (download) dan penggugahan (upload) berkas-berkas komputer antara klien FTP dan server FTP. Sebuah server FTP diakses dengan menggunakan Universal Resource Identifier (URI) dengan menggunakan format ftp://namaserver dari file browser maupun web browser. Klien FTP dapat menghubungi server FTP dengan membuka URI tersebut. Salah satu program yang digunakan untuk server FTP ialah vsftpd (very secure file transfer protocol daemon)


  1. Instalasi FTP

  • Masukan CD Ubuntu server kedalam CDROM

  • Mounting CDROM

$sudo mount /dev/cdrom /cdrom

  • Masukan password user dan tunggu proses mounting selesai

  • Ketikan perintah install paket vsftpd melalui terminal

$ sudo apt-get install vsftpd

  • Cek keberadaan instalasi ftp server vsftpd

$ sudo dpkg-l vsftpd

Desired=Unknown/Install/Remove/Purge/Hold

| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend

|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)

||/ Name Version Description

+++-==============-==============-=====================

ii vsftpd 2.2.0-1ubuntu1 lightweight, efficient FTP server written fo



  1. Konfigurasi User Anonim

User anonim ialah user yang dapat memanfaatkan fasilitas FTP server tanpa harus melakukan login terlebih dahulu, biasanya user anonim ini digunakan sebagai sarana transfer file secara umum seperti update repositori, upload file global, dll. Direktori root untuk ftp server berada pada /home/ftp secara defaultnya, kita dapat melakukan perubahan dengan menentukan direktori user anonim dimana saja, misal pada direktori /home/user/ftp, konfigurasinya ialah sebagai berikut :

  • Buat direktori pada home/user/ftp

$mkdir ftp

  • Buat parent direktori didalam folder ftp, misal kakek, nenek, ayah, ibu, anak, cucu

$cd ftp

$mkdir kakek, nenek, ayah, ibu, anak, cucu

  • Ubah direktori mode user ftp pada direktori /home/user/ftp

$sudo usermod -d /home/user/ftp ftp

  • Lakukan pengujian melalui web browser mozilla dengan mengetikan alamat ftp://localhost atau ketikan ftp://nama_domain.com, jika konfigurasi berhasil maka akan tampil list direktori yang telah kita buat pada jendela web browser

Gambar 1


  1. Konfigurasi User local agar dapat melakuan akses ftp server

Secara defaultnya FTP server tidak mengaktifkan user local untuk mengakses ftp komputer yang menyediakan layanan ftp, bagaimana user local (selain daripada user root) dapat mengakses ftp caranya kita dapat mengkonfigurasi file vsftpd.conf yang berada pada direktori /etc/vsftpd.conf


  • Konfigurasi vsftpd.conf

$ sudo nano /etc/vsftpd.conf


  • Kemudian cari baris yang bertuliskan script berikut :

#write_enable=YES

#local_enable=YES

#anon_upload_enable=YES

#anon_mkdir_write_enable=YES


  • Untuk megaktifkan script diatas hilangkan tanda “#” menjadi seperti berikut

write_enable=YES

local_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES


  • Simpan konfigurasi file vsftpd.conf dengan menekan CTRL+O → Enter → CTRL+X

  • Restart service vsftpd

$ sudo /etc/init.d/vsftpd restart

* Stopping FTP server: vsftpd [ OK ]

* Starting FTP server: vsftpd [ OK ]


  • Lakukan pengujian FTP server dengan membuka file browser seperti nautilus, file manager untuk linux dan windows exploler pada windows.


Gambar 2


  1. Membuat User FTP

Selain user anonim yang dapat diakses secara umum, berikutnya yaitu user personalisasi yang secara khusus didefinisikan pada server ftp. User personalisasi dapat mengakses ftp server dengan melakukan login terlebih dahulu dengan menggunakan user name dan password. User ini memiliki kelebihan dibandingkan dengan user anonim, karena dapat melakukan baca, tulis, buat folder, dan menghapus ke server FTP. Cara membuatnya ialah sebagai berikut :

Buat Nama user yang diinginkan, misal adrian

root@ubuntu:/etc/bind# adduser adrian


Adding user `adrian' ...

Adding new group `adrian' (1001) ...

Adding new user `adrian' (1001) with group `adrian' ...

Creating home directory `/home/adrian' ...

Copying files from `/etc/skel' ...

Enter new UNIX password: [masukan password baru]

Retype new UNIX password: [masukan kembali]

passwd: password updated successfully

Changing the user information for adrian

Enter the new value, or press ENTER for the default

Full Name []: Adrian Dr

Room Number []: 1

Work Phone []: 021 1234 1234

Home Phone []: 021 6789 6789

Other []:

Nothing

Is the information correct? [Y/n] y

root@ubuntu:/etc/bind#


Sampai disini kita telah berhasil membuat user dengan nama adrian dan sudah dapat melakukan akses FTP dengan file browser dengan mengetik URL : ftp://adrian@ftp.prisma.com kemudian masukkan password user tersebut.


Gambar 3


  1. Membatasi USER FTP Hanya pada Home direktori

Secara default user yang bisa masuk melalui ftp, bisa mengakses semua berkas yang ada di server (tentunya dengan hak akses yang sesuai dengan user tersebut) sebagai contoh seperti tampilan gambar diatas yang menampilkan isi seluruh komputer server ftp pada user adrian. Jika Anda ingin membatasi user yang login melalui ftp hanya bisa mengakses berkas-berkas yang ada di home direktorinya saja, gunakan konfigurasi berikut.

  • Edit file /etc/vsftpd.conf

$sudo nano /etc/vsftpd.conf


  • Cari script teks pada file vsftpd.conf berikut dan hilangkan tanda “#” didepan scriptnya

chroot_local_user=YES


  • Jika anda ingin mengunci semua user pada masing-masing direktori home saja

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list


  • Jika anda ingin menentukan user mana saja yang tidak terkunci dalam direktori home maka masukan nama user pada file /etc/vsftpd.chroot.list

$sudo nano /etc/vsftpd.chroot_list


  • Tambahkan nama user yang ingin dibebaskan direktorinya dari home

adrian

  • Simpan konfigurasi file ini dengan cara CTRL+O – Enter – CTRL+X

  • Restart layanan vsftpd

$sudo /etc/init.d/vsftpd restart


  • Lakukan uji coba dengan mengetikan alamat url ftp://adrian@ftp.prisma.com pada file browser kemudian anda diminta memasukan password untuk user tersebut


Gambar 4


Dari kedua tampilan gambar diatas dapat dibedakan bahwa user yang dibatasi aksesnya di direktori home hanya dapat membuka sub-sub direktori yang berada di home tersebut (gambar 4), sedangkan user yang hak aksesnya belum dibatasi dapat dengan leluasa membuka direktori-direktori yang berada pada root (gambar 3)


  1. Melakukan Upload & Download dari Server FTP

Jika FTP server telah dikonfigurasi berikutnya melakukan pembuatan folder pada direktori home dengan cara akses dahulu ftp server dari komputer klien dengan mengetikan URL pada file browser ftp://ftp.namadomain.com , sebagai contoh ftp://ftp.prisma.com kemudian lakukan login dengan memasukan nama user ftp yang telah terdaftar dan masukkan passwordnya. Buat beberapa folder didalam direktori user FTP, misal download, aplikasi, musik, game, dll. Membuat folder dapat dilakukan dengan dua cara yaitu


  • Mode Grafic User Interface (GUI)

    1. Klik Kanan pada tempat yang kosong kemudian pilih create folder dan beri nama masing-masing folder sesuai keinginan.

    2. Isi folder yang telah dibuat sesuai namanya dengan file-file yang berkaitan, misal folder musik diisi dengan file musik, folder aplikasi diisi dengan file program aplikasi, folder game diisi dengan aplikasi game, folder download diisi dengan berbagai macam jenis file yang dapat di upload dari FTP klien.


  • Mode Command Line Interface (CLI)

    1. Lakukan login terlebih dahulu dengan mengetikan perintah berikut pada terminal

root@ubuntu:/etc/bind# ftp ftp.prisma.com

Connected to ns.prisma.com.

220 (vsFTPd 2.2.0)

Name (ftp.prisma.com:administrator): adrian

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>



    1. Buat direktori menggunakan perintah mkdir pada prompt FTP>

ftp> mkdir aplikasi

257 "/aplikasi" created

ftp> mkdir download

257 "/download" created

ftp> mkdir musik

257 "/musik" created

ftp> mkdir game

257 "/game" created

ftp>


    1. Lihat apakah direktori yang dibuat benar-benar sudah ada menggunakan perintah ls

ftp> ls

200 PORT command successful. Consider using PASV.

150 Here comes the directory listing.

drwx------ 2 1001 1001 4096 Mar 15 15:33 aplikasi

drwx------ 2 1001 1001 4096 Mar 15 15:33 download

drwx------ 2 1001 1001 4096 Mar 15 15:33 game

drwx------ 2 1001 1001 4096 Mar 15 15:33 musik

226 Directory send OK.

ftp>


    1. Mengisi (upload) file pada direktori yang telah dibuat menggunakan perintah “put” (mengisi file). Sebagai contoh mengupload file 3gp.exe dari komputer lokal kemudian diletakan di direktori aplikasi pada komputer ftp server

ftp> put

(local-file) /home/administrator/apex-free-3gp-converter.exe

(remote-file) /aplikasi/3gp.exe

local: /home/administrator/3gp.exe remote: /aplikasi/3gp.exe

200 PORT command successful. Consider using PASV.

150 Ok to send data.

226 File receive OK.

14838025 bytes sent in 0.28 secs (51424.0 kB/s)

ftp>


Lakukan pengisian (upload) file sesuai dengan kebutuhan


    1. Mengambil file (download) dari direktori ftp server menggunakan perintah “get”

ftp> get

(remote-file) /aplikasi/3gp.exe

(local-file) /home/administrator/Downloads/3gp.exe

local: /home/administrator/Downloads/3gp.exe remote: /aplikasi/3gp.exe

200 PORT command successful. Consider using PASV.

150 Opening BINARY mode data connection for /aplikasi/3gp.exe (14838025 bytes).

226 File send OK.

14838025 bytes received in 0.35 secs (40982.3 kB/s)

ftp>


    1. Keluar dari FTP menggunakan perintah “exit”

ftp> exit


1 komentar:

A. Ramadhan mengatakan...
Komentar ini telah dihapus oleh pengarang.

Posting Komentar