Jumat, 21 Desember 2012

PERINTAH-PERINTAH IPTABLES

PERINTAH-PERINTAH IPTABLES


Untuk melihat apakah di dalam sistem kita sudah terinstal paket-paket iptables, ketikkan perintah berikut:
# rpm -qa | grep iptables

Jika memang belum terinstal, ketikkan perintah berikut:
# yum -y install iptables*

Agar iptables dapat berjalan otomatis setelah restart, gunakan perintah:
# chkconfig iptables on

Untuk melihat status iptables, gunakan perintah:
# service iptables status

Untuk menyalakan iptables, gunakan perintah:
# /etc/init.d/iptables start

Untuk mematikan iptables, gunakan perintah:
# /etc/init.d/iptables stop

Untuk merestart iptables, gunakan perintah:
# /etc/init.d/iptables restart

Sebelum melangkah lebih lanjut, pastikan firewall di sistem kita di enable yaitu dengan cara ketik setup lalu pilih Firewall configuration. Setelah itu, pada bagian Security Level beri tanda bintang pada item Enabled lalu pilih tombol OK.

IPTABLES DAN ALUR PAKET DATA

IPTABLES
Iptables adalah suatu tools dalam sistem operasi linux yang berfungsi sebagai alat untuk melakukan filter (penyaringan) terhadap (trafic) lalulintas data. Secara sederhana digambarkan sebagai pengatur lalulintas data. Dengan iptables inilah kita akan mengatur semua lalulintas dalam komputer kita, baik yang masuk ke komputer, keluar dari komputer, ataupun traffic yang sekedar melewati komputer kita.

ALUR DATA
Membahas prinsip dasar firewall iptables, mengelola akses internet berdasarkan alamat IP,port aplikasi dan MAC address. Firewall IPTables packet filtering memiliki tiga aturan (policy), yaitu:

- INPUT
Mengatur paket data yang memasuki firewall dari arah intranet maupun internet. kita bisa mengelolakomputer mana saja yang bisa mengakses firewall. misal: hanya komputer IP 192.168.1.100 yang bisa SSHke firewall dan yang lain tidak boleh.

- OUTPUT
Mengatur paket data yang keluar dari firewall ke arah intranet maupun internet. Biasanya output tidak diset,karena bisa membatasi kemampuan firewall itu sendiri.

- FORWARD
Mengatur paket data yang melintasi firewall dari arah internet ke intranet maupun sebaliknya. Policy forward paling banyak dipakai saat ini untuk mengatur koneksi internet berdasarkan port, mac address dan alamat IP Selain aturan (policy) firewall iptables juga mempunyai parameter yang disebut dengan TARGET, yaitu status yang menentukkan koneksi di iptables diizinkan lewat atau tidak. TARGET ada tiga macam yaitu:
- ACCEPT
Akses diterima dan diizinkan melewati firewall
- REJECT
Akses ditolak, koneksi dari komputer klien yang melewati firewall langsung terputus, biasanya terdapatpesan “Connection Refused”. Target Reject tidak menghabiskan bandwidth internet karena akses langsung ditolak, hal ini berbeda dengan DROP.
- DROP
Akses diterima tetapi paket data langsung dibuang oleh kernel, sehingga pengguna tidak mengetahui kalau koneksinya dibatasi oleh firewall, pengguna melihat seakan – akan server yang dihubungi mengalami permasalahan teknis. Pada koneksi internet yang sibuk dengan trafik tinggi Target Drop sebaiknya jangan digunakan.
Berikut ini contoh penggunaan firewall iptables untuk mengelolak akses internet.
Policy INPUT
  • IP Firewall                  = 192.168.1.1
  • IP Administrator       = 192.168.1.100
  • IP Umum                     = 192.168.1.200

1. a. Memblok paket yang datang dari sebuah IP
# iptables -I INPUT -s 192.168.0.149 -j REJECT
Perintah diatas digunakan untuk memblok paket dari IP 192.168.0.149. Ada 2 opsi yang digunakan sebenarnya yaitu DROP dan REJECT. Perbedaan dari keduanya adalah kalau REJECT, perintah ini akan memblok paket namun akan memberitahukan bahwa paket tersebut ditolak. Sedangkan kalau DROP, perintah ini akan memblok paket namun tidak diberitahu apakah paket tersebut.

