Konfigurasi FTP server menggunakan Ubuntu Server

File Transfer Protocol (FTP) adalah suatu protokol yang berfungsi untuk tukar-menukar file dalam suatu network yang menggunakan TCP koneksi bukan UDP. Dua hal yang penting dalam FTP adalah FTP Server dan FTP Client. FTP server adalah suatu server yang menjalankan software yang berfungsi untuk memberikan layanan tukar menukar file dimana server tersebut selalu siap memberikan layanan FTP apabila mendapat permintaan (request) dari FTP client.


Instalasi FTP Server

Pertama lakukan penginstallan Software FTPnya, Pada kali ini saya menggunakan proftpd. Untuk menginstallnya ketikan perintah berikut di terminal :

Jika penginstalan telah setelah langkah berikutnya adalah melakukan konfigurasi beberapa file. Ada beberapa file yang akan kita edit, yaitu :

1. /etc/proftpd/proftpd.conf
2. /home/ftp = merupakan tempat dimana file/data disimpan untuk private ftp



Konfigurasi Private FTP Server

Pada terminal ketikan perintah berikut :
nano /etc/proftpd/proftpd.conf
kemudian akan muncul isi file dari proftpd.conf seperti berikut :



Selanjutnya kita edit beberapa settingan yang ada, seperti :
  1. UseIpv6 on > off
  2. ServerName “debian” > “nama_server_name_ftp_anda”
  3. Aktifkan DefaultRoot dan isikan tempat untuk menaruh file/data. Karena kita tadi sudah sepakat membuatnya di /home/ftp maka tuliskan itu di defaultroot

Contoh :



Setelah itu save dengan cara yang sama

Kemudian kita akan membuat file yaitu /home/ftp, pada terminal ketikan perintah berikut :
mkdir /home/ftp



setelah itu kita masuk kedalam direkroti /home/ftp, kita akan membuat beberapa folder dan file didalam direktori tersebut, berikut contohnya :

Kalau sudah semuanya, sekarang kita restart paket proftpdnya dengan perintah :
/etc/init.d/proftpd restart


Pengecekan Konfigurasi Private FTP di Client

Untuk settingan IP pada client tidak berubah masih sama dengan sewaktu kita mengkonfigurasi DNS.
Langsung saja kita buka browsernya dan ketikan server name ftp di url, berikut contohnya :




Kemudian enter untuk melakukan request ke ftp server. Pada saat request pasti kalian akan diminta untuk memasukan user dan password. Untuk mengisi form tersebut isikan saja user dan pass sewaktu kalian login di Ubuntu server.




tekan OK, lalu akan muncul tampilan seperti berikut :




Apabila tampilan kalian muncul seperti itu berarti konfigurasi kalian telah berhasil.


Konfigurasi PROXY Server menggunakan Ubuntu Server

Proxy server adalah sebuah komputer server atau program komputer yang dapat bertindak sebagai komputer lainnya untuk melakukan request terhadap content dari Internet atau intranet. 

Instalasi Proxy Server
Aplikasi yang akan digunakan untuk membuat proxy server adalah squid, untuk menginstallnya pada terminal ketikan perintah berikut :



Konfigurasi Proxy Server

Jika penginstalan telah setelah langkah berikutnya adalah melakukan konfigurasi beberapa file. Ada beberapa file yang akan kita edit, yaitu :
  • /etc/squid3/squid.conf
  • /etc/squid3/url à merupakan file buatan untuk menaruh website yang akan di blokir
  • /etc/squid3/key à merupakan file buatan untuk menaruh keyword yang akan di blokir


Konfigurasi File squid.conf

Pertama kita akan mengkonfigurasi file squid.conf terlebih dahulu, pada terminal ketikan perintah berikut :
nano /etc/squid3/squid.conf
maka akan muncul tampilan berikut :



Lalu cari kata “http_port 3128” dengan menggunakan ctrl+w, dan kemudian edit hingga menjadi seperti berikut :



Lalu cari kata “acl CONNECT” dan tambahkan script berikut tepat dibawah nya :



Lalu save file squid.conf


Konfigurasi File url dan File key

Setelah kita mengedit file squid.conf nya, sekarang kita akan membuat file dengan nama url dan key. File tersebut berfungsi untuk menaruh web-web apa saja yang akan kita blokir dan keyword apa saja yang akan kita blokir. berikut contohnya :


Isikan nama website yang akan di blokir


Lalu save file url



Masukan kata kunci yang akan di blokir



Lalu save file key

Konfigurasi IPTABLES

