Rabu, 31 Mei 2017

KONFIGURASI MAIL, WEB, PROXY SERVER


Kofigurasi Mail
Cara kerja Email
seperti halnya pada saat kita hendak mengirim surat konvensional. dalam proses pengiriman email terdapat serangkaian prosedur yang harus ditempuh oleh surat agar sampai kepada tujuannya. secara umum terdapat dua protokol yang berperan penting dalam proses pengiriman dan penerimaan email.
SMTP (Simple Mail Transfer Protocol)
SMTP adalah sebuah standar protokol yang digunakan oleh email untuk proses pengiriman email. SMTP dapat kita ilustrasikan seperti halnya kantor pos yang bertugas untuk mengirimkan surat.

POP3 (Post Office Protocol version 3)
POP3 adalah sebuah standar protokol yang dapat digunakan oleh client untuk mengambil email dari SMTP server. Ketika kita melakukan pengiriman email, email yang kita kirim akan di teruskan ke SMTP server. Kemudian, SMTP server akan meneruskan kembali email yang di kirimkan oleh klien ke alamat Mail server yang dituju. Kemudian POP3 akan bertugas untuk mengambilkan email yang dikirim oleh pengirim email di mail server.

Instalasi email server
  • Install paket postfix yang akan berfungsi sebagai SMTP server. ketikkan perintah #apt-get install postfix kurang lebih hasilnya akan menjadi seperti ini.

  • Mail Server Postfix : instalasi postfix
Install paket Dovecot yang akan berfungsi sebagai pop3. ketikkan perintah #apt-get install dovecot-imapd dovecot-pop3d kurang lebih hasilnya akan menjadi seperti ini.


Kofigurasi Proxy Server


  •        Pengertian Proxy
Proxy server adalah adalah sebuah komputer server atau program komputer yang dapat bertindak sebagai komputer lainnya untuk melakukan request terhadap content dari Internet atau intranet.
  •  Cara Kerja Proxy
Cara kerja proxy server adalah client yang tersambung dengan proxy server dan meminta layanan tertentu seperti file, koneksi, akses web page, ataupun lainnya. Proxy server yang digunakan akan mengevaluasi permintaan layanan tersebut sesuai dengan aturan filternya. Sebagai contoh, proxy server dapat menyaring traffic berdasarkan IP (Internet Protocol) address. Jika permintaan itu divalidasi oleh fiternya, maka proxy akan menyediakan apa yang diminta dengan menyambung ke server yang diminta dan meminta layanan dari server tersebut untuk clientnya.
  • Konfigurasi Proxy
1.      Pertama kita install paket Squidnya

#apt-get install squid
2.      Setelah melakukan penginstalan kita masuk ke file squid.conf dengan perintah :

#nano /etc/squid/squid.conf

Lalu perintah selanjutnya kita harus mencari dan mengedit konfigurasi didalam sqiud.conf biar mudah anda dapat menekan ctrl+w (search/where is) cari tulisan dubawah ini dan diedit sesuai dengan perintah yang saya berikan.