b. Memblok paket yang keluar dari sebuah IP
iptables -A OUTPUT -p tcp -d 192.168.10.2 -j DROP

2.Menutup Port
# iptables -A INPUT -p tcp  --dport 22 -j REJECT
Perintah di atas memblok port 22 yang biasa digunakan untuk ssh
# iptables -A INPUT -p tcp -i eth0 --dport 23 -j REJECT
Perintah di atas memblok port 22 yang biasa digunakan untuk telnet
# iptables -I INPUT -s 192.168.0.250 -p tcp --dport 23 -j REJECT
Perintah di atas untuk memblok service telnet dari IP 192.168.0.250

3. Membuat Dropped Log file.
iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "PORT 80 DROP: " --log-level 7
iptables -A INPUT -p tcp --destination-port 80 -j DROP

4. Menghapus iptables
#  iptables -D INPUT 3
Menghapus iptables pada tabel input di baris ke 3
# iptables -F
Menghapus seluruh iptables
# iptables -F FORWARD

Contoh iptables

- Untuk menambah daftar
#iptables -t filter -A FORWARD -s 192.168.56.100/32
-j DROP 
#iptables -A FORWARD -s 192.168.56.100/32 -j DROP
- Untuk melihat daftar
#iptables -nL
- Untuk menghapus daftar
#iptables -D FORWARD -s 192.168.56.100/32 -j DROP

- Untuk menghapus semua daftar
#iptables -F
- Untuk menyimpan iptables
#iptables-save  
- Untuk mendrop service ssh
#iptables -A FORWARD -p tcp -dport 22 -j DROP 
- Untuk mendrop icmp (ping) -> semuanya
#iptables -A FPRWARD -p icmp -j DROP
-Drop icmp dari jaringan 192.168.56.0
#iptables -A FORwaRD -s 192.168.56.0/24 -p icmp -j DROP 
- Drop semuanya kecuali dari IP tertentu
#iptables -A FORWARD -s ! 192.168.56.100 -p icmp -j DROP 
- Drop ke port 80 (http)
#iptables -A FORWARD -p tcp --dport 80 -j DROP

FIREWALL DAN LETAKNYA PADA JARINGAN LAN & WAN

 FIREWALL

Firewall adalah sebuah aturan yang ditetapkan baik terhadap hardware, software maupun sistem itu sendiri dengan tujuan untuk melindungi baik dengan melakukan filtrasi, membatasi ataupun menolak suatu koneksi pada jaringan yang dilindunginya dengan jaringan luar seperti internet. Firewall juga berfungsi sebagai pintu keluar jaringan yang dilindunginya dengan jaringan lainya atau disebut gateway.

Pengertian  / Arti Firewall , Firewall adalah sebuah sistem atau perangkat yang mengizinkan lalu lintas jaringan yang dianggap aman untuk melaluinya dan mencegah lalu lintas jaringan yang tidak aman. Umumnya, sebuah firewall diimplementasikan dalam sebuah mesin terdedikasi, yang berjalan pada pintu gerbang (gateway) antara jaringan lokal dan jaringan lainnya. Firewall umumnya juga digunakan untuk mengontrol akses terhadap siapa saja yang memiliki akses terhadap jaringan pribadi dari pihak luar. Saat ini, istilah firewall menjadi istilah generik yang merujuk pada sistem yang mengatur komunikasi antar dua jaringan yang berbeda.
 
Mengingat saat ini banyak perusahaan yang memiliki akses ke Internet dan juga tentu saja jaringan korporat di dalamnya, maka perlindungan terhadap aset digital perusahaan tersebut dari serangan para hacker, pelaku spionase, ataupun pencuri data lainnya, menjadi esensial.” Jadi firewall adalah suatu mekanisme untuk melindungi keamanan jaringan komputer dengan menyaring paket data yang keluar dan masuk di jaringan. Paket data yang “baik” diperbolehkan untuk melewati jaringan dan paket dapa yang dianggap “jahat” tidak diperbolehkan melewati jaringan.