Kita akan mengkonfigurasi sedikit iptables untuk meng redirect dari port 80 ke port 3128, berikut contohnya :




Setelah semua file kita edit sekarang restart paket squidnya
/etc/init.d/squid3 restart


Pengujian di Komputer Client

Kita akan melakukan pengujian di computer client, proxy server akan menjadi transparent apabila ada koneksi ke internet. Apabila tidak ada seperti kita melakukannya pada ruang lingkup LAN maka kita akan menggunakan manual proxy.

Pertama kita akan melakukan setting proxy terlebih dahulu di browser, disini saya menggunakan browser Mozilla firefox, berikut contohnya :
1. Tools > options > advance > network > settings
2. Edit seperti gambar di bawah ini :




3. Klik OK

Jika berhasil maka jika Anda ketik nama website atau kata kunci yang kalian blokir di url browser maka akan muncul tampilan seperti ini :


Konfigurasi DNS Server menggunakan Ubuntu Server

Langkah pertama yang harus dilakukan adalah install aplikasi yang akan kita gunakan untuk mengkonfigurasi DNS server. Disini kita akan menggunakan aplikasi bernama BIND9. Jika penginstalan telah setelah langkah berikutnya adalah melakukan konfigurasi beberapa file. 

File yang dikonfigurasi antara lain : 

1.    /etc/network/interfaces
2.    /etc/resolv.conf
3.    /etc/bind/named.conf.options
4.    /etc/bind/named.conf.local
5.    /etc/bind/nama_domain.zone
6.    /etc/bind/nama_domain.rev


Konfigurasi /etc/network/interfaces


Pada file ini kita akan mengubah IP address, Netmask, Gateway, dan dns-nameserver. Berikut langkahnya.

Pada terminal ketikan :
nano /etc/network/interfaces
maka akan muncul tampilan seperti berikut :

Kemudian masukan IP address, Netmask, Gateway, dan dns-nameserver, berikut contohnya :

Jika sudah maka simpan/save dengan menekan tombol Ctrl+x + y + enter.


Konfigurasi /etc/resolv.conf

Pada file ini kita akan mengisikan nama domain dan alamat dns-nameserver, Berikut langkahnya.
Pada terminal ketikan :
nano /etc/resolv.conf
maka akan muncul tampilan seperti berikut : 


Kemudian isikan nama domain dan alamat dns-nameserver, berikut contohnya :

Selanjutnya save dan restart dengan menekan tombol :
Ctrl+x 
à y à enter
# /etc/init.d/networking restart


Konfigurasi /etc/bind/named.conf.options

Pada file ini kita akan mengubah forwaders menjadi aktif, dan ubah juga 0.0.0.0 menjadi alamt IP dns-nameserver.  Berikut langkahnya.
Pada terminal ketikan :
nano /etc/bind/named.conf.options
maka akan muncul tampilan seperti berikut :

ubah forwaders menjadi aktif, dan ubah juga 0.0.0.0 menjadi alamt IP dns-nameserver. Berikut contohnya :

Kemudian save dengan menekan tombol :
Ctrl+x 
à y à enter


Konfigurasi /etc/bind/named.conf.local

Pada file ini kita akan memasukan zone domain dan zone ip address dns-nameservernya. Berikut langkahnya.
Pada terminal ketikan :
nano /etc/bind/named.conf.local
maka akan muncul tampilan seperti berikut :


Kemudian masukan zone domain dan zone ip address dns-nameservernya, berikut contohnya :


Kemudian save dengan cara yang sama.



Membuat File .zone dan File .rev

Untuk membuat file .zone dan .rev, kita harus pindah direktori bind dengan mengetikan :
cd /etc/bind
maka tampilan terminal kita akan berubah ke direktori bind, lalu copy file db.local menjadi file .zone dan file .rev, 


Konfigurasi file .zone

Pada file ini, kita akan ubah “localhost” menjadi nama domain kita, dan ubah tatanan IN. Selengkapnya akan dijelas dibawah ini. 

Pada terminal ketikan :
nano snsd.zone
maka akan muncul tampilan seperti berikut :


Jika sudah lalu ubah “localhost” menjadi nama domain kita, dan ubah tatanan IN menjadi seperti berikut :


Kemudian save dengan cara yang sama.
Keterangan :

IN        = internet
A        = address
CNAME    = nama alias/canonical name


Konfigurasi file .rev

Pada file ini sama seperti konfigurasi file .zone, kita akan ubah “localhost” menjadi nama domain kita, dan ubah tatanan IN. Selengkapnya akan dijelas dibawah ini. 

