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 ~