Kunci ruangan tersebut hanya dipegang oleh staf IT dan diperbolehkan menggunakan ruang tersebut atas seizin staf IT. Ini berfungsi selain menjaga kehilangan alat komputer dan jaringan secara fisik oleh pencuri atau perampokan, namun juga berfungsi menjaga kehilangan data yang tersimpan pada alat komputer tersebut. Bisa saja seseorang mencuri dan menghapus data penting perusahaan. Tentunya ini sangat merugikan perusahaan tersebut.

Berikut ini ilustrasi mengenai firewall ;

 
Ada bermacam-macam jenis firewall baik hardware maupun software. Di linux kernel 2.4 dan 2.6 keatas sudah dilengkapi dengan software firewall yang bernama IPTABLES.

Dasar Teori
Untuk membangun sebuah firewall yang harus kita ketahui pertama-tama adalah bagaimana paket tersebut nanti akan diproses firewall, apakah paket tersebut akan di buang (DROP) atau diterima(ACCEPT), atau paket tersebut akan diteruskan (FORWARD) ke jaringan lain.
Sebuah paket yang diterima dari jaringan pertama-tama akan memasuki routing decission dimana di bagian ini paket akan ditentukan berdasarkan tujuan dari paket tersebut. Bila paket tersebut bertujuan ke komputer linux kita paket tersebut akan diteruskan ke tabel INPUT untuk diproses firewall. Bila paket tersebut bertujuan ke komputer lain yang berbeda jaringan maka paket tersebut akan diteruskan ke kolom FORWARD.

Setelah paket tersebut memasuki kolomnya (INPUT atau FORWARD) maka paket tersebut akan dicocokkan dengan aturan yang ada pada kolom tersebut.

No
INPUT
OUTPUT
FORWARD
1
Aturan no 1
Aturan no 1
Aturan no 1
2
Aturan no 2
Aturan no 2
Aturan no 2
3
Aturan no 3
Aturan no 3
Aturan no 3
N
Aturan no n
Aturan no n
Aturan no n
POLICY
ACCEPT/DROP
ACCEPT/DROP
ACCEPT/DROP
 
Sebagai contoh ada paket datang ke komputer alamat ip linux kita, paket tersebut akan masuk ke tabel INPUT, kemudian paket akan dicocokkan dengan aturan pertama hingga terakhir. Jika tidak ada kecocokan maka POLICY pada tabel yang akan berlaku, apakah diterima (ACCEPT) atau buang (DROP).

berikut perintah-perintah IPTABLES:
 -A , –append chain-rule-specification
menambahkan suatu aturan baru yang ditempatkan di aturan paling bawah dari aturan-aturan IPTABLES
-D , –delete chain-rule-number/rule specification
Menghapus satu baris aturan
-I , –insert chain-rule-number/rule specification
menuliskan aturan baru tapi penempatanya sesuai dengan perintah yang kita masukkan
-R , –replace chain-rule-number/rule specification
mengganti rule yang sudah ada, posisinya menempati urutan dari yang digantikan
-L , –list chain
berfungsi untuk melakukan output dari aturan yang kita buat
-F , –flush chain
untuk menghapus semua aturan yang sudah kita buat
-Z , –zero
berfungsi menghapus semua penghitung menjadi nol
-N , –new-chain chain
menambahkan satu kolom tabel baru
-P , –policy chain-target
akan menentukan nasib paket akan di drop atau diterima
-E , –rename-chain old-chain new-chain
mengubah nama dari suatu kolom
-h
help

Parameter IPTABLES
parameter disini bertujuan untuk membuat satu baris aturan menjadi lebih spesifik
 -p, –protocol [!] protocol