Code:
- http_port 3128                        ( tambahkan tulisan 'transparent' di belakangnya )
- cache_mem 8 mb                    ( hilangkan tanda pagar didepannya dan angka delapan diganti dengan 64 mb )    
- cache_swap_low 90                ( hilangkan tanda pagar didepannya )
- cache_swap_high 95               ( hilangkan tanda pagar didepannya )
- cache_mgr admin@proxy       ( hapus tanda pagar didepannya, dan ditambahkan  admin@(domain kamu)               menjadi cache_mgr admin@(domain kamu) )
- visible_hostname                     ( dan cari tulisan '# none' dibawahnya, lalu dihapus dan di tulis visible_hostname        proxy@(domain kamu)
3.      Cari tulisan acl CONNECT (ditambahkan dibawahnya)

Code:
- acl blacklist url_regex -i "/etc/squid/blacklist.txt"      ( letak file blacklist )
- acl url dstdomain "/etc/squid/url.txt"                           ( letak file url.txt )
- acl lan src 192.168.10.0/24                                          ( ip ini disesuaikan dengan ip lan yang akan berhubungan                                               dengan client )
- http_access deny blacklist
- http_access deny url
- http_access allow lan
lalu save konfigurasi dengan menekan ctrl+o (enter) ctrl+x (enter) lalu buat file
--- -blacklist.txt & url.txt dengan perintah
4.      Buka file blacklist dan url

#nano /etc/squid/blacklist.txt

( masukan tulisan yang akan diblokir misal "facebook"

#nano /etc/squid/url.txt

( masukan domain yang akan diblokir misalnya "kaskus.co.id"
5.      Lalu restart paket squid dengan perintah

#/etc/init.d/squid restart

untuk melihat settingan squid sudah benar atau belum kita dapat mengetikan perintah

#squid -z

(jika muncul "Creating Swap Directori" maka konfigurasi squid telah selesai. Jalan kembali pake squid dengan perintah
6.      Lalu konfigurasi iptables pada rc.local untuk memforward port 80 ke port squid 3128, dengan perintah:

# nano /etc/rc.local

iptables -t nat -A PREROUTING -p tcp -d 0/0 --dport 80 -j REDIRECT --to-ports 3128

 Kofigurasi Web

cara konfigurasi web server.
1. Karena kita akan menggunakan web server apache, maka install paket apache terlebih dahulu.
root@debian:~# apt-get install apache2

Konfigurasi Web Server Debian 8 (1)
Selanjutnya tekan "Y" untuk melanjutkan ke direktori /var/www.
root@debian:~# cd /var/www
Buat file html untuk index web.
root@debian:/var/www# nano index.html

Konfigurasi Web Server Debian 8 (2)
Buat html sederhana, lalu save, pindah ke direktori sites-enabled apache2.
root@debian:/var/www# cd /etc/apache2/sites-enabled
Edit file default yang ada.
root@debian:/etc/apache2/sites-enabled# nano 000-default.conf

Konfigurasi Web Server Debian 8 (3)
Tambahkan script di paling bawah seperti diatas, lalu save, setelah itu restart apachenya.
root@debian:/etc/apache2/sites-enabled# /etc/init.d/apache2 restart

Senin, 22 Mei 2017

KONFIGURASI DNS SERVER PADA DEBIAN 8


Dalam melakukan pengkonfigurasi pada debian 8, maka dapat melakukan dengan langkah-langkah berikut:

1.      Install paket bind9
root@debian:~# apt-get install bind9

2.      Tahap berikutnya kita tekan “Y” untuk meneruskan

3.      Kita pindahkan ke direktori bind untuk memudahkan dalam melakukan pengkonfigurasi
root@debian:~# cd /etc/bind

4.      Edit file named.conf.local
root@debian:/etc/bind# nano named.conf.local

5.      Kita setting lalu di save

6.      Copy file db.local menjadi db.iqbal dan db.255 menjadi db.192
root@debian:/etc/bind# cp db.local db.iqbal
root@debian:/etc/bind# cp db.255 db.192

7.      Edit file hasil copy dari db.local
root@debian:/etc/bind# nano db.iqbal

8.      Edit file hasil copy dari db.255
root@debian:/etc/bind# nano db.192

9.      Edit file resolv.conf
root@debian:/etc/bind# nano /etc/resolv.conf

10.  Masuk ke IP DNS lalu save dan restart bind9
root@debian:/etc/bind# /etc/init.d/bind9 restart

11.  Cek dengan nslookup

KONFIGURASI FTP SERVER PADA DEBIAN 8


Dalam melakukan pengkonfigurasi pada debian 8, maka dapat melakukan dengan langkah-langkah berikut:

1.      Install paket FTP Server
root@debian:~# apt-get install proftpd

2.      Tahap berikutnya kita tekan “Y” untuk meneruskan
3.      Pilih standalone

4.      Kita mengedit file proftpd.conf
root@debian:~# nano /etc/proftpd/proftpd.conf

5.      Kita ubah servername domainnya

6.      Masukkan username dan password

7.      Selanjutnya kita restart FTP
root@debian:~# /etc/init.d/proftpd restart
8.      Kita lakukan uji coba pada komputer client, dengan cara cmd dan ketikkan ftp.faniriski.net (kita samakan)
9.      Masukkan username dan password
10.  Maka setelah itu akan muncul direktori pada debian

Jumat, 12 Mei 2017

Pemograman Jaringan: 5. Membangun Aplikasi Client-Server TCP Sederhana

Pemograman Jaringan "Membangun Aplikasi Client-Server TCP Sederhana"

import java.io.*;
import java.net.*;
public class simpleServer {
    public final static int TESTPORT = 5000;
    public static void main(String args[]) {
        ServerSocket checkServer = null;
        String line;
        BufferedReader is = null;
        DataOutputStream os = null;
        Socket clientSocket = null;
            try {
                checkServer = new ServerSocket(TESTPORT);
                System.out.println("Aplikasi Server hidup ...");
            } catch (IOException e) {
                System.out.println(e);
            }
            try {
                clientSocket = checkServer.accept();
                is = new BufferedReader(new
                InputStreamReader(clientSocket.getInputStream()));
                os = new DataOutputStream(clientSocket.getOutputStream());
            } catch (Exception ei) {
                ei.printStackTrace();
            }
            try {
                line = is.readLine();
                System.out.println("Terima : " + line);
            if (line.compareTo("salam") == 0) {
                os.writeBytes("salam juga");
            } else {
                os.writeBytes("Maaf, saya tidak mengerti");
            }
            } catch (IOException e) {
                System.out.println(e);
            }

            try {
            os.close();
            is.close();
            clientSocket.close();
            } catch (IOException ic) {
            ic.printStackTrace();
            }
    }

}

Logika Program;

"simpleServer.java"

Program ini berfungsi sebagai server. Untuk bisa menggunakan method yang berhubungan dengan jaringan (network), maka library untuk network di-import terlebih dahulu dengan menggunakan perintah import java.net.*. Pada aplikasi ini juga terdapat perintah untuk meminta masukkan dari user, maka untuk menggunakan perintah yang berhubungan dengan input-output, maka package java.io.* di-import terlebih dahulu. Aplikasi ini di-compile terlebih dahulu. Kemudian akan menunggu pesan dan koneksi dari program client. Jika client berhasil mengirimkan pesannya, kemudian server akan mencetak pesan, lalu server akan langsung menutup koneksi dan program akan berhenti. Pesan yang akan dicetak adalah kata kunci “salam” yang disimpan pada variabel “line”, jika pesan yang dikirim sesuai, maka program pada client akan mencetak “salam juga”, tetapi jika tidak sesuai maka program pada client akan mencetak “Maaf, saya tidak mengerti”.

import java.io.*;
import java.net.*;
public class simpleClient {
    public final static int REMOTE_PORT = 5000;
    public static void main(String args[]) throws Exception {
        Socket cl = null;
        BufferedReader is = null;
        DataOutputStream os = null;
        BufferedReader stdin = new BufferedReader(new
        InputStreamReader(System.in));
        String userInput = null;
        String output = null;
// Membuka koneksi ke server pada port REMOTE_PORT
        try {
            cl = new Socket(args[0], REMOTE_PORT);
            is = new BufferedReader(new
            InputStreamReader(cl.getInputStream()));
            os = new DataOutputStream(cl.getOutputStream());
        } catch(UnknownHostException e1) {
            System.out.println("Unknown Host: " + e1);
        } catch (IOException e2) {
            System.out.println("Erorr io: " + e2);
        }
// Menulis ke server
        try {
            System.out.print("Masukkan kata kunci: ");
        userInput = stdin.readLine();
        os.writeBytes(userInput + "\n");
        } catch (IOException ex) {
        System.out.println("Error writing to server..." + ex);
        }
// Menerima tanggapan dari server
        try {
            output = is.readLine();
            System.out.println("Dari server: " + output);
        } catch (IOException e) {
        e.printStackTrace();
        }
    // close input stream, output stream dan koneksi
        try {
        is.close();
        os.close();
        cl.close();
        } catch (IOException x) {
        System.out.println("Error writing...." + x);
        }
    }
}

Logika Program;

"simpleClient.java"

Program ini berfungsi sebagai client. Untuk bisa menggunakan method yang berhubungan dengan jaringan (network), maka library untuk network di-import terlebih dahulu dengan menggunakan perintah import java.net.*. Pada aplikasi ini juga terdapat perintah untuk meminta masukkan dari user, maka untuk menggunakan perintah yang berhubungan dengan input-output, maka package java.io.* di-import terlebih dahulu. Aplikasi ini di-compile setelah server dan pastikan server sedang berjalan. Program ini akan meminta kata kunci yang telah ditetapkan pada program client. Kemudia akan mencetak “Dari server:” diikuti dengan “salam juga” maupun “Maaf, saya tidak mengerti”, tergantung dari masukkan dari user. Jika pesan dari server sudah dicetak, maka koneksi akan terputus dan program akan terhenti.

Output Program;






Pemograman Jaringan: 4. NsLookup.java

Pemograman Jaringan: 4. NsLookup.java


import java.net.*;
public class NsLookup {
    public static void main(String args[]) {
        if (args.length == 0) {
            System.out.println("Pemakaian: java NsLookup <hostname>");
            System.exit(0);
        }
    String host = args[0];
    InetAddress address = null;
    try {
        address = InetAddress.getByName(host);
    } catch(UnknownHostException e) {
        System.out.println("Unknown host");
        System.exit(0);
    }
    byte[] ip = address.getAddress();
        for (int i=0; i<ip.length; i++) {
            if (i > 0) System.out.print(".");
            System.out.print((ip[i]) & 0xff);
        }
    System.out.println();
    }
}


Logika Program;

NsLookup.java berfungsi untuk mengetahui IP Address dengan cara menginput nama host pada saat menjalankan program. Pada saat user menginput nama host, maka akan langsung menampilkan IP Address atau yang dimaksud method getAddress(). setelah itu apabila host salah atau belum terdaftar akan mencetak "Unknown Host".

Sumber:

http://achsan.staff.gunadarma.ac.id/Downloads/files/42647/Nslookup.txt