Pada terminal ketikan :
nano snsd.rev
maka akan muncul tampilan seperti berikut :


lalu kita ubah “localhost” menjadi nama domain dan ubah tatanan komponen IN, berikut contohnya :


Kemudian save dengan cara yang sama. Selanjutnya restart pake bind9 dengan pertintah :
/etc/init.d/bind9 restart


Pengujian Konfigurasi DNS

Untuk mengetahui apakah konfigurasi DNS yang kita buat sudah berhasil atau belum, kita bisa menggunakan perintah nslookup ke alamat domain yang kita buat atau dengan 
Pengujian Konfigurasi DNS di Komputer Client. Untuk pengujian pada komputer client, berawal dari kita setting IP address yang ada di computer client. Untuk gateway dan DNS isikan dengan alamat IP dari server Ubuntu yang telah kita buat sebelumnya. Kemudian buka browser dan ketikan nama domain yang telah kita buat, Sekarang coba ketikan sub domain seperti www.snsd.com, mail.snsd.com, ftp.snsd.com. Apabila muncul tulisan it works maka konfigurasi DNS berjalan dengan semestinya. Selamat konfigurasi DNS telah berhasil.

Get IP, get name, IP to Name, NsLookup, dan Aplikasi Client - Server Pada Java

Menampilkan IP 


Untuk dapat menampilkan output seperti diatas dapat menggunakan source code dibawah ini :


Logika :
Source code diatas untuk menampilkan IP address dari PC. InetAddress host = null artinya terdapat object InetAddress yang bernilai kosong/null, host = InetAddress.getLocalHost(); artinya perintah InetAddress.getLocalHost(); ini untuk mengambil IP dari local host lalu disimpan dengan variabel host. byte ip[] = host.getAddress(); artinya host.getAddress(); untuk mengambil IP address lalu disimpan dengan variabel ip berbentuk array dan bertipe data byte. lalu Terdapat perulangan untuk dikoreksi untuk dicetak.

Menampilkan Nama PC


Untuk dapat menampilkan output seperti diatas dapat menggunakan source code dibawah ini :


Logika :
Source code diatas untuk menampilkan IP address dari PC. InetAddress host = null artinya terdapat object InetAddress yang bernilai kosong/null, host = InetAddress.getLocalHost(); artinya perintah InetAddress.getLocalHost(); ini untuk mengambil IP dari local host lalu disimpan dengan variabel host. host.getHostName(); untuk mengambil nama host lalu dicetak.

Menampilkan Nama PC berdasarkan IP Address

Logika :
Source code diatas untuk menampilkan Nama PC saat kita sudah mengetahui IPnya. Pada program ini terdapat percabangan if untuk mengecek panjang array pada fungsi utama jika sama dengan 0 maka program akan mencetak "pemakaian : java IPtoName <IP address>". Program akan keluar/dimatikan dan mendeklarasikan kembali nilai variabel host yaitu array 0 dan untuk variabel address pada object InetAddress bernilai null. Pada program ini juga terdapat try dan catch. Jika terdapat kesalahan maka program akan mencetak Invalid IP - malformed IP dan program akan keluar/dimatikan. Namun jika tidak ditemukan kesalahan maka program akan mencetak nama komputer user. 

Berikut Outputnya :

Menampilkan IP Address berdasarkan Nama PC

Logika : 
Source code diatas untuk menampilkan IP saat kita sudah mengetahui Nama PCnya. Pada program ini terdapat percabangan if untuk mengecek panjang array pada fungsi utama jika sama dengan 0 maka program akan mencetak "pemakaian : java NsLookup <hostname>". Program akan keluar/dimatikan dan mendeklarasikan kembali nilai variabel host yaitu array 0 dan untuk variabel address pada object InetAddress bernilai null. Pada program ini juga terdapat try dan catch. Jika terdapat kesalahan maka program akan mencetak Unknown host dan program akan keluar/dimatikan. Namun jika tidak ditemukan kesalahan maka program akan mencetak IP Address. 

Berikut Outputnya : 

Aplikasi Client-Server pada Java


Logika : 
Source code diatas adalah untuk membuat aplikasi sederhana server dan client. Pertama jalankan simpleServer.java lalu tunggu beberapa detik hingga muncul tulisan Aplikasi Server hidup.. Lalu running simpleClient.java jika sudah tulis "salam" jangan yang lain karena jika menulis selain salam maka si Server akan menampilkan Saya gustav. Jika benar maka si Server akan menuliskan salam.
Berikut outputnya :