mengecek protokol dari setiap paket yang datang, TCP, ICMP,UDP atau ALL. Tanda seru merupakan negasi / not! Atau pengecualian
-s, –source [!] address/mask
akan memeriksa kecocokan berdasarkan sumber paket itu, apabila cocok dengan aturan iptables makan aturan tersebut akan berlaku
-d, –destination [!] address/mask
tujuan paket tersebut, apabila cocok pada iptables maka akan berlaku aturan iptables
-j, –jump target
berfungsi untuk menentukan nasib paket apakah akan diterima (ACCEPT) ditolak (DROP) atau dikempalikan ke kolom sebelumnya (RETURN)
-i, –in-interface [!] name
disini setiap paket akan diidentifikasikan berdasarkan kartu jaringan, seperti eth0, eth1, dst
-o, –out-interface [!] name
sama seperti -i namun paket yang keluar
Target/jump
target/jump pada iptables adalah penentu nasib paket, berikut:

ACCEPT
dengan opsi ini paket akan langsung diterima oleh firewall dan diteruskan kepada tujuan dari target.

REJECT
opsi ini paket akan ditolak namun dengan pesan kesalahan ICMP, kita dapat menentukan paket icmp yang akan dikirimkan

DROP
kebalikan dari ACCEPT, paket akan langsung dibuang tanpa mengirim pesan error

SNAT
bertujuan untuk mengubah sumber pengirim paket dan berguna jika kita ingin berbagi koneksi, SNAT terdapat di tabel NAT kolom POSTROUTING sehingga kita menggunakan perintah -A POSTROUTING pada perintah iptables.

DNAT
berfungsi untuk mengubah tujuan dari paket, contohnya apabila kita ingin server kita menggunakan alamat IP local dan kita ingin server tersebut bisa diakses dari internet

MASQUERADE
sama dengan SNAT tapi biasanya digunakan bila kita ingin berbagi koneksi tapi kita memiliki alamat ip yang selalu berubah, seperti menggunakan dial-up

REDIRECT
bertugas untuk mengubah tujuan dari paket ke mesin firewall itu sendiri, misal jika ingin HTTP PROXY bersifat transparent.

FUNGSI FIREWALL

A. Mengontrol dan mengawasi paket data yang mengalir di jaringan Firewall harus dapat mengatur, memfilter dan mengontrol lalu lintas data yang diizin untuk mengakses jaringan privat yang dilindungi firewall. Firewall harus dapat melakukan pemeriksaan terhadap paket data yang akan melawati jaringan privat. Beberapa kriteria yang dilakukan firewall apakah memperbolehkan paket data lewati atau tidak, antara lain :
  1. Alamat IP dari komputer sumber
  1. Port TCP/UDP sumber dari sumber.
  1. Alamat IP dari komputer tujuan.
  1. Port TCP/UDP tujuan data pada komputer tujuan
  1. Informasi dari header yang disimpan dalam paket data.
B. Melakukan autentifikasi terhadap akses.
C. Aplikasi proxy Firewall mampu memeriksa lebih dari sekedar header dari paket data, kemampuan ini menuntut firewall untuk mampu mendeteksi protokol aplikasi tertentu yang spesifikasi.
D. Mencatat setiap transaksi kejadian yang terjadi di firewall. Ini Memungkinkan membantu sebagai pendeteksian dini akan penjebolan jaringan.


LETAKNYA PADA JARINGAN LAN DAN WAN

Bila ditinjau dari peran server di kedua tipe jaringan tersebut, maka server di jaringan tipe peer to peer diistilahkan non-dedicated server, karena server tidak berperan sebagai server murni melainkan sekaligus dapat berperan sebagai workstation.
Keunggulan ;
  1. Antar komputer dalam jaringan dapat saling berbagi-pakai fasilitas yang dimilikinya seperti: harddisk, drive, fax/modem, printer.
  1. Biaya operasional relatif lebih murah dibandingkan dengan tipe jaringan client-server, salah satunya karena tidak memerlukan adanya server yang memiliki kemampuan khusus untuk mengorganisasikan dan menyediakan fasilitas jaringan.
  1. Kelangsungan kerja jaringan tidak tergantung pada satu server. Sehingga bila salah satu komputer/peer mati atau rusak, jaringan secara keseluruhan tidak akan mengalami gangguan.
