Pages

16 April 2013

Jaringan Komputer - Laporan Pendahuluan

-->
SOAL PENDAHULUAN MODUL 2



WEB SERVER & WEB CACHE/PROXY SERVER

  1. Apa yang dimaksud dengan web server? Jelaskan fitur-fitur standrad yang dimiliki web server dan beri contoh web server!
  2. Apa yang kamu ketahui tentang proxy server? Jelaskan tentang squid proxy!
  3. Buat diagram cara kerja web server dan proxy!
  4. Tuliskan syntax dasar membuat host, router, server, dan switch pada UML!
  5. Install apache pada linux Anda dan lakukan konfigurasi sehingga bisa berjalan dan bisa membuka PHP info pada browser!
  6. Install dan konfigurasi squid proxy pada linux Anda sehingga tidak dapat digunakan untuk mengunduh file mp3, wmv dan avi dan bandwidth dibatasi hanya 10Kbps!
  7. Apa yang dimaksud dengan forward proxy, reverse proxy, dan open proxy?
  8. Apa yang dimaksud dengan normal proxy, intercept proxy, dan transparent proxy?

15 April 2013

Jaringan Komputer - Web Server (Apache)


1. Buatlah routing sederhana yang terdiri atas client, router dan DMZ

2. Install apache,mySQL, phpmyadmin pada DMZ

3. DMZ akan digunakan sebagai Web Server. Terdapat 2 buah website yang ditangani oleh web server ini yaitu ip_anda:80, ip_anda:8080. Kemudian pada website ip_anda:80 terdapat subdirektori /admin yang mana sebenarnya file-filenya terletak di /home/admin, berbeda dengan file-file lain yang terletak di /var/www.Ketika mengakses ip_anda:8080 user harus menginputkan username dan password (menggunakan .htaccess) Semua website tidak boleh menampilkan list direktori. Jadi jika tidak ada file index (index.html, index.php, default.asp) maka daftar file dan subdirektori yang ada tidak akan tampil. Ketika kita mengakses ip_anda:80/example maka akan diarahkan ke ip_anda:80/example/example.html

4. Umumnya file yang diakses http://www.something.com adalah file index.html atau index.php di folder htdocs (windows) atau di /var/www/html (linux). Nah, ada kalanya kita sebagai pemilik web server tersebut berkeinginan untuk memberikan fasilitas kepada user yakni berupa homepage mereka. Buatlah konfigurasi web server agar memiliki fasilitas homepagenya sendiri (mod_userdir)
5. Buatlah configurasi webserver agar dapat menggunakan SSL pada Apache HTTP Server anda dengan studi kasus :  self-signed-certificate..
6. Lakukan configurasi untuk mengoptimasi Apache dengan asums: guaranteed RAM (RAM yang pasti tersedia untuk apache) sebesar 8 MB

Jaringan Komputer - Web Proxy (Squid)

Soal Proxy Modul 2

Tambahlah satu host lagi untuk melakukan percobaan dengan subnet yang sama.

  1. Salah satu server DMZ akan digunakan sebagai proxy server. Sehingga user-user pada jaringan anda untuk mengakses internet akan menggunakan proxy.
  2. IP salah satu host memiliki kecepatan download maksimal 10 kbps dan IP lainnya memiliki kecepatan download maksimal 20 kbps sebelum jam 14.00 dan kedua IP memiliki kecepatan download maksimal sebesar 30 kbps setelah jam 14.00 atau hari libur(Sabtu,Minggu).
  3. Buatlah setting tambahan agar IP dari host 1(client) tidak dapat melakukan download file : pdf, mp3,doc.
  4. Rubahlah agar IP dari host 1(client) memiliki maksimal kecepatan download sebesar 20 kbps file : pdf, mp3,doc.
  5. Batasi hanya ada 2 buah koneksi secara bersamaan pada tiap host.
  6. Bisa menjelaskan 5 poin mengenai log squid


Membuat Web Server Sedehana dengan Java

Pada posting kali ini saya akan membuat sesatu sesuai judul. Ya, web server sederhana. Dikatakan sederhana karena web server hanya sebatas mengirimkan balasan HTML kepada browser saat browser mengunjungi localhost dengan IP yang nantinya kita tentukan.

Berikut code untuk program main-nya:

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

/**
 *
 * @author ASUS A43B
 */
public class JavaWebServer {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws FileNotFoundException, IOException {
        // TODO code application logic here
        // Instansiasi kelas yang telah kita buat
        WebServer ws = new WebServer();
        ws.start();
    }
}

Berikut code kelas yang akan menjalankan fungsi web server nya:

package javawebserver;
// BufferedReader merupakan class bawaan JDK yg berfungsi untuk memberikan input dan output pada program
import java.io.BufferedReader;
// FileReader adalah class bawaan JDK yg berfungsi untuk membaca suatu file sebagai input
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
// class ServerSocket dan Socket udah dijelaskan pada post sebelumnya tentang program client-server sederhana
import java.net.ServerSocket;
import java.net.Socket;

/**
 *
 * @author ASUS A43B
 */
public class WebServer {
  /**
   * WebServer constructor.
   */
    protected void start() throws IOException {
    // Deklarasi class ServerSocket
    ServerSocket s;

    // Seperti yang kita tau, port digunakan untuk menghubungkan antar proses yg berbeda
    // Tentukan sendiri port mu, bebas
    String port = "5111";
    System.out.println("Webserver starting up on port " + port);
    System.out.println("(press ctrl-c to exit)");

    //inisialisasi server
    try {
      // Instansiasi class ServerSocket dengan parameter berupa port yang telah kamu tentukan di atas
      s = new ServerSocket(Integer.parseInt(port));
    } catch (Exception e) {
      System.out.println("Error: " + e);
      return;
    }    // Instansiasi class BufferedReader dengan menggunakan file sebagai inputan
    BufferedReader fScan = new BufferedReader(new FileReader("C:\\Users\\Agung\\Documents\\fileku.html"));
    // 9 line di bawah merupakan algoritma pembacaan string yang ada pada file
    // Karena nanti file akan dibaca di browser, maka file saya buat sebagai file HTML
    String allString = "";
    String text = "";
    text = fScan.readLine();
    while(text != null)
    {
        allString += text;
        text = fScan.readLine();
    }
    fScan.close();

    System.out.println("Waiting for connection");
    for (;;) {
      try {
        // Menerima koneksi
        Socket remote = s.accept();

        // Mengirim pesan
        System.out.println("Connection, sending data.");

        BufferedReader in = new BufferedReader(new InputStreamReader(
            remote.getInputStream()));
        PrintWriter out = new PrintWriter(remote.getOutputStream());

        // Membaca permintaan pengguna di kolom url
        String str = ".";
        while (!str.equals(""))
          str = in.readLine();

        // Isi dari permintaan pengguna
        out.println("HTTP/1.0 200 OK");
        out.println("Content-Type: text/html");
        out.println("Server: Bot");
        out.println("");  // Sebagai pemisah antara header HTML dengan isi file HTML
        out.println(allString); // mengirimkan isi file HTML yang akan dibaca browser.
        out.flush();
        remote.close();
      } catch (Exception e) {
        System.out.println("Error: " + e);
      }
    }
  }
}

Sekian post dari saya kali ini, semoga bermanfaat.. Jaa Ne!!