MEMBANGUN DNS DAN WEB SERVER DENGAN DEBIAN

advertisement
MEMBANGUN DNS SERVER DAN
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
WEB SERVER DENGAN DEBIAN LINUX
Oleh: Abdul Rohman
~“ikatlah ilmu dengan tulisan”~
[email protected],
[email protected]
Administrators & Developer ICT
MUHAMMADIYAH’S VOCATIONAL HIGH
SCHOOL 5th BABAT
2010
1
PENGENALAN LINUX
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
2
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
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.
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.
3
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
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.
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.
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
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.
4
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?
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 filefile 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
5
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
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.
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
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]
6
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
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#
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
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 :
7
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
Contoh :
$ 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 :
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
$ 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
8
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
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 : ?, /, !
9
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
uname
Menampilkan informasi sistem operasi yang digunakan pada system
Notasi yang digunakan
CTRL-c,
CTRL adalah tombol control pada keyboard, sehingga CTRLc
berarti "control
c". CR (Carriage Return)
ialah tombol enter.
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
Figure 2 Perintah Vi untuk manipulasi file
Figure 3 Perintah Vi untuk pergerakan cursor
10
Figure 4 Perintah Vi untuk penghapusan
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>
11
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
Figure 5 Perintah cari dan ganti
KONFIGURASI DNS SERVER
LOCALHOST
User
Program/
Client
Resolver
Foreign
Name
server
Cache
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.
12
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
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.
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
13
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
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.
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";
};
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
// 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";
};
14
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
•
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
15
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
include "/etc/bind/named.conf.local";
7
Minimum
melakukan refresh
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 Berfungsi untuk mengarahkan mail untuk suatu
(MX)
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
(/etc/bind/smk.sch.id.zone):
contoh
file
zona
untuk
domain
smk.sch.id
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
;
; 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
16
•
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
sakura.sch.id
192.168.7.5
tkj.smk.sch.id
192.168.7.3
oto.smk.sch.id
192.168.7.4
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
Client
192.168.7.21
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
17
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:
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
18
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
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";
};
// 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";
};
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
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
19
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
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
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
20
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/
21
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
MENGKONFIGURASI WEB SERVER
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 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
tkjproactive.edu</h1>
</body>
</html>
22
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
<VirtualHost *:80>
ServerName temon.com
DocumentRoot “/var/www/temon”
</VirtualHost>
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 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
23
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
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>
~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!
“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….
24
Membangun DNS Server dan Web Server dengan Debian Linux::: ICT SMK Muhammadiyah 5 Babat
~ Pesan ~
Download