Kelemahan ;
  1. Troubleshooting jaringan relatif lebih sulit, karena pada jaringan tipe peer to peer setiap komputer dimungkinkan untuk terlibat dalam komunikasi yang ada. Di jaringan client-server, komunikasi adalah antara server dengan workstation.
  1. Sistem keamanan jaringan ditentukan oleh masing-masing user dengan mengatur keamanan masing-masing fasilitas yang dimiliki.
  1. Karena data jaringan tersebar di masing-masing komputer dalam jaringan, maka backup harus dilakukan oleh masing-masing komputer tersebut.

Konfigurasi Squid3 di Linux Ubuntu 12.04

Assalamualaikum Wr. Wb.
 
Pada kali ini, saya diberikan kesempatan untuk membahas tentang konfigurasi Squid3 pada Linux Ubuntu 12.04
 
1. Instal terlebih dahulu squid 3 pada ubuntu server anda, dengan menggunakan perintah :

Sudo apt-get install squid3

2. Setelah proses instalasi selesai masuk ke dalam direktori squid3 dengan menggunakan perintah :

cd /etc/squid3

kemudian lanjutkan dengan perintah mengcopy squid.conf.origin dan ganti namanya dengan squid.conf, adapun perintah yang digunakan yaitu :

cp squid.conf.origin squid.conf

3. Setelah proses pengcopyan file selesai selanjutnya lakukan konfigurasi di dalam squid.conf tersebut, dengan menggunakan perintah :

sudo nano /etc/squid3/squid.conf

kemudian cari http port 3128, http_access allow localhost, dan acl localnet src 192.168.0.0/16 hilangkan tanda # didepannya, jika semuanya telah dihilangkan save dan keluar dari jendela konfigurasi.

4. Jika konfigurasi squid3 telah selesai restart squid3 dengan perintah :

sudo /etc/init.d/squid3 restart

5. Selanjutnya hubungkan komputer clien dengan komputer server dengan menggunakan kartu jaringan 1 buah lagi setting ip pada kedua komputer tersebut dalam 1 kelas ip yang sama.

6. Jika telah selesai tes dengan perintah ping. Pastikan kedua komputer telah terhubung dengan mendapatkan balasan reply. jika telah terhubung ketikkan perintah berikut di komputer server

sudo tail -f /var/log/squid3/access.log

Jika selesai setting proxy pada komputer clien dengan ip yang terdapat pada komputer server dan dengan port 3128 yang di konfigurasi pada squid3 tadi. Jika selesai, lakukan browser pada alamat tertentu pada komputer clien jika konfigurasi benar maka akan alamat tersebut akan tampil pada komputer server.

Terima Kasih 

Wabillahitaufik walhidayah wassalamualaikum Wr. Wb

Kamis, 22 November 2012

JOB VII MULTIDOMAIN DAN VIRTUAL HOST DI UBUNTU SERVER 12.04

Halo agan2 semua akhirnya kita jumpa lagi ya setelah beberapa waktu ini saya sibuk di dunia nyata saya akhirnya kali ini saya menyempatkan diri untuk berbagi ilmu lagi sini.
Kali ini saya akan membahas mengenai cara membuat MULTI DOMAIN DAN VIRTUAL HOST di Linux Server 12.04

Oke agan2 sekalian kita langsung saja ya. Langkah-langkahnya sebenarnya tidak terlalu sulit hampir sama dengan cara membuat DNS Server, yaitu

Pertama

Pastikan terlebih dahulu bahwa BIND9 telah terinstal di Ubuntu server agan2 sekalian.
Kemudian lakukan setting pada BIND9 tersebut dengan perintah

$ sudo nano /etc/bind/named.conf.local

Kemudian tambahkan zona baru untuk domain baru. Dalam percobaan kali ini saya menambahkan domain baru dengan nama jarkom1.com dan jarkom2.com.

