Anda di halaman 1dari 41

LAPORAN PRAKTIKUM

SETING SERVER FTP


JARINGAN KOMPUTER II

Disusun oleh :
Nama :
NIM :
Kelas :

JURUSAN TEKNIK ELEKTRO


PROGRAM STUDI TEKNIK INFORMATIKA
POLITEKNIK NEGERI SEMARANG
2010
I. TUJUAN INSTRUKTUSIONAL KHUSUS
Setelah menyelesaikan praktek ini mahasiswa dapat :
a. Memahami server FTP
b. Mengkonfigurasi server FTP

II. DASAR TEORI


A. PENGANTAR FTP
Dalam sistem jaringan komputer, sering diperlukan untuk melakukan proses transfer
suatu file dari host yang satu ke host yang lain. Proses transfer file dari suatu host.
Proses mengirim file ke suatu hose disebut upload file, sedangkan proses untuk
mengambil file dari suatu host disebut download file.

Untuk jaringan komputer, proses transfer file file salah satunya dapat ditangani
melalui protokol FTP (File Transfer Protokol). Supaya dapat melakukan proses
transfer file dengan protokol FTP, user harus masuk pada suatu server melaluiproses
autentifikasi yang biasanya menggunakan nama user dan password tertentu. Setelah
berhasil masuk pada sistem server, yang dapat dilakukan tidak hanya sekedar transfer
file tetapi dapat melakukan aktifitas lain yang diijinkan oleh protokol FTP seperti
membuat direktori, menghapus direktori, menghapus file, mengirim file,
mendownload file dan sebagainya tergantung ijin yang diberikan.

Protokol FTP menggunakan dua nomor port yaitu port 21 untuk proses pemberian
perintah dan port 20 untuk proses transfer data file. Ketika user elakukan koneksi
FTP, semua perintah yang diberikan user akan dikirim ke server melalui port 21.
Setelah melaksanakan perintah dari user, kemudian server akan mengirimkan
tanggapan terhadap perintah yang diberikan melalui port nomor 21 juga apakah
perintah berhasil dilakukan atau tidak. Jika perintah user adalah proses transfer data
file, maka transfer data tersebut akan dilakukan melaui port 20 baik berupa upload
maupun download. Selanjutnya tanggapan terhadap hasil perintah tersebut dikirim
melalui port 21.
Yang diperlukan untuk proses transfer file melalui protokol FTP, bagi server yang
harus memberi layanan adalah program server FTP, sedangkan bagi klien yang akan
melakukan koneksi adalah program klien FTP. Server FTP adalah program yang
dapat digunakan untuk melakukan koneksi melalui protokol FTP. Salah satu program
untuk server FTP adalah ProFTPD. Untuk aplikasi klien FTP macamnya cukup
banyak baik yang mode teks maupun mode grafis seperti gFTP.

B. INSTALASI ProFTPD
ProFTPD (Profesional FTP Daemon) merupakan program server FTP yang dibuat
untuk beberapa varian unix termasuk juga Linux. Kode program untuk ProFTPD
dapat diperoleh dati situs http://www.proftpd.org dan dapat didownload dari situs
tersebut. dari situs tersebut dapat diperoleh versi terbaru ProFTPD dan dapat
dikompilasi dengan mudah.

Program ProFTPD dikemas dalam paket proftpd yang disimpan dalam CD 2


Extention Linux Mandrake. Untuk menginstal paket proftpd digunakan perintah
berikut ini.

#rpm -ivh proftpd-versi.rpm

paket proftpd berisi semua program yang diperlukan untuk menjalankan dan
mengelola server FTP seperti proftpd,ftpshut,ftpcount, ftptop dan ftpwno. Program
utama yang dikemas dalam paket tersebut adalah proftpd (proftp daemon) yang
merupakan program yang berlaku sebagai server FTP. Selain itu juga dapat
disediakan file untuk konfigurasi dasar program proftpd, sehingga dapat langsung
dijalankan secara mudah.

C. KONFIGURASI ProFTPD
ProFTPD dibuat sedemikian, sehingga mudah untuk dikonfigurasi. Konfigurasi
ProFTPD diatur dalam dua file yaitu proftpd.conf dan ftpuser yang mana keduanya
berada dibawah direktori /etc. File proftpd.conf berisi pengaturan konfigurasi untuk
jalannya daemon proftpd, sedangkan file ftpuser digunakan untuk mencatat semua
user yang tidak boleh digunakan untuk login melalui kilen FTP. Aturan konfigurasi
yang dituliskan pada file konfigurasi dibuat mirip dengan program apache, sehingga
bagi pengguna yang sudah memahami pengaturan Apache akan mudah untuk
mempelajari pengaturan ProFTPD

Secara default file konfigurasi /etc/proftpd.conf sudah disediakan dan dapat


digunakan sebagai konfigurasi untuk menjalankan daemon proftpd. Jika file
proftpd.conf dibuka, maka akan dapat dilihan isi lengkap konfigurasi program
ProFTPD. bagian yang sudah diberi tanda “#” di depan berlaku sebagai komentar dan
bukan termasuk konfigurasi. dalam buku hanya ditampilkan bagian yang perlu saja
tanpa menghilangkan konfigurasi aslinya. hal ini dimaksudkan untuk kepentingan
menjalankan dalam buku ini. Format isi file /etc/proftpd.conf adalah
<pengarah> <nilai>

Berikut ini isi file konfigurasi proftpd.conf yang sudah dihilangkan bagian-bagian
yang tidak perlu.

# isi file /etc/proftpd.conf


