membangun dns dan web server dengan debianebook.smkmuh5babat.sch.id/pak-rohman/membangun dns... ·...
TRANSCRIPT
1
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
MEMBANGUN DNS SERVER DAN
WEB SERVER DENGAN DEBIAN LINUX
Oleh: Abdul Rohman ~“ikatlah ilmu dengan tulisan”~
Administrators & Developer ICT
MUHAMMADIYAH’S VOCATIONAL HIGH
SCHOOL 5th BABAT
2010
2
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
PENGENALAN LINUX
Linux adalah sistem operasi berbasis UNIX yang dapat berjalan di berbagai macam perangkat
keras terutama di PC berbasis Intel x86. Dikatakan berbasis UNIX karena Linux dikembangkan
menurut standar yang dimiliki UNIX dan kemampuan yang sama dengan UNIX. Artinya Linux
memiliki kemampuan baik sebagai server maupun workstation layaknya UNIX.
Pada awalnya Linux hanya berjalan di platform Intel x86 termasuk AMD Cyrix dan lainnya.
Namun seiring dengan berkembangnya jumlah pengguna Linux dan para pengembangnya
maka sekarang Linux telah berjalan pula pada MacIntosh (Motorolla), Sun Sparc, DEC Alpha ,
Amiga , strongARM dan masih banyak lagi.
Linux Pertamakali dibuat oleh Linus Torvalds di Universitas Helsinki , Finlandia. Kemudian Linux dikembangkan lagi oleh banyak programmer dan Hacker Unix di seluruh dunia.
Figure 1 Linus Torvalds
Perkembangan Linux sangat didukung oleh lisensi yang digunakan oleh Linux yaitu GNU General Public License (GNU GPL). Secara singkat GNU General Public License memungkinkan suatu aplikasi ( termasuk sistem operasi ) untuk secara bebas digunakan dan disebarluaskan dimana pengguna/penerima software berhak menerima kode asal ( source code) dari aplikasi tersebut beserta semua hak yang diijinkan oleh penulis asli. Aplikasi tersebut dapat dimodifikasi maupun digunakan dalam aplikasi lain dimana lisensi dari aplikasi perubahan/baru tetap pada GNU GPL . Penulis asli hanya bertanggungjawab pada kode asli dan tidak bertanggungjawab terhadap implikasi perubahan yang dilakukan pada aplikasi tersebut. Penyebarluasan aplikasi yang telah dirubah tetap mencantumkan penulis asli , kode asli, kode perubahan yang ditambahkan dan penanggungjawab perubahan tersebut. Dengan GPL bukan berarti tidak memungkinkan adanya komersial, paling tidak biaya dapat ditarik dari biaya kopi media distribusi. Jasa layanan seperti dukungan teknis dapat merupakan produk komersial.
Saat ini Linux adalah sistem UNIX yang sangat lengkap, bisa digunakan untuk jaringan, pengembangan software dan bahkan untuk pekerjaan seharihari. Linux sekarang merupakan alternatif sistem operasi yang jauh lebih murah jika dibandingkan
3
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
dengan sistem operasi komersial (misalnya Windows 9.x/NT/2000/ME). Linux mempunyai perkembangan yang sangat cepat. Hal ini dapat dimungkinkan karena Linux dikembangkan oleh beragam kelompok orang. Keragaman ini termasuk tingkat pengetahuan, pengalaman serta geografis. Agar kelompok ini dapat berkomunikasi dengan cepat dan efisien, internet menjadi pilihan yang sangat tepat. Karena kernel Linux dikembangkan dengan usaha yang independent, banyak aplikasi yang tersedia, sebagai contoh, C Compiler menggunakan gcc dari Free Software Foundation GNU’s Project. Compiler ini banyak digunakan pada lingkungan HewlettPackard dan Sun. Sekarang ini, banyak aplikasi Linux yang dapat digunakan untuk keperluan kantor seperti untuk spreadsheet,word processor, database dan program editor grafis yang memiliki fungsi dan tampilan seperti Microsoft Office, yaitu Star Office. Selain itu, juga sudah tersedia versi Corel untuk Linux dan aplikasi seperti Matlab yang pada Linux dikenal sebagai Scilab. Linux bisa didapatkan dalam berbagai distribusi (sering disebut Distro). Distro adalah bundel dari kernel Linux, beserta sistem dasar linux, program instalasi, tools basic, dan programprogram Lain yang bermanfaat sesuai dengan tujuan pembuatan distro. Ada banyak sekali distro Linux, diantaranya :
1. RedHat, distribusi yang paling populer, minimal di Indonesia. RedHat merupakan distribusi pertama yang instalasi dan pengoperasiannya mudah.
2. Debian, distribusi yang mengutamakan kestabilan dan kehandalan, meskipun mengorbankan aspek kemudahan dan kemutakhiran program. Debian menggunakan .deb dalam paket instalasi programnya.
3. Slackware, merupakan distribusi yang pernah merajai di dunia Linux. Hampir semua dokumentasi Linux disusun berdasarkan Slackware. Dua hal penting dari Slackware adalah bahwa semua isinya (kernel, library ataupun aplikasinya) adalah yang sudah teruji. Sehingga mungkin agak tua tapi yang pasti stabil. Yang kedua karena dia menganjurkan untuk menginstall dari source sehingga setiap program yang kita install teroptimasi dengan sistem kita. Ini alasannya dia tidak mau untuk menggunakan binary RPM dan sampai Slackware 4.0, ia tetap menggunakan libc5 bukan glibc2 seperti yang lain.
4. SuSE, distribusi yang sangat terkenal dengan YaST (Yet another Setup Tools) untuk mengkonfigurasi sistem. SuSE merupakan distribusi pertama dimana instalasinya dapat menggunakan bahasa Indonesia.
5. Mandrake, merupakan varian distro RedHat yang dioptimasi untuk pentium. Kalau komputer kita menggunakan pentium ke atas, umumnya Linux bisa jalan lebih cepat dengan Mandrake.
6. WinLinux, distro yang dirancang untuk diinstall di atas partisi DOS (WIndows). Jadi untuk menjalankannya bisa diklik dari Windows. WinLinux dibuat seakanakan merupakan suatu program aplikasi under Windows.
Dan masih banyak distro-distro lainnya yang telah tersedia maupun yang akan muncul.
Mari menggunakan Linux
Dengan GNU GPL Linux menawarkan sebuah sistem operasi sekelas UNIX dengan biaya murah. Terutama bagi perusahaan dengan kapital kecil Linux memberi angin segar terhadap investasi perangkat lunak yang dibutuhkan. Dengan fasilitas yang dimiliki Linux , maka Linux merupakan alternatif sistem operasi yang patut dilihat terhadap sistem operasi lainnya seperti Windows NT, UNIX , SunOS dan lainnya. Bagi pengguna UNIX , Linux dapat menjadi personal UNIX yang digunakan sebagai sarana pemrograman termasuk pemrograman database dan XWindows. Bagi mahasiswa, Linux merupakan sarana yang dapat digunakan untuk mempelajari lingkungan UNIX yang biasa digunakan oleh perusahaan skala besar.
4
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
Bagi perusahaan skala kecil dan menengah , Linux dapat menghemat biaya investasi UNIX dengan kemampuan sama. Ingatlah selama ini jika kita menggunakan Windows yang tidak mempunyai lisensi resmi( alias bajakan) kita telah berbuat ilegal. Kenapa katakata Free Software tidak begitu menggema di Indonesia? Ya, karena negara kita sanagat permisif terhadap pembajakan software. Tahukan anda bila harus membeli software Visual Basic secara resmi ? sekitar $2200. Dan satu lagi, Linux versi yang baru sekarang mempunyai GUI( tampilan grafis) yang canggih dan mudah digunakan. Bahkan cukup mudah bagi pemula sekalipun. Sehingga Linux bukanlah lagi suatu barang yang menakutkan bagi pemula sekalipun. Apakah Linux bisa untuk keperluan sehari-hari, pasti ya!. Anda akan takjub bahwa hampir semua kegiatan yang biasa anda lakukan di Windows bisa juga dilakukan di Linux dan halal alias bukan bajakan. Bahkan diLinux anda dapat membuat tampilan anda persis seperti Win 98 atau Mac dengan memilih salah satu desktop theme yang ada. Kemampuan Sistem Linux Multiuser Kemampuan OS menangani banyak user secara simultan baik pada aplikasi yang sama maupun aplikasi yang berbeda. Multitasking Kemampuan OS menangani sejumlah pekerjaan (task) secara simultan. Kernel Linux merupakan kernel modular dimana dapat dikonfigurasi dengan modulmodul (berupa device driver) pluggable yang dapat dipasang atau dilepas sesuai kebutuhan. Hal ini membuat kernel Linux menjadi kecil dan ringkas, menghemat memori yang digunakan kernel sehingga bisa digunakan untuk alokasi memori aplikasi. Dukungan lengkap terhadap jaringan berbasis TCP/IP Tersedia fasilitasfasilitas jaringan seperti telnet, FTP, dan NNTP. Linux menyediakan juga driverdriver untuk Ethernet, PPP, bahkan ISDN. Pada platform Intel, Linux menggunakan mode protected, model penggunaan memori secara flat (tanpa segmentasi), demand paging, virtual memory . Penanganan program dan data berukuran besar menjadi lebih baik. Linux menggunakan shared library pada filefile executeable sehingga ukuran program menjadi kecil.
5
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
LINUX SHELL (TERMINAL) DAN
PERINTAH DASAR
Linux shell merupakan tool berbasis teks untuk berinteraksi dengan komputer. Linux shell sering juga disebut dengan xterm, konsole, terminal, shell command, ataupun shell. Shell ini merupakan antarmuka penghubung user dengan sistem. Shell juga sering disebut dengan interpreter yang mengoperasikan sebuah loop sederhana yakni menerima perintah, menginterpretasikan perintah, menjalankan perintah, dan menunggu perintah masukan berikutnya. Berikut bagan loop interpreter sederhana yang dijalankan oleh shell unix ataupun GNU/Linux Mengapa menggunakan Linux Shell? d Pada sistem operasi seperti Ms-Windows dan MacOS, penggunaan shell command sudah mulai dikurangi atau bahkan dihilangkan sama sekali. Pada beberapa sistem operasi seperti yang penulis sebutkan di atas, para penggunanya semakin dimanja dengan penggunaan mode grafis (Graphical desktop) dan tidak memperdulikan lagi penggunaan shell command tersebut. Satu hal yang menarik dari sistem operasi gnu/linux adalah penggunaan shell command tetap dipertahankan karena beberapa alasan berikut: 1. Kebanyakan konfigurasi sistem dapat dilakukan dari shell command. 2. Linux shell memberikan fleksibilitas terutama saat anda bekerja dengan banyak file. 3. Untuk tindakan penyelamatan terhadap sebuah data atau recovery terhadap sistem dan
pekerjaan maintenance sistem pada single mode dapat anda lakukan lewat shell command. Untuk memulai shell (terminal), kita dapat mengklik menu :Application ���� Accessories ���� Terminal
Perintah Dasar ls Perintah ls, tanpa parameter, akan menampilkan isi direktori dimana anda berada sekarang. ls -a Menampilkan semua file dan direktori yang ada di direktori dimana anda berada, termasuk file-file hidden. ls -l Menampilkan file-file di direktori sekarang, termasuk (dari kiri ke kanan) : tipe file, permissions, banyaknya hard link, nama pemilik file, nama group, ukuran file dalam byte, dan tanggal kapan file tersebut terakhir disimpan. ls -al Kombinasi dari ls –a dan ls l ls -F Dengan parameter F, akan tampak perbedaan yang mana file, yang mana direktori. Berpindah Direktori Untuk pindah ke suatu direktori digunakan perintah cd Sebelum menggunakan perintah cd, kita lihat terlebih dahulu di direktori mana kita berada sekarang, dengan menggunakan perintah pwd. Perintah pwd (print working directory) akan menunjukkan dimana kita sekarang berada. Misalnya sebagai berikut : debian:/home/rohman# pwd
/home/rohman
6
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
OK, setelah kita tahu posisi kita, sekarang kita pelajari perintah cd dan variasinya, sebagai berikut : cd Perintah cd tanpa parameter akan membawa kita ke home directory kita. Karena kita tadi login dengan account "sensei", maka secara default home directory kita adalah /home/sensei
cd .. Berpindah ke direktori yang berada satu tingkat di atas direktori sekarang. Misalnya anda sekarang sedang berada di /home/sensei, kemudian anda menjalankan perintah cd .. ,maka anda akan dibawa ke direktori /home cd [nama direktori] Misalnya cd /usr/doc , akan membawa kita berpindah ke direktori /usr/doc cd HOWTO Misalnya kita masih berada di direktori /usr/doc, maka perintah cd HOWTO akan membawa kita ke dalam direktori HOWTO yang berada di dalam direktori /usr/doc, sehingga kita sekarang berada di direktori /usr/doc/HOWTO Membuat Direktori Seperti halnya di DOS, di linux kita juga bisa membuat direktori baru. Perintah yang kita gunakan adalah perintah mkdir . Misalnya kita ingin membuat direktori baru bernama “tkj”, maka perintah yang kita ketikkan adalah : debian:/home/rohman# mkdir tkj
debian:/home/rohman# ls
Desktop tkj
debian:/home/rohman#
cat Perintah cat ini menampilkan isi dari suatu file ke standart output (stdout) Syntax : $ cat <namafile> Membuat file baru, jika file belum ada : debian:/home/rohman# cat >>aku.txt
baris ini adalah baris pertama.
^D
Menambahkan data pada file : debian:/home/rohman# cat>>aku.txt
dan ini adalah baris yang kedua
^D cp Mirip dengan copy pada DOS, perintah cp ini berfungsi mengkopi file. Syntax : $ cp [option] file /dir/path/
Untuk lebih jelas silahkan dibaca pilihanpilihannya dengan menjalankan : $ cp help Dari namanya sudah dapat diterka bahwa perintah ini berfungsi untuk mencari file ataupun directory. Syntax : $ find /path [option]
7
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
Contoh : debian:/home/rohman# find -name tkj*
./tkj
grep Perintah ini berguna untuk pencarian data di dalam file, penggunaan grep akan lebih mengefisienkan waktu ketimbang harus membaca satu persatu Syntax : $ grep [option] "data" file
Contoh : debian:/home/rohman# grep "ini" test
ini hanya sebuah test dari output redirection baris ini tambahan dari yang lama... debian:/home/rohman#
ln Kegunaan perintah ini adalah untuk membuat link dari satu file/directori ke file/directori lain Syntax : $ ln s
/path/to/source target
Contoh : debian:/home/rohman# ln s
test uji debian:/home/rohman# ls l
total 2 rwrr1
sensei sensei 102 Nov 9 14:11 test
lrwxrwxrwx 1 sensei sensei 4 Nov 10 03:21 uji >
test
debian:/home/rohman#
Dari contoh dapat dilihat bahwa file uji adalah merupakan link dari file test locate. Perintah ini digunakan untuk mengetahui dimana letaknya sebuah file atau directori. Fungsinya kurang lebih sama dengan find, bedanya locate menggunakan sebuah database (biasanya terletak di var/lib/locatedb ) yang dapat di update menggunakan perintah updatedb. Syntax : # locate <something>
Contoh : debian:/home/rohman# locate uji
/home/rohman/uji
debian:/home/rohman# mkdir Perintah mkdir ekivalen dengan md (make directory) pada DOS yang berguna untuk membuat sebuah directory. Syntax : $ mkdir <namadir>
mv Perintah ini mirip dengan perintah move pada DOS yang berguna untuk memindahkan file dari satu directory ke directory lainnya, atau juga dapat digunakan sebagai pengganti nama file (ren/rename pada DOS) Syntax :
8
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
$ mv file1 file2
rm dan rmdir Perintah rm adalah perintah untuk menghapus file. Untuk directory dapat digunakan rmdir Syntax : $ rm <namafile>
$ rmdir <namadirectori>
mount Setiap device dalam linux agar dapat diakses harus terlebih dahulu dimount atau dikaitkan. Syntax : # mount [option] /dev/<devicefile> /path/to/mountdir
Contoh : # mount /dev/hda1 /media/disk
ps Perintah ini digunakan untuk melihat setiap proses yang dijalankan di dalam mesin beserta nomor prosesnya. Syntax : $ ps [option]
kill Perintah kill (mematikan) sesuai namanya adalah berfungsi untuk mengirimkan signal ke suatu proses. Sehingga bisa memerintahkan apakah suatu proses ditunda, dihentikan atau dilanjutkan. Tetapi paling sering digunakan untuk mematikan proses yang sedang berjalan. Syntax : $ kill <nomorprosesnya>
adduser, passwd dan userdel Perintah adduser dan userdel adalah filefile untuk administrasi user. adduser digunakan untuk menambahkan user pada suatu mesin. Kemudian setelah ditambahkan ditentukan password user yang baru tersebut dengan perintah passwd. Sedangkan userdel digunakan untuk menghapus user di mesin. Untuk menjalankan perintahperintah ini diperlukan root priviledge. Syntax : # adduser <namauser>
# passwd <namauser>
# userdel [r]
<namauser>
Cal
Untuk menampilkan calendar rohman@debian:~$ cal
November 2010
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
9
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
28 29 30
rohman@debian:~$
du
untuk menampilkan kapasitas oleh direktori tertentu, tambahkan opsi –k
agar ditampilkan dalam satuan kb (kilobyte).
contoh:
# du –k
clear Membersihkan layar
uname Menampilkan informasi sistem operasi yang digunakan pada system
Shutting down. Men shut down Linux dapat dilakukan dengan berbagai cara. Tetapi proses sebenarnya adalah mengirim sinyal pada semua proses untuk menghentikan kegiatannya (contoh: menyimpan dan menutup semua file). Cara pertama adalah dengan perintah shutdown # shutdown –t time time disini adalah waktu untuk menghentikan sistem. Warning message adalah pesan yang dikeluarkan pada terminal sebelum shut down. Agar shutdown secepatnya time disini kita isi ‘now’. –r bisa kita tambahkan untuk mereboot setelah shutdown. Perintah halt dapat digunakan untuk menshutdown secepatnya tanpa pesan apapun. Halt berguna pada saat untuk menshutdown dan mematikan linuxbox kita. Jangan menekan tombol power sebelum terdapat pesan : Power Down . Three Finger Salute (ctrlaltdel) juga dapat mereboot linuxbox secepatnya.
APLIKASI DASAR Seperti juga pada MS Windows, untuk Linux maupun semua varian UNIX terdapat editor file yang dinamakan vi atau vim (vi improved with syntax color highlighting). Selain vi terdapat program editor lain yang lebih mudah pemakaiannya serperti pico, joe, jove, mc (midnight commander), dll. Pada bab ini, akan dikenalkan bagaimana menggunakan editor vi, joe, pico dan mc. Vim merupakan pengembangan dari editor vi yang mempunyai keunggulan dalam penggunaan warna. Vi merupakan editor yang paling terkenal di dunia UNIX. Vi ialah kepanjangan dari "Visual" editor. Vim mendukung penggunaan warna untuk menandakan kode program dan juga penanda teks seperti penggunaan huruf normal, tebal maupun cetak miring. Untuk menjalan perintah vi, kita gunakan sintaks sbb : vi <nama_file>
Status vi Editor vi mempunyai 3 mode, yaitu : command mode : untuk menggunakannya tekan ESC terlebih dahulu. input mode : dengan mengetikkan perintahperintah yang spesifik, seperti a I o 0 dan
diakhiri dengan ESC atau dengan interrupt. line mode : suatu keadaan setelah ada proses input : ?, /, !
10
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
Notasi yang digunakan CTRL-c, CTRL adalah tombol control pada keyboard, sehingga CTRLc berarti "control c". CR (Carriage Return) ialah tombol enter.
Figure 2 Perintah Vi untuk manipulasi file
Figure 3 Perintah Vi untuk pergerakan cursor
11
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
Figure 4 Perintah Vi untuk penghapusan
Figure 5 Perintah cari dan ganti
Figure 6 Perintah lainnya
Pico / nano Pico adalah teks editor jenis lain yang berdasarkan pada program compose email Pine. Navigasi untuk perintahnya diletakkan di bawah dari layar. Semua karakter yang diketik langsung disisipkan ke dalam teks. Perintah untuk menjalankan editor pico adalah sbb : pico <nama file>
12
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
KONFIGURASI DNS SERVER
Dasar Teori
DNS (Domain Name System) adalah system penamaan computer dari IP Address ke bentuk
domain/nama, karena pada dasarnya alamat masing-masing computer ditentukan dengan IP
Address (Alamat Internet Protokol). Sedangkan fungsi DNS Server itu sendiri adalah
merubah/mentranslasikan nama computer (domain) ke IP Address, dan dari IP Address ke
nama computer. Secara sederhana contoh ict-smk.net mewakili computer dengan alamat IP :
180.246.228.204. Kita tahu di dunia ini banyak sekali computer yang terhubung dengan
internet, jutaan computer. Tentunya kita tidak mungkin mengakses google.com dengan
mengingat-ingat IP Addressnya, kemudian mengetiknya di web browser : http:// 64.233.189.104
atau mau mengunjungi facebook dengan alamat http:// 69.63.189.11. dan Bagaimana kalau kita
ingin menghubungi situs yang lain??
Agar memudahkan kita menghubungi computer-kompouter did internet, kita dimudahkan
dengan menggunakan DNS (Domain Name System) yaitu pengalamatan computer dengan
system nama. Sebagai contoh computer dengan IP Address: 180.246.228.204 memiliki nama
ict-smk.net.
Komponen Kerja DNS
Untuk memahami cara kerja DNS, terlebih dahulu harus dipahami tentang komponen yang
bekerja di dalamnya.
Keterangan :
Cache : media penyimpanan sementara
Resolver : bagian dari program aplikasi yang berfungsi menjawab pertanyaan tentang
domain (local DNS)
User Program : misalnya outlook express (email client), Mozilla Firefox, Internet Explorer, yaitu
aplikasi yang membutuhkan penerjemahan domain computer yang dihubungi.
LOCALHOST
Resolver
User
Program/
Client
Foreign
Name
server
Cache
13
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
Cara kerja DNS
Ketika aplikasi client/user program ingin mengakses ict-smk.net. proses yang terjadi agar user
dapat menghubungi computer ict-smk.net adalah:
Broswer diarahkan ke http://ict-smk.net
1. DNS client menghubungi DNS Server local untuk mendapat IP Address dari ict-smk.net
2. DNS server local memeriksa cache-nya, jika akses tersebut sudah pernah dilakukan
sebelumnya, maka DNS server local akan mengambil IP Address ict-smk.net
3. Jika dalam data cache tidak ditemukan informasi yang dicari, maka kemudian DNS Server
local akan mengirimkan message failure (pesan gagal) kepada client bahwa IP Addres dari
alamat yang diminta tidak ditemukan.
4. Kemudian client melakukan request kepada DNS Server tertinggi yaitu ‘.’ (dot) atau root
server. Dan hasilnya akan dikembalikan lagi ke client.
5. Jika tidak ditemukan lagi, maka client akan menghubungi DNS server .net (top level
Domain) hasilnya akan dikembalikan lagi ke client
6. Kemudian jika belum dapat ditemukan, client akan menghubungi DNS server ict-smk.net.
7. DNS Server ict-smk.net memberikan IP Address dari domain ict-smk.net
8. IP Address tersebut kemudian dikirimkan kembali ke DNS server local untuk diberikan
kepada browser dan kemudian dicatat dalam data cache DNS server local.
9. Browser mengarah ke IP Address yang dimaksud untuk mengakses computer pada IP
Address.
10. Sehingga User sekarang dapat mengaksdes ict-smk.net.
Struktur Hierarki DNS
DNS Mengatur proses penamaan computer secara hierarki dalam struktur pohon (tree).
Struktur tersebut terbentuk dari sebuah node yang memiliki subnode, masing-masing subnode
memiliki lagi subnode di bawahnya dan begitu seterusya. Node-node tersebut diberi label
sehingga disebut subdomain.
Domain ditentukan berdasarkan tingkatan kemampuan yang ada di struktur hierarki yang
disebut dengan level. Level paling atas di hierarki disebut dengan Root Domain. Root domain di
ekpresikan dengan lambing ‘.’ (dot).
Level kedua setelah root domain disebut Top Level Domain yaitu semua node yang tepat
berada di bawah root.
com : organisasi comersial
edu : Institusi Pendidikan atau Universitas
org : Organisasi Non profit
net : network (backbone internet)
gov : Organisasi pemerintahan non militer
mil : ogranisasi pemerintah militer
num : no. telepon
arpa : reverse DNS
14
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
File konfigurasi
• named.conf (/etc/bind/named.conf)
named.conf merupakan file yang berisikan inisialisasi DNS Server. Sebaiknya DNS server
suatu jaringan terdiri dari satu computer. Jika primary DNS server terganggu maka
secondary DNS server dapat menggantikan tugas dari primary DNS server.
Berikut contoh konfigurasi file named.conf :
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local
include "/etc/bind/named.conf.options";
// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};
// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912
// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};
// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "rohman.sch.id" {
type master;
file "/etc/bind/rohman.sch.id.zone";
};
zone "smk.sch.id" {
type master;
file "/etc/bind/smk.sch.id.zone";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
15
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
include "/etc/bind/named.conf.local";
• Zona File (/etc/bind/nama_file_zona)
File ini merupakan file text biasa yang berisi informasi yang berkaitan dengan suatu domain.
Dalam zona file tersedia satu set informasi untuk setiap domain. Set informasi yang
dimaksud bisa berupa IP Address, nama alias domain host tersebut, bertanggung jawab
untuk domain tersebut dan lain sebagainya.
Masing-masing informasi ini dikenal dengan istilah resource record
- Start Of Authority (SOA)
SOA digunakan untuk mendeklarasikan hostname yang merupakan awal dari suatu
zona. Format dasar SOA adalah :
[zone] IN SOA orogon contact (
Serial
Refresh
Retry
Expire
Minimum TTL
)
Keterangan :
1 Zone Deklarasi nama zona (bila diawali dengan karakter
‘@’ berarti type master merupakan asal dari zona
tersebut)
2 Origin Deklarasi hotname yang merupakan primary
master server untuk domain
3 Contact Deklarasi email address administrator penanggung
jawab domain
4 Refresh Selang waktu (detik) yang diperlukan secondary
server untuk memeriksa perubahan zona file pada
primary server
5 Retry Berapa lapa secondary server menunggu untuk
mengulang pengcekan terhadap primary server
apabila primary server tidak memberikan respon
saat proses refresh.
6 Expire Berapa lama zona file dipertahankan secondary
server apabila secondary server tidak dapat
16
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
melakukan refresh
7 Minimum Nilai default Time to Live untuk semua resource
record pada zona file
Komponen lain yang terdapat dalam zona file :
1 Name server record (NS) Identifikasi authoritative server suatu zona
(sebaiknya lebih dari satu sebagai tindakan
pencegahan apabila primary server tidak dapat
diakses oleh secondary server)
2 Address Record (A) Memetakan hostname ke IP Address
3 Mail Exchanger record
(MX)
Berfungsi untuk mengarahkan mail untuk suatu
host ataupun suatu domain ke host yang berfungsi
sebagai mail server
4 Canonical Name (CNAME) Mendefinisikan alias (nickname) suatu host
5 Pointer record (PTR) Mendefinisikan reverse address suatu hostname
Berikut adalah salah contoh file zona untuk domain smk.sch.id
(/etc/bind/smk.sch.id.zone): ;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.smk.sch.id. root.smk.sch.id. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
IN NS ns.smk.sch.id.
ns.smk.sch.id. IN A 192.168.7.1
smk.sch.id. IN A 192.168.7.1
www IN CNAME smk.sch.id.
ftp IN CNAME smk.sch.id.
pop IN A 192.168.7.1
17
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
• CONTOH KASUS
DNS SERVER
ns.smk.sch.id
ns.sakura.sch.id
192.168.7.1
smk.sch.id
(web server utama)
192.168.7.2
tkj.smk.sch.id
192.168.7.3
Client
192.168.7.21
oto.smk.sch.id
192.168.7.4
sakura.sch.id
192.168.7.5
Diagram jaringan yang akan dibangun
LANGKAH-LANGKAH KONFIGURASI
1) DNS server (ns.smk.sch.id)
a) Setting IP Address
IP Address : 192.168.7.1
Netmask : 255.255.255.0
DNS Server : 192.168.7.1
Setting IP Address dengan mengeksekusi perintah berikut :
# nano /etc/network/interfaces
Tambahkan baris code berikut:
iface eth1 inet static
address 192.168.7.1
netmask 255.255.255.0
gateway 192.168.7.5
18
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
setting Default DNS Server ke alamat IP : 192.168.7.1 (yaitu alamat IP dirinya sendiri):
# nano /etc/resolv.conf
Tambahkan baris code berikut :
nameserver 192.168.7.1
setelah itu restart kartu jaringan agar konfigurasi diaplikasikan, dengan perintah :
# /etc/init.d/networking restart
b) Mengkonfigurasi file : /etc/bind/named.conf
Pastikan DNS server Bind9 sudah terinstall, jika belum eksekusi perintah :
# apt-get install bind9
Edit file named.conf dengan menggunakan perintah:
# nano /etc/bind/named.conf
Maka akan tampil isi dari named.conf
Tambahkan code berikut: zone "sakura.sch.id" {
type master;
file "/etc/bind/sakura.sch.id.zone";
};
zone "smk.sch.id" {
type master;
file "/etc/bind/smk.sch.id.zone";
};
Kita dapat mengetik code di atas dengan cara mengkopi code yang sudah ada, hanya
mengganti nama domain dan nama file zone saja. Tambahkan kode di atas, sehingga
menjadi :
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local
include "/etc/bind/named.conf.options";
// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};
// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912
// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};
// be authoritative for the localhost forward and reverse zones, and for
19
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
// broadcast zones as per RFC 1912
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "sakura.sch.id" {
type master;
file "/etc/bind/sakura.sch.id.zone";
};
zone "smk.sch.id" {
type master;
file "/etc/bind/smk.sch.id.zone";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
include "/etc/bind/named.conf.local";
c) Konfigurasi file: /etc/bind/smk.sch.id.zone
Ketikkan perintah : # nano /etc/bind/smk.sch.id.zone
Edit file tersebut sehingga menjadi seperti berikut :
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.smk.sch.id. root.smk.sch.id. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
IN NS ns.smk.sch.id.
IN A 192.168.7.2
ns IN A 192.168.7.1
tkj IN A 192.168.7.3
oto IN A 192.168.7.4
20
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
File Konfigurasi: /etc/bind/sakura.sch.id.zone
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.sakura.sch.id. root.smk.sch.id. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
IN NS ns.sakura.sch.id.
IN A 192.168.7.3
ns IN A 192.168.7.1
2) KONFIGURASI COMPUTER WEB SERVER 1 (smk.sch.id)
IP Address : 192.168.7.2
Subnetmask : 255.255.255.0
DNS server : 192.168.7.1
3) KONFIGURASI COMPUTER WEB SERVER 2 (tkj.smk.sch.id)
IP Address : 192.168.7.3
Subnetmask : 255.255.255.0
DNS server : 192.168.7.1
4) KONFIGURASI COMPUTER WEB SERVER 3 (oto.smk.sch.id)
IP Address : 192.168.7.4
Subnetmask : 255.255.255.0
DNS server : 192.168.7.1
5) KONFIGURASI COMPUTER WEB SERVER 4 (sakura.sch.id)
IP Address : 192.168.7.4
Subnetmask : 255.255.255.0
DNS server : 192.168.7.1
6) KONFIGURASI COMPUTER CLIENT
IP Address : 192.168.7.21
Subnetmask : 255.255.255.0
DNS server : 192.168.7.1
7) RESTART DAEMON BIND9 # /etc/init.d/bind9 restart
21
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
MENGKONFIGURASI WEB SERVER
Dasar Teori
Setiap kali sebuah web browser berhubungan dengan suatu situs web, sebetulnya ia
berhubungan dengan sebuah web server. Server tersebut mendengarkan (listen) request pada
jaringan dan memberikan jawaban berupa data tertentu kepada client atau pengirim
permintaan. Web server atau HTTP adalah sebuah program yang melayani koneksi HTTP
(Hyper Text Transfer Protocol) yang bekerja di port 80 (secara default, namun kita bisa rubah
sesuai keinginan). Web server bekerja berdasarkan request-response, yaitu ketika HTTP client
(web browser) membangun koneksi dengan mengirimkan request (permintaan) kepada server,
maka server akan merespon dengan mengelola permintaan tersebut kemudian mengirimkan
data sesuai yang diminta oleh HTTP Client.
HTTP merupakan protocol yang bekerja pada lapisan aplikasi (application layer) dan secara
sederhana dapat didefinisikan sebagai sekumpulan aturan untuk tukar menukar data pada
world wide web (www).
Program yang kita gunakan adalah apache2, untuk instalasi kita dapat menggunakan perintah:
# apt-get install apache2
Untuk mematikan/menghidupkan daemon apache2, gunakan perintah
Untuk merestart daemon :
# /etc/init.d/apache2 restart
Menghentikan :
# /etc/init.d/apache2 stop (stop)
Memulai :
# /etc/init.d/apache2 start
File Konfigurasi
Informasi untuk konfigurasi apache2 disimpan dalam sebuah file konfigurasi yaitu apache.conf
letaknya di : /etc/apache2/apache2.conf.
Membuat web server dan Virtual Host
Virtual Host adalah membuat lebih dari satu web site pada satu mesin computer yang sama.
Dengan kata lain, satu alamat IP Address memuat beberapa web site yang berbeda. Misalkan
kita akan membuat alamat web site : tkj-proactive.edu, temon.com, tukul.com, shop-babat.com,
dolanan-wae.net dalam satu computer dengan tampilan web yang berbeda-beda sesuai dengan
domain yang diakses oleh client.
� Edit file apache2.conf
# nano /etc/apache2/apache2.conf
Dapat kita lihat disana tertera kode :
Include /etc/apache2/conf.d/
# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/
22
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
Artinya, file konfigurasi apache2.conf juga mengambil konfigurasi dari file lain yang
berada di direktori sites-enabled, tepatnya yaitu file :
/etc/apache2/sites-enabled/000-default
Sehingga nantinya kita dapat membuat virtual host dengan cara mengedit file tersebut
(/etc/apache2/sites-enabled/000-default)
� Edit file 000-default
# nano /etc/apache2/sites-enabled/000-default
Masukkan code berikut :
<VirtualHost *:80>
ServerName tkj-proactive.edu
DocumentRoot “/var/www/tkj”
</VirtualHost>
<VirtualHost *:80>
ServerName temon.com
DocumentRoot “/var/www/temon”
</VirtualHost>
<VirtualHost *:80>
ServerName tukul.com
DocumentRoot “/var/www/tukul”
</VirtualHost>
<VirtualHost *:80>
ServerName shop-babat.com
DocumentRoot “/var/www/shop”
</VirtualHost>
<VirtualHost *:80>
ServerName dolanan-wae.net
DocumentRoot “/var/www/dolanan”
</VirtualHost>
� Buatlah dokumen index.html sebagai content website tkj-proactive.edu yang
diletakkan di /var/www/tkj
# nano /var/www/tkj/index.html
Ketik code berikut :
<html><body><head><title>Website tkj-proactive.edu</title></head>
<h1> Thank You buanget Rek atas visit-nya di tkj-
proactive.edu</h1>
</body>
</html>
23
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
� Buatlah dokumen index.html sebagai content website temon.com yang diletakkan
di /var/www/temon
# nano /var/www/temon/index.html
Ketik code berikut :
<html><body><head><title>Website temon.com</title></head>
<h1> Thank You buanget Rek atas visit-nya di temon.com</h1>
</body>
</html>
� Buatlah dokumen index.html sebagai content website tukul.com yang diletakkan
di /var/www/tukul
# nano /var/www/tukul/index.html
Ketik code berikut :
<html><body><head><title>Website tukul.com</title></head>
<h1> Thank You buanget Rek atas visit-nya di tukul.com</h1>
</body>
</html>
� Buatlah dokumen index.html sebagai content website shop-babat.com yang
diletakkan di /var/www/temon
# nano /var/www/shop/index.html
Ketik code berikut :
<html><body><head><title>Website shop-babat.com</title></head>
<h1> Thank You buanget Rek atas visit-nya di shop-babat.com</h1>
</body>
</html>
� Buatlah dokumen index.html sebagai content website dolanan-wae.net yang
diletakkan di /var/www/dolanan
# nano /var/www/shop/index.html
Ketik code berikut :
<html><body><head><title>Website tkj-proactive.edu</title></head>
<h1> Thank You buanget Rek atas visit-nya di dolanan-wae.net</h1>
</body>
</html>
� Restart Apache2
# /etc/init.d/apache2 restart
24
Me
mb
an
gu
n D
NS
Se
rve
r d
an
We
b S
erv
er
de
ng
an
De
bia
n L
inu
x::
: IC
T SM
K M
uh
am
ma
diy
ah
5 B
ab
at
~Special Thanks~
� http://distrowatch.com
� Penyusun Buku : Modul Praktikum Jaringan Komputer Sistem Informasi dan Jaringan
Komputer Universitas Islam Indonesia
� Debian Indonesia di : http://debianindonesia.org
� Mr. M. Charis, S.Pd, selaku Guru besar-Q (yang ngajar AQ Komputer doloe)
� Mr. Zamroni Masjid Z., S.Pd selaku Kaprodi yang selalu mensupport untuk maju!
~Persembahan buat!~
� Mother (alm), may you are fine there….
� Father… that always open the door for me ^_^!
� My honey…. That always support me to understanding Linux System
� My Brothers…. That support me always….!
� Siswa-Siswi TKJ SMK Muhammadiyah 5 Babat yg lucu-lucu, pinter-pinter and yg ndua-bleg!
~ Pesan ~
� “Ilmu tidak akan pernah habis untuk di-eksplorasi, walau kita habiskan seluruh umur kita
untuk menuntut ilmu”
� Tanamkan dalam hati bahwa dirimu amat suka membaca, dan suka mempelajari sesuatu
(jiwa pelajar).
~Permintaan Maaf~ � Everyone yg terselip file2….