#zona jarkom1.com
Zone “jarkom1.com” {
Type master;
File “/etc/bind/zones/jarkom1.com.db”;
};

#zona jarkom2.com
Zone “jarkom2.com” {
Type master;
File “/etc/bind/zones/jarkom2.com”;
};

#DNS reverse
Zone “9.17.10.in-addr.arpa” {
Type master;
File “/etc/bind/zones/jarkom-rev.db”;
};

Kedua

Jika kita tadi telah menambahkan domain baru pada Ubuntu kita sekarang waktunya kita mendefinisikan kembali zona domain yang baru dibuat tadi, pertama kita akan mendefinisikan domain jarkom1.com, adapun perintah yang digunakan yaitu :

$sudo nano /etc/bind/zones/jarkom1.com.db

Kemudian isikan didalamnya seperti berikut :

$TTL 3D
@ IN SOA      ns.jarkom1.com.          admin.jarkom1.com. (
2007062001
28800
3600
604800
38400
);

jarkom1.com.              IN        NS       ns.jarkom1.com.
@                                IN        A         10.17.0.195
www                           IN        A         10.17.0.195
TXT                             “Network Gateway”

Lakukan hal yang sama pada jarkom2.com

Ketiga

Setelah selesai mendefinisikan nama2 domain yang telah dibuat tadi waktunya sekarang kita membuat DNS Forwarding, adapun perintah yang digunakan

$sudo nano /etc/bind/named.conf.options

Kemudian isikan ipdan ISP atau server yang sudah ada seperti berikut

Forwarders {
10.10.1.1;
};

Keempat

Sekarang waktunya kita mengedit file resolv, dengan cara mengisikan ip komputer yang sudah diinstall di DNS. Perintah yang digunakan yaitu

$sudo nano /etc/resolv.conf

Kemudian isikan

Search jarkom1.com
Nameserver 10.17.0.191

Kelima

Selanjutnya kita akan membuat file jarkom-rev yang akan digunakan untuk reverse lookup. Adapun perintah yang digunakan yaitu

$sudo nano/etc/bind/zones/jarkom-rev.db

Kemudian isikan

$TTL 3D
@        IN        SOA                ns.jarkom1.com.          admin.jarkom1.com. (
2007062001
28800
604800
604800
86400
)
IN        NS                   ns,jarkom1.com.
191      IN        PTR                 5CA.jarkom1.com.

Keenam

Setelah selesai melakukan konfigurasi pada bind9 sekarang waktunya kita untuk merestart bind9 tersebut, adapun perintah yang digunakan yaitu :

$sudo /etc/init.d/bind9 restart

Jika semuanya oke, coba lakukan ping pada nama domain tersebut jika berhasil maka kita akan mendapatkan balasan reply jika tidak maka periksa lagi pengaturan pada bind9 yang telah dibuat tadi.

Ketujuh

Jika kita tadi telah selesai membuat multidomain sekarang waktunya kita membuat direktori untuk masing-masing domain yang tadi telah dibuat. Adapun perintah yang digunakan yaitu

$cd /var/www
$sudo mkdir jarkom1.com       jarkom.net
$sudo chmod 755 jarkom1.com           jarkom.net

Kedelapan

Sekarang waktunya kita melakukan konfigurasi untuk virtual hostnya. Sebelum melakukan konfigurasi pada apache2.conf pastikan terlebih dahulu agan2 telah menginstall apache2. Setelah itu lakukan konfigurasi pada apache2 tersebut dengan menggunakan perintah

$sudo nano /etc/apache2/apache2.conf

Kemudian isikan pada baris terakhir

ServerName 127.0.0.1
NameVirtualHost *:80

Kesembilan

Setelah selesai melakukan settingan pada apache2nya sekarang waktunya kita membuat direktori sites-available. Adapun perintah yang digunakan yaitu

$cd /etc/apache2/sites-available
$sudo nano jarkom1.com

Selanjutnya isikan perintah berikut