ServerName "ProFTPD Default Installation"
ServerType standalone
DefaultServer on
AllowRestoreRestart on
Port 21
Umask 022
xInstances 30
User nobody
Group nogroup
<Directory /*>
AllowOverwrite on
</Directory>
PersistentPasswd off
Keterangan :
• ServerName: menentukan nama server yang digunakan. nama ini dapat berupa
keterangan yang dibatasi oleh tanda petik ganda dan akan muncul pada saat user
masuk dalam server FTP.
• ServerType: menentukan tipe server yang digunakan. pengarah ServerType
dapat mempunyai dua kemungkinan nilai yaitu standalone yang mana daemon
proftpd dijalankan secara mandiri atau inetd yang mana daemon proftpd
dijalankan dari program super server xinetd.
• DefaultServer: mengendalikan konfigurasi server yang digunakan ketika
suatu koneksi ditujukan untuk suatu alamat IP tertentu yang bukan alamat IP
primerdan alamat IP virtual host. jika bernilai on, maka semua layanan FTP
menggunakan konfigurasi server default
• AllowStoreRestart: mengizinkan atau menolak resume terhadap transfer
file ke server (upload). jika pengarah ini bernilai on, maka resume upload
diizinkan.
• Port: menentukannomor port yang digunakan untuk koneksi FTP. secara default
bernilai 21.
• Umask: menentukan mask default pada saat user membuat file atau direktori pada
server.
• MaxInstances: menentukan jumlah proses anak (thread) yang diizinkan untuk
dibuat. pengarah ini akan menentukan jumalah user yang dapat masuk melalui
koneksi FTP dari klien. pengarah ini hanya berlaku apabila daemon proftpd
dijalankan dengan standalone. jika dijalankan dengan mode inetd, maka
pengaturan ini harus dilakukan dari xinetd.
• User: menentukan nama user yang digunakan untuk menjalankan daemon
proftpd.
• Group: menentukan nama group yang digunakan untuk menjalankan daemon
proftpd.
• AllowOverWrite: mengatur apakah file yang sudah ada diizinkan untuk
ditimpa dengan file yang ditransfer.
• PersistentPasswd: menentukan bagaimana cara daemon proftpd menangani
autentikasi. jika bernilai on, maka daemon proftpd akan berusaha untuk membuka
file /etc/group

Konfigurasi yang perlu diperhatikan juga adalah


<Dirctory /*>
AllowOverWrite on
</Directory>

yang digunakan untuk mengatur semua pengarah yang akan diterapkan dalam
direktori yang dimiliki oleh user. dalam kaitan dengan konfigurasi diatas, pengaturan
hanya diterapkan untuk izin aturan timpa (overwrite) terhadap suatu file. jika akan
dilakukan pengaturan khusus suatu direktori tertentu, maka dapat digunakan bentuk
konfigurasi direktori khusus tersebut.

Konfigurasi intuk proftpd.conf sebetulnya cukup banyak, tidak hanya terbatas dengan
yang diterangkan diatas. pembaca dapat mempelajari lebih lanjut tentang konfigurasi
file proftpd.conf tersebut dalam dokumentasi yang terdapat pada file
/usr/share/doc/proftpd-versi/configuration.html. dokumnetasi ini sudah disertakan
ketika proFTPD diinstall dalam komputer.

Jika diinginkan suatu user tidak boleh melakukan koneksi FTP, maka nama user
tersebut dimasukkan dalam file ftpusers. file ini tidak hanya sekedar untuk maksud
administratif saja, tapi digunakan untuk meningkatkan keamanan dalam lingkungan
jaringan TCP/IP.
Format isi file ftpusers sangat mudah, tiap baris menunjukkan satu user.
Berikut ini contoh isi dari file tersebut.

#isi file /etc/ftpusers


root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

Dapat diperhatikan di atas bahwa file tersebut umumnya berisi user-user sistem yang
umumnya tidak akan melakukan koneksi ftp. Mungkin yang perlu diperhatikan hanya
user tip yang biasanya digunakan untuk koneksi FTP anonymous. Jika diinginkan
untuk tidak mengijinkan koneksi FTP anonymous, maka user ftp harus dicantumkan
dalam file tersebut.

D. Menjalankan ProFTPD
Untuk menjalankan server FTP dengan program proftpd sangat mudah. Jika semua
file konfigurasi mengikuti aturan default, maka untuk menjalankan server FTP cukup
dengan menjalankan daemon proftpd sebagai berikut.

# proftpd

Pada saat dijalnkan, maka daemon proftpd akan membaca file konfigurasi
/etc/proftpd/proftpd.conf dan etc/proftpd.ftpusers. Daemon proftpd juga dapat
membaca konfigurasi lain jika dikehendaki. Pada saat menjalankan daemon vsftp
dapat disertakan beberapa opsi untuk mengaturnya. Berikut ini opsi yang dapat
disertakan beberapa opsi untuk mengaturnya. Berikut ini yang dapat disertakan dalam
perintah di atas.
• -h,--help:menampilkan deskripsi penggunaan proftpd.
• -n,--nodaemon:menampilkan proftpd tidak sebagai daemon
• -v,--version:menampilkan versi program perogram proftpd
• -d,--debug <level-debug>:mengatur level debug internal proftpd (biasanya 0).
• -c,--config <file-config>:menentukkan file konfigurasi lain selain
/etc/proftpd/proftpd.conf.
• -t,--configtest:menguji sintaksis file konfigurasi.
• -p,--persistent <0|1> : mengatur dukungan ketetapan pasword yang sudah
ditentukan pada saat kompilasi.
• -l,--list:menampilkan semua modul yang sudah terkompilasi dalam proftpd.

Untuk menhghentikan jalannya daemon proftpd dapat dilakukan dengan perintah


berikut.
#killall proftpd

Pada Linux Mandrake, perintah-perintah untuk menjalankan, merestart maupun


menghentikan proftpd server sudah dikemas dalam satu skrip, sehingga mudah
menjalankan proftpd digunakan perintah berikut.

[root@resty ~]# service proftpd start


Starting proftpd for proftpd: [ OK ]

Jika tidak terdapat kesalahan apapun, maka akan memberikan pesan bahwa semua
berjalan OK.
Jika konfigurasi diubah, maka daemon proftpd harus direstart. Untuk merestart
daemon proftpd digunakan perintah berikut

[root@resty ~]# service proftpd restart


Shutting down proftpd: [ OK ]
Starting proftpd for proftpd: [ OK ]

Jika diinginkan untuk menghentikan layanan FTP, maka daemon proftpd dapat
dihentikan dengan perintah berikut.
[root@resty ~]# service proftpd stop
Shutting down proftpd: [ OK ]

Jika perintah-perintah di atas tidak memunculkan pesan kesalahan, biasanya daemon


proftpd sudah berjalan secara benar dan dapat dapat digunakan untuk melakukan
koneksi FTP.

Selanjutnya dicoba apakah server FTP dapat menerima koneksi dari klien FTP.
Percobaan dapat dilakukan dari komputer lain atau dapat juga dari server sendiri.
Pada saat dilakukan koneksi FTP dari klien, server FTP akan memberikan pesan
bahwa klien FTP terhubung pada server FTP serta menyebutkan nama server FTP
yang dipakai. Selanjutnya dilakukan proses autentikasi untuk memasukkan nama user
dan password. Jika berhasil login, maka user akan masuk pada shell FTP.
Berikut diberikan contoh untuk mencoba koneksi dengan FTP dari dalam server dan
menjalankan beberapa perintah dalam shell FTP setelah berhasil login.

[root@localhost ~]# ftp localhost


Connected to localhost.localdomain.
220 ProFTPD 1.2.5 Server (ProFTPD Default Installation) [linuxmd]
500 AUTH not understood.
500 AUTH not understood.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): ilham <====masukkan nama user
331 Please Password required for ilham.
Password: <====masukkan password
230 User ilham logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Setelah berhasil login, dapat dicoba menjalankan beberapa perintah yang didukung
oleh koneksi FTP. Setelah berhasil masuk pada server FTP, dapat dilihat semua file
dan direktori yang terdapat pada direktori milik user. Direktori milik suatu user tidak
dapat dilihat oleh user lain. Berikut ini perintah untuk melihat is direktori beserta
tanggapan yang diberikan.

ftp> ls
227 Entering Passive Mode (127,0,0,1,128,2)
150 Opening ASCII mode data connection for file list.
drwx---- 2 ilham ilham 48 Jan 12 23:04 tmp
226-Transfer complete.
226 Quotas off

Kadang-kadang user lupa atau ingin mengetahui tentang perintah yang harus
diberikan untuk suatu keperluan tertentu. User dapat meminta bantuan baik untuk
semua perintah yang didukung koneksi FTP atau bantuan untuk suatu perintah
tertentu. Untuk melihat bantuan semua perintah yang disediakan oleh shell FTP,
digunakan perintah help berikut ini.

ftp> help
Commands may be abbreviated. Commands are:

! cr mdir proxy send


$ delete mget sendport site
account debug mkdir put size
append dir mls pwd status
ascii disconnect mode quit ztruct
bell form modtime quote system
binary get mput recv sunique
bye glob newer reget tenex
case hash nmap rstatus trace
ccc help nlist rhelp type
cd idle ntrans rename user
cdup image open reset umask
chmod lcd passive restart verbose
clear ls private rmdir ?
close macdef prompt runique
cprotect mdelete protect safe

Untuk melihat bantuan cara menggunakan suatu perintah, cukup menuliskanhelp


diikuti nama perintah yang dimaksud. Misalnya put untuk mengirim file, get untuk
mendownload file dan mkdir untuk membuat direktori baru. Berikut contohnya secara
berurutan.

ftp>help put
put send one file

ftp>help get
get receive file

ftp>help mkdir
mkdir make directory on the remote machine

Berikut ini ditunjukkan cara menggunakan 3 perintah di atas. Untuk membuat suatu
direktori digunakan perintah mkdir diikuti nama direktori yang akan dibuat.

ftp> mkdir data


257 “/home/ilham/data” – Directory successfully created

Untuk mengirim file (upload) digunakan, perintah put diikuti nama file yang akan
dikirim. Server akan menunjukkan apakah file berhasil dikirim ke server atau gagal.
Jika gagal dikirim user dapat mengulangi perintah yang sama.

ftp> put catat.txt


local: catat.txt remote:catat.txt
227 Entering Passive Mode (127.0.0.1.128,4).
150 Opening BINARY mode data connection for catat.txt
226 Transfer complete.
18 bytes sent in 6.9e-05 seconds (2.5e+02 Kbytes/s)

Untuk mendownload suatu file digunakan perintah get diikuti nama file yang akan
didownload. Sama dengan perintah put, perintah get juga akan menunjukkan apakah
file berhasil didownload atau gagal.
ftp> get catat.txt
local: catat.txt remote:catat.txt
227 Entering Passive Mode (127.0.0.1.128,4).
150 Opening BINARY mode data connection for catat.txt (18 bytes).
226
6 Transfer complete.
18 bytes sent in 6.2e
6.2e-05 seconds (2.8e+02 Kbytes/s)

Setelah selesai menjalankan perintah pada koneksi FTP, user dapat memutuskan
koneksi FTP dengan server. Untuk memutuskan koneksi FTP digunakan perintah bye
sebagai berikut.

ftp> bye
221 Goodbye.

Selain dari konsol mode teks, server FTP juga dapat dikoneksi menggunakan browser
web seperti Mozilla atau netscape yang bekerja pada mode grafis. Untuk
menghubungi server FTP dengan browser FTP dengan browser web, harus diketikkan
nama userr diikuti karakter “@” dan nama server FTP yang akan dihubungkan pada
kolom alamat. Contoh berikut, dicoba untuk menghubungi server FTP menggunakan
nama user dan password pada localhost ((polines@localhost).
Pertama kalii diminta untuk memasukkan password seperti pada dialog berikut

Gambar 62. Dialog Password


Setelah berhasil Login, browser akan menampilkan isi direktori yang terdapat pada
server sebagai berikut.
Dengan tampilan dari browser, operasi transfer file baik upload maupun
download akan lebih mudah dilakukan.

E. SERVER FTP ANONYMOUS


Server FTP anonymous diperlukan untuk koneksi FTP secara anonymous yang
biasanya dibuat tanpa password atau passwordnya berupa alamat e-mail. Koneksi
FTP anonymous umumnya menggunakan nama user anonymous atau ftp. Koneksi
FTP anonymous ini dimaksudkan agar data yang tersimpan dalam direktori
anonymous dapat digunakan oleh semua user secara bersama. Penggunaan fasilitas
koneksi FTP anonymous biasanya dibatasi untuk keperluan transfer file berupa
download saja, sedangkan untuk upload tidak diijinkan.

User dapat melakukan koneksi FTP anonymous dari klien FTP mode teks atau dapat
juga melalui browser tanpa harus mengetahui password.
Program ProFTPD juga mendukung server FTP anonymous. Supaya dapat
mendukung server FTP anonymous, Pada file konfigurasi /etc/proftpd.conf perlu
ditambahkan baris perintah berikut ini.

<Anonymous /var/ftp>

Requirevalidshell off
User ftp
Group ftp
UserAlias anonymous ftp

MaxClient 50

</Limit WRITE>
DenyAll
<Limit>
</Anonymous>

Baris perintah tersebut dapat ditambahkan pada bagian akhir dari file konfigurasi
proftpd.conf
Pengarah paling penting pada konfigurasi server FTP anonymous adalah sebagai
berikut.

<Anonymous /var/ftp>

</Anonymous>

Pengarah tersebut digunakan untuk mengatur semua ketentuan yang akan diterapkan
pada direktori /var/ftp. Direktori ini merupakan tempat untuk menyimpan semua file
yang akan digunakan oleh user yang melakukan koneksi FTP anonymous.

Pengarah RequireValidShell untuk anonymous harus dibuat menjadi off. Pengarah ini
digunakan untuk mengatur apakah koneksi didasarkan pada /etc/shells. Koneksi FTP
anonymous tidak memerlukan pengaturan shell seperti yang diatur pada /etc/shells,
sehingga pengarah ini dibuat bernilai off.

Pengarah berikutnya adalah User dan Group yang menentukan nama user dan group
yang digunakan untuk koneksi FTP anonymous. Umumnya nama user yang
digunakan adalah ftp, demikian juga nama group. ketika user melakukan koneksi FTP
menggunakan nama user ftp, maka akan diarahkan direktorinya pada direktori
/var/ftp. Direktori ini harus merupakan direktori milik user ftp.

Selanjutnya adalah pengarah UserAlias yang digunakan untuk menentukan nama


alias sutu user. Dalam kaitan ini, nama user ftp dibuatkan nama alias anonymous.
Pengarah ini perlu diatur karena umumnya user ketika melakukan koneksi FTP
anonymous selalu menggunakan nama user anonymous. Jika pengarahan ini tidak
diatur, maka ketika user menginginkan koneksi FTP anonymous harus menggunakan
nama user ftp. Dengan pengaturan ini, untuk melakukan koneksi FTP anonymous
dapat digunakan nama user ftp atau anonymous.

Pengarah MaxClients digunakan untuk menentukan jumlah klien yang diijinkan


melakukan koneksi. Karena pengarah ini diletakkan dalam konfigurasi anonymous,
maka pengarah ini akan membatasi jumlah koneksi FTP anonymous yang diijinkan.

Pengarah selanjutnya adalah

</Limit WRITE>
DenyAll
<Limit>

Pengarah ini digunakan untuk menentukan bahwa penulisan dalam direktori


anonymous tidak diijinkan. Biasanya, dalam koneksi FTP anonymous hanya diijinkan
untuk melakukan download file saja. proses upload file, pembuatan direktori dan
beberapa proses lain yang memerlukan penulisan dalam direktori tidak diijinkan.

Setelah semua konfigurasi untuk koneksi FTP anonymous ditulis, server FTP harus
di-reload ulang dengan perintah berikut.

# service proftpd reload


Re-reading proftpd config: [ OK ]

Pastikan semua berjalan secara benar yang ditunjukkan denga pesan OK pada setiap
tahapan.
Cara melakukan koneksi FTP anonymous sama dengan koneksi FTP biasa, hanya saja
user yang digunakan adalah anonymous atau ftp. Ketika ada tanggapan minta
password, user dapat mengosongkan dan langsung menekan enter. Selanjutnya user
akan masuk pada shell FTP. Berikut ini diberikan contoh bagaimana cara melakukan
koneksi FTP anonymous.

# ftp localhost
Connected to localhost.localdomain.
220 (proftpd 2.0.1)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

Perintah-perintah yang disediakan dalam koneksi FTP anonymous sama dengan


koneksi FTP biasa, hanya saja beberapa perintah tidak diijinkan untuk dieksekusi
terutama perintah yang memerlukan penulisan di server. Semua ini diatur oleh
konfigurasi server FTP. Biasanya yang diijinkan hanya perintah membaca dan
menampilkan saja. Berikut ini perintah untuk menampilkan daftar file dan direktori
yang ada dalam direktori anonymous. Untuk melihat isi direktori digunakan perintah
ls pada shell FTP dilanjutkan menekan enter.

ftp> ls
227 Entering Passive Mode (127,0,0,1,128,10).
150 Opening ASCII mode data connection for filr list
drwxr-sr-x 2 ftp ftp 48aUG 29 2002 PUB
226-Transfer complete.
226 Quotes off

Untuk memutuskan koneksi FTP anonymous, digunakan perintah bye pada shell FTP
dilanjutkan menekan enter.

ftp> bye
221 Goodbye.
Koneksi FTP anonymous dapat juga dilakukan user melalui browser web. User cukup
mengetikkan jenis protokol yang digunakan diikuti name server yang dituju tanpa
menyebutkan nama user, misalnya ftp://localhost.. Koneksi FTP anonymous melalui
browser web tidak perlu memasukkan password. Direktori anonymous akan langsung
terbuka dan ditampilkan dalam halaman web. Untuk operasi download file, user
cukup melakukan klik mouse pada file ya
yang
ng dimaksud, sedangkan untuk membuka
suatu direktori cukup dengan melakukan klik mouse pada direktori yang diinginkan.
Berikut ini contoh tampilan koneksi FTP anonymous dengan browser web.

Pembaca dapat mencoba sendiri untuk menghubungi server FTP dari komputer lain
dengan menyebutkan protokol ftp diikuti alamat IP server yang akan dihubungi.

F. SERVER FTP VIRTUAL


Program ProFTD juga mendukung server FTP virtual. Server FTP Virtual
dimaksudkan untuk mengelola beberapa host atau domain yang mendukung koneksi
konek
FTP dengan satu server FTP. Hal ini dapat terjadi karena kadang
kadang-kadang
kadang pengelola
memiliki atau mengelola beberapa domain dalam satu server.
Server FTP virtual yang dapat didukung oleh program ProFTD hanya server virtual
berdasarkan alamat IP, artinya masing-masing server FTP virtual harus mempunyai
alamat IP yang berbeda. Server FTP virtual dapat dibuat pada satu server yang sama
tetapi menggunakan alamat IP yang berbeda. Hal ini dapat dilakukan dengan cara
membuat alamat IP atas pada kartu jaringan.

Untuk mengelola server FTP virtual, harus dikaitkan dengan mengelola beberapa
domain. Pembaca dapat mengingat kembali bagaimana mengelola beberapa domain
dalam satu server DNS. Dalam kaitan dengan alamat IP yang harus berbeda, maka
Rrs tipe CNAME tidak dpat digunakan untuk menentukan server FTP virtual karena
Rrs tipe ini menggunakan alamat IP yang sama.

Untuk memberi gambaran bagaimana server FTP virtual bekerja, dalam buku ini
diberikan contoh konfigurasi untuk FTP anonymous. Host pertama adalah
ftp.cahjujur.net dengan alamat IP alias untuk kartu jaringan dengan perintah sebagai
berikut.

# ifconfig eth0:0 192.168.100.250


# ifconfig eth0:1 192.168.200.250

Dua perintah di atas akan menyebabkan kartu jaringan eth0 mempunyai dua alamat IP
yang masing-masing sebagai antarmuka eth0:0 dan eth0:1 .

Jika diinginkan untuk mengubungi server FTP menggunakan nama, maka server DNS
harus dikonfigurasi untuk dapat mengelola dua domain yang berhubungan dengan
dua alamat IP di atas. Silakan dibuka kembali bagian yang membahas tentang server
DNS. Tetapi jika diinginkan untuk menghubungi server FTP hanya menggunakan
alamat IP, maka tidak diperlukan konfiurasi pada server DNS.

Konfigurasi utama server FTP virtual pada program ProFD adalah dengan pengarah
<Virtual alamat-IP>
...
</VirtualHost>
Pengarah tersebut digunakan untuk mengatur konfigurasi server dengan alamat IP
tertentu. Jika terdapat beberapa server ftp virtual , maka pengarahan tersebut juga
dibuat beberapa. Berikut ini diberikan contoh konfigurasi FTP virtual untuk dua
alamat IP yang berbeda. Masing-masing mengelola satu server FTP anonymous.

<Virtual 192.168.100.250>
ServerName "ftp.cahjujur.net"
IdentLookups off
<Anonymous var/ftpl>
RequireValidShell off
User ftp
Group ftp
<Limit WRITE>
DenyAll
</Limit>
</Anonymous>
</VirtualHost>

<Virtual 192.168.200.250>
ServerName "ftp.cahbagus.net"
IdentLookups off
<Anonymous /var/ftp2>
RequireValidShell off
User ftp
Group ftp
<Limit WRITE>
DenyAll
</Limit>
</Anonymous>
</VirtualHost>

Konfigurasi diatas ditambahkan pada bagian akhir file konfigurasi proftpd.conf. Pada
konfigurasi diatas terdapat dua alamat ip yang masing-masing diberlakukan sebagai
alamat IP server FTP virtual. Alamat IP 192.168.100.250 punya nama server
ftp.cahjujur.net dan alamat IP 192.168.200.250 punya nama server ftp.cahbagus.net.
Masing-masing mengelola server FTP anonymous yang berbeda. Server pertama
mengelola server ftp anonymous yang berbeda. Server pertama mengelola server ftp
anonymous yang punya direktori pada /var/ftp1, sedangkan server kedua mengelola
serber FTP anonymous pada direktori /var/ftp2. Tentu saja dua direktori yaitu
/var/ftp1 dan var/ftp2 harus dibuat terlebih dahulu. Konfigurasi FTP anonimous yang
dituliskan disini tidak melibatkan pengarah UserAlias untuk user anonymous,
sehingga untuk koneksi ftp anonimous harus menggunakan nama user ftp.

Setelah dilakukan perubahan pada file konfigurasi proftpd.conf, daemon proftpd


harus direload dengan perintah sebagai berikut.

# service proftpd reload


Re-reading proftpd config: [ OK ]

Pastikan semua berjalan secara benar yang ditunjukkan dengan pesan OK untuk tiap
tahapan. Dapat juga digunakan perintah restart untuk daemon proftpd. Restart
daemon proftpd juga dapat dilakukan dengan menghentikan jalannya daemon proftpd
(killall proftpd) dilanjutkan menjalankan daemon proftpd kembali.

Untuk mengetahui bagaimana server FTP virtual bekerja, dapat dicoba untuk
melakukan koneksi FTP pada masing-masing alamat IP tersebut.

# ftp 192.168.100.250
Connected to 192.168.100.250.
220 ProFTPd 1.2.5 Server (ftp.cahjujur.net) (192.168.100.250)
500 AUTH not understood.
500 AUTH not understood.
KERBEROS_V4 rejected as an authentication type
Name (192.168.100.250:root): ftp
331 Anonymous login ok, send your complete email address as your
password.
Password:
230 Anonymous access granted, restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Silahkan diamati pada bagian yang dicetek tebal. Terlihat pesan bahwa nama server
yang dihubungi adalah ftp.cahjujur.net dengan alamat IP 192.168.100.250. Pembaca
dapat membuktikan sendiri bahwa koneksi masuk pada direktori /var/ftp1 dengan
cara melihat isi direktori tersebut.

Untuk melihat perbedaannya, putuskan koneksi ftp dengan perintah bye dan
selanjutnya dicoba untuk melakukan koneksi FTP anonymous lagi pada alamat IP
192.168.200.250 dengan perintah berikut ini.

# ftp 192.168.200.250
Connected to 192.168.200.250.
220 ProFTPd 1.2.5 Server (ftp.cahbagus.net) (192.168.200.250)
500 AUTH not understood.
500 AUTH not understood.
KERBEROS_V4 rejected as an authentication type
Name (192.168.200.250:root): ftp
331 Anonymous login ok, send your complete email address as your
password.
Password:
230 Anonymous access granted, restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Dapat diamati pada tanggapan server FTP di atas bahwa koneksi FTP pada alamat IP
192.168.200.250 menuju pada server dengan nama ftp.cahbagus.net dan masuk pada
direktori /var/ftp2. Pembaca dapat melihat sendiri dengan perintah ls untuk melihat isi
direktori tersebut.

G. APLIKASI gFTP
Koneksi FTP menggunakan mode teks mungkin dirasa agak sulit bagi sebagian user.
Sebagian user lebih suka menggunakan aplikasi mode grafis. Dalam aplikasi grafis
biasanya perintah-perintah command-line digantikan oleh operasi klik mouse atau
menu. Dengan demikian user tidak perlu lagi mengetikkan perintah-perintah koneksi
FTP.

Pada Linux Mandrake disediakan aplikasi klien FTP yang berjalan pada mode grafis
yaitu gFTP. Pada aplikasi ini disediakan kemudahan-kemudahan untuk melakukan
operasi transfer file baik upload maupun download. Bahkan disediakan juga fasilitas
untuk mentransfer direktori beserta isinya secara langsung, sehingga proses transfer
file dapat berlangsung secara cepat dan lebih mudah.
Untuk menginstal program gFTP gunakan perintah instalasi berikut.

# rpm -ivh gftp-versi.rpm


Seharusnya program gFTP akan terinstal dalam komputer.
Tampilan program gFTP mirip dengan tampilan eksplorer dengan beberapa tombol
dan menu yang mempermudah pengoperasiannya. Bagian atas berupa menu bar dan
beberapa kolom isian untuk nama host, nomor port, nama user, dan password. Bagian
sebelah kiri adalah tampilan direktori dimana user bekerja. Bagian sebelah kanan
adalah tampilan direktori user pada server FTP ketika user telah berhasil melakukan
koneksi FTP. Bagian paling bawah akan berisi pesan-pesan yang dapat berupa
tanggapan pada server terhadap perintah yang diberikan user. Berikut ini bentuk
tampilan gFTP.
Untuk melakukan koneksi FTP, user perlu megisikan nama server FTP pada kolom
host, nama user pada kolom user, dan password pada ko
kolom
lom pass. Jika server FTP
menggunakan nomor port 21, maka kolom port dapat dikosongkan. Jika server FTP
menggunakan nomor port yang lain, maka kolom port harus diisi dengan nomor port
yang sesuai. Program gFTP dapat digunakan untuk koneksi FTP biasa ataupun
ataupu
koneksi FTP anonymous. Selanjutnya untuk melakukan koneksi FTP, user cukup
mengklik tombol connect yang bergambar dua komputer.
Untuk melakukan upload file, dapat dilakukan dengan cara drag
drag-drop
drop mouse dari
tampilan direktori lokal ke direktori server tau dapat juga dengan mengklik tombol [-
[
>]. Sebaliknya untuk melakukan download dapat dilakukan dengan cara drag-drop
drag
mouse dari tampilan direktori sever ke direktori lokal atau dengan cara mengklik
tombol [<-].
]. Kemudahan lain disediakan dalam menu
menu-menu gFTP untuk mendukung
semua perintah command
command-line koneksi FTP.
III. LANGKAH KERJA
Sebelum melaksanakan praktikum yang berkaitan dengan server FTP maka perlu
membuat user untuk login ke FTP.
Langkah-langkah membuat user baru :
a. Klik Applications  System Setting  User and Group
b. Tampil window User Manager sbb :

c. Buat user baru dengan klik pada icon Add User di toolbar
d. Isikan user dan password anda
e. User yang baru dibuat akan muncul sbb :

f. Close
Selanjutnya kita melaksanakan praktikum server FTP. Di sini kita menggunakan
vsFTPD bukan ProFTPD, akan tetapi pada intinya sama.
a. Instalasi vsFTPD
Pada komputer telah terinstal.

b. Konfigurasi vsFTPD
Di sini kita akan melihat isi file dan bila perlu menambah/mengurangi isi file dari
/etc/vsftpd.conf
[root@resty ~]# cd /etc
[root@resty etc]# ls
a2ps.cfg idmapd.conf profile
a2ps-site.cfg im_palette.pal profile.d
acpi im_palette-small.pal proftpd.conf
adjtime im_palette-tiny.pal protocols
alchemist imrc pwdb.conf
aliases init.d quotagrpadmins
aliases.db initlog.conf quotatab
alsa inittab racoon
alternatives inputrc rc
anacrontab iproute2 rc0.d
asound.state isdn rc1.d
at.deny issue rc2.d
auto.master issue.net rc3.d
auto.misc java rc4.d
auto.net jwhois.conf rc5.d
bashrc krb5.conf rc6.d
blkid.tab krb.conf rc.d
blkid.tab.old ldap.conf rc.local
bluetooth ld.so.cache rc.sysinit
bonobo-activation ld.so.conf readahead.early.files
cdrecord.conf ld.so.conf.d readahead.files
cipe lftp.conf redhat-lsb
cpuspeed.conf libuser.conf redhat-release
cron.d lilo.conf.anaconda resolv.conf
cron.daily localtime rhgb
cron.deny log.d rmt
cron.hourly login.defs rpc
cron.monthly logrotate.conf rpm
crontab logrotate.d samba
cron.weekly lsb-release scrollkeeper.conf
csh.cshrc lvm scsi_id.config
csh.login mail securetty
cups mailcap security
dbus-1 mail.rc selinux
default makedev.d services
dev.d man.config sestatus.conf
DIR_COLORS mgetty+sendfax setuptool.d
DIR_COLORS.xterm mime-magic sgml
dumpdates mime-magic.dat shadow
enscript.cfg mime.types shadow-
environment minicom.users shells
esd.conf modprobe.conf skel
exports modprobe.conf~ smartd.conf
fb.modes modprobe.conf.dist smrsh
fdprm motd sound
filesystems mtab squid
firmware mtools.conf ssh
fonts Muttrc stunnel
foomatic netplug sudoers
fstab netplug.d sysconfig
gaim nscd.conf sysctl.conf
gconf nsswitch.conf syslog.conf
gnome ntp termcap
gnome-vfs-2.0 ntp.conf tux.mime.types
gnome-vfs-mime-magic openldap udev
gnopernicus-1.0 opt updatedb.conf
gpm-root.conf pam.d vfontcap
group pam_smb.conf vimrc
group- pango vsftpd
grub.conf paper.config vsftpd.conf
gshadow passwd vsftpd.ftpusers
gshadow- passwd- vsftpd.user_list
gssapi_mech.conf pbm2ppa.conf warnquota.conf
gtk pcmcia webalizer.conf
gtk-2.0 pear.conf webalizer.conf.sample
hal php.d wgetrc
host.conf php.ini wvdial.conf
hosts pinforc X11
hosts.allow pnm2ppa.conf xdg
hosts.deny ppp xinetd.conf
hotplug prelink.cache xinetd.d
hotplug.d prelink.conf xml
httpd printcap yp.conf

[root@resty etc]# vi vsftpd.conf


ServerName "vsftpd Default Instalation"
ServerType standalone
DefaultServer on
AllowStoreRestart on
Port 21
Umask 022
MaxInstances 30
User nobody
Group nogroup
<Directory /*>
AllowOverWrite on
</Directory>
PersistentPasswd off

Melihat isi file vsftpd.conf pada directory /etc/vsftpd/


[root@resty etc]# cd vsftpd
[root@resty vsftpd]# ls
vsftpd.conf
[root@resty vsftpd]# vi vsftpd.conf
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd
options.
# Please read the vsftpd.conf.5 manual page to get a full idea of
vsftpd's
# capabilities.
#
# Allow anonymous FTP? (Beware - allowed by default if you comment
this out).
anonymous_enable=YES
#
# 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
#
# Uncomment this to allow the anonymous FTP user to upload files.
This only
# has an effect if the above global write enable is activated.
Also, you will
# obviously need to create a directory writable by the FTP user.
#anon_upload_enable=YES
#
"vsftpd.conf" 110L, 4144C 28,1
5%

Selanjutnya melihat isi file /etc/vsftpd.ftpusers


[root@resty etc]# vi vsftpd.ftpusers
# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
~
~
"vsftpd.ftpusers" 15L, 125C 1,1
All

c. Menjalankan vsFTPD
Menjalankan vsFTPD
[root@resty ~]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]

Merestart vsFTPD
[root@resty ~]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]

Menghentikan vsFTPD
[root@resty ~]# service vsftpd stop
Shutting down vsftpd: [ OK ]

Koneksi dengan FTP dari dalam server dan menjalankan beberapa perintah dalam
shell FTP setelah berhasil login.
[root@resty ~]# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.0.1)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): resty
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

Melihat isi direktori beserta tanggapan yang diberikan.


ftp> ls
227 Entering Passive Mode (127,0,0,1,73,79)
150 Here comes the directory listing.
drwxr-xr-x 2 500 502 4096 Jan 06 01:47 Desktop
226 Directory send OK.

ftp> help
Commands may be abbreviated. Commands are:
! cr mdir proxy send
$ delete mget sendport site
account debug mkdir put size
append dir mls pwd status
ascii disconnect mode quit struct
bell form modtime quote system
binary get mput recv sunique
bye glob newer reget tenex
case hash nmap rstatus trace
ccc help nlist rhelp type
cd idle ntrans rename user
cdup image open reset umask
chmod lcd passive restart verbose
clear ls private rmdir ?
close macdef prompt runique
cprotect mdelete protect safe

ftp> help put


put send one file
ftp> help get
get receive file
ftp> help mkdir
mkdir make directory on the remote machine

ftp> mkdir data


257 "/home/resty/data" created

Upload file
ftp> put resty.txt
local: resty.txt remote: resty.txt
227 Entering Passive Mode (127,0,0,1,86,4)
150 Ok to send data.
226 File receive OK.
37 bytes sent in 0.00013 seconds (2.9e+02 Kbytes/s)
Download file
ftp> get pipit.txt
local: pipit.txt
.txt remote: pipit.txt
227 Entering Passive Mode (127,0,0,1,208,137)
150 Opening BINARY mode data connection for pipit.txt
.txt (37 bytes).
226 File send OK.
37 bytes received in 5.6e
5.6e-05 seconds (6.5e+02 Kbytes/s)

Memutuskan koneksi FTP


ftp> bye
221 Goodbye.
Misalnya file yang akan di upload terletak di dir /root

Setelah di upload maka file ootomatis masuk ke dir /home/resty


Menghubungi server FTP menggunakan nama user dan password pada localhost.
Pertama kali diminta untuk memasukkan password seperti pada dialog berikut

Setelah berhasil Login, browser akan menampilakan isi direktori yang terdapat pada
server sebagai berikut.
d. Server FTP Anonymous
Pada file konfigurasi /etc/vsftpd.conf perlu diubah menjadi :
[root@resty ~]# cd /etc
[root@resty etc]# vi vsftpd.conf
ServerName "vsftpd Default Instalation"
ServerType standalone
DefaultServer on
AllowStoreRestart on
Port 21
Umask 022
MaxInstances 30
User nobody
Group nogroup
<Directory /*>
AllowOverWrite on
</Directory>
PersistentPasswd off
<Anonymous /var/ftp>

Requirevalidshell off
User ftp
Group ftp
UserAlias anonymous ftp

MaxClient 50 baris perintah tambahan

</Limit WRITE>
DenyAll
<Limit>
</Anonymous>

Reload vsFTP
[root@resty ~]# service vsftpd reload
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]

Cara melakukan koneksi FTP anonymous


[root@resty ~]# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.0.1)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

Untuk melihat isi direktori


ftp> ls
227 Entering Passive Mode (127,0,0,1,73,67)
150 Here comes the directory listing.
drwxr-xr-x
x 2 0 0 4096 Oct 04 2004 pub
226 Directory send OK.

Untuk memutuskan koneksi FTP anonymous


ftp> bye
221 Goodbye.

Tampilan koneksi FTP anonymous dengan web browser

e. Server FTP Virtual


Setting IP address alias
[root@resty ~]# ifconfig eth0 172.16.10.1
172.16.10.18 netmask 255.255.0.0
[root@resty ~]# ifconfig eth0:1 172.16.20.1
172.16.20.18 netmask 255.255.0.0
[root@resty ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:11:09:71:C2:AB
inet addr:172.16.10.18 Bcast:172.16.255.255 Mask:255.255.0.0
inet6 addr: fe80::211:9ff:fe71:c2ab/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:2352 (2.2 KiB)
Interrupt:11 Base address:0x2000

eth0:1 Link encap:Ethernet HWaddr 00:11:09:71:C2:AB


inet addr:172.16.20.18 Bcast:172.16.255.255 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:11 Base address:0x2000

lo Link encap:Local Loopback


inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1889 errors:0 dropped:0 overruns:0 frame:0
TX packets:1889 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1707493 (1.6 MiB) TX bytes:1707493 (1.6 MiB)

Melihat isi file /etc/vsftpd.conf


[root@resty ~]# cd /etc
[root@resty etc]# vi vsftpd.conf
ServerName "vsftpd Default Instalation"
ServerType standalone
DefaultServer on
AllowStoreRestart on
Port 21
Umask 022
MaxInstances 30
User nobody
Group nogroup
<Directory /*>
AllowOverWrite on
</Directory>
PersistentPasswd off

<Anonymous /var/ftp>
Requirevalidshell off
User ftp
Group ftp
UserAlias anonymous ftp

MaxClient 50

</Limit WRITE>
DenyAll
<Limit>
</Anonymous>

<Virtual 172.16.10.18>
ServerName "ftp.restycintadaniel.net"
IdentLookups off
<Anonymous var/ftpl>
RequireValidShell off
User ftp
Group ftp
<Limit WRITE>
DenyAll
</Limit>
</Anonymous>
</VirtualHost>
baris perintah tambahan
<Virtual 172.16.20.18>
ServerName "ftp. Restycintadaniel1.net"
IdentLookups off
<Anonymous /var/ftp2>
RequireValidShell off
User ftp
Group ftp
<Limit WRITE>
DenyAll
</Limit>
</Anonymous>
</VirtualHost>
Reload vsFTP
[root@resty ~]# service vsftpd reload
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]

Melakukan koneksi FTP pada masing-masing alamat IP


[root@resty ~]# ftp 172.16.10.18
Connected to 172.16.10.18.
220 vsFTPd 2.0.1 Server (ftp. restycintadaniel.net) (172.16.10.18)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (172.16.10.18:root): resty
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

ftp> bye
221 Goodbye.

[root@resty ~]# ftp 172.16.20.18


Connected to 172.16.20.18.
220 vsFTPd 2.0.1 Server (ftp. Restycintadaniel1.net) (172.16.20.18)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (172.16.20.18:root): resty
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

ftp> bye
221 Goodbye.
f. Aplikasi gFTP
Langkah-langkah
langkah instalasi gFTP :
1. Klik Applications  System Setting  Add/Remove Applications

2. Tandai pada bagian


agian Graphical Internet lalu klik Details
3. Tandai pada gftp-A
A multi
multi-threaded
threaded FTP client for the X Window System
4. Klik Close
5. Klik Update
6. Setelah instalasi selesai klik Quit

Untuk melihat tampilan gFTP :


1. Klik Application  Internet  gFTP

2. Isikan Host, User,


er, Password
3. Klik pada icon komputer di sebelah kiri Host

IV. PERTANYAAN
Sebutkan beberapa server FTP lain dan bandingkan ProFTPD dengan server FTP
tersebut
Jawab :

V. KESIMPULAN

Anda mungkin juga menyukai