<VirtualHost *:80>
ServerName                jarkom1.com
ServerAlias                  www.jarkom1.com
DocumentRoot           /var/www/jarkom1.com          #disesuaikan dengan direktori yang telah dibuat sebelumnya
ErrorLog                     /var/log/apache2/jarkom1-error.log
CustomLog                 /var/log/apache2/jarkom1-access.log combined
</VirtualHost>

Kemudian simpan dan keluar dari teks editor. Kemudian lakukan hal yang sama untuk jarkom2.com

Kesepuluh

Selanjutnya kita akan mendisable VirtualHost default dan enable domain yang baru. Adapun perintah yang digunakan

$sudo a2dissite default
$sudo a2ensite jarkom1.com
$sudo a2ensite jarkom2.com

Kesebelas

Setelah mendisble semua VirtualHost dan Domain, sekarang waktunya melakukan reload pada apache dengan perintah

$sudo /etc/init.d/apache2 reload

Setelah selesai melakukan reload, lakukan browsing menggunakan lynx kemasing-masing domain dengan menggunakan perintah

Lynx http://jarkom1.com

Jika berhasil maka akan tampil file index.html yang telah dibuat sebelumnya, untuk membuat file index baca artikel mengenai web server pada postingan sebelumnya. 

Oke agan2 sekalian mungkin cukup sampai disini dulu ya perjumpaan kita kali ini semoga apa yang disampaikan saya kali ini bermanfaat….
Oke agan2 sampai jumpa lagi ya di pertemuaan berikutnya daaaaa …. daaa  ^_^

Rabu, 07 November 2012

JOB VI WEB SERVER

PRAKTIKUM
WEB SERVER (APACHE & PHP)

A.    TUJUAN PRATIKUM

1.    Mahasiswa dapat melakukan pembuatan Web Server dengan menggunakan Linux dengan Apache
2.    Mahasiswa dapat mengkonfigurasi web server yang menggunakan Linux dan Apache
3.    Mahasiswa dapat melakukan konfigurasi Web Server yang dapat menjalankan PHP dan HTML
4.    Mahasiswa dapat melakukan browsing melalui console menggunakan web browser berbasis text (Lynx dan Links)

B.    DASAR TEORI

WEB SERVER (APACHE & PHP)
Web Server adalah software server yang menjadi tulang belakang dari World Wide Web (WWW). Web server menunggu permintaan dari client yang menggunakan browser seperti netscape navigator, Internet Explorer, Mozilla, dan program browser lainnya. Jika ada permintaan dari browser, maka web server akan memproses permintaan itu dan kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke browser. Data ini mempunyai format yang standar disebut dengan format SGML ( Standard General Markup Language). Data yang berupa format ini kemudian akan ditampilkan oleh browser sesuai dengan kemampuan browser itu. Contohnya ialah bila data yang dikirim berupa data gambar, browser yang hanya mampu menampilkan text (misalnya lynx) tidak akan mampu menampilkannya dan jika ada akan menampilkan alternatifnya saja.
Web Server, untuk berkomunikasi dengan clientnya (web browser) mempunyai protokol sendiri yaitu HTTP (HyperText Transfer Protocol). Dengan protokol ini, komunikasi antar web server dengan clientnya (browser) dapat saling dimengerti dan lebih mudah. Seperti telah dijelaskan diatas, Standar format data pada World Wide Web adalah SGML. Tapi sudah menjadi hal yang umum bahwa para pengguna internet lebih banyak menggunakan format HTML (HyperText Markup Language) karena penggunaannya yang lebih sederhana dan mudah dipelajari. Kata HyperText mempunyai arti bahwa seorang pengguna internet dengan web browsernya dapat membuka dan mambaca dokumen-dokumen yang ada dalam komputernya atau bahkan komputer yang jauh tempatnya sekalipun. Hal ini memberikan cita rasa dari suatu proses yang tridimensional, artinya pengguna internet dapat membaca dari satu dokumen ke dokumen yang lain hanya dengan mengklik beberapa bagian dari halaman-halaman dokumen (web) itu.
Proses yang dimulai dari permintaan webclient (browser), diterima web server, diproses, dan dikembalikan hasil prosesnya oleh web server ke webclient lagi dilakukan secara transparan. Setiap orang dapat dengan mudah mengetahui apa yang terjadi pada tiap-tiap proses. Secara garis besarnya web server hanya memproses semua masukan yang diperolehnya dari web clientnya.

APACHE WEB SERVER

Banyak sekali software web server yang berada di internet. Dengan berdasarkan pada 12 macam pertimbangan diatas, maka dapat dipilih software mana saja yang cocok dengan kebutuhan kita.Misalnya : Kita memasang web server untuk keperluan suatu perusahaan jasa internet (ISP ), maka pertimbangan yang harus diambil adalah apakah mereka menginginkan software yang gratis ataukomersial. Keuntungan dari software komersial adalah mereka punya dukungan teknis dan dokumentasi yang lengkap, sedang pada kebanyakan software gratis tidak punya. Namun ada juga software gratisan yang mempunyai dukungan teknis dari pembuatnya dan dengan dokumentasi yang lengkap. Salah satu software web server gratisan seperti itu adalah Web server Apache. Web server Apache mempunyai kelebihan dilihat dari beberapa pertimbangan diatas:
• Apache termasuk dalam kategori freeware (software gratisan)
• Apache mudah sekali proses instalasinya jika dibanding web server lainnya
seperti NCSA, IIS, dan lain-lain.

PHP PADA APACHE WEB SERVER

Apache web server mendukung penambahan modul-modul. Diantara modul yang sering dipakai adalah modul PHP. PHP (Personal Homep Page Tool) adalah salah satu jenis aalat yang digunakan untk membuat halaman web anda menjadi lebih menarik, lebih aman, dan lebih dinamik. Pada dasrnya PHP miirip dengan bahsa script yang lainnya seperti asp, Javascript , Visual BASic atau yang lainnya, namun keuntungannya adalah pada PHP tidak diperlukan tambahan pada sisi webclient seperti halnya Javascript dan Visual Basic script, sehingga lebih luas penggunaannya. Beberapa keunggulan PHP dibandingkan dengan yang lain :
• Autentikasi http menggunakan PHP menggunakan fungsi header() yang ada
dalam modul apache PHP.
• Pembuatan file GIF menggunakan library GD yang dikompilasi saat
menginstall php.
• PHP dapat menerima metoda upload file
• Mendukung penggunaan cookie
• Mendukung integrasi dengan database
• Mendukung ekspresi regular seperti ereg(), ereg_replace() dan lainnya.
• Penanganan kesalahan berdasarkan tingkat kesalahan.

D. LANGKAH -  LANGKAH PRAKTIKUM

Untuk membuat suatu webserver yang support php pada komputer anda serta memeriksa instalasinya, langkah-langkah yang harus dilakukan adalah sebagai :
1.    Periksa koneksi ke gateway, ke dns server dan ke server repositori (ping)
2.    Install apache2 yang akan digunakan sebagai web server
    sudo apt-get install apache2
3.    Jalankan apache2
    sudo /etc/init.d/apache2 restart

4.    Periksa dan catat hasilnya
nmap -p80 localhost
nmap -p80 alamat ip
5.    Install lynx
sudo apt-get install lynx
6.    Browsing ke web yang anda buat
lynx alamat ip
 
7.    Direktori tempat file website anda adalah /var/www/. Buat file html di folder tersebut
cd /var/www/
sudo nano index.html
Isikan :
 

8.    Browsing kembali ke website anda, apa yang ditampilkannya ?
lynx alamat ip
  
9.    Install PHP pada web server anda
    sudo apt-get install php5 libapache2-mod-php5
 

10.    Restart apache
sudo /etc/init.d/apache2 restart
11.    Buat halaman php dan letakkan pada direktori www anda
    cd /var/www/
sudo nano test.php
    Isikan

  
Save dan keluar dari text editor
12.    Browsing ke website anda sambil menjalankan tcpdump catat tampilan dan hasil tcpdump
    lynx ip_komputer_anda/test.php