You are on page 1of 276

PANDUAN LENGKAP MEMBANGUN SERVER BERBASIS GUI MENGGUNAKAN LINUX SuSE

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Daftar Isi
1. 2. 3. Kata Pengantar Ucapan Terima Kasih Dasar-Dasar Perangkat Keras 3. 1. Alur Kerja Komputer 3. 2. Peralatan Input 3. 3. Peralatan Output 3. 4. Peralatan Proses 4. Dasar-Dasar Jaringan 4. 1. Pengertian Jaringan 4. 2. Topologi Jaringan 4. 3. Tipe Jaringan 4. 4. Peralatan Jaringan 4. 5. Desain Jaringan 4. 6. Pengkabelan 5. TCP/IP 5. 1. Pengertian TCP/IP 5. 2. Format IP Address 5. 3. Pembagian Kelas IP Address 5. 3. 1. Kelas A 5. 3. 2. Kelas B 5. 3. 3. Kelas C 5. 3. 4. Kelas D 5. 3. 5. Kelas E 5. 4. Subnet Mask 5. 5. Subnetting 5. 5. 1. Subnetting Kelas A 5. 5. 2. Subnetting Kelas B 5. 5. 3. Subnetting Kelas C 5. 6. Masqureading 6. Apa Itu Linux ?

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

7. 8. 9.

Keistimewaan linux Aplikasi Linux Dasar-Dasar Linux

10. File System Linux 11. Instalasi Linux 8. 1. 8. 2. 8. 3. 8. 4. 8. 5. 8. 6. 8. 7. 8. 8. 8. 9. Persiapan Instalasi Linux SuSE 9.1 Booting Pilhan Bahasa Menu Instalasi Section System Section Mode Section Keyboard Section Mouse Section Partitioning

8. 10. Section Software 8. 11. Section Booting 8. 12. Section Time Zone 8. 13. Section Languange 8. 14. Section Default Runlevel 8. 15. Instalation Linux 8. 16. Root Password 8. 17. Network Configuration 8. 18. Internet Connection 8. 19. Add User 8. 20. Clean Up Configuration 8. 21. Release Notes 8. 22. Device Configuration 12. Apa Itu Server ? 13. Persiapan Server 14. Syarat-syarat Server 15. Jenis-jenis Server 16. Membangun Server

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

16.1. 16.2. 16.3. 16.4. 16.5. 16.6. 16.7. 16.8. 16.9.

DNS Server Web Server Database Server Proxy Server SMB Server File Server Fax Server Mail Server X Server

16.10. Router 16.11. Security dan Administrasi 17. Penutup 18. Daftar Pustaka

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

DASAR-DASAR PERANGKAT KERAS


Penggunaan komputer telah begitu luas dan mencakup seluruh sendi kehidupan dan telah menjadi salah satu kebutuhan pokok dalam kegiatan seharihari. Namun pada awalnya, komputer hanya digunakan untuk alat hitung belaka. Komputer berasal dari bahasa latin to compute yang berarti alat hitung. Alur Kerja Komputer Sistem kerja komputer secara garis besar terbagi atas 3 bagian, dan seluruh bagian ini saling berkaitan satu sama lain. Yaitu Input Device, Process Device, Output Device. Didalam Process Device terdapat beberapa alur kerja lagi. Perhatikan Gambar skema dibawah ini.

Gambar 1 Alur Kerja Komputer

Input Device Input device berfungsi untuk memasukkan data atau perintah ke dalam komputer. Contoh contoh input device adalah : 1. Keyboard Keyboard atau papan ketik berfungsi untuk memasukkan perintah secara langsung ke dalam komputer yang berupa karakter, baik angka, huruf maupun kode ASCII. Secara fisik, keyboard terbagi atas 3 bagian, yaitu : Keyboard Serial Keyboard PS/2 Keyboard Wireless

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 2 Keyboard Dan Mouse 2. Mouse Mouse yang dalam bahasa Indonesia berarti tikus (Disebut seperti ini karena bentuk dan kabel yang terdapat pada mouse benar-benar menyerupai tikus), berfungsi untuk membantu dalam memberikan perintah kepada komputer dalam bentuk pointer. Secara fisik, mouse juga terbagi atas 3, yaitu : - Mouse Serial - Mouse PS/2 - Mouse Wireless

Gambar 3 Beberapa Jenis Mouse

3. Trackball Secara umum, trackball memiliki fungsi yang sama dengan mouse. Yang membedakan pada trackball adalah bentuknya yang menyerupai bola. Sehingga pemilihan pointer menjadi lebih selektif

Gambar 4 Trackball 4. Scanner Scanner berfungsi untuk memasukkan data gambar ke dalam komputer dan memiliki prinsip kerja yang sama dengan mesin photo copy. Secara umum, scanner terbagi atas 2, yaitu faltbed scanner dan handled scanner.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Saat ini, beberapa scanner telah dilengkapi dengan OCR dan software yang mampu membaca citra digital sebagai text sehingga dapat langsung diedit dalam komputer oleh perangkat lunak pengolah kata.

Gambar 5 Scanner 5. Digitizer Digitizer banyak digunakan oleh kartunis yang membutuhkan koneksi langsung antara coretan yang mereka buat dengan sistem komputer. Digitizer memiliki bentuk menyerupai buku tulis namun lebih tebal dan terhubung langsung dengan komputer melalui port serial atau USB. 6. Kamera Seiring dengan perkembangan teknologi, pengguna kamera juga telah banyak yang beralih kepada kamera yang memiliki hubungan dengan komputer dengan pertimbangan kemudahan dalam pengeditan dan penambahan komponen.

Gambar 6 Kamera Digital

7. Mic Pengguna multimedia juga akan dimanjakan dengan fasilitas input ini, karena dengan tersedianya microphone yang terintegrasi dengan sistem komputer dapat mempermudah mereka untuk memberikan beberapa sentuhan efek bagi musik maupun audio. 8. Joystick Pengguna game akan amat membutuhkan perangkat ini, karena akan memudahkan mereka melakukan manuver-manuver yang sulit dilakukan oleh

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

penggunaan keyboard dan mouse. Jenis joystick yang dapat digunakan pada komputer juga amat banyak, termasuk dengan jenis khusus yang digunakan untuk game balap yang dilengkapi dengan roda kemudi dan pedal.

Gambar 7 Joystick

Masih banyak lagi input device yang biasa digunakan dalam kehidupan sehari-hari, utamanya dalam pemakaian khusus yang memerlukan kontrol langsung dari sistem komputer. Output Device Output device adalah peralatan yang digunakan untuk melihat atau memperoleh hasil pengolahan data / perintah yang telah dilakukan oleh komputer. Contoh-contoh output device adalah : 1. Monitor Monitor merupakan alat output yang paling umum dan berfungsi untuk melihat hasil pengolahan data pada layar, baik berupa karakter, gambar maupun warna. Secara umum, monitor terbagi atas : - CRT (Cathode Rays Tube) Merupakan monitor yang berfungsi dengan prinsip penembakan sinar katoda. Bentuk fisik monitor ini sama dengan televisi namun secara umum hanya terdiri dari 4 blok, yaitu video, vertikal, horisontal dan power supply. Monitor type ini memiliki beberapa kelemahan, antara lain adalah : Membutuhkan daya yang besar, menghasilkan panas yang cukup tinggi, memiliki bentuk fisik yang besar (walaupun ada juga yang memiliki dimensi yang kecil namun tetap tidak praktis karena gambar yang dihasilkan tetap kecil) dan memiliki radiasi yang besar (walaupun ada beberapa type yang menggunakan jenis tabung tertentu yang mampu menyerap radiasi yang dihasilkan oleh tembakan CRT). Namun, secara umum monitor ini memiliki harga yang cukup rendah sehingga tetap merupakan peratalan standard dalam unit komputer.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 8 Monitor CRT

LCD (Liquid Crystal Display) Sistem kerja monitor ini jauh berbeda dibandingkan dengan CRT. LCD menggunakan cairan kristal khusus yang berpendar apabila dilalui oleh sinyal listrik sehingga menghasilkan bentuk dan warna. Kelemahan LCD adalah harganya yang cukup mahal dan komponen fisik yang ada amat rentan terhadap gangguan, namun LCD juga memiliki beberapa kelebihan diantaranya adalah : hanya memerlukan daya yang rendah (Tegangan yang digunakan cuma 12 Volt), bentuk fisik yang kecil dan ramping sehingga mudah ditempatkan serta tidak menghasilkan radiasi.

Gambar 9 LCD

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

2. Printer Printer berfungsi untuk mencetak output yang dikeluarkan oleh Process Device. Secara garis besar, printer terbagi atas 3 bagian, yaitu : - Printer Dot Matrix Jenis ini disebut dengan Dot Matrix karena hasil cetakan dibentuk oleh hentakan jarum pada pita yang membentuk karakter berupa titik-titik yang beraturan. Oleh sebab itu, maka suara yang dihasilkan oleh printer jenis ini, jauh lebih besar dan kasar dibandingkan dengan jenis printer lainnya. Kehalusan hasil cetakan ditentukan oleh banyaknya jarum yang digunakan. Minimal jumlah jarum yang digunakan adalah 9 pin dan maksimal adalah 24 pin. Salah satu contoh printer yang menggunakan 9 pin adalah Epson LX-300 dan 800, sedangkan yang menggunakan 24 pin adalah LQ (Letter Quality) 1170 dan 2180. Bentuk printer jenis ini juga terdiri dari beberapa macam, ada yang hanya mampu mencetak dengan ukuran folio, dan ada pula yang mampu mencetak dengan ukuran double folio. Tinta yang digunakan adalah pita karbon.

Printer Inkjet Sesuai dengan namanya, printer jenis ini mencetak dengan menggunakan semburan tinta cair pada permukaan kertas, sehingga hasil cetakannya jauh lebih bagus, lebih cepat dibandingkan dengan dot matrix. Printer ini juga mampu mencetak warna dengan sempurna, bahkan beberapa jenis printer bahkan mampu mencetak dengan kualitas foto dan mampu mencetak pada permukaan selain kertas (Plastik dan kain). Printer inkjet yang terkenal saat ini adalah Canon BubleJet dan HewlletPackard.

Gambar 10 Printer Dot Matrix 9 pin dan 24 pin

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Printer Laser Jet Printer jenis ini memiliki kecepatan dan kualitas cetakan yang jauh melampaui Dot Matrix dan Inkjet. Prinsip kerja printer ini amat mirip dengan mesin Photocopy, yaitu dengan prinsip serbuk tinta dan elemen pemanas. Secara umum, printer ini hanya mampu mencetak dengan dua warna (Hitam dan Putih), namun pada jenis tertentu telah dilengkapi dengan tinta warna sehingga mampu mencetak dengan full color.

Gambar 11 Contoh Printer Inkjet

3. Plotter Plotter secara prinsip memiliki fungsi yang sama dengan printer. Yang membedakan secara umum adalah ukuran dan peruntukan dari plotter tersebut. Plotter mampu mencetak pada kertas dengan ukuran A0, dan biasanya digunakan untuk mencetak peta dan gambar ukuran besar lainnya. Plotter juga mengalami perkembangan yang cukup pesat, yang dimulai hanya dengan menggunakan pena sebagai alat cetak, hingga saat ini telah menggunakan inkjet dan bubuk tinta (Laserjet)

Gambar 12 Beberapa Laserjet Printer

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 13 Contoh Plotter 4. Speaker Fungsi speaker pada komputer sama dengan fungsi speaker pada perangkat audio sistem. Yang membedakan secara garis besar hanyalah pada ukurannya. Speaker pada komputer dibuat seefisien mungkin agar tidak terlalu memerlukan banyak tempat. Namun pada pengguna tertentu terkadang menghubungkan output sound mereka pada perangkat speaker lainnya untuk lebih memberikan kepuasan yang lebih.

Gambar 14 Speaker Surround

Masih banyak lagi output device yang sering digunakan pada komputer, utamanya pada sistem khusus yang diatur oleh komputer (Misalnya pengontrol robot, dan lainlain). Process Device Pada bagian inilah seluruh data yang diberikan oleh Input Device diolah dan selanjutnya diteruskan kepada Output Device. Seluruh unjuk kerja komputer amat bergantung pada komponen-komponen pada bagian ini. Komponen-komponen Process Device adalah :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

1. Processor Komponen kecil ini adalah inti dari sebuah komputer. Dalam komponen inilah seluruh perhitungan matematis yang amat rumit dilakukan. Singkat kata, kecepatan, kehandalan dan kompabilitas PC ditentukan oleh Processornya. Processor dapat dibedakan dari perbedaan jumlah data bus-nya. Misalkan ada processor 8 bit, itu berarti processor tersebut memiliki 8 data bus. Ada beberapa produsen processor untuk PC, seperti Intel, AMD, Cyrix dan Winchip IDT, namun dalam laporan ini kita menggunakan standard processor keluaran Intel Corp.

Gambar 15 Beberapa Contoh Processor

Dalam perkembangannya, processor sampai saat ini telah mencapai 7 generasi dan masih terus berlanjut hingga saat ini. Perkembangan processor tersebut adalah : 1. Generasi pertama Pada generasi ini, Intel mengeluarkan CPU 16 bit pertamanya yaitu Processor 8086 (1978), namun terhambat oleh kendala harga, dimana perangkat keras 16 bit saat ini masih terlalu mahal, sehingga Intel merancang ulang processornya dan mengluarkan Processor 8088 yang merupakan CPU 16 bit yang memiliki lebar bus 8 bit. PC pertama (1981) menggunakan Processor jenis ini 2. Generasi Kedua Pada generasi ini, Intel merilis Processor 80286 (1982) yang juga merupakan processor 16 bit namun memiliki kemampuan yang lebih, utamanya dalam penanganan perintah dan mode kerja baru 24 bit virtual address mode yang menegaskan arah perpindahan dari DOS ke windows. 3. Generasi Ketiga Intel meluncurkan Processor 80386 DX pada tanggal 17 Oktober 1985 yang merupakan Processor 32 bit pertama. Pada generasi inilah procesor mampu bekerja secara multitasking . 4. Generasi Keempat Pada generasi ini, Intel mengeluarkan Processor 80486 DX (10 April 1989) yang mampu bekerja dua kali lebih cepat dari pendahulunya. Intel juga mengeluarkan Processor 80486 SX yang merupakan chip yang tidak lengkap dengan dihilangkannya Math co-processor.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Produsen selain Intel juga mengluarkan beberapa jenis processor, misalnya Cyrix dan Texas Instruments mengeluarkan 486 SLC dan IBM mengeluarkan 486 SLC2 5. Generasi Kelima Pada generasi inilah, beberapa produsen Processor mulai berlomba mengeluarkan produk-produk terbaik mereka, diantaranya adalah : Intel Pada tanggal 22 Maret 1993, Intel mengembangkan Pentium Classic (P54C), dimana processor ini mampu menjalankan lebih dari satu perintah tiap tik clock (super scalar) yang sebanding dengan dua buah 486 dalam satu chip. Bus sistem juga mengalami perubahan besar, yaitu menjadi 64 bit dan kecepatannya meningkat menjadi 60 atau 66 MHz. Sejak itu, Intel memproduksi dua macam Pentium: yang bekerja pada sistem bus 60 MHz (P90, P120, P150 dan P180) dan sisanya, bekerja pada 66 MHz (P100, P133, P166 dan P200) Pada tanggal 8 Januari 1997, Intel memperkenalkan Processor type MMX (Multi Media Extension) atau P55C, dimana dalam processor tersebut ditambahkan 57 perintah integer baru, 4 jenis data baru dan 8 register 64 bit, yang menambah kemampuan CPU dalam penanganan aplikasi multimedia. Pentium yang menggunakan fasilitas ini adalah P200 MMX dan P233 MMX Cyrix Cyrix 6x86 diperkenalkan pada 5 Februari 1996 dan merupakan tiruan pentium yang murah, namun terkenal dengan unjuk kerja yang buruk utamanya pada floating-point-nya. Pada tanggal 30 Mei 1997, Cyrix memperkenalkan 6x86 MX yang kemudian dikenal sebagai MII (M-two) yang kompatibel dengan Pentium MMX. Kecepatan Bus yang digunakan oleh Cyrix adalah 60 MHz (PR166), 66 MHz (PR200 dan PR300), 75 MHz (PR233 dan PR266), 83 MHz (PR333) dan 95 MHz (PR433 dan PR466)

Gambar 16 Processor Keluaran Cyrix

Advanced Micro Devices Pentium-pentium AMD bersaing ketat dengan Intel, utamanya dari segi kecepatan dan harga. AMD menggunakan teknologi mereka sendiri sehingga

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

processornya bukan merupakan clone atau tiruan dari Intel. Processor yang dikeluarkan oleh AMD adalah : - AMD K5 yang menggunakan rating dari Pentium dan dapat disamakan dengan Pentium Classic (P54C) dari Intel. PR133 dan PR166 berharga jauh lebih murah dari jenis Pentium yang sebanding. - Pada tanggal 2 April 1997, AMD meluncurkan AMD K6 yang berunjuk kerja sedikit lebih baik dari Pentium MMX. Processor ini berisi 8,8 juta transistor - Tanggal 28 Mei 1998, AMD memasarkan K6-2 yang memiliki plug-in 3D baru yang disebut dengan 3Dnow! Yang merupakan penambahan 21 perintah baru untuk mewujudkan unjuk kerja 3D yang jauh lebih baik. - Processor ini memiliki unjuk kerja yang amat bagus dan memiliki harga yang lebih murah dibandingkan dengan Processor Intel pada spesifikasi yang sama. - Kecepatan bus yang digunakan pada processor ini adalah : 66 MHz (K6-2 266), 88 MHz (K6-2 266), 95 MHz (K6-2 333 dan K6-2 380), 100 MHz (K62 300, K6-2 350 dan K6-2 400) 6. Generasi Keenam Pada generasi ini, persaingan antar produsen Processor semakin hebat, dimana tiap-tiap Produsen terus menerus mengeluarkan inovasi dan produk terbaik mereka yang terus bersaing, baik dari segi kecepatan maupun harga. Intel Intel mengeluarkan beberapa jenis procesor pada generasi ini, antara lain : Pentium Pro Pengembangan Pentium Pro dimulai pada tahun 1991 di Oregon dan diperenalkan pada 1 November 1995. Pentium Pro merupakan processor RISC murni dan dioptimasi untuk pemrosesan 32 bit pada Windows NT atau OS/2. Processor ini menggunakan Soket 8 pada Motherboard. Pentium II Dengan nama sandi Klamath, Processor ini diperkenalkan 7 Mei 1997 dan menggunakan modul SECC (Single Edge Contact Catridge) yang lebih familiar dengan Soket 1. Pentium II tersedia dalam 233, 266, 300, 333, 400, 450 dan 500 MHz (dan terus berkembang dengan kecepatan yang lebih tinggi). Pentium II berbentuk kotak plastik persegi empat yang besar, yang berisi CPU dan cache. Juga terdapat sebuah controller kecil (S82459AB) dan kipas pendingan dengan ukuran yang besar. Pentium II Celeron Awal 1998, Intel mempunyai masa yang sulit dengan Pentium II yang agak mahal. Banyak pengguna membeli AMD K6-233, yang menawarkan unjuk kerja sangat baik pada harga yang layak. Maka Intel membuat merk CPU baru yang disebut Celeron. Processor ini sama dengan Pentium II kecuali cache L2 yang telah dilepas. Processor ini dapat disebut Pentium II-SX. Catridge Celeron sesuai dengan Slot 1 dan bekerja pada bus sistem 66 MHz. Clock internal bekerja pada 266 atau 300 MHz.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pentium II Celeron A : Mendocino Type Processor ini, baik kecepatan maupun bentuknya, mirip dengan Pentium II. Yang membedakan adalah penambahan cache L2 sebesar 128 Kb didalam catridgenya, yang memberikan unjuk kerja yang amat baik, karena cache L2 bekerja pada kecepatan CPU penuh. Pentium II Celeron PPGA : Soket 370 Processor ini menggunakan Soket 370 baru untuk celeron dan dikemas dalam Plastic Pin Grid Array (PPGA). Soket PPGA 370 terlihat seperti soket 7 tradisional dan memiliki 370 pin. Pentium II Xeon Pada 26 Juli 1998, Intel mengenalkan catridge Pentium II baru yang diberi nama Xeon. Ditujukan untuk penggunaan server dan pemakai high-end. Xeon menggunakan konektor baru yang disebut Slot Two. Perbedaan utama antara Xeon dan Pentium II lainnya adalah besar cache L2 yang terintegrasi dapat mencapat 2 Mb Pentium III Katmai Pada bulan Maret 1999 Intel mengenalkan kumpulan MMX2 baru yang ditingkatkan dengan perintah grafis (diantaranya 70 buah perintah). Perintah ini disebut Katmai New Instructions (KNI) / Perintah baru Katmai atau SSE. Perintah ini ditujukan untuk meningkatkan unjuk kerja game 3D seperti teknologi 3Dnow! AMD. KNI diperkenalkan pada Pentium III 500 MHz baru. Processor ini sangat mirip dengan pentium II. Menggunakan Slot 1, dan hanya berbeda pada fitur baru seperti pemakaian Katmai dan SSE. Pentium III Xeon (dengan nama sandi Tanner) diperkenalkan 17 Maret 1999.

AMD Pada generasi ini, AMD mengenalkan AMD K6-3 yang merupakan K6 model 9 dengan nama sandi Sharptooth, yang mungkin mempunyai cache tiga tingkat. Kecepatan clock Processor ini adalah 400 MHz dan 450 MHz. 7. Generasi Ketujuh Pada generasi ini, pertarungan antara Processor-processor tercepat, utamanya antara Intel dan AMD semakin menghangat. Masing-masing produsen mengeluarkan Processor terbaik mereka.

Gambar 17 Processor Generasi Keenam dari Intel

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

AMD Processor AMD utama yang sangat menggemparkan, Athlon (K7) diperkenalkan Agustus 1999. Athlon dapat mengungguli Pentium III pada frekwensi yang sama. Athlon menggunakan Soket khusus (Slot A) dalam pemasangannya karena AMD tidak memiliki lisensi untuk menggunakan rancang bangun Slot 1, sehingga rangkaian logika controller datang dari Digital Equipment Corp. Spesifikasi Athlon adalah : - Memiliki clock 600 MHz pada versi pertama - Memiliki cache L2 mencapai 8 Mb (Minimum 512 Kb) - Memiliki cache L1 sebesar 128 Kb - Beirsi 22 juta transistor (Pentium III mempunyai 9,3 Juta) - Memiliki kecepatan ram hingga 200 MHz (Peningkatan hingga 400 MHz diharapkan kemudian) - Dapat menangani dan menyusun kembali hingga 72 perintah secara serentak (Pentium III dapat melakukan 40, K6-2 hanya 24) - Unjuk kerja FPU yang hebat dengan tiga perintah serentak dan satu GFLOP pada 500 MHz (1 milyar perintah bilangan floating-point tiap detik) dengan 80 bit bilangan floating-point. Athlon akan memberi persaingan Intel dalam segala lapisan termasuk server, yang dapat dibandingkan dengan processor Xeon.

Gambar 18 Processor Generasi Ketujuh dari AMD Intel Pada generasi ini, Intel berupaya keras untuk menghadang laju AMD dengan mengeluarkan Processor Pentium 4 dengan kecepatan minimal 1,4 GHz, dan terus berkembang sampai saat ini.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 19 Generasi Processor

2. Motherboard

Gambar 20 Motherboard

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Motherboard atau papan ibu dan biasa juga disebut dengan Mainboard adalah komponen terbesar yang terdapat dalam sebuah Process Device. Fungsi motherboard secara keseluruhan adalah tempat utama untuk memasang peripheral lain, seperti Processor, Memori, VGA Card, dan lainlain. Seperti processor, motherboard juga memiliki beberapa produsen, diantaranya adalah : Intel, Asus, Iwill, Abit, DFI, Gigabyte, dan masih banyak lagi. Motherboard terdiri dari beberapa komponen, yaitu : Soket Processor Soket processor berfungsi untuk menancapkan Processor ke motherboard. Ada beberapa jenis Soket yang tersedia, bergantung kepada jenis Processor yang dapat dipasang. Jenis-jenis soket tersebut adalah : Socket DIP Socket 3 Socket 5 Socket 7 Socket 8 Slot One Slot One Slot One Socket 370 Slot Two Socket 423 CPU Yang sesuai Jumlah Pin 40 168 321 IDT 321

8088 dan 8086 386 486 dan Pentium Klasik (P54C) Pentium, MMX, K5, 6x86, K6, Winchip, 6x86MX, K6-2 Pentium Pro 387 Pentium II 242 Pentium II (bus sistem 100 MHz) 242 Pentium III (bus sistem 100 dan 133 MHz) Celeron 242 Celeron yang di-Socket 370 Pentium II Xeon, Tanner 330 Pentium IV 423
Gambar.21 Tabel Jenis Soket Processor

Gambar 22 Soket 370 dan Soket A, Serupa tapi tak sama

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Chipset Chipset berfungsi untuk mengontrol motherboard secara keseluruhan. Frekwensi bus, jenis processor, slot ekspansi dan kapasitas memori juga amat bergantung pada chipset. Seperti motherboard dan processor, chipset juga memiliki berbagai produsen dan jenis, diantaranya adalah : OPTi, UMC, Ali (ACER Laboratories Inc), SiS, VIA dan Intel. Slot RAM Terdapat beberapa jenis Slot RAM, diantaranya adalah DIP, 30 Pin, 72 Pin dan 168 pin serta Slot RIMM untuk RDRAM Slot Ekspansi Slot ini berfungsi untuk menempatkan peralatan tambahan yang berfungsi sebagai sarana komunikasi antara peralatan input / output dengan motherboard, misalnya untuk VGA Card, Sound Card, Modem, dan lain-lain. Jenis-jenis Slot Ekspansi adalah : - ISA (Industri Standard Architecture) 8 bit dan 16 bit - EISA (Extended ISA) 32 Bit - MCA (Micro Channel Architecture) 32 Bit - VL-Bus (VESA Local Bus) 32 Bit - PCI (Peripheral Component Interconnect) 32 Bit - AGP (Accelerated Graphic Port) 64 Bit - CNR (Communication and Network Riser)

Gambar 23 Bagian-bagian Motherboard

Port IDE , FDD Serial dan Paralel Port ini digunakan untuk pemasangan Hard Disk (IDE Port), Floppy disk drive (FDD Port) dan sarana komunikasi dengan perangkat lain (Serial Port) serta untuk pemasangan printer dan scanner (Paralel Port atau LPT Port)

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

BIOS (Basic Input Output System) BIOS berfungsi untuk menginisialisasi dan mengkonfigurasi peripheral utamanya dalam proses input dan output. Kedudukan BIOS berada diantara perangkat keras dan Sistem Operasi komputer (Windows, DOS, Linux, OS/2, dan lain-lain). Semua perintah yang berasal dari sistem operasi, misalnya menulis ke disket atau membaca CDROM, ditampung dulu oleh BIOS. Slot Power Secara garis besar, slot power supply yang biasa digunakan terbagi 2 jenis, yaitu AT dan ATX. 3. Memori Secara garis besar, memori dapat dibagi menjadi 3 bagian utama, yaitu : 1. First Level (L1) Cache Memori yang bernama L1 Cache ini adalah memori yang terletak paling dekat dengan processor (lebih spesifik lagi: dekat dengan blok CU [control unit]). Penempatan Cache di processor dikembangkan sejak PC i486. Memori di tingkat ini memiliki kapasitas yang paling kecil (hanya 16 Kb), tetapi memiliki kecepatan akses dalam hitungan nanodetik (sepersemilyar detik). Data yang berada di memori ini adalah data yang paling penting dan paling sering diakses. Processor AMD Athlon memiliki cache L1 sebesar 128 Kb. 2. Second Level (L2) Cache Memori L2 Cache ini terletak di motherboard (Lebih spesifik lagi : modul COAST : Cache On A Stick. Bentuk khusus dari L2 yang mirip seperti memori module yang dapat diganti-ganti tergantung motherboardnya), penempatan L2 Cache ini banyak digunakan pada motherboard 486 atau Pentium klasik. Akan tetapi ada juga yang terintegrasi langsung dengan motherboard, atau ada juga yang terintegrasi dengan processor module. Kapasitas L2 lebih besar dari L1 cache, ukurannya berkisar antara 128 Kb 2 Mb. Namun L2 cache memiliki kecepatan akses yang lebih lambat dibandingkan dengan L1 cache.

Gambar 24 Alur Data Memori

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

3. Memori Module Memori yang biasa terlihat dipasang pada motherboard adalah memori modul tersebut. Memori module ini memiliki kapasitas yang berkisar antara 4Mb 512 Mb. Kecepatan aksesnya juga berbeda, ada yang berkecepatan 80 ns, 60 ns, 66 MHz (15ns), 100 MHz (10ns), 133 MHz (7,5 ns) dan saat ini telah dikembangkan 200 dan 400 MHz. Memori module ini terbagi atas 2 bagian, yaitu : a. SIMM (Single In-Line Memory Module) Single pada SIMM ini dimaksudkan dalam penomoran pin. Pada penampakan fisiknya, pin dan pin yang berada tepat dibaliknya memiliki nomor yang sama. SIMM dapat dikelompokkan berdasarkan jumlah pin, yaitu : 30 pins - Pertama kali dibuat dalam modul 8 FPM (Fast Page Mode), yang memiliki kecepatan 80 ns - Maksimal bandwidth (lebar jalur data) : 176 Mb/sec 72 pins - FPM yang berkecepatan 70 ns - EDO (Extended Data Output) yang berkecepatan 60 ns, maksimal bandwidth 264 Mb/sec

Gambar 25 SIMM

b. DIMM (Dual In-Line Memori Module) Dual berarti kedua sisi dari penampakan fisik ini menunjukkan bahwa dua buah sisi menjalankan sekuens proses masing-masing, namun masih mendukung satu proses utama yang sama. Menurut proses pembuatannya, DIMM menggunakan sistem DRAM (Dynamic RAM).

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Sistem DRAM ini juga mengalami berbagai perkembangan, antara lain: Synchronous DRAM (SDRAM). Jenis DRAM ini memperbaiki kecepatan akses data yang tersimpan. Modul EDO RAM dapat dibawa ke kecepatan tertinggi 75 MHz, sedangkan SDRAM dapat dibawa ke kecepatan 100 MHz pada sistem yang sama. SDRAM ini juga dapat dikembangkan lebih jauh, diantaranya : PC 100 RAM, yaitu SDRAM yang dikembangkan untuk sistem bus 100 MHz PC 133 RAM, yang merupakan SDRAM untuk sistem bus 133 MHz ECC RAM (Error Checking and Correction RAM), yang merupakan SDRAM untuk kebutuhan server yang memiliki kinerja yang berat. Jenis SDRAM ini dapat mencari kerusakan data pada sel memori yang bersangkutan dan langsung dapat memperbaikinya.

Gambar 26 DIMM

kemampuan Bursting, semula dikembangkan untuk menggantikan SDRAM, tetapi karena prosesnya yang asinkron dan hanya terbatas sampai 66 MHz, praktis BEDO RAM ditinggalkan. Rambus DRAM (RDRAM) dikembangkan oleh RAMBUS Inc. RDRAM ini memiliki jalur data yang sempit (8 bit) tetapi keinierjanya tidak dapat diungguli oleh DRAM jenis lain karena memiliki Memori Controller yang dipercanggih. Tentunya hanya motherboard yang mendukung RAMBUS saja yang bisa memakai DRAM ini, seperti Motherboard untuk AMD K7 Athlon. SyncLink DRAM (SLDRAM) dibuat karena untuk memakai RDRAM ini harus membayar royalti kepada RAMBUS Inc. Hal ini dirasakan sangat mahal bagi pengembang motherboard. Dengan kecepatan 200 MHz, dan bandwidth maksimum 1600 Mb/sec cukup untuk mengkanvaskan perkembangan RAMBUS DRAM

Burst EDO RAM (BEDO RAM) adalah jenis EDO yang memiliki

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Double Data Rate RAM (DDRAM) dikembangkan karena kebutuhan


transmisi data sangat tinggi.

4. Expansion Card Expansion card adalah card-card tambahan yang terpasang pada komputer dan memiliki berbagai fungsi. Contoh card-card yang sering digunakan adalah : 1. VGA Card VGA Card berfungsi untuk menghubungkan dan mengolah output yang berupa data ke monitor, agar dapat ditampilkan oleh monitor. Peningkatan kualitas CPU secara keseluruhan juga amat bergantung kepada jenis VGA card yang digunakan. Jika komputer hanya digunakan sebatas dokumen pengolahan data, operasi pada spreadsheet atau untuk surfing internet, jenis dan kualitas VGA yang biasa-biasa saja sudah memadai. Tetapi jika komputer banyak digunakan untuk aplikasi 3D berat atau bermain game dengan kualitas gambar yang tinggi, maka kualitas VGA card mutlak diperlukan. Beberapa faktor yang perlu diperhatikan pada saat memilih sebuah video card adalah : a. RAMDAC RAMDAC adalah sebuah chip yang mengkonversikan grafik PC kedalam sinyal analog merah, hijau, biru, yang digunakan oleh monitor. Semakin cepat RAMDAC dari sebuah kartu grafis, semakin halus gambar yang dihasilkan (semakin bagus kualitasnya). b. Accelerator chip VGA Card yang dilengkapi dengan accelerator chip akan meringankan beban processor. Usahakan accelerator yang digunakan mendukung 32 bit. c. Type Bus Ada 4 type bus yang biasa digunakan oleh VGA card, yaitu ISA, VL-bus, PCI dan AGP. Type bus yang saat ini populer adalah type bus slot AGP karena memiliki daya akselerasi lebih cepat dan sempurna untuk digunakan oleh game-game dan gambar 3D. d. Video Memori Secara prinsip, semakin besar video memori, semakin cepat gerakan animasi yang dihasilkan dan termasuk meringankan beban processor untuk memproses grafik yang berat. Di pasaran, tersedia slot AGP video card dari 4 MB, 8 MB, 16 MB, 32 MB sampai dengan 64 MB

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 27 VGA Card dengan slot AGP

2. Sound Card Sound card berfungsi untuk memproses output berupa suara dan musik yang kemudian diteruskan kepada speaker. Sound card juga dapat digunakan sebagai alat input untuk Joystick yang digunakan untuk bermain game. Perkembangan sound card juga semakin berkembang dari tahun ke tahun. Saat ini sound card bukan hanya digunakan untuk bermain game, tetapi juga menyemarakkan aplikasi-aplikasi multimedia, seperti ensiklopedia, program pendidikan dan pengajaran dan program presentasi. Bahkan saat ini sound card dapat dimanfaatkan untuk penggunaan komunikasi seperti telepon VoIP (Voice over Internet Protocol), Teleconverencing dan lain-lain. Secara umum, pemilihan sound card bergantung pada kemampuan pemrosesan suara (16 bit atau 32 bit), jenis suara (analog atau digital) dan support terhadap speaker (stereo atau surround).

Gambar 28 Sound Card yang dilengkapi dengan penjelasan output

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

3. NIC (Network Interface Card) NIC atau biasa disebut card LAN (Local Area Network), saat ini telah menjadi suatu peralatan standard, khususnya bagi pendidikan dan perkantoran yang telah menerapkan sistem jaringan sebagai salah satu upaya pemberdayaan komputer secara menyeluruh. Fungsi card LAN atau NIC adalah untuk menghubungkan antara dua atau lebih komputer agar komputer-komputer tersebut dapat saling berkomunikasi satu sama lain.

Gambar 29 NIC Jenis 10 MBps

4. TV / Radio Tuner Menonton televisi dan mendengarkan radio saat ini juga dapat dilakukan dengan menggunakan komputer. Cukup dengan menambahkan TV dan Radio card dan menghubungkan card tersebut dengan antena televisi maupun radio. 5. MPEG Card Untuk komputer-komputer generasi ketiga dan keempat, dimana memiliki keterbatasan dalam sumber daya VGA Card, dapat menggunakan card ini untuk tetap dapat menikmati film kesayangan mereka 5. Memori Eksternal (Storage Device) Memori eksternal berfungsi sebagai tempat untuk menyimpan data secara permanen (tidak seperti memori internal, dimana data dapat hilang apabila catu daya ke komponen tersebut diputuskan). Media penyimpan ini terbagi atas : 1. Floppy Disk Secara fisik, floppy yang saat ini sering digunakan terbagi atas 2 jenis, yaitu 5,25 inchi dan 3,5 inchi , dimana masing-masing ukuran memiliki 2 type kapasitas, yaitu Double Density (DD) dan High Density (HD)

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Disket diputar pada kecepatan 300 rpm (Double Density) atau 360 rpm (High Density). Sewaktu disk berputar, head dapat bergerak keluar atau ke dalam sekitar 1 inchi, menulis sekitar 40 atau 80 track. Floppy Disk 5,25 inchi

Karakteristik
Lebar Track Track per inchi Koersivitas Bytes per sector Sector per track Track per side Side Kapasitas

Double Density 0,330 mm 48 300 oersted 512 9 40 2 360 Kbytes

High Density 0,160 mm 96 600 oersted 512 15 80 2 1,2 Mbytes

Gambar 30 Floppy Disk Drive 5,25 Inch dan Karakteristiknya

Floppy Disk 3,5 inchi Karakteristik Lebar Track Track per inchi Koersivitas Bytes per sector Sector per track Track per side Side Kapasitas Double Density 0,115 mm 135 300 oersted 512 9 80 2 720 Kbytes High Density 0,115 mm 135 600 oersted 512 18 80 2 1,44 Mbytes

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 31 Floppy Disk Drive 3,5 Inch dan Karakteristiknya

2. Hard Disk Hard Disk memiliki prinsip kerja yang sama dengan Floppy Disk dan juga memiliki fungsi sebagai penyimpan data. Yang membedakan antara Hard Disk dan Floppy Disk adalah bentuk fisik dan kapasitas penyimpanan data serta kecepatan aksesnya. Sesuai dengan namanya (Hard yang berarti Keras), media penyimpanan data dalam hard disk menggunakan media logam dan dapat terdiri dari beberapa plat sehingga mampu menyimpan data yang lebih banyak. Kapasitas penyimpanan hard disk rata-rata adalah 120 MByte sampai dengan 100 Gbyte.

Gambar 32 Bentuk fisik Hard Disk

3. CDROM Media penyimpanan semakin hari mengalami kemajuan dengan amat pesat. Dengan CDROM ini, besar data yang mampu dimasukkan menjadi berkali-kali lipat dibandingkan dengan floppy. Juga daya tahan media ini lebih baik dibandingkan dengan floppy. Jenis CDROM bergantung kepada kecepatan putarnya, misal : CDROM 12 x berarti memiliki kecepatan putaran 12 x kecepatan putar floppy. Saat ini CDROM juga telah mampu merekan ke dalam format CD dan biasa disebut dengan CD RW (Read-Write).

Gambar 33 Bentuk fisk CDROM

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

DASAR-DASAR JARINGAN
Pengertian Jaringan Seringkali kita mendengar kata internet, sekilas mungkin kita akan berpikir bahwa yang namanya internet merupakan sebuah jaringan yang sangat besar dan terdiri dari banyak kompuer. Atau bahkan bagi orang yang awam internet sering diartikan sebagai browsing, chatting, dan lain-lain. Pengertian ini merupakan sebuah pandangan yang kurang benar. Karena sebenarnya internet adalah kumpulan dari jaringan-jaringan kecil dan besar yang saling terhubung secara real-time atau terus menerus di seluruh dunia. Dalam suatu sistem jaringan, dimana seluruh komputer saling berbagi data dan resources satu sama lain sehingga tercapai efisiensi dalam pemanfaatan teknologi, amat dibutuhkan perangkat-perangkat khusus dan instalasi tertentu. Pada bab ini akan dijelaskan beberapa peralatan yang digunakan dalam sistem jaringan serta pengaturan TCP/IP pada sistem operasi Windows. Topologi Jaringan Tujuan dari suatu jaringan adalah menghubungkan jaringan-jaringan yang telah ada dalam jaringan tersebut sehingga informasi dapat ditransfer dari satu lokawi ke lokasi yang lain. Karena suat perusahaan memuliki keinginan atau kebutuhan yang berbeda-beda maka terdapat berbagai cara jaringan terminalterminal dapat dihubungkan. Struktur Geometric ini disebut dengan LAN Topologies. Terdapat 6 jenis topologi yaitu : Bus Ring Star Extended Star hierarchical topology Mesh Setiap topologi memuliki karakteristik yang berdeda-beda dan masingmasing juga memiliki keuntungan dan kerugian. Topologi tidak tergantung kepada medianya dan setiap topologi biasanya menggunakan media sebagai berikut : Jenis-jenis Media yaitu : Twisted Pair Coaxial Cable Optical Cable Wireless Topologi dibagi menjadi dua jenis yaitu Physical Topology dan Logical Topologi. Dibawah ini adalah jenis-jenis Physical Topologi.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

1. Topologi Bus atau Daisy Chain Topologi ini memiliki karakteristik sebagai berikut: merupakan satu kabel yang kedua ujung nya ditutup, dimana sepanjang kabel terdapat node-node umum digunakan karena sederhana dalam instalasi signal melewati kabel dalam dua arah dan mungkin terjadi collision problem terbesar pada saat kabel putus. Jika salah satu segmen kabel putus, maka seluruh jaringan akan terhenti.

2. Topologi Ring Topologi ini mempuyai karakteristik sebagai berikut: lingkaran tertutup yang berisi node-node sederhana dalam layout signal mengalir dalam satu arah, sehingga dapat menghindarkan terjadinya collision (dua paket data bercampur), sehingga memungkinkan pergerakan data yang cepat dan collision detection yang lebih sederhana problem: sama dengan topologi bus biasanya topologi ring tidak dibuat secara fisik melainkan direalisasikan

dengan sebuah consentrator dan kelihatan seperti topologi star

3. Topolog Star Topologi ini mempunyai karakteristik sebagai berikut: setiap node berkomunikasi langsung dengan central node, traffic data mengalir dari node ke central node dan kembali lagi. mudah dikembangkan, karena setiap node hanya memiliki kabel yang langsung terhubung ke central node keunggulannya adalah jika satu kabel node terputus yang lainnya tidak terganggu dapat digunakan kabel yang lower grade karena hanya menghandel satu traffic node, biasanya digunakan kabel UTP

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

4. Topologi Extended Star Topologi Extended Star merupakan perkembangan lanjutan dari topologi star dimana karakteristiknya tidak jauh berbeda dengan topologi star yaitu : setiap node berkomunikasi langsung dengan sub node, sedangkan sub node berkomunikasi dengan central node. traffic data mengalir dari node ke sub node lalu diteruskan ke central node dan kembali lagi. Digunakan pada jaringan yang besar dan membutuhkan penghubung yang banyak atau melebihi dari kapasitas maksimal penghubung. keunggulan : jika satu kabel sub node terputus maka sub node yang lainnya tidak terganggu, tetapi apabila central node terputus maka semua node disetiap sub node akan terputus tidak dapat digunakan kabel yang lower grade karena hanya menghandel satu traffic node, karena untuk berkomunikasi antara satu node ke node lainnya membutuhkan beberapa kali hops. 5. Topologi hierarchical Topologi ini biasa disebut sebagai topolodi tree. Dibangun oleh seperti halnya topologi extended star yang dihubungkan melalui sub node dalam satu central node. Topologi ini dapat mensupport baik baseband maupun broadband signaling dan juga mensupport baik contention maupun token bus access.

6. Topologi Mesh MESH topologi dibangun dengan memasang link diantara atation-station. Sebuah fully-connected mesh adalah sebauh jaringan dimana setiap terminal terhubung secara langsung ke semua terminal-terminal yang lain. Biasanya digunakan pada jaringan komputer kecil. Topologi ini secara teori memungkinkan akan tetapi tidak praktis dan biayanya cukup tinggi untuk di-implementasikan. Mesh topologi memiliki tingkat redundancy yang tinggi. Sehingga jika terdapat satu link yang rusak maka suatu station dapat mencari link yang lainnya.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 34 Jenis-jenis topologi Sedangkan Logical Topology adalah FDDI, Token Ring, dan Ethernet. Tipe Jaringan Dalam jaringan terdapat tiga buah peran yang dijalankan. Yang pertama adalah client. Peran ini hanya sebatas pengguna tetapi tidak menyediakan sumber daya (sharing), informasi, dan lain-lain. Peran kedua adalah sebagai peer, yaitu client yang menyediakan sumber daya untuk dibagi kepada client lain sekaligus memakai sumber daya yang tersedia pada client yang lain (peer to peer). Sedangkan peran yang terakhir adalah sebagai server, yaitu menyediakan sumber daya secara maksimal untuk digunakan oleh client tetapi tidak memakai sumber daya yang disediakan oleh client. Dibawah ini akan dijelaskan jenis-jenis jaringan yang ada. 1. Jaringan Berbasis Server Jaringan berbasis server atau client-server diartikan dengan adanya server didalam sebuah jaringan yang menyediakan mekanisme pengamanandan

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

pengelolaan jaringan tersebut. Jaringan ini terdiri dari banyak client dari satu atau lebih server. Client juga biasa disebut front-end meminta layanan seperti penyimpanan dan pencetakan data ke printer jaringan, sedangkan server yang sering disebut back-end menyampaikan permintaan tersebut ke tujuan yang tepat. Pada Windows NT, Windows 2000, dan Windows Server 2003, jaringan berbasis server diorganisasikan di dalam domain-domain. Domain adalah koleksi jaringan dan client yang saling berbagi informasi. Keamanan domain dan perizinan log on dikendalikan oleh server khusus yang disebut domain controlle. Terdapat satu pengendali domain utama atau Primary Domain Controller (PDC) dan

beberapa domain controller pendukung atau backup Domain Controller (BDC) yang membantu PDC pada waktu-waktu sibuk atau pada saat PDC tidak berfungsi karena alasan tertentu. Primasry Domain Controller juga diterapkan di dalam jaringan yang menggunakan server Linux. Software yang cukup andal menangani masalah ini adalah samba yang sekaligus dapat digunakansebagai penyedia layanan file dan print yang membuat computer Windows dapat mengakses file-file di mesin Linux dan begitu pula sebaliknya.

Jaringan berbasis server memiliki beberapa keuntungan diantaranya adalah : 1. Media penyimpanan data yang terpusat memungkinkan semua user menyimpan dan menggunakan data di server dan memberikan kemudahan melakukan backup data di saat kritis. Pemeliharaan data juga menjadi lebih mudah karena data tidak tersebar di beberapa computer. 2. Kemampuan server untuk menyatukan media penyimpanan di satu tempat akan menekan biaya pembangunan jaringan. Server yang telah dioptimalkan membuat jaringan berjalan lebih cepat daripada jaringan peer-to-peer. Membebaskan user dari pekerjaan mengelola jaringan. 3. Kemudahan mengatur jumlah pengguna yang banyak. Kemampuan untuk sharing peralatan mahal seperti printer laser. Mengurangi masalah keamanan karena pengguna harus memasukkan password untuk setiap peralatan jaringan yang akan digunakan.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

2. Jaringan Peer-to-peer Setiap computer di dalam jaringan peer mempunyai fungsi yang sama dan dapat berkomunikasi dengan computer lain yang telah memberi izin. Jadi, secara sederhana setiap komputer pada jaringan peer berfungsi sebagai client dan server sekaligus. Jaringan peer digunakan di sebuah kantor kecil dengan jumlah computer sedikit, dibawah sepuluh workstation. Keuntungan menggunakan jaringan peer adalah : 1. Tidak memerlukan investasi tambahan untuk pembelian hardware dan software server. 2. Tidak diperlukan seorang network administrator dan setupnya mudah serta meminta biaya yang murah. Kerugian menggunakan jaringan peer adalah : 1. Sharing sumberdaya pada suatu komputer didalam jaringan akan sangat membebani computer tersebut. 2. Masalah lain adalah kesulitan dalam mengatur file-file. User harus menangani komputernya sendiri jika ditemui masalah keamanan sangat lemah. 3. Jaringan Hybrid Jaringan hybrid memiliki semua yang terdapat pada tiga tipe jaringan di atas. Ini berarti pengguna dalam jaringan dapat mengakses sumber daya yang dishare oleh jaringan peer, sedangkan di waktu bersamaan juga dapat memanfaatkan seumber daya yang disediakan oleh server. Keuntungan jaringan hybrid adalah sama dengan keuntungan

menggunakan jaringan berbasis server dan berbasis peer. Jaringan hybrid memiliki kekurangan seperti pada jaringan berbasis server. Peralatan Jaringan Ada beberapa peralatan yang digunakan dalam jaringan, peralatan ini sering digunakan di dalam perkantoran dan perusahan besar. Peralatan ini adalah : 1. Network Interface Card Dalam memilih network interface card, ada beberapa pertimbangan yang harus diperhatikan. Pertimbangan-pertimbangan ini sangat penting untuk

diperhatikan, yaitu :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Tipe jaringan seperti Ethernet LANs, Token Ring, atau Fiber Distributed Data Interface (FDDI). Tipe Media seperti Twisted Pair, Coaxial, Fiber-Optic, dan Wireless. Tipe Bus seperti ISA dan PCI.

Gambar 35 Network Interface Card 2. PCMCIA Network Interface Card PCMCIA card adalah card jaringan yang digunakan untuk terhubung kedalam sebuah jaringan tanpa menggunakan kabel.

Gambar 36 PCMCIA Network Interface Card

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

3. Modem Modem atau Modul the Modulator adalah peralatan jaringan yang digunakan untuk terhubung ke jaringan internet menggunakan kabel telepon.

Gambar 37 PCMCIA Network Interface Card 4. HUB/Switch HUB atau Switch digunakan untuk menghubungkan setiap node dalam jaringan LAN. Peralatan ini sering digunakan pada topologi star dan extended star. Perbedaan antara HUB dan Switch adalah kecepatan transfer datanya. Yaitu 10:100 Mbps.

Gambar 38 HUB 8 Port dan Switch 24 Port

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

5. Bridge Bridge adalah peralatan jaringan yang digunakan untuk memperluas ata memecah jaringan. Bridge berfungsi untuk menghubungkan dan menggabungkan media jaringan yang tidak sama seperti kabel unshielded twisted pair (UTP) dan kabel fiber-optic, dan untuk menggabungkan arsitektur jaringan yang berbeda seperti Token Ring dan Ethernet. Bridge meregenerate sinyal tetapi tidak melakukan konversi protocol, jadi protocol jaringan yang sama (seperti TCP/IP) harus berjalan kepada kedua segemen jaringan yang terkoneksi ke bridge. Bridge dapat juga mendukung Simple Network Management Protocol (SNMP), serta memiliki kemampuan diagnosa jaringan. Bridge hadir dalam tiga tipe dasar yaitu Local, Remote, dan Wireless. Bridge local secara langsung menghubungkan Local Area Network (LAN). Bridge remote yang dapat digunakan untuk membuat sebuah Wide Area Network (WAN) menghubungkan dua atau lebih LAN. Sedangkan wireless bridge dapat digunakan untuk menggabungkan LAN atau menghubungkan mesin-mesin yang jauh ke suatu LAN. Bridge beroperasi mengenali alamat MAC address node asal yang mentransmisi data ke jaringan dan secara automatis membangun sebuah table routing internal. Table ini digunakan untuk menentukan ke segmen mana paket akan di route dan menyediakan kemampuan penyaringan (filtering). Setelah mengetahui ke segmen mana suatu paket hendak disampaikan, bridge akan melanjutkan pengiriman paket secara langsung ke segmen tersebut. Jika bride tidak mengenali alamat tujuan paket, maka paket akan di forward ke semua segmen yang terkoneksi kecuali segmen alamat asalanya. Dan jika alamat tujuan berada dalam segmen yang sama dengan alamat asal, bridge akan menolak paket. Bridge juga melanjutkan paket-paket broadcast ke semua segmen kecuali segmen asalnya.

Gambar 39 Wireless Bridge 6. Router Router adalah peralatan jaringan yang digunakan untuk memperluas atau memecah jaringan dengan melanjutkan paket-paket dari satu jaringan logika ke jaringan yang lain. Router banyak digunakan di dalam internetwork yang besar

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

menggunakan keluarga protocol TCP/IP dan untuk menghubungkan semua host TCP/IP dan Local Area Network (LAN) ke internet menggunakan dedicated leased line. Saat ini, masih banyak perusahaan menggunakan router Cisco 2500 series untuk mengkoneksikan dua buah LAN (WAN dengan anggota dua LAN), LAN ke ISP (Internet Service Provider). Koneksi seperti ini menyebabkan semua workstation dapat terkoneksi ke internet selama 24 jam. Router berisi table-tabel informasi internal yang disebut label routering yang melakukan pencatatan terhadap semua alamat jaringan yang diketahui dan lintasan yang mungkin dilalui. Router membuat jalur paket-paket berdasarkan lintasan yang tersedia dan waktu tempuhnya. Karena menggunakan alamat paket jaringan tujuan, router bekerja hanya jika protocol yang dikonfigurasi adalah protocol yang routetable seperti TCP/IP atau atau IPX/SPX. Ini berbeda dengan bridge yang bersifat protocol independent.

Gambar 40 Cisco Router 2600 series 7. Crimping Tools Crimping tools berguna untuk memotong, merapikan dan mengunci kabel UTP dalam melakukan instalasi Networking.

Digunakan untuk memotong Digunakan untuk mengupas Gambar 41 Crimping Tools

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pengkabelan 1. Kupas lapisan luar kabel UTP sepanjang 1 Cm dari ujung, sehingga 8 urat kabel terlihat dari luar. 2. Susun urutan warna kabel sesuai dengan standard internasional Nama Warna Gambar Nomor kaki (pin) 1 Putih orange 2 Orange 3 Putih hijau 4 Biru 5 Putih biru 6 Hijau 7 Putih coklat 8 Coklat Gambar 35 Susunan kabel straight Nomor kaki (pin) 1 2 3 4 5 6 7 8 Nama Warna Putih hijau Hijau Putih orange Biru Putih biru Orange Putih coklat Coklat

Gambar 36 Susunan kabel cross 3. Masukkan Ujung kabel UTP yang telah disusun menurut urutan internasional, kemudian jepit dengan menggunakan crimping tool.

Gambar 37 Memasukkan Kabel UTP ke dalam RJ-45

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 38 Menjepit kabel menggunakan Crimping

Gambar 39 Hasil Crimping kabel yang baik

4. Pasang satu sisi RJ-45 ke dalam Network Card, dan sisi lainnya ke HUB/Switch 5. Jaringan siap dioperasikan

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

TCP / IP
Sejarah TCP/IP Sejarah TCP/IP dimulainya dari lahirnya ARPANET yaitu jaringan paket switching digital yang didanai oleh DARPA (Defence Advanced Research Projects Agency) pada tahun 1969. Sementara itu ARPANET terus bertambah besar sehingga protokol yang digunakan pada waktu itu tidak mampu lagi menampung jumlah node yang semakin banyak. Oleh karena itu DARPA mendanai pembuatan protokol komunikasi yang lebih umum, yakni TCP/IP. Ia diadopsi menjadi standard ARPANET pada tahun 1983. Untuk memudahkan proses konversi, DARPA juga mendanai suatu proyek yang mengimplementasikan protokol ini ke dalam BSD UNIX, sehingga dimulailah perkawinan antara UNIX dan TCP/IP.. Pada awalnya internet digunakan untuk menunjukan jaringan yang menggunakan internet protocol (IP) tapi dengan semakin berkembangnya jaringan, istilah ini sekarang sudah berupa istilah generik yang digunakan untuk semua kelas jaringan. Internet digunakan untuk menunjuk pada komunitas jaringan komputer worldwide yang saling dihubungkan dengan protokol TCP/IP. Perkembangan TCP/IP yang diterima luas dan praktis menjadi standar defacto jaringan komputer berkaitan dengan ciri-ciri yang terdapat pada protokol itu sendiri yang merupakan keunggulun dari TCP/IP, yaitu : Perkembangan protokol TCP/IP menggunakan standar protokol terbuka sehingga tersedia secara luas. Semua orang bisa mengembangkan perangkat lunak untuk dapat berkomunikasi menggunakan protokol ini. Hal ini membuat pemakaian TCP/IP meluas dengan sangat cepat, terutama dari sisi

pengadopsian oleh berbagai sistem operasi dan aplikasi jaringan. Tidak tergantung pada perangkat keras atau sistem operasi jaringan tertentu sehingga TCP/IP cocok untuk menyatukan bermacam macam network, misalnya Ethernet, token ring, dial-up line, X-25 net dan lain lain. Cara pengalamatan bersifat unik dalam skala global, memungkinkan komputer dapat mengidentifikasi secara unik komputer yang lain dalam seluruh

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

jaringan, walaupun jaringannya sebesar jaringan worldwide Internet. Setiap komputer yang tersambung dengan jaringan TCP/IP (Internet) akan memiliki address yang hanya dimiliki olehnya. TCP/IP memiliki fasilitas routing dan jenis-jenis layanan lainnya yang memungkinkan diterapkan pada internetwork. Arsitektur dan Protokol Jaringan TCP/IP Dalam arsitektur jaringan komputer, terdapat suatu lapisan-lapisan ( layer ) yang memiliki tugas spesifik serta memiliki protokol tersendiri. ISO (International Standard Organization) telah mengeluarkan suatu standard untuk arsitektur jaringan komputer yang dikenal dengan nama Open System Interconnection ( OSI ). Standard ini terdiri dari 7 lapisan protokol yang menjalankan fungsi komunikasi antara 2 komputer. Dalam TCP/IP hanya terdapat 5 lapisan sbb :

Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer
Arsitektur OSI

Application Layer Transport Layer Internet Layer Network Access Layer Physical Layer

Arsitektur TCP/IP Perbandingan Arsitektur OSI dan TCP/IP

Walaupun jumlahnya berbeda, namun semua fungsi dari lapisan-lapisan arsitektur OSI telah tercakup oleh arsitektur TCP/IP. Adapun rincian fungsi masingmasing layer arsitektur TCP/IP adalah sbb : Physical Layer (lapisan fisik) merupakan lapisan terbawah yang mendefinisikan besaran fisik seperti media komunikasi, tegangan, arus, dsb. Lapisan ini dapat bervariasi bergantung pada media komunikasi pada jaringan yang bersangkutan.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

TCP/IP bersifat fleksibel sehingga dapat mengintegralkan mengintegralkan berbagai jaringan dengan media fisik yang berbeda-beda. Network Access Layer mempunyai fungsi yang mirip dengan Data Link layer pada OSI. Lapisan ini mengatur penyaluran data frame-frame data pada media fisik yang digunakan secara handal. Lapisan ini biasanya memberikan servis untuk deteksi dan koreksi kesalahan dari data yang ditransmisikan. Beberapa contoh protokol yang digunakan pada lapisan ini adalah X.25 jaringan publik, Ethernet untuk jaringan Etehernet, AX.25 untuk jaringan Paket Radio dsb. Internet Layer mendefinisikan bagaimana hubungan dapat terjadi antara dua pihak yang berada pada jaringan yang berbeda seperti Network Layer pada OSI. Pada jaringan Internet yang terdiri atas puluhan juta host dan ratusan ribu jaringan lokal, lapisan ini bertugas untuk menjamin agar suatu paket yang dikirimkan dapat menemukan tujuannya dimana pun berada. Oleh karena itu, lapisan ini memiliki peranan penting terutama dalam mewujudkan internetworking yang meliputi wilayah luas (worldwide Internet). Beberapa tugas penting pada lapisan ini adalah: Addressing, yakni melengkapi setiap datagram dengan alamat Internet dari tujuan. Alamat pada protokol inilah yang dikenal dengan Internet Protocol Address ( IP Address). Karena pengalamatan (addressing) pada jaringan TCP/IP berada pada level ini (software), maka jaringan TCP/IP independen dari jenis media dan komputer yang digunakan. Routing, yakni menentukan ke mana datagram akan dikirim agar mencapai tujuan yang diinginkan. Fungsi ini merupakan fungsi terpenting dari Internet Protocol (IP). Sebagai protokol yang bersifat connectionless, proses routing sepenuhnya ditentukan oleh jaringan. Pengirim tidak memiliki kendali terhadap paket yang dikirimkannya untuk bisa mencapai tujuan. Router-router pada jaringan TCP/IP lah yang sangat menentukan dalam penyampaian datagram dari penerima ke tujuan. Transport Layer mendefinisikan cara-cara untuk melakukan pengiriman data antara end to end host secara handal. Lapisan ini menjamin bahwa informasi yang diterima pada sisi penerima adalah sama dengan informasi yang dikirimkan pada pengirim. Untuk itu, lapisan ini memiliki beberapa fungsi penting antara lain :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Flow Control. Pengiriman data yang telah dipecah menjadi paket-paket tersebut harus diatur sedemikian rupa agar pengirim tidak sampai mengirimkan data dengan kecepatan yang melebihi kemampuan penerima dalam menerima data. Error Detection. Pengirim dan penerima juga melengkapi data dengan sejumlah informasi yang bisa digunakan untuk memeriksa data yang dikirimkan bebas dari kesalahan. Jika ditemukan kesalahan pada paket data yang diterima, maka penerima tidak akan menerima data tersebut. Pengirim akan mengirim ulang paket data yang mengandung kesalahan tadi. Namun hal ini dapat menimbulkan delay yang cukup berartii. Pada TCP/IP, protokol yang dipergunakan adalah Transmission Control Protocol (TCP) atau User Datagram Protocol ( UDP ). TCP dipakai untuk aplikasi-aplikasi yang membutuhkan keandalan data, sedangkan UDP digunakan untuk aplikasi

yang membutuhkan panjang paket yang pendek dan tidak menuntut keandalan yang tinggi. TCP memiliki fungsi flow control dan error detection dan bersifat connection oriented. Sebaliknya pada UDP yang bersifat connectionless tidak ada mekanisme pemeriksaan data dan flow control, sehingga UDP disebut juga unreliable protocol. Untuk beberapa hal yang menyangkut efisiensi dan penyederhanaan, beberapa aplikasi memilih menggunakan UDP sebagai protokol transport. Contohnya adalah aplikasi database yang hanya bersifat query dan response, atau aplikasi lain yang sangat sensitif terhadap delay seperti video conference. Aplikasi seperti ini dapat mentolerir sedikit kesalahan (gambar atau suara masih bisa dimengerti), namun akan tidak nyaman untuk dilihat jika terdapat delay yang cukup berarti. Application Layer merupakan lapisan terakhir dalam arsitektur TCP/IP yang berfungsi mendefinisikan aplikasi-aplikasi yang dijalankan pada jaringan. Karena itu, terdapat banyak protokol pada lapisan ini, sesuai dengan banyaknya aplikasi TCP/IP yang dapat dijalankan. Contohnya adalah SMTP ( Simple Mail Transfer Protocol ) untuk pengiriman e-mail, FTP (File Transfer Protocol) untuk transfer file, HTTP (Hyper Text Transfer Protocol) untuk aplikasi web, NNTP (Network News Transfer Protocol) untuk distribusi news group dan lain-lain. Setiap aplikasi pada umumnya menggunakan protokol TCP dan IP, sehingga keseluruhan keluarga protokol ini dinamai dengan TCP/IP.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pengiriman dan Penerimaan Paket Data Layer-layer dan protokol yang terdapat dalam arsitektur jaringan TCP/IP menggambarkan fungsi-fungsi dalam komunikasi antara dua buah komputer. Setiap lapisan menerima data dari lapisan di atas atau dibawahnya, kemudian memproses data tersebut sesuai fungsi protokol yang dimilikinya dan meneruskannya ke lapisan berikutnya. Ketika dua komputer berkomunikasi, terjadi aliran data antara pengirim dan penerima melalui lapisan-lapisan di atas. Pada pengirim, aliran data adalah dari atas ke bawah. Data dari user maupun suatu aplikasi dikirimkan ke Lapisan Transport dalam bentuk paket-paket dengan panjang tertentu. Protokol

menambahkan sejumlah bit pada setiap paket sebagai header yang berisi informasi mengenai urutan segmentasi untuk menjaga integritas data dan bit-bit pariti untuk deteksi dan koreksi kesalahan. Dari Lapisan Transport, data yang telah diberi header tersebut diteruskan ke Lapisan Network / Internet. Pada lapisan ini terjadi penambahan header oleh protokol yang berisi informasi alamat tujuan, alamat pengirim dan informasi lain yang dibutuhkan untuk melakukan routing. Kemudian terjadi pengarahan routing data, yakni ke network dan interface yang mana data akan dikirimkan, jika terdapat lebih dari satu interface pada host. Pada lapisan ini juga dapat terjadi segmentasi data, karena panjang paket yang akan dikirimkan harus disesuaikan dengan kondisi media komunikasi pada network yang akan dilalui. Proses komunikasi data di atas dapat dijelaskan seperti pada gambar berikut ini :
Data

Application Layer
Header Data

Transport Layer
Header Data

Internet Layer
Header Data

Network Access Layer


Sinyal Listrik / Gelombang EM

Physical Layer

Proses Enkapsulasi Data

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Selanjutnya data menuju Network Access Layer (Data Link) dimana data akan diolah menjadi frame-frame, menambahkan informasi keandalan dan address pada level link. Protokol pada lapisan ini menyiapkan data dalam bentuk yang paling sesuai untuk dikirimkan melalui media komunikasi tertentu. Terakhir data akan sampai pada Physical Layer yang akan mengirimkan

data dalam bentuk besaran-besaran listrik/fisik seperti tegangan, arus, gelombang radio maupun cahaya, sesuai media yang digunakan. Di bagian penerima, proses pengolahan data mirip seperti di atas hanya dalam urutan yang berlawanan (dari bawqah ke atas). Sinyal yang diterima pada physical layer akan diubah dalam ke dalam data. Protokol akan memeriksa integritasnya dan jika tidak ditemukan error t header yang ditambahkan akan dilepas. Selanjutnya data diteruskan ke lapisan network. Pada lapisan ini, address tujuan dari paket data yang diterima akan diperiksa. Jika address tujuan merupakan address host yang bersangkutan, maka header lapisan network akan dicopot dan data akan diteruskan ke lapisan yang diatasnya. Namun jika tidak, data akan di forward ke network tujuannya, sesuai dengan informasi routing yang dimiliki. Pada lapisan Transport, kebenaran data akan diperiksa kembali,

menggunakan informasi header yang dikirimkan oleh pengirim. Jika tidak ada kesalahan, paket-paket data yang diterima akan disusun kembali sesuai urutannya pada saat akan dikirim dan diteruskan ke lapisan aplikasi pada penerima. Proses yang dilakukan tiap lapisan tersebut dikenal dengan istilah enkapsulasi data. Enkapsulasi ini sifatnya transparan. Maksudnya, suatu lapisan tidak perlu mengetahui ada berapa lapisan yang ada di atasnya maupun di bawahnya. Masing-masing hanya mengerjakan tugasnya. Pada pengirim, tugas ini adalah menerima data dari lapisan diatasnya, mengolah data tersebut sesuai dengan fungsi protokol, menambahkan header protokol dan meneruskan ke lapisan di bawahnya. Pada penerima, tugas ini adalah menerima data dari lapisan di bawahnya, mengolah data sesuai fungsi protokol, mencopot header protokol tersebut dan meneruskan ke lapisan di atasnya.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Internet Protocol Internet Protocol (IP) berfungsi menyampaikan paket data ke alamat yang tepat. Oleh karena itu Internet Protokol memegang peranan yang sangat penting dari jaringan TCP/IP. Karena semua aplikasi jaringan TCP/IP pasti bertumpu kepada Internet Protocol agar dapat berjalan dengan baik. IP merupakan protokol pada network layer yang bersifat : Connectionless, yakni setiap paket data yang dikirim pada suatu saat akan melalui rute secara independen. Paket IP (datagram) akan melalui rute yang ditentukan oleh setiap router yang dilalui oleh datagram tersebut. Hal ini memungkinkan keseluruhan datagram tiba di tempat tujuan dalam urutan yang berbeda karena menempuh rute yang berbeda pula. Unreliable atau ketidakandalan yakni Protokol IP tidak menjamin datagram yang dikirim pasti sampai ke tempat tujuan. Ia hanya akan melakukan best effort delivery yakni melakukan usaha sebaik-baiknya agar paket yang dikirim tersebut sampai ke tujuan.

Suatu datagram bisa saja tidak sampai dengan selamat ke tujuan karena beberapa hal berikut: Adanya bit error pada saat pentransmisian datagram pada suatu medium Router yang dilewati mendiscard datagram karena terjadinya kongesti dan kekurangan ruang memori buffer Putusnya rute ke tujuan untuk sementara waktu akibat adanya router yang down Terjadinya kekacauan routing, sehingga datagram mengalami looping IP juga didesain untuk dapat melewati berbagai media komunikasi yang memiliki karakteristik dan kecepatan yang berbeda-beda. Pada jaringan Ethernet, panjang satu datagram akan lebih besar dari panjang datagram pada jaringan publik yang menggunakan media jaringan telepon, atau pada jaringan wireless. Perbedaan ini semata-mata untuk mencapai throughput yang baik pada setiap media. Pada umumnya, semakin cepat kemampuan transfer data pada media tersebut, semakin besar panjang datagram maksimum yang digunakan. Akibat dari perbedaan ini,

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

datagram IP dapat mengalami fragmentasi ketika berpindah dari media kecepatan tinggi ke kecepatan rendah (misalnya dari LAN Ethernet 10 Mbps ke leased line menggunakan Point-to-Point Protocol dengan kecepatan 64 kbps). Pada router/host penerima, datagram yang ter-fragmen ini harus disatukan kembali sebelum

diteruskan ke router berikutnya, atau ke lapisan transport pada host tujuan. Hal ini menambah waktu pemrosesan pada router dan menyebabkan delay. Seluruh sifat yang diuraikan pada di atas adalah akibat adanya sisi efisiensi protokol yang dikorbankan sebagai konsekuensi dari keunggulan protokol IP. Keunggulan ini berupa kemampuan menggabungkan berbagai media komunikasi dengan karakteristik yang berbeda-beda, fleksibel dengan perkembangan jaringan, dapat merubah routing secara otomatis jika suatu rute mengalami kegagalan, dsb. Misalnya, untuk dapat merubah routing secara dinamis, dipilih mekanisme routing yang ditentukan oleh kondisi jaringan dan elemen-elemen jaringan (router). Selain itu, proses routing juga harus dilakukan untuk setiap datagram, tidak hanya pada permulaan hubungan. Marilah kita perhatikan struktur header dari protokol IP beserta fungsinya masing-masing. Setiap protokol memiliki bit-bit ekstra diluar informasi/data yang dibawanya. Selain informasi, bit-bit ini juga berfungsi sebagai alat kontrol. Dari sisi efisiensi, semakin besar jumlah bit ekstra ini, maka semakin kecil efisiensi komunikasi yang berjalan. Sebaliknya semakin kecil jumlah bit ekstra ini, semakin tinggi efisiensi komunikasi yang berjalan. Disinilah dilakukan trade-off antara keandalan datagram dan efisiensi. Sebagai contoh, agar datagram IP dapat menemukan tujuannya, diperlukan informasi tambahan yang harus dicantumkan pada header ini. Struktur header datagram protokol IP dapat dilihat pada gambar berikut.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Version

Header Length

Type of Service

Total Length of Datagram

Identification

Flags

Fragment Offset

Time to Live

Protocol

Header Checksum

Source Address

Destination Address

OPTIONS Strict Source Route Loose Source Route Record Route Timestamp Security Padding

DATA

Format datagram IP

Setiap paket IP membawa data yang terdiri atas : Version, yaitu versi dari protokol IP yang dipakai. Header Length, berisi panjang dari header paket IP dalam hitungan 32 bit word. Type of Service, berisi kualitas service yang dapat mempengaruhi cara penanganan paket IP. Total length Of Datagram, panjang IP datagram total dalam ukuran byte. Identification, Flags, dan Fragment Offset, berisi data yang berhubungan fragmentasi paket. Time to Live, berisi jumlah router/hop maksimal yang dilewati paket IP (datagram). Nilai maksimum field ini adalah 255. Setiap kali paket IP lewat satu router, isi dari field ini dikurangi satu. Jika TTL telah habis dan paket tetap belum

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

sampai ke tujuan, paket ini akan dibuang dan router terakhir akan mengirimkan paket ICMP time exceeded. Hal ini dilakukan untuk mencegah paket IP terus menerus berada dalam network. Protocol, mengandung angka yang mengidentifikasikan protokol layer atas

pengguna isi data dari paket IP ini. Header Checksum, berisi nilai checksum yang dihitung dari jumlah seluruh field dari header paket IP. Sebelum dikirimkan, protokol IP terlebih dahulu menghitung checksum dari header paket IP tersebut untuk nantinya dihitung kembali di sisi penerima. Jika terjadi perbedaan, maka paket ini dianggap rusak dan dibuang. Source Address dan Destination Address, isi dari masing-masing field ini cukup jelas, yakni alamat pengirim dan alamat penerima dari datagram. Masing-masing field terdiri dari 32 bit, sesuai panjang IP Address yang digunakan dalam Internet. Destination address merupakan field yang akan dibaca oleh setiap router untuk menentukan kemana paket IP tersebut akan diteruskan untuk mencapai destination address tersebut. Struktur IP Address ini secara lebih jelas akan diuraikan pada bagian selanjutnya. Pembagian Kelas IP Address Pengertian IP address digunakan sebagai alamat dalam hubungan antar host di internet sehingga merupakan sebuah sistem komunikasi yang universal karena merupakan metode pengalamatan yang telah diterima di seluruh dunia. Dengan menentukan IP address berarti kita telah memberikan identitas yang universal bagi setiap interadce komputer. Jika suatu komputer memiliki lebih dari satu interface (misalkan menggunakan dua ethernet) maka kita harus memberi dua IP address untuk komputer tersebut masing-masing untuk setiap interfacenya.

Format Penulisan IP Address

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

IP address terdiri dari bilangan biner 32 bit yang dipisahkan oleh tanda titik setiap 8 bitnya. Tiap 8 bit ini disebut sebagai oktet. Bentuk IP address dapat dituliskan sebagai berikut : xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx Jadi IP address ini mempunyai range dari sampai

00000000.00000000.00000000.00000000

11111111.11111111.11111111.11111111. Notasi IP address dengan bilangan biner seperti ini susah untuk digunakan, sehingga sering ditulis dalam 4 bilangan desimal yang masing-masing dipisahkan oleh 4 buah titik yang lebih dikenal dengan notasi desimal bertitik. Setiap bilangan desimal merupakan nilai dari satu oktet address. Contoh hubungan suatu IP address dalam format biner dan desimal : IP

Desimal Biner

167

205

206

100

10100111 11001101 11001110 01100100


Format IP Address

Pembagian Kelas IP Address Jumlah IP address yang tersedia secara teoritis adalah 255x255x255x255 atau sekitar 4 milyar lebih yang harus dibagikan ke seluruh pengguna jaringan internet di seluruh dunia. Pembagian kelas-kelas ini ditujukan untuk mempermudah alokasi IP Address, baik untuk host/jaringan tertentu atau untuk keperluan tertentu.

IP Address dapat dipisahkan menjadi 2 bagian, yakni bagian network (net ID) dan bagian host (host ID). Net ID berperan dalam identifikasi suatu network dari network yang lain, sedangkan host ID berperan untuk identifikasi host dalam suatu network. Jadi, seluruh host yang tersambung dalam jaringan yang sama memiliki net ID yang sama. Sebagian dari bit-bit bagian awal dari IP Address merupakan network bit/network number, sedangkan sisanya untuk host. Garis pemisah antara bagian network dan host tidak tetap, bergantung kepada kelas network. IP address dibagi ke dalam lima kelas, yaitu kelas A, kelas B, kelas C, kelas D dan kelas E. Perbedaan tiap kelas adalah pada ukuran dan jumlahnya. Contohnya IP kelas A

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

dipakai oleh sedikit jaringan namun jumlah host yang dapat ditampung oleh tiap jaringan sangat besar. Kelas D dan E tidak digunakan secara umum, kelas D digunakan bagi jaringan multicast dan kelas E untuk keprluan eksperimental. Perangkat lunak Internet Protocol menentukan pembagian jenis kelas ini dengan menguji beberapa bit pertama dari IP Address. Penentuan kelas ini dilakukan dengan cara berikut :

Bit pertama IP address kelas A adalah 0, dengan panjang net ID 8 bit dan panjang host ID 24 bit. Jadi byte pertama IP address kelas A mempunyai range dari 0-127. Jadi pada kelas A terdapat 127 network dengan tiap network dapat

menampung sekitar 16 juta host (255x255x255). IP address kelas A diberikan untuk jaringan dengan jumlah host yang sangat besar, IP kelas ini dapat dilukiskan pada gambar berikut ini:

0-127 0-255 0-255 0-255 0nnnnnnn hhhhhhhh hhhhhhhh hhhhhhhh


Bit-bit Network Bit-bit Host

IP address kelas A Dua bit IP address kelas B selalu diset 10 sehingga byte pertamanya selalu bernilai antara 128-191. Network ID adalah 16 bit pertama dan 16 bit sisanya adalah host ID sehingga kalau ada komputer mempunyai IP address 167.205.26.161, network ID = 167.205 dan host ID = 26.161. Pada. IP address kelas B ini mempunyai range IP dari 128.0.xxx.xxx sampai 191.155.xxx.xxx, yakni berjumlah 65.255 network dengan jumlah host tiap network 255 x 255 host atau sekitar 65 ribu host.

128-191

0-255

0-255

0-255

10nnnnnn nnnnnnnn hhhhhhhh hhhhhhhh


Bit-bit Network Bit-bit Host

IP address kelas B

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

IP address kelas C mulanya digunakan untuk jaringan berukuran kecil seperti LAN. Tiga bit pertama IP address kelas C selalu diset 111. Network ID terdiri dari 24 bit dan host ID 8 bit sisanya sehingga dapat terbentuk sekitar 2 juta network dengan masing-masing network memiliki 256 host.

192-223

0-255

0-255

0-255

110nnnnn nnnnnnnn nnnnnnnn hhhhhhhh


Bit-bit Network Bit-bit Host

IP address kelas C IP address kelas D digunakan untuk keperluan multicasting. 4 bit pertama IP address kelas D selalu diset 1110 sehingga byte pertamanya berkisar antara 224-247, sedangkan bit-bit berikutnya diatur sesuai keperluan multicast group yang menggunakan IP address ini. Dalam multicasting tidak dikenal istilah network ID dan host ID. IP address kelas E tidak diperuntukkan untuk keperluan umum. 4 bit pertama IP address kelas ini diset 1111 sehingga byte pertamanya berkisar antara 248-255. Sebagai tambahan dikenal juga istilah Network Prefix, yang digunakan untuk IP address yang menunjuk bagian jaringan.Penulisan network prefix adalah dengan tanda slash / yang diikuti angka yang menunjukkan panjang network prefix ini dalam bit. Misal untuk menunjuk satu network kelas B 167.205.xxx.xxx digunakan penulisan 167.205/16. Angka 16 ini merupakan panjang bit untuk network prefix kelas B.

Address Khusus Selain address yang dipergunakan untuk pengenal host, ada beberapa jenis address yang digunakan untuk keperluan khusus dan tidak boleh digunakan untuk pengenal host. Address tersebut adalah: Network Address. Address ini digunakan untuk mengenali suatu network pada jaringan Internet. Misalkan untuk host dengan IP Address kelas B 167.205.9.35. Tanpa memakai subnet (akan diterangkan kemudian), network address dari host ini

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

adalah 167.205.0.0. Address ini didapat dengan membuat seluruh bit host pada 2 segmen terakhir menjadi 0. Tujuannya adalah untuk menyederhanakan informasi routing pada Internet. Router cukup melihat network address (167.205) untuk menentukan ke router mana datagram tersebut harus dikirimkan. Analoginya mirip dengan dalam proses pengantaran surat, petugas penyortir pada kantor pos cukup melihat kota tujuan pada alamat surat (tidak perlu membaca selutuh alamat) untuk menentukan jalur mana yang harus ditempuh surat tersebut. Broadcast Address. Address ini digunakan untuk mengirim/menerima informasi yang harus diketahui oleh seluruh host yang ada pada suatu network. Seperti diketahui, setiap datagram IP memiliki header alamat tujuan berupa IP Address dari host yang akan dituju oleh datagram tersebut. Dengan adanya alamat ini, maka hanya host tujuan saja yang memproses datagram tersebut, sedangkan host lain akan mengabaikannya. Bagaimana jika suatu host ingin mengirim datagram kepada seluruh host yang ada pada networknya ? Tidak efisien jika ia harus membuat replikasi datagram sebanyak jumlah host tujuan. Pemakaian bandwidth akan meningkat dan beban kerja host pengirim bertambah, padahal isi datagramdatagram tersebut sama. Oleh karena itu, dibuat konsep broadcast address. Host cukup mengirim ke alamat broadcast, maka seluruh host yang ada pada network akan menerima datagram tersebut. Konsekuensinya, seluruh host pada network yang sama harus memiliki broadcast address yang sama dan address tersebut tidak boleh digunakan sebagai IP Address untuk host tertentu. Jadi, sebenarnya setiap host memiliki 2 address untuk menerima datagram : pertama adalah IP Addressnya yang bersifat unik dan kedua adalah broadcast address pada network tempat host tersebut berada. Broadcast address diperoleh dengan membuat bit-bit host pada IP Address menjadi 1. Jadi, untuk host dengan IP address 167.205.9.35 atau 167.205.240.2, broadcast addressnya adalah 167.205.255.255 (2 segmen terakhir dari IP Address tersebut dibuat berharga 11111111.11111111, sehingga secara desimal terbaca 255.255). Jenis informasi yang dibroadcast biasanya adalah informasi routing. Multicast Address. Kelas address A, B dan C adalah address yang digunakan untuk komunikasi antar host, yang menggunakan datagram-datagram unicast. Artinya, datagram/paket memiliki address tujuan berupa satu host tertentu. Hanya

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

host yang memiliki IP address sama dengan destination address pada datagram yang akan menerima datagram tersebut, sedangkan host lain akan

mengabaikannya. Jika datagram ditujukan untuk seluruh host pada suatu jaringan, maka field address tujuan ini akan berisi alamat broadcast dari jaringan yang bersangkutan. Dari dua mode pengiriman ini (unicast dan broadcast), muncul pula mode ke tiga. Diperlukan suatu mode khusus jika suatu host ingin berkomunikasi dengan beberapa host sekaligus (host group), dengan hanya mengirimkan satu datagram saja. Namun berbeda dengan mode broadcast, hanya host-host yang tergabung dalam suatu group saja yang akan menerima datagram ini, sedangkan host lain tidak akan terpengaruh. Oleh karena itu, dikenalkan konsep multicast. Pada konsep ini, setiap group yang menjalankan aplikasi bersama mendapatkan satu multicast address. Struktur kelas multicast address dapat dilihat pada Gambar berikut.

224-239

0-255

0-255

0-255

1110xxxx xxxxxxxx xxxxxxxx xxxxxxxx


Struktur IP Address Kelas Multicast Address Untuk keperluan multicast, sejumlah IP Address dialokasikan sebagai multicast address. Jika struktur IP (bentuk Address desimal mengikuti 224.0.0.0 bentuk sampai

1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx

239.255.255.255), maka IP Address merupakan multicast address. Alokasi ini ditujukan untuk keperluan group, bukan untuk host seperti pada kelas A, B dan C. Anggota group adalah host-host yang ingin bergabung dalam group tersebut. Anggota ini juga tidak terbatas pada jaringan di satu subnet, namun bisa mencapai seluruh dunia. Karena menyerupai suatu backbone, maka jaringan muticast ini dikenal pula sebagai Multicast Backbone (Mbone).

Aturan Dasar Pemilihan network ID dan host ID Berikut adalah aturan-aturan dasar dalam menentukan network ID dan host ID yang digunakan : Network ID tidak boleh sama dengan 127

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Network ID 127 secara default digunakan sebagai alamat loopback yakni IP address yang digunakan oleh suatu komputer untuk menunjuk dirinya sendiri. Network ID dan host ID tidak boleh sama dengan 255 Network ID atau host ID 255 akan diartikan sebagai alamat broadcast. ID ini merupakan alamat yang mewakili seluruh jaringan. Network ID dan host ID tidak boleh sama dengan 0 IP address dengan host ID 0 diartikan sebagai alamat network. Alamat network digunakan untuk menunjuk suatu jaringn bukan suatu host. Host ID harus unik dalam suatu network. Dalam suatu network tidak boleh ada dua host yang memiliki host ID yang sama. Subnetting Untuk beberapa alasan yang menyangkut efisiensi IP Address, mengatasi masalah topologi network dan organisasi, network administrator biasanya melakukan subnetting. Esensi dari subnetting adalah memindahkan garis pemisah antara bagian network dan bagian host dari suatu IP Address. Beberapa bit dari bagian host dialokasikan menjadi bit tambahan pada bagian network. Address satu network menurut struktur baku dipecah menjadi beberapa subnetwork. Cara ini menciptakan sejumlah network tambahan, tetapi mengurangi jumlah maksimum host yang ada dalam tiap network tersebut. Subnetting juga dilakukan untuk mengatasi perbedaan hardware dan media fisik yang digunakan dalam suatu network. Router IP dapat mengintegrasikan berbagai network dengan media fisik yang berbeda hanya jika setiap network memiliki address network yang unik. Selain itu, dengan subnetting, seorang Network Administrator dapat mendelegasikan pengaturan host address seluruh departemen dari suatu perusahaan besar kepada setiap departemen, untuk memudahkannya dalam mengatur keseluruhan network. Suatu subnet didefinisikan dengan mengimplementasikan masking bit (subnet mask ) kepada IP Address. Struktur subnet mask sama dengan struktur IP Address, yakni terdiri dari 32 bit yang dibagi atas 4 segmen. Bit-bit dari IP Address

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

yang ditutupi (masking) oleh bit-bit subnet mask yang aktif dan bersesuaian akan diinterpretasikan sebagai network bit. Bit 1 pada subnet mask berarti mengaktifkan masking ( on ), sedangkan bit 0 tidak aktif ( off ). Sebagai contoh kasus, mari kita ambil satu IP Address kelas A dengan nomor 44.132.1.20. Ilustrasinya dapat dilihat Tabel berikut :
44 132 1 20 00101100 10000100 00000001 00010100
IP Address

255

255

11111111 11111111 00000000 00000000


Subnet Mask

44

132

00101100 10000100 00000000 00000000


Network Address

44

132

255

255

00101100 10000100 11111111 11111111


Broadcast Address

Subnetting 16 bit pada IP Address kelas A Dengan aturan standard, nomor network IP Address ini adalah 44 dan nomor host adalah 132.1.20. Network tersebut dapat menampung maksimum lebih dari 16 juta host yang terhubung langsung. Misalkan pada address ini akan akan diimplementasikan subnet mask sebanyak 16 bit 255.255.0.0.( Hexa = FF.FF.00.00 atau Biner = 11111111.11111111.00000000.00000000 ). Perhatikan bahwa pada 16 bit pertama dari subnet mask tersebut berharga 1, sedangkan 16 bit berikutnya 0. Dengan demikian, 16 bit pertama dari suatu IP Address yang dikenakan subnet mask tersebut akan dianggap sebagai network bit. Nomor network akan berubah menjadi 44.132 dan nomor host menjadi 1.20. Kapasitas maksimum host yang langsung terhubung pada network menjadi sekitar 65 ribu host. Subnet mask di atas identik dengan standard IP Address kelas B. Dengan menerapkan subnet mask tersebut pada satu network kelas A, dapat dibuat 256 network baru dengan kapasitas masing-masing subnet setara network kelas B. Penerapan subnet yang lebih jauh seperti 255.255.255.0 ( 24 bit ) pada kelas A

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

akan menghasilkan jumlah network yang lebih besar ( lebih dari 65 ribu network ) dengan kapasitas masing-masing subnet sebesar 256 host. Network kelas C juga dapat dibagi-bagi lagi menjadi beberapa subnet dengan menerapkan subnet mask yang lebih tinggi seperti untuk 25 bit (255.255.255.128), 26 bit (255.255.255.192), 27 bit ( 255.255.255.224) dan seterusnya. Subnetting dilakukan pada saat konfigurasi interface. Penerapan subnet mask pada IP Address akan mendefinisikan 2 buah address baru, yakni Network Address dan Broadcast Address. Network address didefinisikan dengan menset seluruh bit host berharga 0, sedangkan broadcast address dengan menset bit host berharga 1. Seperti yang telah dijelasakan pada bagian sebelumnya, network address adalah alamat network yang berguna pada informasi routing. Suatu host yang tidak perlu mengetahui address seluruh host yang ada pada network yang lain. Informasi yang dibutuhkannya hanyalah address dari network yang akan dihubungi serta gateway untuk mencapai network tersebut. Ilustrasi mengenai subnetting, network address dan broadcast address dapat dilihat pada Tabel di bawah. Dari tabel dapat disimpulkan bagaimana nomor network standard dari suatu IP Address diubah menjadi nomor subnet / subnet address melalui subnetting. IP Address Network Address Standard 44.0.0.0 Subnet Mask Interpretasi Broadcast Address

44.132.1.20

Host 1.20 pada 44.132.255.255 subnet 44.132.0.0 81.150.2.3 81.0.0.0 255.255.255.0 Host 3 pada 81.50.2.255 (24 bit) subnet 81.50.2.0 167.205.2.100 167.205.0.0 255.255.255.12 Host 100 pada 167.205.2.127 8 (25 bit) Subnet 167.205.2.0 167.205.2. 130 167.205.0.0 255.255.255.19 Host 130 pada 167.205.2.191 2 (26 bit) subnet 167.205.2.128 Beberapa kombinasi IP Address, Netmask dan network number

255.255.0.0(16 bit)

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Subnetting hanya berlaku pada network lokal. Bagi network di luar network lokal, nomor network yang dikenali tetap nomor network standard menurut kelas IP Address.

Desain LAN Metode Perencanaan LAN Sekarang kita akan membahas bagaimana merencanakan suatu LAN yang baik. Tujuan utamanya untuk merancang LAN yang memenuhi kebutuhan pengguna saat ini dan dapat dikembangkan di masa yang akan datang sejalan dengan peningkatan kebutuhan jaringan yang lebih besar. Desain sebuah LAN meliputi perencanaan secara fisik dan logic . Perencanaan fisik meliputi media yang digunakan bersama dan infrastruktur LAN yakni pengkabelan sebagai jalur fisik komunikasi setiap devais jaringan. Infrastruktur yang dirancang dengan baik cukup fleksibel untuk memenuhi kebutuhan sekarang dan masa datang. Metode perencanaan LAN meliputi : Seorang administrator network yang bertanggung jawab terhadap jaringan. Pengalokasian IP address dengan subnetting. Peta letak komputer dari LAN dan topologi yang hendak kita gunakan. Persiapan fisik yang meliputi pengkabelan dan peralatan lainnya. Di antara hal-hal yang perlu diperhatikan dalam perancangan LAN adalah lokasi fisik itu sendiri. Peta atau cetak biru bangunan-bangunan yang akan dihubungkan serta informasi jalur kabel (conduit) yang ada dan menghubungkan bangunan-bangunan tersebut sangat diperlukan. Jika peta seperti ini tidak ada maka perlu digambarkan peta dengan cara merunut kabel-kabel yang ada. Secara umum dapat diasumsikan bahwa pengkabelan yang menghubungkan bangunan-bangunan atau yang melewati tempat terbuka harus terdapat di dalam conduit. Seorang manajer jaringan harus menghubungi manajer bangunan untuk mengetahui aturanaturan pengkabelan ini sebab manajer bangunan yang mengetahui dan

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

bertanggung jawab atas bangunan tersebut. Pada setiap lokasi (yang dapat terdiri dari beberapa bangunan) harus ditunjuk seorang manajer jaringan. Manajer jaringan harus mengetahui semua konfigurasi jaringan dan pengkabelan pada lokasi yang menjadi tanggung jawabnya. Pada awalnya tugas ini hanya memakan waktu sedikit. Namun sejalan dengan perkembangan jaringan menjadi lebih kompleks, tugas ini berubah menjadi tugas yang berat. Jadi sebaiknya dipilih orang yang betul-betul berminat dan mau terlibat dalam perkembangan jaringan. Pengalokasian IP Address Bagian ini memegang peranan yang sangat penting karena meliputi perencanaan jumlah network yang akan dibuat dan alokasi IP address untuk tiap network. Kita harus membuat subnetting yang tepat untuk keseluruhan jaringan dengan mempertimbangkan kemungkinan perkembangan jaringan di masa yang akan datang. Sebagai contoh, sebuah kantor memasang jaringan internet via V-SAT mendapat alokasi IP addres dari INTERNIC (http://www.internic.net) untuk kelas B yaitu 167.205.xxx.xxx. Jika diimplementasikan dalam suatu jaringan saja (flat), maka dengan IP Address ini kita hanya dapat membuat satu network dengan kapasitas lebih dari 65.000 host. Karena letak fisik jaringan tersebar (dalam beberapa departemen dan laboratorium) dan tingkat kongesti yang akan sangat tinggi, tidak mungkin menghubungkan seluruh komputer dalam kantor tersebut hanya dengan menggunakan satu buah jaringan saja (flat). Maka dilakukan pembagian jaringan sesuai letak fisiknya. Pembagian ini tidak hanya pada level fisik (media) saja, namun juga pada level logik (network layer), yakni pada tingkat IP address.. Pembagian pada level network membutuhkan segmentasi pada IP Address yang akan digunakan. Untuk itu, dilakukan proses pendelegasian IP Address kepada masingmasing jurusan, laboratorium dan lembaga lain yang memiliki LAN dan akan diintegrasikan dalam suatu jaringan kampus yang besar. Misalkan dilakukan pembagian IP kelas B sebagai berikut : IP address 167.205.1.xxx dialokasikan untuk cadangan IP address 167.205.2.xxx dialokasikan untuk departemen A IP address 167.205.3.xxx dialokasikan untuk departemen B

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Ip address 167.205.4.xxx dialokasikan untuk unit X dsb. Pembagian ini didasari oleh jumlah komputer yang terdapat pada suatu jurusan dan prediksi peningkatan populasinya untuk beberapa tahun kemudian. Hal ini dilakukan semata-mata karena IP Address bersifat terbatas, sehingga pemanfaatannya harus diusahakan seefisien mungkin. Jika seorang administrator di salah satu departemen mendapat alokasi IP addres 167.205.48.xxx, maka alokasi ini akan setara dengan sebuah IP address kelas C karena dengan IP ini kita hanya dapat membentuk satu jaringan berkapasitas 256 host yakni dari 167.205.9.0 sampai 167.205.9.255. Dalam pembagian ini, seorang network administrator di suatu lembaga mendapat alokasi IP Address 167.205.9.xxx. Alokasi ini setara dengan satu buah kelas C karena sama-sama memiliki kapasitas 256 IP Address, yakni dari 167.205.9.0 sampai dengan 167.205.9.255. Misalkan dalam melakukan instalasi jaringan, ia dihadapkan pada permasalahan-permasalahan sebagai berikut : Dibutuhkan kira-kira 7 buah LAN. Setiap LAN memiliki kurang dari 30 komputer. Berdasarkan fakta tersebut, ia membagi 256 buah IP address itu menjadi 8 segmen. Karena pembagian ini berbasis bilangan biner, pembagian hanya dapat dilakukan untuk kelipatan pangkat 2, yakni dibagi 2, dibagi 4, 8, 16, 32 dst. Jika kita tinjau secara biner, maka kita mendapatkan : Jumlah bit host dari subnet 167.205.9.xxx adalah 8 bit (segmen terakhir). Jika hanya akan diimplementasikan menjadi satu jaringan, maka jaringan tersebut dapat menampung sekitar 256 host. Jika ia ingin membagi menjadi 2 segmen, maka bit pertama dari 8 bit segmen terakhir IP Address di tutup (mask) menjadi bit network, sehingga masking keseluruhan menjadi 24 + 1 = 25 bit. Bit untuk host menjadi 7 bit. Ia memperoleh 2 buah sub network, dengan kapasitas masing-masing subnet 128 host. Subnet pertama akan menggunakan IP Address dari 167.205.9.(0-127), sedangkan subnet kedua akan menggunakan IP Address 167.205.9.(128-255).

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Tabel Pembagian 256 IP Address menjadi 2 segmen Karena ia ingin membagi menjadi 8 segmen, maka ia harus mengambil 3 bit pertama ( 23 = 8) dari 8 bit segmen terakhir IP Address untuk di tutup (mask) menjadi bit network, sehingga masking keseluruhan menjadi 24 + 3 = 27 bit. Bit untuk host menjadi 5 bit. Dengan masking ini, ia memperoleh 8 buah sub network, dengan kapasitas masing-masing subnet 32 (=25) host. Ilustrasinya dapat dilihat pada Tabel 2-4 berikut :

167

205

xxx
Byte Akhir

10100111 11001101 00001001 xxxxxxxx 11111111 11111111 11111111 11100000 10100111 11001101 00001001 000xxxxx 10100111 11001101 00001001 001xxxxx 10100111 11001101 00001001 010xxxxx 10100111 11001101 00001001 011xxxxx

0-31 32-63 64-95 96-127

10100111 11001101 00001001 100xxxxx 128-159 10100111 11001101 00001001 101xxxxx 160-191 10100111 11001101 00001001 110xxxxx 192-223 10100111 11001101 00001001 111xxxxx 224-255

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Studi Kasus : Anda sebagai penanggungjawab jaringan di suatu kantor yang mempunyai 3 buah departemen mendapat alokasi IP dari suatu ISP (Internet Service Provider) 167.205.9.10xxxxxx (8 bit terakhir adalah biner). Jika jumlah host tiap-tiap departemen diperkirakan tidak lebih dari 13 buah dan masing masing departemen akan dibuat jaringan lokal (LAN) tersendiri, coba anda tentukan :(semua host mendapat alokasi IP asli) Subnet yang harus dibuat Network address Broadcast address

Penyelesaian : Subnet yang harus dibuat adalah : 11111111.11111111.11111111.11110000 atau 255.255.255.240. Terdapat network address sbb : 167.205.9.10000000 167.205.9.10010000 167.205.9.10100000 167.205.9.10110000 Terdapat broadcast address sbb: 167.205.9.10001111 = 167.205.9.143 167.205.9.10011111 = 167.205.9.159 167.205.9.10101111 = 167.205.9.175 167.205.9.10111111 = 167.205.9.191

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Apa Itu LINUX ?


Linux pada awalnya dibuat oleh seorang mahasiswa Finlandia yang bernama Linus Torvalds. Dulunya Linux merupakan proyek hobi yang diinspirasikan dari Minix, yaitu sistem UNIX kecil yang dikembangkan oleh Andrew Tanenbaum. Linux versi 0.01 dikerjakan sekitar bulan Agustus 1991. Kemudian pada tanggal 5 Oktober 1991, Linus mengumumkan versi resmi Linux, yaitu versi 0.02 yang hanya dapat menjalankan shell bash (GNU Bourne Again Shell) dan gcc (GNU C Compiler). Saat ini Linux adalah sistem UNIX yang sangat lengkap, bisa digunakan untuk jaringan, pengembangan software dan bahkan untuk pekerjaan sehari-hari. Linux sekarang merupakan alternatif sistem operasi yang jauh lebih murah jika dibandingkan 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 GNUs Project. Compiler ini banyak digunakan pada lingkungan Hewlett-Packard 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 program-program lain yang bermanfaat sesuai dengan tujuan pembuatan distro. Ada banyak sekali distro Linux, diantaranya :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

RedHat Distribusi yang paling populer, minimal di Indonesia. RedHat merupakan distribusi pertama yang instalasi dan pengoperasiannya mudah. Debian Distribusi yang mengutamakan kestabilan dan kehandalan, meskipun mengorbankan aspek kemudahan dan kemutakhiran program. Debian menggunakan .deb dalam paket instalasi programnya. 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. SuSE Distribusi yang sangat terkenal dengan YaST (Yet another Setup Tools) untuk mengkonfigurasi sistem. SuSE merupakan distribusi pertama dimana instalasinya dapat menggunakan bahasa Indonesia. Mandrake Merupakan varian distro RedHat yang dioptimasi untuk pentium. Kalau komputer kita menggunakanpentium ke atas, umumnya Linux bisa jalan lebih cepat dengan Mandrake. WinLinux Distro yang dirancang untuk diinstall di atas partisi DOS (WIndows). Jadi untuk menjalankannya bisa di-klik dari Windows. WinLinux dibuat seakan-akan merupakan suatu program aplikasi under Windows.

Masih banyak lagi distro linux yang lain, diatas hanyalah sebagian distro yang popular dan sering digunakan.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

KEISTIMEWAAN LINUX
Hardware komputer pada hakekatnya tidak dapat berfungsi tanpa adanya Software yang mengaturnya. Software yang paling dekat ke Hardware adalah "Sistem Operasi". Suatu jenis prosessor tentu dapat saja di-"atur" oleh berbagai macam Sistem-Operasi pada saat yang berbeda, asalkan ada orang yang mau menulis program Sistem-Operasi tersebut. Walaupun pada saat Linux ditulis prosessor Intel 80386 telah dipasarkan dengan Sistem-Operasi DOS, namun DOS belum menggunakan 80386 secara optimal. Intel 80386 sebenarnya dirancang sebagai prosessor yang mampu

melakukan "multi-tasking" atau "multi-program" namun DOS hanya mampu melakukan "single-tasking". Linux ketika dirancang memanfaatkan 80386 seoptimal mungkin.

Di sini akan dijelaskan beberapa kelebihan dari sistem operasi Linux/UNIX dibandingkan dengan dengan sistem operasi yang lain. Dan berikut ini adalah beberapa fakta dari hal-hal yang menguntungkan dengan menggunakan program dan file-file Linux/UNIX :

Pada dasarnya semua data tersimpan di dalam harddisk walau ada beberapa kondisi dimana data tersimpan di disket. Linux/UNIX memberikan beberapa proses spesial dimana terminal, printer dan device hardware lainnya dapat diakses seperti kita mengakses file yang tersimpan dalam harddisk atau disket. Ketika program dijalankan, program tersebut dijalankan dari harddisk ke dalam RAM dan setelah dijalankan akan dinamakan sebagai proses. Linux/UNIX menyediakan servis untuk membuat, memodifikasi program, proses dan file. Linux/UNIX mendukung struktur file yang bersifat hirarki. Linux/UNIX adalah salah satu sistem operasi yang termasuk ke dalam kelas sistem operasi yang dapat melakukan multitasking. Multitasking sendiri adalah

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

keadaan dimana suatu sistem operasi dapat melakukan banyak kerjaan pada saat yang bersamaan. Selain multitasking, Linux/UNIX juga dapat mendukung multiuser. Yaitu sistem operasi yang pada saat bersamaan dapat digunakan oleh lebih dari satu user yang masuk ke dalam sistem. Bahkan untuk Linux juga mendukung untuk multiconsole dimana pada saat bersamaan di depan komputer langsung tanpa harus melalui jaringan dan memungkinkan lebih dari satu user masuk ke dakam sistem.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

APLIKASI LINUX
Sebagai Server web server, mail server, ftp server, dll. Sebagai Client / Workstation pengguna Aplikasi perkantoran (Star office, yang mirip Microsoft office) Gimp (image tool seperti Photoshop) Koleksi aplikasi di http://freshmeat.net, http://www.sourceforge.net, dll

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

DASAR-DASAR LINUX

FILE SYSTEM LINUX Struktur filesystem Linux adalah berbentuk tree, dengan pusat-nya adalah root (akar) yang dilambangkan dengan tanda / (slash). Contoh struktur direktori pada Linux dapat digambarkan sebagai berikut:

PERINTAH - PERINTAH DASAR LINUX Sintaks Secara umum perintah pada Linux memiliki sintaks sebagai berikut :

perintah

[option.] [argumen.]

option adalah pilihan untuk mendapatkan hasil tertentu argumen adalah sesuatu yang akan diproses, misalnya file atau direktori

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

CATATAN : Perintah dalam Linux adalah Case Sensitive yang berbeda dengan DOS Command. Pada DOS Command perintah dir sama dengan DIR, tetapi pada linux ls tidak sama dengan LS atau Ls.

Perintah ls (list directory) Perintah ini akan menampilkan isi sebuah direktori. Bila Anda ketikkan : # ls maka akan ditampilkan isi direktori di mana Anda berada (working directory). Perintah : # ls /home/adjie akan menampilkan isi direktori /home/adjie option yang dapat digunakan antara lain -a menampilkan semua file termasuk yang beratribut hidden, yaitu file atau direktori yang berawalan tanda titik (.) -l menampilkan file dan direktori dalam tampilan yang lengkap, termasuk nama file, ukuran, tanggal modifikasi, owner, group dan atributnya.

Perintah cd (Change Directory) Perintah ini untuk berpindah direktori. Perintah : # cd akan membawa ke home directory Anda. Perintah : # cd /home/meong akan membawa Anda ke direktori /home/meong. Bila terdapat susunan direktori berikut : /usr/src/linux/arch dan Anda sedang berada di direktori /usr/src/linux, maka bila Anda hendak masuk ke direktori arch, maka ketikkan : # cd arch

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

sedangkan jika Anda ingin naik satu tingkat lebih atas maka ketikkan : # cd .. Perintah pwd (Print Working Directory) Perintah ini digunakan untuk melihat di direktori mana Anda sekarang berada. Perintahnya : # pwd

Perintah more Perintah more dapat Anda gunakan untuk melihat isi suatu file teks dengan layar perlayar, Artinya jika file Anda tampilkan ukurannya lebih dari suatu layar, maka more akan menghentikan tampilannya saat isi file telah mencapai satu layar. Anda dapat menlanjutkan ke tampilan berikutnya dengan menekan tombol [SPACEBAR], melihat baris berikutnya dengan tombol [enter], melihat baris sebelumnya dengan tombol b, atau keluar dari tampilan more dengan tombol q. Misalnya: # more /etc/httpd/httpd.conf akan menampilkan isi file /etc/httpd/httpd.conf layar per layar. Indikator (15%) di baris paling bawah manandai posisi (dalam persen) dari seluruh isi file (yaitu file httpd.conf) yang sekarang sedang ditampilkan.

Perintah cat Perintah ini digunakan untuk menampilkan isi file ke layar tanpa fasilitas tampilan layar per layar. Biasanya digunakan bersamaan dengan pipeline atau redirection. Misalnya, untuk melihat dan menampilkan isi file /etc/passwd dan /etc/group, gunakan perintah: # cat /etc/passwd /etc/group

Perintah rm Perintah ini digunakan untuk menghapus direktori atau file. Misalnya: # rm data.txt

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

akan menghapus file data1.txt yang terletak pada direktori tempat Anda berada sekarang, asalkan Anda memiliki hak untuk itu. Perintah berikut akan menghapus file data.txt yang terletak pada direktori /usr/data, asalkan Anda memiliki hak untuk itu. # rm /usr/data/data2.txt Perintah berikut akan menghapus direktori data, yang terletak pada direktori /usr, beserta seluruh isinya. # rm r /usr/data

Perintah mkdir Perintah ini digunakan untuk membuat direktori. Misalnya: # mkdir data akan membuat direktori data pada current directory. Perintah berikut akan membuat direktori januari pada direktori /usr/data, asal direktori data telah terdapat pada direktori /usr. # mkdir /usr/data/ januari Jika direktori data belum terdapat pada direktori /usr, Anda dapat menggunakan perintah berikut yang akan secar otomatis membuat semua direktori yang diperlukan dalam rangka membuat direktori januari. # mkdir p /usr/data/januari Perintah berikut akan secara otomatis membuat direktori januari, februari, dan maret secara sekaligus pada current directory. # mkdir januari februari maret Pipeline Pada UNIX dan Linux, hasil keluaran suatu proses program dapat diberikan sebagai input pada proses lainnya. Misalnya, jika Anda menampilkan isi direktori /etc dengan ls 1, maka hasil tampilannya akan sangat banyak dan Anda tidak sempat membaca nama file yang paling atas. Sementara itu, Anda telah mengenal perintah more, yang dapat digunakan untuk menampilkan sesuatu layar perlayar. Dengan pipeline, Anda dapat memberikan keluaran perintah ls-1 sebagai masukan perintah more. Caranya adalah sebagai berikut:

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# ls 1 /etc | more Tanda vertical bar (|) adalah tanda yang digunakan untuk pipeline. Penggunaan pipeline pada perintah- perintah Linux tidak terbatas. Perhatikan lagi contoh berikut: # ls /etc | sort | more Program sort adalah program yang akan mensortir inputnya dan menampilkan hasilnya ke layar monitor. Filter Dengan menggunakan pipeline, Anda dapat melakukan filter, atau penyaringan hasil proses suatu program untuk ditampilkan sesuai dengan kriteria yang Anda tentukan. Misalnya tampilan layar per layar (dengan pipeline ke more) atau tampilan tersortir (dengan pipeline ke sort). Ada banyak perintah Linux dan Unix lainnya yang dapat Anda gunakan untuk melakukan penyaringan ini. Beberapa diantaranya adalah:

Perintah grep Perintah grep digunakan untuk menyaring masukanya dan menampilkan baris-baris yang hanya mengandung pola yang Anda tentukan. Pola ini disebut expression. Misalnya, pada Linux terdapat perintah w yang digunakan untuk mengetahui siapa saja yang sedang login pada komputer Anda. Untuk mengetahui siapa saja yang telah login sejak malam dan sore hari, Anda dapat menyaring tampilan perintah w sehingga hanya menampilkan baris-baris yang mengandung karakter PM # w h I grep PM Catatan: Option h akan menghilangkan header tampilan perintah w Perintah grep dapat juga digunakan tanpa pipeline, yaitu mengambil inputnya langsung dari file. Misalnya, pada UNIX dan Linux terdapat file /etc/passwd yang berisi database user account yang terdapat pada komputer Anda. Jika Anda hendak melihat baris-baris pada file /etc/passwd yang mengandung kata dan (artinya Anda hendak mengetahui user account di komputer Anda yang namanya namanya reguler

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

mengandung kata dan, misalnya daniel, dani, buldan, dan sebagainya ), gunakan perintah: # grep dan /etc/passwd

Perintah wc Perintah wc dapat Anda gunakan untuk menghitung jumlah baris, kata, dan karakter dari baris-baris masukan yang diberikan kepadanya. Untuk mengetahui berapa baris, gunakan option 1, untuk mengetahui berapa kata, digunakan option w, dan untuk mengetahui berapa karakter, gunakan option c. Jika salah satu option itu tidak Anda gunakan, maka tampilannya adalah jumlah baris, jumlah kata, dan jumlah karakter. Misalnya jika Anda ingin mengetahui berapa jumlah file yang ada pada direktori /etc, maka ketikkan perintah: # ls /etc I wc 1 Hasilnya adalah : 84 753 4908

Artinya bahwa hasil tampilan isi direktori /etc terdiri dari 84 baris (file dan direktori), 753 kata, dan 4908 karakter. Perhatikan bahwa perintah ls umumnya manampilkan hasilnya dalam bentuk beberapa kolom, namun jika Anda menggunakan pipeline, ls secara otomatis mengubah tampilannya menjadi satu kolom. Perintah wc dapat juga digunakan tanpa pipeline, yaitu mengambil inputnya langsung dari file. Jika Anda jalankan perintah: # wc data.txt maka hasilnya adalah 3 15 104 data

yang artinya adalah bahewa file data.txt terdiri atas tiga baris, 15 kata, dan 104 karakter. Perintah sort Perintah sort digunakan untuk mensortir masukannya berdasarkan urutan nomor ASCII dari karakter. Misalnya Anda memiliki file kelas1.txt yang isinya sebagai berikut:

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Badu Zulkifli Yulizir Yudi Ade Maka untuk menampilkan file itu dengan urutan yang beraturan, gunakan perintah # sort kelas1.txt Misalnya Anda memiliki lagi file kelas2.txt yang isinya sebagai berikut: Budi Gama Asep Mukhlis Maka untuk mencetak di printer kedua file yang Anda miliki itu dengan urutan berdasarkan abjad, gunakan perintah: # cat kelas1.txt kelas2.txt | sort |lpr Catatan: Perintah lpr adalah perintah untuk mencetak inputnya ke langsung printer. Perintah cut Perintah cut digunakan untuk mengambil kolom tertentu dari baris-baris

masukannya, yang ditentukan pada option c. Misalnya Anda ingin memproses hasil perintah who yang menampilkan informasi user yang sedang login suatu saat. Seperti terlihat, nama user ditampilkan pada kolom 1-8, dan untuk mengambil kolom ini saja, Anda dapat menggunakan: # who | cut -c1-8 Hasilnya adalah Daniel train-01 train-02 Catatan: Istilah kolom yang dimaksud di sini adalah kolom-kolom karakter yang terdapat pada layar monitor atau terminal Anda, biasanya maksimal 80 kolom. Lihat pada manual (man cut) untuk cara penggunaan perintah ini secara lebih detail.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Perintah uniq Perintah uniq digunakan untuk menghilangkan baris-baris berurutan yang mengalami duplikasi, biasanya digabungkan dalam pipeline dengan sort. Misalnya jika Anda memiliki file kelas.txt dengan isi: Bambang Badu Budi Ade Bambang Ade Maka untuk menghilangkan baris-baris yang mengalami duplikasi, gunakan perintah: # cat kelas.txt |sort | uniq Catatan : Lihat pada manual (man uniq) untuk cara penggunaan perintah ini secara lebih detail. Reguler expression Reguler expression adalah cara untuk menentukan sebuah pola karakter untuk pencarian dan pemfilteran. Dengan reguler expression, Anda tidak harus menentukan pola karakter yang eksak, misalnya pada perintah grep, untuk mencari baris-baris yang mengandung kata dan, Anda tinggal menggunakan grep. Namun bagaimana jika Anda ingin mencari baris-baris yang mengandung kata yang dimulai dengan karakter H, diikuti dengan sembarang karakter, lalu diakhiri dengan karakter n? Disinilah dibutuhkan reguler expression. Untuk menggunakan reguler expression, Anda harus mengenal karakter-karakter khusus yang memiliki arti tersendiri jika digunakan didalam pola reguler expression.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Akses Floppy, Harddisk dan CDROM Membaca isi disket Untuk dapat membuka dan mengakses disket, terlebih dahulu dilakukan proses mounting terhadap device file ke sebuah direktori di bawah root direktori. Misalnya : # mount /dev/fd0 /mnt/floppy (catatan : direktori /mnt/floppy harus sudah ada, bila belum buatlah dengan mkdir) Setelah itu jika kita akan mengakses floppy tersebut, kita melakukannya lewat direktori /mnt/floppy Untuk melihat isi disket kita tuliskan : #ls /mnt/floppy Untuk mengkopi file meong.txt ke direktori /home/adjie, ketikkan : #cp /mnt/floppy/meong.txt /home/adjie Untuk disket yang diformat dalam lingkungan DOS atau Windows (FAT12), maka perlu disertakan option jenis filessistem yang digunakan disket, yaitu t msdos. #mount t msdos /dev/fd0 /mnt/floppy Jika hendak mengganti disket Anda harus meng-unmount disket yang lama dengan : #umount /mnt/floppy Keluarkan disket lama,masukkan disket baru dan mount lagi.

Membaca isi CDROM Sama halnya dengan disket untuk membaca CDROM, terlebih dahulu harus dilakukan proses mount. # mount /dev/cdrom /mnt/cdrom

Membaca isi partisi DOS dan Windows Bila harddisk Anda memiliki partisi DOS atau Windows, maka untuk membacanya harus dilakukan juga proses mounting. Misal partisi itu adalah hda3, dan jenis partisi DOS, maka kita ketikkan :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

#mount t msdos /dev/hda3 /mnt/harddisk (asumsi sebelumnya sudah dibuta direktori /mnt/harddisk)

Bila partisi itu berformat Windows maka option yang digunakan adalah t vfat, jadi kita ketikkan : # mount t vfat /dev/hda3 /mnt/harddisk Bila partisi itu berformat Windows NT (NTFS=NT File System) maka option yang digunakan adalah t vfat, jadi kita ketikkan : # mount t vfat /dev/hda3 /mnt/harddisk

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

File System Linux

File system Untuk mengorganisasi file-file pada device diperlukan suatu metode yang disebut dengan filesystem. Jika Anda mengenal FAT selama ini di sistem operasi Windows maka Anda akan mengenal beberapa metode filesystem di Linux, seperti ext fs, ext2 fs atau xia fs dll. Saat ini ext2 fs adalah filesystem yang banyak digunakan untuk Linux karena terkenal sangat efisien. Meskipun demikian Red Hat Linux tetap menyediakan dukungan terhadap filesystem lain seperti msdos yang sudah built in di kernel atau dalam bentuk modul seperti vfat (Windows95 native fs), ext,umsdos dan sebagainya. Mount & Umount Command Untuk menggunakan filesystem tersebut kita lebih dahulu harus me-mount sebuah block device yang memiliki filesystem. Perintahnya adalah sebagai berikut: # mount [-t] [-o] device mount_point device berupa block device, mount_point berupa sebuah direktori untuk

menampilkan filesystem. t adalah type atau jenis filesystem dan o adalah option, keduanya boleh saja tidak disertakan bila Anda sudah mengkonfigurasi file /etc/fstab yang berisi keterangan detail mengenai device,jenis filesystem, mount point yang digunakan dan sebagainya. Misalnya saya akan mengakses sebuah file di disket di drive A: maka pertama kali saya harus me-mount dulu disk tersebut ke sebuah direktori yang sudah saya buat misalnya /mnt/floppy: # mount /dev/fd1 -t vfat /mnt/floppy <enter> mount: block device /dev/fd1 is write-protected, mounting read-only Setelah perintah itu barulah saya bisa membaca disket di drive A: tersebut di direktori /mnt/floppy. Misalnya dengan mengetikkan perintah ls maka akan ditampilkan isi disket di drive A: # ls /mnt/floppy Untuk membatalkan perintah mount digunakan perintah umount

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# umount /mnt/floppy Setelah perintah tersebut dieksekusi, otomatis drive A: tidak bisa digunakan, cobalah dengan mengetikkan perintah ls lagi. Pesan kesalahan akan ditampilkan seperti dibawah ini. # ls /mnt/floppy filesystem not mounted mtools Bila Anda memiliki filesystem DOSdan ingin mengunakannya tanpa harus melakukan mount maka gunakan mtools. Dengan cara ini Anda tidak perlu lagi melakukan mount bila ingin mengakses filesystem DOS dan partisi yang belum diformat sekalipun. (Syafrudin, haydin@arjuna.csc.ui.ac.id). Setelah menginstalasi mtools tersebut, Anda cukup menjalankan perintah-perintah seperti di DOS untuk mengakses filesystem DOS tersebut, misalnya mdir, mcopy dan sebagainnya.

Filesystem Manager Pada saat boot, kernel akan me-mount root filesystem dari device yang telah ditentukan dalam LILO. Selama proses boot tersebut semua filesystem yang ada dalam tabel filesystem atau dalam file /etc/fstab juga akan diperiksa apakah perlu di mount atau tidak. Red Hat telah menyediakan program yang sangat mudah digunakan untuk mengkonfigurasi filesystem tersebut. Program ini berjalan di X dan dapat dipanggil melalui control panel atau cukup mengeksekusinya dengan perintah fstool. Selanjutnya hasil konfigurasinya juga akan disimpan dalam file /etc/fstab. Bila Anda tidak menginstalasi X dan tidak bisa menjalankan fstool, jangan kuatir file /etc/fstab juga dapat di edit secara manual dengan program teks editor favorit Anda. Filesystem manager menampilkan informasi mengenai nama device,mount point, jenis filesystem, ukuran dan sisa spasi yang masih tersedia. (Informasi ini seperti ini juga bisa diperoleh dengan perintah df). Filesystem dapat di mount atau di unmount dengan tombol Mount dan Unmount. Tanda asterik (*) didepan jenis filesystem menandakan filesystem tersebut sudah atau sedang di mount.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Tombol Format hanya berfungsi untuk partisi hard disk. Tombol ini akan menjalankan program mkfs yaitu program untuk membuat filesystem. Tombol Check hanya berfungsi untuk filesystem ext2 dan minix. Tombol ini akan menjalakan program fsck dan membutuhkan waktu beberapa saat untuk menampilkan hasil pemeriksaan. Bila filesystem digunakan secara normal dan fsck selalu dijalankan pada saat boot maka hasil check seringkali tidak menunjukkan kesalahan apapun.

Mengedit file /etc/fstab File /etc/fstab berupa file teks biasa, bisa dibaca dan mudah di edit dengan program editor teks favorit kita. Lakukan secara hati-hati karena kesalahan dalam memasukkan atau menghapus sesuatu menyebabkan sistim tidak bisa me-mount filesystem saat boot nanti. Mirip dengan tampilan program fstool diatas, saat dibuka file /etc/fstab menampilkan kolom-kolom yang berisi informasi nama device, mount point, jenis filesystem, option, dump dan fsckorder. Kolom-kolom tersebut masing-masing dipisahkan dengan tabs atau spasi. Kolom dump berhubungan dengan program dump, lihat manual page program dumb. Kolom terakhir fsckorder berhubungan dengan program fsck. Urutan pengecekan filesystem saat boot ditunjukkan oleh nomor dikolom ini. Pengecekan filesystem dapat dilakukan secara paralel dengan memberikan nomor urut yang sama tapi filesystem root selalu harus nomor 1. Filesystem dengan fsckorder 0 tidak akan dicek saat boot.

Filesystem Support Linux memiliki dukungan terhadap beberapa filesystem lain sehingga kita dapat menggunakan atau mengakses filesystem yang berbeda tanpa harus melakukan konversi lebih dulu. Berikut ini adalah beberapa filesystem yang bisa di dukung Linux sejak kernel 2.0.30 di keluarkan: (Anda dapat mengkonfigurasi dukungan filesystem ini saat konfigurasi kernel )

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Minix

Merupakan filesystem Linux yang pertama dan saat ini masih banyak digunakan untuk boot disk dan beberapa format disket.

Extended fs

Tidak banyak yang menggunakannya lagi dan sebaiknya tidak perlu di kompile dalam kernel.

Second Extended fs

Saat ini merupakan filesystem default untuk Linux dan seharusnya di kompile dalam kernel karena filesystem root tidak bisa bekerja bila berupa modul.

xiafs filesystemDiperkenalkan

bersamaan

dengan

second

extended

fs

dan

dimaksudkan untuk menggantikan extended fs. Saat ini jarang digunakan dan sebaiknya tidak di kompile dalam kernel kecuali Anda membutuhkannya. DOS FAT fs Pada dasarnya bukan merupakan sebuah filesystem tapi merupakan dasar bagi filesystem berbasis FAT lainnya seperti MS-DOS FAT, VFAT (Windows95) atau umsdos. MS-DOS FAT fs Jika Anda menginginkan Linux dapat mengakses sistem berbasis DOS maka Anda dapat menkompilenya dalam kernel. Sangat berguna untuk komputer yang memiliki sistem dual-boot. VFAT Merupakan peningkatan dari MS-DOS FAT fs dan mendukung format

(Windows95) fs long filename. Ini juga berguna untuk komputer yang memiliki sistem dual-boot. umsdos Dukungan ini dibutuhkan bila ingin menjalankan Linux diatas partisi DOS tapi sepertinya SuSE Linux tidak akan bisa berjalan pada sebuah filesystem umsdos. /proc Filesystem ini dipakai oleh kernel untuk menyediakan informasi mengenai sistem kepada user program, seperti ps, top, xload, free atau netstat. Filesystem ini memang seharusnya selalu ada dan walaupun ada isinya tapi tidak akan mengisi spasi hard disk. NFS Dibutuhkan bila Anda akan mengakses remote filesystem dan untuk sebuah server dukungan ini merupakan suatu keharusan. SMB Sangat berguna bila Anda menginginkan memiliki akses langsung ke Windows95 atau NT.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

NCP ISO9660

Dukungan terhadap NetWare melalui protokol NCP. Bila Anda memiliki CD-ROM sebaiknya memanfaatkan dukungan ini karena banyak sekali CD-ROM yang ada dipasaran menggunakan format ISO9660 ini.

OS/2 HPFS

Mendukung filesystem OS/2 dan HPFS. Linux hanya dapat membaca filesystem tersebut (read-only).

System V & Coherent

Merupakan filesystem UNIX generasi lama dan dukungan ini hanya diperlukan bila Anda memiliki data-data lama dan ingin

memindahkannya ke filesystem yang baru. Amiga FFS Masih berupa experimental code dan sebaiknya gunakan dengan hati-hati. UFS Filesystem ini digunakan oleh beberapa sistem UNIX, Solaris dan SunOS(4.2). Linux hanya dapat membaca filesystem ini.

Manajemen Sistem Organisasi File Disamping memiliki program instalasi yang baik, distribusi SuSE juga

mengorganisasi file-file yang diinstalasi dengan baik pula. SuSE mengikuti standar pengorganisasian filesystem Linux atau FSSTND yang tersedia di website http://www.pathname.com/fhs/ Keterangan lebih lengkap tentu saja dapat diperoleh di website tersebut tapi secara sederhana organisasi file di SuSE dapat dijelaskan sebagai berikut: Pada tingkat tertinggi adalah root direktori, /, yang hanya mengandung sejumlah file penting seperti: bin/, boot/, dev/, etc/, home/, lib/, lost+found/, mnt/, proc/, sbin/, tmp/, usr/, dan var/. /bin & /sbin Direktori ini menyimpan program-program penting yang digunakan untuk

pemeliharaan sistem. Sesuai dengan nama direktorinya, file-file program yang tersimpan didalamnya berupa file binary yang dapat dieksekusi (executable). Isi direktori /bin umumnya adalah user program seperti:

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

login Shell (bash, ksh, csh) File utility (cp, mv, rm. ln, tar) Editor (ed, vi) Filesystem utilty (dd, df, mount, umount, sync) System utility (uname, hostname, arch) GNU utility (gzip, gunzip)

Isi direktori /sbin umumnya adalah program pemeliharaan atau sistem program. Program-program yang disimpan di direktori /sbin ini hanya dapat dieksekusi oleh root. Contohnya adalah sebagai berikut: /etc Direktori ini menyimpan file-file konfigurasi systemwide yang dibutuhkan oleh program-program lainnya. Beberapa file penting di direktori ini misalnya: passwd shadow fstab hosts motd profile shells services lilo.conf fsck fdisk mkfs shutdown lilo init

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

/home Direktori ini menyimpan direktori masing-masing user yang ada di sistem termasuk HTTPD. Beberapa sistem Linux menyimpan home user root di direktori ini sebagai /home/root tapi ada juga yang menyimpan direktori home user root di direktori / atau root direktori. /mnt Umumnya direktori ini didalamnya mengandung subdirektori-subdirektori yang merupakan sebuah mount point untuk jenis device tertentu. Misalnya cdrom/, floppy/, atau zip/. /tmp & /var Direktori /tmp untuk menampung file-file sementara(temporary) dan /var

menampung varying content atau macam-macam file. Direktori /tmp biasanya juga dimanfaatkan oleh program instalasi saat kita mengintalasi program atau aplikasi. Isi direktori ini bisa saja dihapus setiap saat tanpa menimbulkan penagaruh apapun. Direktori /var memiliki isi yang lebih banyak dari /tmp dan biasanya isinya adalah seperti ini: catman/, lib/, local/, lock/, log/, nis/, preserve/, run/, spool/ dan tmp/. Direktori /var/log merupakan direktori yang sangat familiar bagi setiap user. Di dalamnya disimpan pesan-pesan yang dihasilkan oleh sistem. Berikut ini isi direktori /var/log di komputer saya: httpd/, boot.log, cron, dmesg, htmlaccess.log, lastlog, maillog, messages,

netconf.log, secure, sendmail.st, spooler, wtmp. File-file pesan tersebut sangat berguna bagi kita untuk mendiagnosis masalah atau kesalahan sistem. Bagi yang tidak berpengalaman dalam menangani masalah sistem, isi file-file pesan tersebut bisa disertakan bila kita minta bantuan orang lain atau di forum milis. /usr Berisi semua program dan file yang secara langsung berhubungan dengan setiap user dalam sistem. Misalnya di komputer saya isinya adalah sebagai berikut:

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

~X11, X11R6/, ~X386, bin/, dict/, doc/, etc/, games/, i486-linux-libc5/, i486linuxaout/, include/, info/, lib/, libexec/, local/, man/, sbin/, share/, src/, ~tmp. Direktori /usr/bin dan /usr/sbin menyimpan banyak sekali file executable. File-file executable yang disimpan di direktori ini memiliki kesamaan fungsi dan jenis dengan file-file di direktori /bin dan /sbin. Direktori /usr/X11 dan /usr/X11R6 dan subdirektori dibawahnya berisi semua file yang berhubungan dengan X Window seperti man page, library dan file executable.

Menganalisis Sistem Menganalisis sistem biasanya dilakukan oleh seorang administrator sistem untuk mendeteksi adanya gejala-gejala yang dapat menyebabkan kerusakan atau masalah pada sistem kelak. SuSE sudah menyediakan tool-tool untuk melakukan hal itu, diantaranya adalah dua buah program tool yang sangat berguna yaitu vmstat dan top, dengan menggunakan kedua program tersebut administrator memperoleh informasi mengenai sistem seperti penggunaan CPU, memori atau proses-proses yang sedang berjalan dan dengan bantuan informasi ini administrator sistem bisa mendeteksi secara cepat apakah sistemnya mengalami gangguan atau tidak. Dengan menggunakan kedua program tersebut, Anda sendiri bisa mencoba dan melihat apakah sistem yang dipakai saat ini berjalan dengan baik atau tidak. Lihatlah informasi yang ditampilkan program-program tersebut dan bila Anda memperkirakan ada masalah, silakan menghubungi administrator sistem untuk mendapatkan bantuan. vmstat Program atau perintah ini akan melakukan test dan menampilkan informasi penggunaan CPU, memori, proses-proses yang sedang berjalan serta operasi I/O. Sintaks penulisan perintahnya adalah sebagai berikut: $ vmstat [interval] [count] Interval adalah waktu jeda test dalam detik dan count adalah jumlah test yang kita kehendaki. Misalnya akan dilakukan test sebanyak 5 kali dengan waktu jeda setiap 5 detik maka perintah dan hasilnya adalah seperti dibawah ini:

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

[zakaria@linux source]$ vmstat 5 5 procs memory swap io bi system bo in 30 1 2 0 0 cpu

r b w swpd free buff cache si so 0 0 0 37924 824

cs us sy id

840 13280 54 14 816 13060 0 0 824 13084 0 0 824 13084 0 0 828 13084 0 0

9 522 271 21 6 73 0 110 329 20 16 64 1 130 331 18 18 64 0 107 329 19 16 65 1 112 326 21 14 65

3 0 0 37924 1080 1 0 0 37924 1036 1 0 0 37924 1036 2 0 0 37924 1036

Tiga kolom pertama menunjukkan proses-proses yang sedang dikerjakan, yaitu waiting for runtime(r), uninterupted sleep(b) dan swapped out(w). Banyaknya proses yang mengalami waiting for runtime(r) dapat merupakan indikasi terjadinya suatu masalah misalnya telah terjadi bottleneckyaitu penumpukan proses-proses disuatu tempat. Kolom memory dan swap digunakan untuk mendeteksi adanya kesalahan yang ditimbulkan oleh manajemen memori. Kolom-kolom swpd, free, buff dan cache berturut-turut menjelaskan jumlah memori virtual yang digunakan, jumlah memori idle, jumlah memori yang dipakai sebagai buffer dan jumlah memori yang tersisa dalam cache, semuanya dalam KB. Perhatikan kolom swap in(si), merupakan jumlah memori yang di-paging dari disk dalam satuan KB/detik sedangkan swap out(so) adalah kebalikannya. Tiga kolom terakhir adalah persentasi penggunaan CPU yaitu persentasi penggunaan CPU untuk tugas-tugas user(us), persentasi penggunaan CPU untuk tugas-tugas sistem termasuk waktu tunggu I/O, pelaksanaan fungsi-fungsi sistem operasi secara umum(sy) dan persentasi CPU idle atau saat tidak digunakan(id). Untuk mendeteksi suatu kesalahan yang diakibatkan oleh masalah CPU sebaiknya dengan melihat persentasinya secara signifikan dalam satu periode waktu. Misalnya pada saat komputer idle dalam satu periode waktu, perhatikan kolom us dan sy seharusnya menunjukkan angka yang rendah sedangkan kolom id menunjukkan angka yang tinggi. Bila tidak seperti itu maka dipastikan ada masalah yang berkaitan dengan CPU.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

top Menampilkan informasi proses yang sedang dilakukan CPU secara real time. Kelebihan dari top ini adalah kita dapat memanipulasi proses-proses tersebut secara interaktif dengan menekan tombol-tombol menu. Misalnya untuk meng-kill sebuah proses, kita cukup menekan tombol K dan mengisi nomor proses(PID) yang ingin dikill. Untuk menjalankannya cukup dengan mengetikkan perintah top dan segera ditampilkan daftar proses-proses yang sedang berjalan saat itu berikut informasiinformasi lainnya. Informasi-informasi yang ditampilkan tersebut secara default akan diperbarui atau diupdate setiap 5 detik. Berikut ini tampilan sebagian dari daftar proses-proses yang ditunjukkan oleh top:

Baris-baris header menampilkan informasi mengenai waktu, jumlah user, banyaknya proses, penggunaan CPU serta memori secara jelas. Misalnya saat itu sistem memiliki 35 buah proses, dimana 4 proses sedang berjalan, 30 proses sleeping dan ada sebuah proses menjadi zombie. Porses zombie ini adalah sebuah proses yang hang atau hidup segan, mati tak mau dan apabila Anda tidak bisa mem-kill proses zombie ini maka parent process-nya harus di-kill lebih dahulu. Gunakan perintah pstree atau ps ufx untuk mengurut proses mana yang menjadi parent dari zombie tersebut. Daftar menu untuk mengoperasikan top dapat dilihat dengan menekan tombol ?, atau h. Dengan menggunakan tombol-tombol dalam daftar menu tersebut, kita dapat melakukan manipulasi semua proses dalam sistem. Misalnya, tombol k untuk

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

meng-kill sebuah proses, tombol r untuk me-renice proses dan q untuk keluar atau mengakhiri progam top.

Multi User Bagaimana Tidak Menggunakan Root? Bila Anda membaca beberapa bab yang lalu, pernah disinggung mengenai kerugian-kerugian apabila kita selalu bekerja sebagai root. Tapi kemudian saya memperoleh beberapa pertanyaan seperti ini: Apakah saya masih bisa

menggunakan hak-hak khusus root setelah saya tidak memakainya? Mengapa saya tidak bisa lagi melakukan koneksi dial-up setelah saya login bukan sebagai root? Seperti yang telah kita ketahui, Linux termasuk sistem multiuser dimana suatu resource bisa digunakan oleh banyak user. Setiap user biasanya diberi ruangan atau space yang di simpan rapi dibawah direktori /home. Setiap user di home masing-masing memiliki hak mengakses, membaca atau menulis file-file di dalam home mereka sendiri tetapi mereka belum tentu bisa melakukan hal yang sama di home milik user lain atau direktori milik root. Masing-masing user bisa diberi hak-hak khusus yang berlainan untuk mengakses, membaca atau menulis ke sebuah file atau direktori oleh root. Oleh karena itu kita bisa saja meninggalkan root atau tidak lagi login sebagairoot sepanjang hari dengan cara membuat home sendiri, login sebagai user biasa serta memberikan hak akses seperlunya saja agar tidak membahayakan sistem bila suatu saat kita melakukan kesalahan. Membuat rumah untuk saya, mama, keponakan atau teman saya Mudah saja, saat Anda login sebagai root, jalankan perintah sebagai berikut: # adduser meong # passwd meong Setelah mengetik perintah terkahir Anda akan ditanya password untuk membuka home Anda. Ketikkan saja passwordnya sebanyak dua kali dengan kata yang sama. Selanjutnya Anda telah memiliki 'rumah' baru dan siap untuk digunakan. Bila Anda menginginkan, Anda juga bisa memberikan home lain kepada mama, keponakan

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

yang masih duduk TK atau kepada teman kuliah Anda yang sedang menumpang mengetik skripsinya di komputer Anda. Group Setiap user paling sedikit bergabung dengan sebuah group. Group bisa berisi kumpulan user lain atau program yang mempunyai kesamaan tugas. Group memungkinkan sebuah file bisa dipergunakan secara bersama hanya oleh user-user yang tergabung didalamnya. Oleh karena itu cara mengelompokkan user-user dalam group ini adalah salah satu cara yang mudah bagi root untuk memberikan hak akses file-file miliknya kepada sekelompok user. Untuk membuat group baru, Anda bisa menggunakan perintah groupadd. Misalnya, Anda ingin membuat group baru yang namanya konek maka perintahnya adalah sbb: # groupadd konek Untuk parameter yang lain seperti menentukan gid, password dan lain-lain silakan lihat manualnya. Berikutnya adalah menambahkan user-user yang akan bergabung ke dalam group konek ini. Informasi group disimpan dalam file /etc/group, bukalah dengan menggunakan editor kesayangan Anda, kemudian tambahkan nama-nama user yang akan bergabung dalam group konek. Setiap baris dalam file /etc/group terdiri dari empat segmen yang dipisahkan oleh tanda titik dua, nama group : password : group id(gid) : user Carilah baris group konek dan cukup tambahkan nama user yang akan bergabung dengan group konek ini di segmen terakhir. Pisahkan nama user dengan tanda koma bila user yang bergabung lebih dari satu, misalnya: konek : : 501 : meong, fryda Password biasanya kosong atau * atau biarkan saja bila Anda tidak membuat password untuk group ini. Setelah file /etc/group ini di simpan maka tugas berikutnya adalah merubah permission dan ownership file-file yang bisa diakses oleh group konek.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Permission dan Ownership Setiap file memiliki perijinan dan kepemilikan yang menentukan siapa saja yang boleh mengaksesnya. Lihatlah kembali bab mengenai command line khusunya perintah chgrp, chmod dan chown atau lihat manual perintah-perintah tersebut untuk lebih memahami fungsi perijinan dan kepemilikan ini. Sebagai contoh, bila Anda menginginkan group konek yang telah dibuat beberapa saat lalu itu, semua anggotanya bisa melakukan dial-up sendiri maka Anda harus merubah perijinan atau kepemilikan dari beberapa file yang berhubungan dengan dial-up supaya bisa diakses oleh group konek. Bila Anda memakai kppp dari KDE sebagai dial-up maka Anda bisa merubah kepemilikan file kppp menjadi milik group konek seperti ini: # ls -l /usr/bin/kppp -rwx------ 1 root root 365660 Apr 19 00:33 /usr/bin/kppp

# chown .konek /usr/bin/kppp # ls -l /usr/bin/kppp -rwsrws--- 1 root konek 365660 Apr 19 00:33 /usr/bin/kppp Lakukanlah hal yang sama pada file-file yang berhubungan dengan dial-up seperti /dev/modem, file-file di /etc/ppp/option dan sebagainya. Setelah itu user-user yang tergabung dalam group konek diharuskan login ke group konek dengan mengetikkan perintah newgrp apabila ingin dapat melakukan dial-up dengan kppp: $ newgrp konek Sekarang user fryda sudah dapat melakukan dial-up sendiri dengan kppp tanpa bantuan root. Command Line Seperti halnya bila kita mengetikkan perintah di DOS, command line atau baris perintah di Linux juga diketikkan di prompt dan diakhiri enter untuk mengeksekusi perintah tersebut. Baris perintah merupakan cara yang lebih efisien untuk melakukan sesuatu pekerjaan oleh karena itu pemakai Linux tetap mengandalkan cara ini untuk bekerja. Sebaiknya pemula juga harus mengetahui dan sedikitnya

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

pernah menggunanakan perintah baris ini karena suatu saat pengetahuan akan perintah-perintah ini bisa sangat diperlukan. Saya mengumpulkan beberapa perintah dasar yang mungkin kelak akan sering digunakan terutama oleh para pemula. Perhatian: pengetahuan akan perintahperintah yang lain akan segera bertambah seiring dengan kemajuan Anda menguasai sistem operasi Linux ini. Penjelasan masing-masing perintah akan dipersingkat saja dan untuk mengetahui lebih detail lagi fungsi-fungsi suatu perintah, Anda dapat melihat manualnya, misalnya dengan mengetikkan perintah man: $ man ls Manual tersebut akan menampilkan bagaimana cara penggunaan perintah lsitu secara lengkap.

Daftar Perintah Menurut Alfabet & cp login passwd umount adduser alias fg logout pwd unalias find ls rm unzip bg grep man rmdir wall cat gzip mesg cd halt mkdir chgrp chmod chown less

hostname kill more tail

mount mv talk zip tar

shutdown su who

xhost + xset

& Perintah & dipakai dibelakang perintah lain dan menjalankannya di background. Tujuannya adalah untuk membebaskan shell agar bisa dipergunakan menjalankan proses-proses yang lain. Lihat juga perintah bg dan fg. adduser Biasanya hanya dilakukan oleh root untuk menambahkan user atau account yg baru. Setelah perintah ini bisa dilanjutkan dengan perintah passwd, yaitu perintah untuk membuat password bagi user tersebut. # adduser udin # passwd udin Selanjutnya Anda akan diminta memasukkan password untuk user udin. Isikan

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

password untuk udin dua kali dengan kata yang sama. alias Digunakan untuk memberi nama lain dari sebuah perintah. Misalnya bila Anda ingin perintah ls dapat juga dijalankandengan mengetikkan perintah dir, maka buatlah aliasnya sbb: $ alias dir=ls Untuk melihat perintah-perintah apa saja yang mempunyai nama lain saat itu, cukup ketikkan alias. Lihat juga perintah unalias. bg Untuk memaksa sebuah proses yang dihentikan sementara(suspend) agar berjalan di background. Misalnya Anda sedang menjalankan sebuah perintah di foreground (tanpa diakhiri perintah &) dan suatu saat Anda membutuhkan shell tersebut maka Anda dapat memberhentikan sementara perintah tersebut dengan Ctrl-Z kemudian ketikan perintah bg untuk menjalakannya di background. Dengan cara ini Anda telah membebaskanshell tapi tetap mempertahankan perintah lama berjalan di background. Lihat juga perintah fg.

cat Menampilkan isi dari sebuah file di layar. $ cat namafile cd Change Directory atau untuk berpindah direktori dan saya kira Anda tidak akan menemui kesulitan menggunakan perintah ini karena cara penggunaanya mirip dengan perintah cd di DOS. chgrp Perintah ini digunakan untuk merubah kepemilikan kelompok file atau direktori. Misalnya untuk memberi ijin pada kelompok atau grup agar dapat mengakses suatu file. Sintaks penulisannya adalah sbb: # chgrp <grup baru> <file> chmod Digunakan untuk menambah dan mengurangi ijin pemakai untuk mengakses file

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

atau direktori. Anda dapat menggunakan sistem numeric coding atau sistem letter coding. Ada tiga jenis permission/perijinan yang dapat dirubah yaitu r untuk read, w untuk write dan x untuk execute. Dengan menggunakan letter coding, Anda dapat merubah permission diatas untuk masing-masing u (user), g (group), o (other) dan a (all) dengan hanya memberi tanda plus (+) untuk menambah ijin dan tanda minus (-) untuk mencabut ijin. Misalnya untuk memberikan ijin baca dan eksekusi file coba1 kepada owner dan group, perintahnya adalah: $ chmod ug+rx coba1 Untuk mencabut ijin-ijin tersebut: $ chmod ug-rx coba1 Dengan menggunakan sitem numeric coding, permission untukuser, group dan other ditentukan dengan menggunakan kombinasi angka-angka, 4, 2 dan 1 dimana 4 (read), 2 (write) dan 1 (execute). Misalnya untuk memberikan ijin baca(4), tulis(2) dan eksekusi(1) file coba2 kepada owner, perintahnya adalah: $ chmod 700 coba2 Contoh lain, untuk memberi ijin baca(4) dan tulis(2) file coba3 kepada user, baca(4) saja kepada group dan other, perintahnya adalah: $ chmod 644 coba3 chown Merubah user ID (owner) sebuah file atau direktori $ chown <user id> <file> cp Untuk menyalin file atau copy. Misalnya untuk menyalin file1 menjadi file2: $ cp <file1> <file2> fg Mengembalikan suatu proses yang dihentikan sementar(suspend) agar berjalan kembali di foreground. Lihat juga perintah bg diatas. find Untuk menemukan dimana letak sebuah file. Perintah ini akan mencari file sesuai

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

dengan kriteria yang Anda tentukan. Sintaksnya adalah perintah itu sendiri diikuti dengan nama direktori awal pencarian, kemudian nama file (bisa menggunakan wildcard, metacharacters) dan terakhir menentukan bagaimana hasil pencarian itu akan ditampilkan. Misalnya akan dicari semua file yang berakhiran .doc di current direktori serta tampilkan hasilnya di layar: $ find . -name *.doc -print . /public/docs/account.doc . /public/docs/balance.doc . /public/docs/statistik/prospek.doc ./public/docs/statistik/presconf.doc grep Global regular expresion parse atau grep adalah perintah untuk mencari file-file yang mengandung teks dengan kriteria yang telah Anda tentukan. $ grep <teks> <file> Misalnya akan dicari file-file yang mengandung teks marginal di current direktori: $ grep marginal <file> diferent.doc: Catatan: perkataan marginal luas dipergunakan di dalam ilmu ekonomi prob.rtf: oleh fungsi hasil marginal dan fungsi biaya marginal jika fungsi prob.rtf: jika biaya marginal dan hasil marginal diketahui maka biaya total

gzip Ini adalah software kompresi zip versi GNU, fungsinya untuk mengkompresi sebuah file. Sintaksnya sangat sederhana: $ gzip <namafile> Walaupun demikian Anda bisa memberikan parameter tertentu bila memerlukan kompresi file yang lebih baik, silakan melihat manual page-nya. Lihat juga file tar, unzip dan zip. halt Perintah ini hanya bisa dijalankan oleh super useratau Anda harus login sebagai root. Perintah ini untuk memberitahu kernel supaya mematikan sistem atau shutdown.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

hostname Untuk menampilkan host atau domain name sistem dan bisa pula digunakan untuk mengesset nama host sistem. [meong@localhost docs] $ hostname localhost.localdomain kill Perintah ini akan mengirimkan sinyal ke sebuah proses yang kita tentukan. Tujuannya adalah menghentikan proses. $ kill <sinyal> <pid> PID adalah nomor proses yang akan di hentikan. less Fungsinya seperti perintah more. login Untuk masuk ke sistem dengan memasukkan login ID atau dapat juga digunakan untuk berpindah dari user satu ke user lainnya. logout Untuk keluar dari sistem. ls Menampilkan isi dari sebuah direktori seperti perintah dir di DOS. Anda dapat menggunakan beberapa option yang disediakan untuk mengatur tampilannya di layar. Bila Anda menjalankan perintah ini tanpa option maka akan ditampilkan seluruh file nonhidden(file tanpa awalan tanda titik) secara alfabet dan secara melebar mengisi kolom layar. Option -la artinya menampilkan seluruh file/all termasuk file hidden(file dengan awalan tanda titik) dengan format panjang. man Untuk menampilkan manual page atau teks yang menjelaskan secara detail bagaimana cara penggunaan sebuah perintah. Perintah ini berguna sekali bila sewaktu-waktu Anda lupa atau tidak mengetahui fungsi dan cara menggunakan sebuah perintah. $ man <perintah>

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

mesg Perintah ini digunakan oleh user untuk memberikan ijin user lain menampilkan pesan dilayar terminal. Misalnya mesg Anda dalam posisi y maka user lain bisa menampilkan pesan di layar Anda dengan write atau talk. $ mesg y atau mesg n Gunakan mesg n bila Anda tidak ingin diganggu dengan tampilan pesan-pesan dari user lain. mkdir Membuat direktori baru, sama dengan perintah md di DOS. more Mempaging halaman, seperti halnya less mount Perintah ini akan me-mount filesystem ke suatu direktori atau mount-point yang telah ditentukan. Hanya superuser yang bisa menjalankan perintah ini. Untuk melihat filesystem apa saja beserta mount-pointnya saat itu, ketikkan perintah mount. Perintah ini dapat Anda pelajari di bab mengenai filesystem. Lihat juga perintah umount. $ mount /dev/hda3 on / type ext2 (rw) none on /proc type proc (rw) /dev/hda1 on /dos type vfat (rw) /dev/hda4 on /usr type ext2 (rw) none on /dev/pts type devpts (rw,mode=0622) mv Untuk memindahkan file dari satu lokasi ke lokasi yang lain. Bila argumen yang kedua berupa sebuah direktori maka mv akan memindahkan file ke direktori tersebut. Bila kedua argumen berupa file maka nama file pertama akan menimpa file kedua. Akan terjadi kesalahan bila Anda memasukkan lebih dari dua argumen kecuali argumen terakhir berupa sebuah direktori. passwd Digunakan untuk mengganti password. Anda akan selalu diminta mengisikan

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

password lama dan selanjutnya akan diminta mengisikan password baru sebanyak dua kali. Password sedikitnya terdiri dari enam karakter dan sedikitnya mengandung sebuah karakter. pwd Menampilkan nama direktori dimana Anda saat itu sedang berada. rm Untuk menghapus file dan secara default rm tidak menghapus direktori. Gunakan secara hati-hati perintah ini terutama dengan option -r yang secara rekursif dapat mengapus seluruh file. rmdir Untuk menghapus direktori kosong. shutdown Perintah ini untuk mematikan sistem, seperti perintah halt. Pada beberapa sistem anda bisa menghentikan komputer dengan perintah shutdown -h now dan merestart sistem dengan perintah shutdown -r now atau dengan kombinasi tombol Ctr-Alt-Del. su Untuk login sementara sebagai user lain. Bila user ID tidak disertakan maka komputer menganggap Anda ingin login sementara sebagai super user atau root. Bila Anda bukan root dan user lain itu memiliki password maka Anda harus memasukkan passwordnya dengan benar. Tapi bila Anda adalah root maka Anda dapat login sebagai user lain tanpa perlu mengetahui password user tersebut. tail Menampilkan 10 baris terakhir dari suatu file. Default baris yang ditampilkan adalah 10 tapi Anda bisa menentukan sendiri berapa baris yang ingin ditampilkan: $ tail <jumlah baris> <file file ....> talk Untuk mengadakan percakapan melalui terminal. Input dari terminal Anda akan disalin di terminal user lain, begitu sebaliknya. tar Menyimpan dan mengekstrak file dari media seperti tape drive atau hard disk. File

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

arsip tersebut sering disebut sebagai file tar. Sintaknya sebagai berikut: $ tar <aksi> <option> <file atau direktori> umount Adalah kebalikan dari perintah mount, yaitu untuk meng-unmount filesystem dari mount-pointnya. Setelah perintah ini dijalankan direktori yang menjadi mount-point tidak lagi bisa digunakan. # umount <filesystem> unalias Kebalikan dari perintah alias, perintah ini akan membatalkan sebuah alias. Jadi untuk membatalkan alias dir seperti telah dicontohkan diatas, gunakan perintah: $ unalias dir unzip Digunakan untuk mengekstrak atau menguraikan file yang dikompres dengan zip. Sintaknya sederhana dan akan mengekstrak file yang anda tentukan: $ unzip <namafile> Lihat juga perintah-perintah gzip dan unzip. wall Mengirimkan pesan dan menampilkannya di terminal tiap user yang sedang login. Perintah ini berguna bagi superuser atau root untuk memberikan peringatan ke seluruh user, misalnya pemberitahuan bahwa server sesaat lagi akan dimatikan. # who Dear, everyone..... segera simpan pekerjaan kalian, server akan saya matikan 10 menit lagi. who Untuk menampilkan siapa saja yang sedang login. Perintah ini akan menampilkan informasi mengenai login name, jenis terminal, waktu login dan remote hostname untuk setiap user yang saat itu sedang login. Misalnya: $ who root ttyp0 May 22 11:44 meong ttyp2 May 22 11:59 pooh ttyp3 May 22 12:08 xhost +

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Perintah ini digunakan untuk memberi akses atau menghapus akses(xhost -) host atau user ke sebuah server X. xset Perintah ini untuk mengeset beberapa option di X Window seperti bunyi bel, kecepatan mouse, font, parameter screen saver dan sebagainya. Misalnya bunyi bel dan kecepatan mouse dapat Anda set menggunakan perintah ini: $ xset b <volume> <frekuensi> <durasi dalam milidetik> $ xset m <akselerasi> <threshold> zip Perintah ini akan membuat dan menambahkan file ke dalam file arsip zip. Lihat juga perintah gzip dan unzip. MAILING LIST LINUX Milis id-linux Milis 'resmi' yang memakai bahasa Indonesia adalah id-linux yang beberapa saat lalu terpecah-pecah menjadi beberapa sub topik: Linux Admin - Membicarakan administrasi sistem dan networking Linux. Subscribe: linux-admin-subscribe@linux.or.id Linux Aktivis - Membicarakan pengembangan dan pemasyarakatan Linux di Indonesia. Subscribe: linux-aktivis@linux.or.id Linux Berita - Memberikan informasi tentang berita dan pengumuman kegiatan Linux di Indonesia khususnya.

Subscribe: linux-berita-subscribe@linux.or.id Linux Bursa - Jual-beli barang/jasa Linux, penawaran dan pencarian kerja di bidang Linux. Subscribe: linux-bursa-subscribe@linux.or.id Linux Desktop - Diskusi cara penggunaan program aplikasi seperti KDE, Gnome, StarOffice Subscribe: linux-desktop-subscribe@linux.or.id Linux Policy Non teknis Linux misalnya GPL, Open Source. dsb.

Subscribe: linux-policy-subscribe@linux.or.id

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Linux Programming - Diskusi mengenai pemrograman Linux, bahasa, teknik, trik dan Subscribe: linux-programming-subscribe@linux.or.id Linux Setup - Tempat yang menarik bagi newbie menanyakan masalah instalasi, cara setup program dsb. tips.

Subscribe: linux-setup-subscribe@linux.or.id

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

INSTALASI LINUX SuSE 9.1


Dalam Instalasi server ini penulis menggunakan Operating System Linux S.u.S.E versi 9.1 . Semua instalasi yang dilakukan disini melalui media CD-ROM bukan dari Floppy Disk. Persiapan hardware sebelum instalasi : 1. Processor Minimal Intel Pentium II 800 Mhz 2. Memory Minimal 64 Mb 3. VGA Card 4. Monitor 14 5. CD ROM drive 52x 6. CD instalasi Linux SuSE 9.1 Proses instalasi : Booting Pada saat komputer baru dihidupkan, masuklah ke BIOS, atur urutan booting awal dimulai dari CD-ROM, setelah itu simpan dan keluar dari menu BIOS. Masukkan CD 1 Linux SuSE 9.1 kedalam CDROM. Tunggu sejenak sampai komputer membaca proses boot dari CD-ROM dan masuk ke tampilan pembuka Instalasi Linux SuSE 9.1 . Perhatikan Gambar 1

Gambar 1 Setelah menu pembuka selesai, instalasi akan dilanjutkan ke menu pemilihan booting yang dimulai dari CD Linux SuSE 9.1 seperti pada gambar disamping, Tekan arah panah bawah untuk memilih Instalation, kita memilih pilihan ini dikarenakan kita akan menginstal Linux didalam komputer yang masih belum meiliki Sistem Operasi sama sekali. Perhatikan Gambar 2.

Gambar 2
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 3a

Gambar 3b

Setelah memilih menu Instalation, instalasi akan dilanjutkan ke proses Loading seperti Gambar 3a, tekan F2 untuk melihat proses yang dilakukan Linux pada saat melakukan booting awal sistem operasi, Gambar 3b adalah proses yang sedang dilakukan linux pada saat awal booting dalam mode text. Pilihan Bahasa

Setelah proses loading selesai, instalasi akan dilanjutkan pada pemilihan bahasa yang akan digunakan, gunakan bahasa English US lalu klik Accept seperti tombol yang dilingkari merah pada Gambar 4.

Gambar 4 Menu Instalasi Saat anda selesai mengklik tombol accept, instalasi aka dilanjutkan ke dalam Menu Instalation, disini kita akan mengatur dari awal sampai proses instalasi selesai, Perhatikan Gambar 5.

Gambar 5
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Section System

Pada gambar disamping menu yang pertama kali adalah Menu System, dalam menu ini hanya menjelaskan secara detail tentang perangkat-perangkat yang terpasang pada computer kita, seperti processor, memory, dll. Perhatikan Gambar 6.

Gambar 6 Section Mode

Gambar 7a

Gambar 7b

Pada tahap menu instalasi sesuai Gambar 7a diatas adalah Menu Mode. Setelah anda mengklik Menu Mode, anda akan diberikan pilihan mode instalasi seperti Gambar 7b. New Instalation adalah pemilihan instalasi yang memungkinkan bahwa computer yang diinstal belum memiliki sistem operasi, Update An Existing System adalah pilihan yang memungkinkan kita untuk memperbaharui sistem operasi Linux yang lama. Repair Installed System adalah pilihan yang memungkinkan kita untuk memperbaiki sistem operasi Linux yang sedang bermasalah. Boot Installed System adalah pilihan yang memungkinkan kita untuk melakukan proses booting melalui CD-Rom apabila Linux gagal melakukan proses booting melalui Hardsik. Dalam hal ini penulis memilih New Instalaion dikarenakan computer yang diinstall masih baru dan belum memiliki system operasi sama sekali. Setelah itu kliklah tombol Ok.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Section Keyboard Layout

Menu instalasi berikutnya adalah Menu Keyboard Layout, dalam menu ini anda bisa memilih jenis keyboard yang anda pakai, secara default linux telah mengenali keyboard yang anda pakai.Perhatikan Gambar 8.

Gambar 8

Disamping ini adalah Layout keyboard yang akan digunakan, penulis menyarankan agar menggunakan layout English US.Setelah itu klik tombol Accept seperti lingkaran merah pada gambar. Perhatikan Gambar 9.

Section Mouse Gambar 9

Setelah menu keyboard selesai, menu berikutnya adalah Menu Mouse. Seperti halnya keyboard, dalam menu ini kita memilih jenis mouse yang akan digunakan, Perhatikan Gambar 10.

Gambar 10

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar disamping kanan adalah daftar jenis-jenis mouse yang terdapat dalam Linux, setelah anda memilih jenis mouse dan melakukan Test mouse anda, klik tombol Accept. Perhatikan Gambar 11.

Section Partitioning Gambar 11

Setelah Menu Mouse selesai, Menu Instalasi berikutnya adalah Menu Partitioning, Perhatikan Gambar 12.

Gambar 12 Setelah anda mengklik Menu Partitioning, maka anda aka mendapatkan menu dengan 3 buah option pilihan yaitu : Accept Proposal as-is, Base partition setup on this proposal, Create Custom Partition Setup. Option pertama menjelaskan agar linux membuat partisi secara automatis, option kedua menjelaskan agar linux membuat partisi dengan konfirmasi dari user, option ketiga adalah membuat partisi sesuai dengan kemauan anda, pilih option ketiga dan klik Next. Perhatikan Gambar 12. Gambar 13

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pada gambar disamping, terdapat dua buah pilihan. Pilihan ini digunakan apabila dalam computer kita terdapat lebih dari satu buah hardisk yang terpasang, saran penulis adalah menggunakan pilihan kedua yaitu Custom Partitioning For Experts. Setelah memilih pilihan tersebut lanjutkan dengan mengklik tombol Next. Perhatikan Gambar 14.

Gambar 14

Perhatikan Gambar 14. Pada kotak dijelaskan secara sekilas tentang Kapasitas hardisk, Type Hardisk, Start dan End Cylinder,dll. Pada hardisk ini kita akan membuat partisi yang dibutuhkan Linux. Klik tombol Create untuk membuat pertisi Linux.

Partisi Boot

Gambar 15

Partisi boot digunakan sebagai partisi khusus yang dibuat untuk penyimpanan filefile yang akan diloading pada saat linux pertama kali dijalankan.

Setelah anda mengklik tombol Create maka akan muncul dialog box seperti gambar disamping ini, Anda akan diberikan pertanyaan Which type of partition do you want to create ?. Pilihan yang diberikan adalah Primary Partition dan Extended Partition. Pilihlah Primary Partition lalu klik tombol Ok.Perhatikan Gambar 15.

Gambar 15

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Perhatikan dengan seksama gambar disamping, yaitu File System, Mount Point, End. Pada File System pilihlah Ext2, Sedangkan Mount Point pililah /boot. Lalu pada kotak End isilah dengan +15M. Lalu klik Ok. File System adalah jenis system file yang dibuat dalam sebuah partisi. Mount Point adalah nama partisi yang akan dibuat, Sedangkan End adalah besar partisi yang akan di buat. Perhatikan Gambar 16. Gambar 16

Gambar 17

Pada gambar diatas, terdapat partisi boot seperti pada gambar yang di lingkari merah. Klik pada bagian /dev/hda untuk melanjutkan pembuatan partisi Linux Swap lalu klik tombol create. Perhatikan Gambar 17.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Partisi Swap Partisi Swap digunakan sebagai pengganti memory, partisi ini berguna untuk komputer yang memiliki kapasitas memory yang rendah. Untuk menghindari crash maka linux menyimpan sebagian isi dari memory didalam hardisk.

Pada /dev/hda Klik tombol create untuk membuat partisi Linux Swap. Apabila muncul dialog box Which type of partition do you want to create ?, Pilihlah Primary Partition. Perhatikan Gambar 18.

Gambar 18

Gambar 19 Perhatikan dengan baik pada File System dan End, Ubah File System menjadi Swap, Sedangkan pada kolom End isi dengan +256M, Setelah semua sudah benar klik kembali tombol Ok. Penulis menyarankan agar kolom End diberikan angka sebesar dua kali dari jumlah memory, pada contoh ini penulis menggunakan memory sebesar 128 MB, jadi dua kali dari jumlah memory adalah 256 MB. Angka 256 itulah yang diisikan pada kolom End. Perhatikan Gambar 19.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Partisi Home Partisi Home digunakan sebagai tempat home direktori user yang berada dalam mesin server anda.

Pada list partisi yang sudah dibuat pilihlah /dev/hda lalu kliklah tombol create untuk membuat partisi /home. Parhatikan Gambar 20.

Gambar 20 Setelah anda mengklik tombol create maka akan tampil dialog box dengan pertanyaan Which type of partition do you want to create ?, Pilihlah Primary Partition. Setelah anda memilih Primary Partition kliklah tombol Ok untuk melanjutkan pembuatan partisi. Perhatikan Gambar 21.

Gambar 21 Perhatikan dengan seksama gambar disamping, yaitu File System, Mount Point, End. Pada File System pilihlah Ext2, Sedangkan Mount Point pililah /home. Lalu pada kotak End isilah dengan +2G. Lalu klik Ok. File System adalah jenis system file yang dibuat dalam sebuah partisi. Mount Point adalah nama partisi yang akan dibuat, Sedangkan End adalah besar partisi yang akan di buat untuk partisi Home User. Perhatikan Gambar 22. Gambar 22
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Partisi Root

Perhatikan gambar disamping ini. Sekarang partisi yang akan dibuat adalah partisi /root. Pada /dev/hda kliklah tombol create. Perhatikan Gambar 23.

Gambar 23

Setelah anda mengklik tombol create maka akan tampil dialog box dengan pertanyaan Which type of partition do you want to create ?, Pilihlah Primary Partition. Setelah anda memilih Primary Partition kliklah tombol Ok untuk melanjutkan pembuatan partisi. Perhatikan Gambar 24.

Gambar 24 Setelah anda mengklik Ok. Akan muncul menu pada gambar disamping. Anda tidak perlu mengubah File System, Mount Point dan End. Klik langsung tombol Ok. Jadi pada pembuatan partisi Root ini semua kapasitas hardisk akan digunakan untuk partisi /root. Perhatikan Gambar 25.

Gambar 25

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Setelah semua partisi telah dibuat, kliklah tombol Next, seperti pada gambar disamping. Perhatikan Gambar 26.

Section Software

Gambar 26

Menu instalasi berikutnya adalah Menu Instalasi Software. Perhatikan gambar disamping, kliklah Software untuk memulai pemilihan software yang akan di install kedalam mesin server anda. Perhatikan Gambar 27.

Gambar 27

Pada pilihan menu Software, pilihlah Option Default System. Setelah anda milih option software, kliklah Detailed Selection untuk memilih paket-paket server. Perhatikan Gambar 28.

Gambar 28

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

1
4

2
5 3
Gambar 29a Gambar 29b Pada Gambar 29a bagian yang dilingkari memiliki fungsi tersendiri, yaitu : 1. Pemilihan paket dalam mode filter atau satu persatu. 2. Pemilihan paket dalam mode Group Packages. 3. Informasi kapasitas hardisk pada paket-paket linux yang di-install. 4. Kumpulan paket grup pada pemilihan filter dengan menggunakan Packages Groups. 5. Informasi tentang paket yang di-install berupa fungsi paket dan lain-lain. Berilah tanda cek pada bagian kedua yaitu Network Server,LDAP Server and Tools, Simple Webserver with Apache2, C/C++ Compiler Tools, Kernel Development, Experience User. Sedangkan pada Gambar 29b adalah salah satu contoh mode instalasi dalam mode Search. Setelah semua paket sudah selesai dipilih, kliklah tombol Accept Perhatikan dengan baik Gambar 29a.

Setelah anda memilih paketpaket yang akan di-install dan telah mengklik tombol Accept maka dialog box akan muncul seperti pada gambar disamping ini. Pada isi dialog box adalah informasi sebagian paket-paket dengan informasi sekilas dari paket-paket tersebut. Perhatikan Gambar 30.

Gambar 30 Catatan : Pada pemilihan paket-paket yang akan di-install, setelah anda memberi tanda centang pada network server, LDAP server and Tools, Simple Web Server With Apache2, maka secara automatis linux akan menginstal paket-paket untuk server seperti BIND, Apache2, SMB, dll sehingga pada saat konfigurasi server anda tidak perlu lagi menginstall paket-paket untuk server.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Section Booting Menu instalasi ini menjelaskan bagaimana mengatur booting pada boot lader untuk masuk kedalam Operating System.

Menu instalasi berikutnya adalah Menu Instalasi Booting. Perhatikan lingkaran merah pada gambar disamping. Kliklah pada Link Booting untuk mengatur proses instalasi booting. Perhatikan Gambar 31.

Gambar 31

Gambar 32

Pada gambar disamping, perhatikan dengan baik pada bagian dialog box yang berisi : Boot Loader Type, Default Section, Available Sections, Time Out. Pada Boot Loader Type, anda bisa mengubah dari GRUB menjadi LILO. Default Sections adalah sistem operasi yang paling pertama kali diloading pada saat pertama kali boot, ini berlaku jika dalam komputer anda terdapat system operasi lain seperti Windows. Available Sections adalah urutan menu pada boot loader yang akan dibuat. Sedangkan Time Out adalah waktu yang dibutuhkan boot loader untuk masuk kedalam OS dalam detik. Anda dapat juga mengubah konfigurasi diatas melalui Text apabila anda mengklik tombol Edit Configuration Files. Perhatikan Gambar 32.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Section Time Zone Bagian ini untuk mengatur waktu didalam mesin server yang akan kita install.

Menu instalasi berikutnya adalah Menu Instalasi Time Zone. Perhatikan gambar disamping, pada lingkaran merah gambar disamping adalah bagian menu instalasi time zone. Kliklah link Time Zone untuk melanjutkan instalasi barikutnya. Perhatikan Gambar 33.

Gambar 33 Perhatikan baik-baik gambar disamping. Pada gambar linkaran yang diberikan kode 1 adalah Region, Kode 2 adalah Time Zone, Kode 3 adalah Change Time Or Date, sedangkan kode 4 adalah Clock Time Set. Carilah daerah regional anda, lalu pada time zone carilah ibukotanya, konfigurasikan waktunya lalu kliklah tombol Accept. Perhatikan Gambar 34.

Gambar 34 Menu instalasi berikutnya adalah Menu Intalasi Languange. Perhatikan gambar disamping, kliklah Link Languange untuk memilih bahasa yang digunakan dalam mesin server anda. Perhatikan Gambar 35.

Gambar 35
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Section Languange Pilihlah bahasa standar yang akan digunakan mesin server anda. Secara default gunakanlah bahasa English (US). Setelah anda memilih bahasa yang akan digunakan, kliklah tombol Accept. Perhatikan Gambar 36.

Gambar 36

Menu instalasi berikutnya adalah Menu Intalasi Run Level. Perhatikan gambar disamping, kliklah Link Run Level untuk mengatur instalasi berjalan pada init level berapa, penjelasan mengenai init level akan dijelaskan pada bab berikutnya. Perhatikan Gambar 37.

Gambar 37

Perhatikan gambar disamping. Secara default Run Level yang diberikan adalah Run Level 5 yaitu Full Multiuser with network and xdm. Untuk penjelasan lebih lanjut mengenai Run Level akan dijelaskan secara mendetail di bab berikutnya. Untuk bagian Run Level gunakanlah setting default linux, yaitu Run Level 5. Perhatikan Gambar 38. Gambar 38

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 39a

Gambar 39b

Setelah semua menu instalasi telah dikonfigurasikan kliklah tombol Accept seperti pada Gambar 39a. Lalu akan tampil dialog box peringatan mengenai instalasi Linux SuSE. Perhatikan Gambar 39b. Dialog box ini menjelaskan mengenai instalasi linux yang akan dilakukan bahwa instalasi akan dilakukan menggunakan setting dan konfigurasi yang dilakukan. Semua konfigurasi yang dilakukan dapat dilakukan kembali setelah proses instalasi selesai. Kliklah tombol Yes, Install untuk memulai proses instalasi. Perhatikan Gambar 39b.

Proses Instalasi CD 1 Linux SuSE versi 9.1. Pada gambar disamping tombol Details berfungsi untuk melihat proses instalasi paket-paket linux kedalam komputer anda, sedangkan tombol Abort Instalation berfungsi untuk membatalkan proses instalasi. Perhatikan Gambar 40.

Gambar 40

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 41

Setelah proses intalasi CD pertama Linux SuSE 9.1 selesai, maka proses intalasi akan melakukan Finishing Basic Instalation. Proses ini berfungsi untuk melakukan uji coba terhadap instalasi tahap pertama yang kita lakukan. Perhatikan gambar disamping, proses yang berjalan adalah : Update Configuration, Copy Files to Installed System, Install Boot Manager, Prepare System for Initial Boot. Setelah proses diatas selesai maka komputer akan melakukan restart. Keluarkan CD installer Linux SuSE 9.1 dari CD-ROM. Lakukan proses booting melalui Hardisk. Perhatikan Gambar 41.

Setelah proses Finishing Basic Instalation selesai dan telah melakukan restart. Maka secara automatis linux akan melakukan loading untuk melanjutkan proses instalasi CD-2 Linux SuSE 9.1. Perhatikan gambar disamping. Linux akan meminta kepada anda untuk memasukkan CD-2 Installer Linux SuSE 9.1. Klik Eject untuk mengeluarkan CD, dan klik Ok apabila anda ingin memasukkan kembali CD-ROM. Perhatikan Gambar 42. Gambar 42

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Setelah proses instalasi CD-2 Linux SuSE 9.1 selesai, lanjutkan proses instalasi CD-3 Linux SuSE 9.1 seperti saat anda diminta untuk memasukkan CD-2 Installer Linux. Lalu kliklah tombol Ok. Sehingga Linux akan melanjutkan proses instalasi seperti pada gambar disamping ini. Perhatikan Gambar 43.

Gambar 43

Seperti proses instalasi CD-3 Linux SuSE 9.1. Apabila proses instalasi CD-3 Linux SuSE 9.1 selesai, lanjutkan proses instalasi CD-4 dan CD-5 Linux SuSE 9.1. Perhatikan gambar disamping. Gambar disamping adalah proses instalasi CD-4 Linux SuSE 9.1. Perhatikan Gambar 44.

Gambar 44

Root Password

Setelah proses instalasi selesai maka linux akan meminta kepada anda untuk mengisi password untuk user root. Isikanlah password pada kolom yang disediakan. Lalu kliklah tombol Next. Perhatikan Gambar 45.

Gambar 45
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Network Configuration

Setelah anda mengklik tombol Next pada saat memasukkan password root, maka komputer akan melanjutkan instalasi ke proses Network Configuration. Perhatikan gambar disamping. Perangkat jaringan yang dideteksi pada instalasi ini adalah Network Interfaces. Kliklah link tersebut untuk mengkonfigurasikan Ethernet card anda. Perhatikan Gambar 46.

Gambar 46

Setelah anda mengklik link Network Interfaces maka akan muncul Network Card Configuration seperti pada gambar disamping. Perhatikan tanda kotak merah. Pada bagian tersebut anda akan diinformasikan mengenai merk ethernet card anda. Kliklah tombol change untuk melakukan konfigurasi Ethernet card anda. Perhatikan Gambar 47.

Gambar 47

Gambar disamping adalah Network Card Configuration Overview disini anda dapat menambah, mengkonfigurasikan, dan menghapus Ethernet card. Kliklah Edit untuk melanjutkan konfigurasi Ethernet card. Perhatikan Gambar 48.

Gambar 48

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 49a

Gambar 49b

Masukkanlah IP Address kedalam text box dan Netmask seperti pada Gambar 49a. lalu kliklah pada Hostname And Name Server. Masukkan nama Hostname dan nama domain server yang akan dibuat. Perhatikan Gambar 49b. Untuk bagian ini akan dijelaskan lebih detail pada bab berikutnya.

Gambar 50a

Gambar 50b

Setelah selesai mengkonfigurasikan IP address dan Hostname maka kliklah tombol Next seperti pada Gambar 50a. Setelah itu kliklah tombol Finish untuk mengakhiri konfigurasi Network Conection. Perhatikan Gambar 50b.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 51a

Gambar 51b

Setelah selesai kliklah tombol Next seperti pada Gambar 51a. Lalu linux akan menyimpan hasil konfigurasi Network Conection. Perhatikan Gambar 51b.

Gambar 52

Perhatikan gambar diatas, jika anda memiliki koneksi ke internet anda bisa melakukan test koneksi anda dengan melakukan proses download dan update. Anda bisa melewati tahap ini dengan memilih Option No, Skip This Test. Lalu kliklah tombol Next. Perhatikan Gambar 52.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar disamping adalah bagaimana cara agar Client dalam jaringan anda bisa mengenali server anda. Pada bagian ini terdapat 2 Option yaitu Stand Alone dan Network Client. Sebaiknya anda memilih Stand Alone. Perhatikan Gambar 53.

Gambar 53

Setelah itu maka anda dapat menambahkan user biasa dalam mesin server anda. Masukkan Username, User Login dan Password lalu kliklah tombol Next. Perhatikan Gambar 54.

Gambar 54

Setelah menambahkan user maka linux akan menyimpan konfigurasi yang dilakukan seperti gambar disamping. Perhatikan Gambar 55.

Gambar 55

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar disamping adalah informasi sekilas mengenai Linux SuSE 9.1. Lalu kliklah tombol Next apabilaanda telah selesai membacanya. Perhatikan Gambar 56.

Gambar 56

Konfgurasi terakhir adalah VGA Card, Printers, Sound Card, dll. Secara default linux sudah mendeteksi dan mengkonfigurasikan perangkat tersebut, jadi sebaiknya lewati saja konfigurasi ini. Kliklah tombol Next jika anda tidak ingin mengkonfigurasikan perangkat tersebut. Perhatikan Gambar 57.

Gambar 57

Gambar disamping menandakan bahwa instalasi yang dilakukan telah berhasil. Kliklah tombol Finish untuk menyelesaikan proses instalasi Linux. Perhatikan Gambar 58.

Gambar 58

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 59

Setelah proses intalasi selesai maka linux akan melakukan restart seperti pada gambar diatas. Perhatikan Gambar 59.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Apa Itu Server ?


Server adalah ibarat pelayan yang memiliki hak untuk mengatur. Kenapa server disebut sebagai pelayan ? server disebut sebagai pelayan dikarenakan fungsi server secara keseluruhan adalah memberi layanan (service) kepada client yang saling terhubung satu sama lain dalam satu jaringan. Sedangkan fungsi server dalam mengatur adalah bagaimana server mengatur dalam memberi hak akses terhadap client yang terhubung dengan server tersebut. Contohnya hak akses internet, akses directory, dll Selain itu server dapat berfungsi sebagai dinding keamanan (firewall). Fungsi server ini sangat penting dalam jaringan yang terhubung dengan jaringan luar seperti internet. Server dapat berfungsi untuk membatasi dan menolak suatu koneksi yang ingin merusak dan melakukan pencurian metadata. Server dapat pula berfungsi sekaligus sebagai router yang menghubungkan antara sebuah jaringan dengan jaringan yang lain tapi berbeda segmen. Layanan yang diberikan server kepada client bermacam-macam. Layanan tersebut dapat juga berupa service E-Mail, Domain, Web, Proxy, dll.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

MEMBANGUN SERVER

Pendahuluan Setiap kali anda meggunakan internet dalam kegiatan anda sehari-hari, maka setiap kali itu pula secara tidak langsung anda menggunakan DNS (Domain Name System). Penggunaan DNS meliputi aplikasi email (electronic-mail), browsing, ssh/telnet, ftp, maupun aplikasi yang lain yang ada kaitannya dengan internet. Fungsi utama dari sebuah sistem DNS adalah menerjemahkan nama-nama host (hostnames) menjadi nomor IP (IP address) ataupun sebaliknya, sehingga nama tersebut mudah diingat oleh pengguna internet. Fungsi lainnya adalah untuk memberikan suatu informasi tentang suatu host ke seluruh jaringan internet. Sebelum kita mulai instalasiBIND kita flashback dulu dengan sejarah internet, DNS dan BIND, serta konsep DNS. Sejarah Internet Pada akhir tahun 1960, US. Department of Defense Advanced Research Projects Administration (ARPA/DARPA) mendanai percobaan dan riset tentang jaringan komputer secara luas yang saling menghubungkan antar hampir semua organisasi di Amerika yang akhirnya dikenal dengan sebutan ARPAnet. Hasil dari riset tersebut email (electronic-mail) mulai digunakan. Pada awal tahun 1980 protokol TCP/IP (Transmission Control Protocol/Internet Protocol) mulai dikenalkan dan akhirnya menjadi protokol standar dalam struktur jaringan ARPAnet. Jaringan ARPAnet berkembang pesat jumlahnya menjadi ribuan host dan masih menggunakan standar protokol TCP/IP, dan akhirnya jaringan tersebut dikenal dengan internet. Pada tahun 1988, DARPA digantikan oleh National Science Foundation (NSF) dalam pendanaan riset diikuti dengan penggantian dari ARPAnet menjadi NSFnet sebagai tulang punggung (backbone) jaringan internet. Kemudian pada musim semi tahun 1995, backbone internet melakukan transisi dari NSFnet (yang didanai oleh

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

publik) ke beberapa backbone komersil, dimana memungkinkan interknoneksi antar jaringan bisa menjadi lebih jauh jaraknya. Penyedia backbone komersil tersebut diantaranya adalah MCI dan Sprint serta pemain lama seperti UUNet dan PSINet. Sejarah DNS Pada tahun 1970an jaringan ARPAnet hanya terdiri dari beberapa ratus host saja. Pada waktu itu, sebuah file HOSTS.TXT yang berisi tentang semua informasi host-hosts tersebut masih bisa melayani setiap permintaan query dan menerjemahkan nama ke alamat IP (name-to-address-mapping).Pada sistem operasi berbasis UNIX, file /etc/hosts merupakan hasil dari pengolahan file HOSTS.TXT tersebut. File HOSTS.TXT pada waktu itu dikelola oleh Stanford Research Insitute Network Information Center (SRINIC) di Menlo Park, California. File tersebut tersebut didistribusikan ke semua host dan penggunanya hanya 2 dengan menggunakan satu buah host (mesin/komputer) saja. Petugas administrasi dari ARPAnet biasanya mengirimkan email kepada SRI-NIC tentang perubahan (termasuk penambahan maupun pengurangan) tentang informasi suatu host, dan dalam periode tertentu, mereka melakukan transfer file HOSTS.TXT yang paling baru (biasanya diperbaharui sekali dalam seminggu) dengan menggunakan protokol ftp. Seiring dengan berkembangnya jaringan ARPAnetdan penggunaan protokol TCP/IP, ukuran dari file HOSTS.TXT menjadi besar dengan bertambahnya jumlah host yang bergabung dengan jaringan ARPAnet. Kemudian timbul beberapa masalah dengan penggunaan file HOSTS.TXT ini, misalnya : Trafik dan Beban (Traffic and load) Beban mesin dan trafik (bandwith) di SRINIC dalam mendistribusikan file menjadi lebih berat dan besar Penamaan yang saling bentrok (name collisions) Pada file HOSTS.TXT tidak diperkenankan adanya dua buah nama host yang sama. Namun pada prakteknya, tidak ada cara untuk mencegah seseorang untuk menambahkan nama yang sama sehingga kemungkinan bisa menjadi bentrok dan pada akhirnya merusak skema yang telah ada Keaslian (consistency) Mengelola keaslian dan keutuhan sebuah file antar beberapa jaringan yang sedang berkembang pesat merupakan sesuatu hal yang sulit dilakukan Berangkat dari masalah-masalah tersebut diatas, ARPAnet membentuk suatu sistem alternatif pengganti dari sistem lama yang menggunakan

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

file HOSTS.TXT. Tujuannya adalah untuk memecahkan masalah dalam pengelolaan tabel host yang sangat beraneka ragam dan masih menggunakan metode sentralisasi. Pada sistem yang baru, seorang sistem administrator memungkinkan untuk mengelola data secara lokal, namun akan selalu update secara global di internet. Sistem yang menggunakan metode desentralisasi ini diharapkan akan mengurangi beban dan trafik, serta pengelolaan data dan proses update dari sebuah informasi akan menjadi lebih mudah. Paul Mockapertis dari University of Southern California Information Science Institute di Marina del Rey, California, dipilih sebagai orang yang bertanggung jawab terhadap rancangan, desain, arsitektur dan implementasi dari sistem pengelolaan data host yang baru. Pada tahun 1984 beliau merilis RFC (Request For Comment) 882 dan RFC 883 yang menjelaskan tentang Domain Name System (DNS). Kemudian disusul dengan RFC 1034 dan RFC 1035 yang juga menambahkan tentang masalah kemanan DNS, penerapan (implementasi), pengelolaan

(adminstrative),mekanisme pembaharuan data secara dinamis, serta kemanan data dalam sebuah domain dan lain-lainnya. (DNS and BIND 3rd Edition, Paul Albitz & Cricket Liu, 1998 Hal 3) Konsep dan hirarki DNS DNS adalah suatu bentuk database yang terdistribusi, dimana pengelolaan secara lokal terhadap suatu data akan segera diteruskan ke seluruh jaringan (internet) dengan menggunakan skema client-server. Suatu program yang dinamakan name server, mengandung semua segmen informasi dari database dan juga merupakan resolver bagi client-client yang berhubungan ataupun menggunakannya. Struktur dari database DNS bisa diibaratkan dengan dengan struktur file dari sebuah sistem operasi UNIX. Seluruh database digambarkan sebagai sebuah struktur terbalik dari sebuah pohon (tree) dimana pada puncaknya disebut dengan root node. Pada setiap node dalam tree tersebut mempunyai keterangan (label) misalnya, .org, .com, .edu, .net, .id dan lain-lainnya, yang relatif rerhadap puncaknya (parent).Ini bisa diibaratkan dengan relative pathname pada sistem file UNIX,seperti direktori bin, usr, var, etc dan lain sebagainya. Pada puncak root node dalam sebuah sistem DNS dinotasikan dengan . atau / pada sistem file UNIX.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar DNS namespace

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pada setiap node juga merupakan root dari subtree, atau pada sistem file UNIX merupakan root direktori dari sebuah direktori. Hal ini pada sistem DNS disebut dengan nama domain. Pada tiap domain juga memungkinkan nama subtree dan bisa berbeda pula, hal ini disebut subdomain atau subdirektori pada sistem file UNIX. Pada bagian subdomainjuga memungkinkan adanya subtree lagi yang bisa dikelola oleh organisasi yang berbeda dengan domain utamanya.

(DNS and BIND 3rd Edition, Paul Albitz & Cricket Liu, 1998 Hal 4) Sejarah BIND Program DNS yang bernama JEEVES pertama kali

diimplementasikan dan ditulis sendiri oleh Paul Mockapertis. Kemudian diteruskan oleh BIND (versi 4.8.3) yang diimplementasikan pada sistem operasi 4.3 BSD UNIX yang ditulis oleh Douglas Terry, Mark Painter, David Riggle dan Songnian Zhou dari Computer Systems Research Group (CSRG) pada Universitas California di Berkeley. Pada tahun antara 1985-1987, Kevin Dunlap seseorang dari Digital Equipment Corporation (DEC) bergabung dengan CSRG yang kemudian diikuti oleh Doug Kingston, Craig Partridge, Smoot Carl- Mitchell, Mike Muuss, Jim Bloom dan Mike Schwartz. Pemimpin dari proyek ini adalah Mike Karels dan O. Kure. BIND versi 4.9 dan 4.9.1 kemudian dirilis oleh DEC (yang sekarang diakusisi oleh Compaq Computer Corporation). Pemimpin dari proyek ini adalah Paul Vixie yang merupakan karyawan dari DEC serta dibantu oleh Phil Almquist, Robert Elz, Alan Barrett, Paul Albitz, Bryan Beecher, Andrew Partan, Andy Cherenson, Tom Limoncelli, Berthold Paffrath, Fuat Baran, Anant Kumar, Art Harkin, Win Treese, Don

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Lewis, Christophe Wolfhugel, dan lain-lainnya. BIND versi 4.9.2 kemudian diambil alih oleh Vixie Enterprises, dan Paul Vixie menjadi arsitek dan programmernya. BIND mulai dari versi 4.9.3 dan seterusnya kemudian diambil alih oleh Internet Software Consortium (ISC) dan akhirnya untuk pertama kalinya, pada tanggal 8 Mei 1997 Bob Halley dan Paul Vixie merilis versi BIND untuk keperluan produksi. Sekarang BINDversi 4 sudah mulai jarang digunakan, dan sebagai penggantinya adalah BIND versi 8 dan versi 9. (http://www.isc.org/products/BIND/bind-

history.html) Cara kerja DNS Ketika anda melakukan query (bisa berupa ping, ssh, dig, host, nslookup, email, dan lain sebagainya) ke sebuah host misalnya local.bpgupg.go.id maka name server akan memeriksa terlebih dahulu apakah ada record host tersebut di cache name server lokal. Jika tidak ada, name server lokal akan melakukan query kepada root server dan mereferensikan name server untuk TLD .edu , name server lokal kembali melakukan query kepada name server .edu dengan jenis query yang sama dan mereferensikan local.bpgupg.go.id . Name server lokal kembali melakukan query ke name server local.bpgupg.go.id dan mereferensikan query selanjutnya ke name server lokal yaitu local.bpgupg.go.id . Kemudian name server lokal melakukan query kepada name server lokal yaitu ee.linux dan akhirnya mendapatkan jawaban address yang diminta.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Instalasi DNS Server Apabila anda melakukan instalasi linux melalui media instalasi CD, maka pada saat pemilihan paket-paket instalasi anda dapat menginstall sekaligus paket BIND yang dibutuhkan untuk DNS Server. Yaitu dengan memberi tanda centang pada Network Server, Simple Web Server, LDAP Server and Tools. Perhatikan kembali proses instalasi pada Section Software. Jadi pada bagian ini tidak dijelaskan bagaimana cara menginstall BIND. Dikarenakan linux yang dinstall telah menginstall paket-paket BIND. Instalasi DNS Server Secara Default setelah linux anda terinstall maka direktori yang perlu anda edit adalah /etc/named.conf , /etc/resolv.conf , /var/lib/named . contoh kali ini kita akan membuat server dengan nama domain linux.net dan nama host adalah server. Domain dan host berkaitan erat pada pembuatan DNS Server. Sekarang kita akan memulai pembuatan DNS Server. Masuklah kedalam direktori /var/lib/named dan lihat isi direktori tersebut. root:~# cd /var/lib/named root:/var/lib/named# ls Setelah anda menjalankan perintah ls maka linux akan menampilkan isi default direktori /var/lib/named yaitu : root:/var/lib/named# ls
. .. slave 127.0.0.zone localhost.zone root.hint

Salinlah file 127.0.0.zone didalam direktori /var/lib/named/ dengan nama file 192.168.0.zone . file ini sesuai dengan segmen IP yang disetting pada Ethernet card yaitu 192.168.0.1
root:/var/lib/named# cp 127.0.0.zone 192.168.0.zone /var/lib/named

Setelah anda menyalin file 127.0.0.zone maka editlah 192.168.0.zone dengan menggunakan perintah vi atau pico
root:/var/lib/named# pico 192.168.0.zone

Isi fle tersebut masih sama dengan 127.0.0.zone karena file 192.168.0.zone disalin dari file 127.0.0.zone. maka anda harus mengedit file 192.168.0.zone dengan isi seperti berikut.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

$TTL 86400 @ IN SOA server.linux.net. root.linux.net. ( 11 ; serial 28800 ; refresh 14400 ; retry 3600000 ; expiry 86400 ) ; minimum IN NS IN NS IN PTR linux.net. server.linux.net. server.linux.net.

Lalu save file tersebut dan keluarlah dari text editor pico. Salinlah file 192.168.0.zone didalam direktori /var/lib/named/ dengan nama file db/linux.net. file
root:/var/lib/named# cp 192.168.0.zone db.linux.net /var/lib/named

Setelah anda menyalin file 192.168.0.zone maka editlah db.linux.net dengan menggunakan perintah vi atau pico
root:/var/lib/named# pico db.linux.net

Isi file dari db.linux.net adalah :


$TTL 86400 @ IN SOA server.linux.net. root.linux.net. ( 12 ; serial 28800 ; refresh 14400 ; retry 3600000 ; expiry 86400 ) ; minimum IN NS IN NS IN PTR IN MX IN A IN A IN CNAME IN CNAME IN CNAME IN CNAME IN CNAME linux.net. server.linux.net. server.linux.net. server.linux.net. 127.0.0.1 192.168.0.1 server.linux.net. server.linux.net. server.linux.net. server.linux.net. server.linux.net.

1 localhost server www mail smtp pop3 ftp

10

Isi fle tersebut masih sama dengan 127.0.0.zone karena file 192.168.0.zone disalin dari file 127.0.0.zone. maka anda harus mengedit file 192.168.0.zone dengan isi seperti berikut. Simpan file diatas lalu keluar dari text editor pico. Pada file diatas terdapat resources record yaitu IN NS, IN PTR, IN MX, IN A, IN CNAME. Maksud record db file tersebut adalah : SOA record Mengindikasikan otoritas dari sebuah zone file NS record Mengindikasikan daftar nama server

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Other records Menjelaskan mengenai data dari zone file tersebut, Record ini berupa : A Mengubah Nama menjadi Alamat IP PTR Mengubah Nama IP menjadi Nama CNAME Menjelaskan nama Alias Setelah itu editlah file /etc/named.conf
root:/var/lib/named# cd /etc/ root:/var/lib/named# pico named.conf

Default dari isi file named.conf sebelum diedit adalah : # Copyright (c) 2001 SuSE GmbH Nuernberg, Germany # # Author: Frank Bodammer <feedback@suse.de> # # /etc/named.conf # # This is a sample configuration file for the name server # BIND9. # It works as a caching only name server without # modification. # # A sample configuration for setting up your own domain can # be found in /usr/share/doc/packages/bind8/sample-config. # # A description of all available options can be found in # /usr/share/doc/packages/bind8/html/options.html options { # The directory statement defines the name server's # working directory directory "/var/lib/named"; # # # # # The forwarders record contains a list of servers to which queries should be forwarded. Enable this line and modify the IP-address to your provider's name server. Up to three servers may be listed.

#forwarders { 10.11.12.13; 10.11.12.14; }; # Enable the next entry to prefer usage of the name

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# server declared in the forwarders section. #forward first; # # # # # The listen-on record contains a list of local network interfaces to listen on. Optionally the port can be specified. Default is to listen on all interfaces found on your system. The default port is 53.

#listen-on port 53 { 127.0.0.1; }; # The next statement may be needed if a firewall stands # between the local server and the internet. #query-source address * port 53; # The allow-query record contains a list of networks or # IP-addresses to accept and deny queries from. The # default is to allow queries from all hosts. #allow-query { 127.0.0.1; }; # # # # # # The cleaning-interval statement defines the time interval in minutes for periodic cleaning. Default is 60 minutes. By default, all actions are logged to /var/log/messages.

cleaning-interval 120; # # # # # Name server statistics will be logged to /var/log/messages every <statistics-interval> minutes. Default is 60 minutes. A value of 0 disables this feature.

statistics-interval 0; # # # # # # # If notify is set to yes (default), notify messages are sent to other name servers when the the zone data is changed. Instead of setting a global 'notify' statement in the 'options' section, a separate 'notify' can be added to each zone definition.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

notify no; }; # # # # # # The following three zone definitions don't need any modification. The first one defines localhost while the second defines the reverse lookup for localhost. The last zone "." is the definition of the root name servers.

zone "localhost" in { type master; file "localhost.zone"; }; zone "0.0.127.in-addr.arpa" in { type master; file "127.0.0.zone"; }; zone "." in { type hint; file "root.hint"; }; # You can insert further zone records for your own domains below. Edit file named.conf dan tambahkan baris berikut pada bagian akhir file named.conf
root:/etc# pico named.conf

Bagian yang ditambahkan adalah : zone "0.168.192.in-addr.arpa" in { type master; file "192.168.0.zone"; }; zone "linux.net" in { type master; file "db.linux.net"; };

Simpan file tersebut, lalu keluar dari editor pico. Sekarang kita edit file resolv.conf pada direktori /etc/resolv.conf
root:/etc# pico resolv.conf

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Sedangkan isi dari file resolv.conf adalah : domain linux.net nameserver 192.168.0.1 nameserver 127.0.0.1 search linux.net Setelah semuanya telah selesai maka jalankan service named root:/etc# /etc/init.d/named start Atau anda bias menggunakan perintah. root:/etc# rcnamed start Lalu anda bisa melihat apakah hasil konfigurasi DNS server anda telah berjalan apa tidak jalankan perintah dibawah ini untuk melihat zone file yang error.
root:/etc# less /var/log/messages Feb 15 12:54:18 named[25139]: starting BIND 9.2.2rc1 -u named -c /usr/local/named/etc/named.conf Feb 15 12:54:18 named[25139]: using 1 CPU Feb 15 12:54:18 named[25139]: loading configuration from /usr/local/named/etc/named.conf Feb 15 12:54:18 named[25139]: no IPv6 interfaces found Feb 15 12:54:18 named[25139]: listening on IPv4 interface lo, 127.0.0.1#53 Feb 15 12:54:18 named[25139]: listening on IPv4 interface eth0, 192.168.0.1#53 Feb 15 12:54:18 named[25139]: command channel listening on 127.0.0.1#53 Feb 15 12:54:18 named[25139]: zone 0.168.192.in-addr.arpa/IN: loaded serial 9 Feb 15 12:54:18 named[25139]: zone 0.0.127.in-addr.arpa/IN: loaded serial 10 Feb 15 12:54:18 named[25139]: zone localhost/IN: loaded serial 11 Feb 15 12:54:18 named[25139]: zone db.linux.net/IN: loaded serial 12 Feb 15 12:54:18 named[25139]: running

Jalankan perintah dig untuk mengecek apa server DNS yang anda buat sudah berjalan dengan baik apa tidak.
root:/etc# dig x 192.168.0.1 ; <<>> DiG 9.2.2rc1 <<>> -x 192.168.0.1 ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30843 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;0.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 0.168.192.in-addr.arpa. 86400 IN PTR server.linux.net. ;; AUTHORITY SECTION: 0.168.192.in-addr.arpa. 86400 IN NS server.linux.net. ;; ADDITIONAL SECTION: server.linux.net. 86400 IN A 192.168.0.1 ;; Query time: 1 msec ;; SERVER: 127.0.0.1#53(127.0.0.1)

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Untuk membuat sebuah web server, maka kita akan menemukan berbagai macam persoalan, dimulai dari pemilihan software web browser yang manayang paling sesuai kebutuhan, apa spesifikasi hardware yang dibutuhkan, bagaimana kondisi interkoneksi jaringan internet yang ada, dan lain sebagainya. Belum lagi termasuk bagian pembuatan halaman-halaman webnya, mau menggunakan format apa (HTML, SGML, PHP, PHP3, CGI, dan lain-lain). Hal yang paling utama dalam proses pembuatan Web Server adalah memilih software mana yang akan digunakan sebagai web server kita.Untuk itu, perlu adanya beberapa pertimbangan sebagai berikut : 1. Komersial lawan Freeware (software gratis). 2. Kemudahan instalasi 3. Kemudahan mengonfigurasi 4. Kemudahan untuk menambah atau mengubah periferalnya. 5. Kemampuan software. 6. Besar ruang yang dibutuhkan untuk menyimpan file-file minimal yang dibutuhkan agar software berfungsi dengan baik 7. Prospek software tersebut dimasa yang akan datang 8. Performasi dan konsumsi sumber daya yang digunakan software itu. 9. Fasilitas apa yang mampu didukung software itu. 10. Dukungan Teknis (mempunyai site-site atau mailis untuk bertanya bila terjadi masalah). 11. Dukungan Platform (jenis sistem operasi apa saja yang dapat menjalankan software tersebut) 12. Dukungan terhadap third party (Apakah software ini dapat ditambahkan software tambahan sebagai pelengkap)

APACHE WEB SERVER Banyak sekali software web server yang berada di internet. Dengan berdasarkan pada 12 macam pertimbangan diatas, maka dapat dipilih software mana saja yang cocok dengan kebutuhan kita.Misalnya : Kita memasang web server untuk keperluan suatu perusahaan jasa internet (ISP ), maka pertimbangan yang harus diambil adalah apakah mereka menginginkan software yang gratis atau

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

komersial. Keuntungan dari software komersial adalah mereka punya dukungan teknis dan dokumentasi yang lengkap, sedang pada kebanyakan software gratis tidak punya. Namun ada juga software gratisan yang mempunyai dukungan teknis dari pembuatnya dan dengan dokumentasi yang lengkap. Salah satu software web server gratisan seperti itu adalah Web server Apache. Web server Apache mempunyai kelebihan dilihat dari beberapa pertimbangan diatas: Apache termasuk dalam kategori freeware (software gratisan) Apache mudah sekali proses instalasinya jika dibanding web server lainnya seperti NCSA, IIS, dan lain-lain.

Mampu beroperasi pada berbagai platform sistem operasi seperti : AUX 3.1, BSDI 2.0, FreeBSD 2.1, HP-UX 9.07, IRIX 5.3, Linux, NetBSD 1.1, NEXTSTEP, SolarisX86 2.5, Solaris 2.4, Solaris 2.5, SunOS 4.1.3, UnixWare 1.1.2. Apache mudah untuk mengkonfigurasinya karena hanya mempunyai satu file konfigurasi. Apache Web server mudah dalam menambahkan periferal lainnya ke dalam platform web servernya, misalnya : untuk menambahkan modul, cukup hanya menset file konfigurasinya agar mengikutsertakan modul itu kedalam kumpulan modul lain yang sudah dioperasikan. Features atau ciri khas dari web server Apache adalah : 1. Dapat dijadikan pengganti bagi NCSA web server. 2. Perbaikan terhadap kerusakan dan error pada NCSA 1.3 dan 1.4 3. Apache web server dalam merespon client sangat cepat jauh melebihi server NCSA. 4. Mampu di kompilasi sesuai dengan spesifikasi HTTP yang sekarang. 5. Apache menyediakan feature untuk multihomed dan virtual server. 6. Kita dapat men-set respon error yang akan dikirim web server dengan menggunakan file atau skrip. 7. Server Apache dapat otomatis berkomunikasi dengan client browsernya untuk menampilkan yang tampilan terbaik pada client browsernya. Misalnya browser ingin menampilkan dalam bahasa Spanyol, maka Apache web server otomatis mencari dalam servicenya halaman-halaman dengan bahasa Spanyol.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

8. Webserver Apache secara otomatis menjalankan file index.html, halaman utamanya, untuk ditampilkan secara otomatis pada clientnya. 9. Webserver Apache mempunyai level-level pengamanan. 10. Apache mempunyai komponen dasar terbanyak di antara webserverwebserver lain, yang berarti bahwa webserver Apache termasuk salah satu dari webserver yang lengkap. 11. Ditinjau dari segi sejarah perkembangan dan prospeknya di masa yang akan datang, Apache web server mempunyai prospek yang cerah. Apache berasal dari webserver NCSA yang kemudian dikembangkan karena NCSA masih mempunyai kekurangan dibidang kompatibilitasnya dengan sistem operasi lain. Sampai saat ini, webserver Apache terus dikembangkan oleh team dari

apache.org.
12. Performansi dan konsumsi sumberdaya (resource) dari webserver apache tidak terlalu banyak, hanya sekitar 20 MB untuk file-file dasarnya dan setiap

daemonnya hanya memerlukan sekitar 950 KB memory per-child.


13. Mendukung transaksi yang aman (secure transaction) menggunakan SSL (Secure Socket Layer). 14. Mempunyai dukungan teknis melalui web. 15. Mempunyai kompatibilitas platform yang tinggi. 16. Mendukung third party berupa modul-modul tambahan.

MODUL PHP PADA APACHE WEB SERVER Apache web server mendukung penambahan modul-modul. Diantara modul yang sering dipakai adalah modul PHP. PHP (Personal Homep Page Tool) adalah salah satu jenis aalat yang digunakan untk membuat halaman web anda menjadi lebih menarik, lebih aman, dan lebih dinamik. Pada dasrnya PHP miirip dengan bahsa script yang lainnya seperti asp, Javascript , Visual BASic atau yang lainnya, namun keuntungannya adalah pada PHP tidak diperlukan tambahan pada sisi webclient seperti halnya Javascript dan Visual Basic script, sehingga lebih luas penggunaannya.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Beberapa keunggulan PHP dibandingkan dengan yang lain : Autentikasi http menggunakan PHP menggunakan fungsi header() yang ada dalam modul apache PHP. Pembuatan file GIF menggunakan menginstall php. PHP dapat menerima metoda upload file Mendukung penggunaan cookie Mendukung integrasi dengan database Mendukung ekspresi regular seperti ereg(), ereg_replace() dan lainnya. Penanganan kesalahan berdasarkan tingkat kesalahan. library GD yang dikompilasi saat

INSTALASI APACHE dan PHP Proses instalasi dari source agak sedikit memakan waktu sebab anda harus melakukan proses tambahan, tapi dengan begitu akan membuat anda lebih mengetahui apa saja yang anda masukkan ke dalam webserver Apache anda nantinya, disamping itu juga dapat memberikan kesempatan untuk memasang sendiri modul-modul ke dalam webserver Apache anda. Banyak dari modul-modul ini menyediakan fungsi-fungsi yang akan menambah kehandalan webserver anda. Diantaranya adalah modul PHP yang akan diinstall bersamaan dengan instalasi Apache. Instalasi yang dilakukan di modul ini juga akan mengintegrasikan Apache dan PHP dengan MySQL sebagai database server. Sebelum instalasi anda harus menyediakan terlebih dahulu source yang diperlukan yang dapat didownload di : http://www.apache.org http://www.php.net Anda dapat memilih sendiri versi apache dan php yang ingin diinstall di mesin anda. Tentunya memilih versi yang lebih baru akan lebih stabil hasilnya. Setelah anda download source tersebut sebaiknya semua source ditaruh dalam satu direktori untuk memudahkan proses installasi , misalnya di direktori /tmp, lalu diekstrak. # cd /tmp # tar zxvpf apache_versi.tar.gz # tar zxvpf php-versi.tar.gz Selanjutnya apache harus dikonfigurasi awal. # cd apache_versi/ # ./configure

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Bila konfigurasi awal sudah selesai, anda pindah ke direktori php untuk konfigurasi modul php dan mengintegrasikannya dengan apache dan mysql # cd ../php-versi/ # ./configure --with-apache=../apache_versi \ --with-mysql --enable-track-vars Setelah itu php dikompilasi dan diinstall # make && make install Kemudian anda copykan file php.inidist yang ada di source php ke direktori /usr/local/lib dan diberi nama php.ini # cp php.inidist /usr/local/lib/php.ini Kemudian anda kembali ke direktori apache untuk konfigurasi ulang dan mengaktifkan modul php (yaitu php4). # cd ../apache_versi # ./configure --activate-module=src/modules/php4/libphp4.a Lalu kompile dan install apache # make && make install Sampai disini instalasi apache dan PHP sudah selesai. Selanjutnya anda harus melakukan konfigurasi apache agar berjalan sesuai dengan kebutuhan anda

MEMONITOR AKTIFITAS WEB SERVER Pada bagian sebelumnya, telah dipelajari penginstallasian dan pengoperasian WebServer. Pengoperasian WebServer termasuk juga penggunaan pencatatan atau logger. Ada tiga macam log yang harus diperhatikan yaitu server log, access log dan error log.

server.log

Adalah logging yang dilakukan oleh server yang dicatat dalam file /var/log/messages. Fungsi file ini adalah mencatat kejadian-kejadian tertentu pada server anda. Namun demikian, file ini hanya diperiksa apabila ternyata webserver tidak jalan karena sesuatu kesalahan. Biasanya tidak hanya melihat file ini saja, tapi juga harus melihat file log yang lainnya.

access.log

File ini mencatat semua akses yang dilakukan terhadap web server anda. Sebenarnya program penganalisa juga mengambil data dari file ini kemudian diproses menjadi data statistik yang enak dibaca dan dimengerti orang. Misal konfigurasi log anda pada file httpd.conf adalah sebagai berikut : ErrorLog /web/logs/error_log

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

LogLevel warn LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{UserAgent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent CustomLog /web/logs/access_log common Maka akan tampil pada file httpd-access.log format seperti ini : 167.205.206.101 - - [26/Jun/2001:07:09:46 +0700] "GET / HTTP/1.0" 200 1310 167.205.22.105 - - [26/Jun/2001:07:10:50 +0700] "GET /usage/index.html HTTP/1.0" 403 296 167.205.22.105 - - [26/Jun/2001:07:11:27 +0700] "GET /test.php HTTP/1.0" 200 387 46 167.205.15.205 - - [26/Jun/2001:07:17:08 +0700] "GET / HTTP/1.0" 200 1310 167.205.15.198 - - [26/Jun/2001:07:17:20 +0700] "GET / HTTP/1.0" 200 1310 167.205.206.104 - - [26/Jun/2001:09:42:31 +0700] "GET /icons/unknown.gif HTTP/1. 1" 404 305 167.205.206.104 - - [26/Jun/2001:09:42:31 +0700] "GET /icons/compressed.gif HTTP /1.1" 404 308 167.205.206.104 - - [26/Jun/2001:09:42:31 +0700] "GET /icons/binary.gif HTTP/1.1 " 404 304 167.205.206.104 - - [26/Jun/2001:09:42:36 +0700] "GET / HTTP/1.1" 200 1310 167.205.206.104 - - [26/Jun/2001:09:42:36 +0700] "GET /apache_pb.gif HTTP/1.1" 2 00 2326 167.205.206.104 - - [26/Jun/2001:09:42:43 +0700] "GET /~wahid HTTP/1.1" 301 338 167.205.206.104 - - [26/Jun/2001:09:42:43 +0700] "GET /icons/blank.gif HTTP/1.1" 404 303 167.205.206.104 - - [26/Jun/2001:09:42:43 +0700] "GET /icons/unknown.gif HTTP/1. 1" 404 305 167.205.206.104 - - [26/Jun/2001:09:42:43 +0700] "GET /icons/back.gif HTTP/1.1" 404 302

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

167.205.206.104 - - [26/Jun/2001:09:42:43 +0700] "GET /icons/compressed.gif HTTP /1.1" 404 308 167.205.206.104 - - [26/Jun/2001:09:42:43 +0700] "GET /icons/binary.gif HTTP/1.1 " 404 304 Tiap-tiap baris menunjukan format seperti yang dijelaskan sebelumnya. Semua hasil log tidak mempunyai remote Logname dan remote user, karena secara default kedua log enviroment ini memang tidak diisi, namun ada juga yang mengisinya untuk tujuan tertentu misalnya pada aplikasi yang menggunakan cookies. Penggunaan terlalu banyak aksesori pada web akan ikut mempengaruhi log anda. Tentu akan semakin mempercepat pembengkakan access.log karena apache akan mencatat setiap proses mengambilan data baik gambar, maupun tulisan. Penggunaan script atau Active-X justru menghemat space untuk log anda.

error.log

File ini mencatat setiap kesalahan yang terjadi pada web server, apakah kesalahan itu pada file konfigurasinya sehingga apache tidak mau jalan, atau hanya berupa kesalahan pada pembuatan webnya. Pada error.log, LogLevel berpengaruh dari segi seberapa banyak informasi kesalahan yang akan dituliskan dalam file error.log ini. Contoh tampilan file error.log adalah : [Tue Jun 26 04:24:32 2001] [error] [client 167.205.206.107] no acceptable varian t: /web/htdocs/index.html [Tue Jun 26 04:25:00 2001] [error] [client 167.205.206.107] no acceptable varian t: /web/htdocs/index.html [Tue Jun 26 04:25:17 2001] [error] [client 167.205.206.107] File does not exist: /web/htdocs/~index.html [Tue Jun 26 04:25:29 2001] [error] [client 167.205.206.107] File does not exist: /web/htdocs/ndex.html [Tue Jun 26 04:29:25 2001] [error] [client 167.205.206.104] client denied by ser ver configuration: /web/htdocs/usage [Tue Jun 26 04:34:03 2001] [notice] SIGHUP received. Attempting to restart [Tue Jun 26 04:34:03 2001] [notice] Apache/1.3.17 (Unix) mod_perl/1.24_01 PHP/4. 0.4pl1 configured -- resuming normal operations [Tue Jun 26 06:07:55 2001] [notice] caught SIGTERM, shutting down [Tue Jun 26 06:09:25 2001] [notice] Apache/1.3.17 (Unix) mod_perl/1.24_01 PHP/4. 0.4pl1 configured -- resuming normal operations

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

[Tue Jun 26 06:25:50 2001] [notice] caught SIGTERM, shutting down [Tue Jun 26 06:27:25 2001] [notice] Apache/1.3.17 (Unix) mod_perl/1.24_01 PHP/4. 0.4pl1 configured -- resuming normal operations [Tue Jun 26 07:10:50 2001] [error] [client 167.205.22.105] client denied by serv er configuration: /web/htdocs/usage/index.html [Tue Jun 26 09:42:02 2001] [error] [client 167.205.206.104] File does not exist: /web/htdocs/icons/image2.gif [Tue Jun 26 09:42:12 2001] [error] [client 167.205.206.104] File does not exist: /web/htdocs/icons/blank.gif [Tue Jun 26 09:42:12 2001] [error] [client 167.205.206.104] File does not exist: /web/htdocs/icons/back.gif [Tue Jun 26 09:42:12 2001] [error] [client 167.205.206.104] File does not exist: /web/htdocs/icons/image2.gif [Tue Jun 26 09:42:31 2001] [error] [client 167.205.206.104] File does not exist: /web/htdocs/icons/back.gif [Tue Jun 26 09:42:31 2001] [error] [client 167.205.206.104] File does not exist: /web/htdocs/icons/blank.gif [Tue Jun 26 09:42:31 2001] [error] [client 167.205.206.104] File does not exist: /web/htdocs/icons/unknown.gif Jadi isi file ini adalah pesan-pesan kesalahan (error) dan juga pemberitahuan pengoperasian httpdnya (notice). Dengan melihat error.log, akan ketahuan apakah web anda mengalami kesalahan pada waktu pembuatan, misal pada contoh file does not exist menandakan bahwa ada file yang hilang atau tidak sempat di ambil. MENGAMATI LOG MENGGUNAKAN SOFTWARE WEBALIZER Selain melihat secara langsung file-file log tersebut, ada cara yang lebih mudah, yaitu menggunakan software logger seperti webalizer. Software ini akan membaca file acces.log dan melakukan perhitungan. Sebelum menginstallnya anda ambil sourcenya di ftp sitenya (ftp://ftp.mrunix.net/pub/webalizer). Untuk modul ini digunakan webalizer versi 1.30

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Kemudian installasi dapat dilakukan dengan perintah sebagai berikut : # tar zxvpf webalizer-1.30-04-src.tar.Z # cd webalizer-1.30-04/ # ./configure -enable-dns
Lebih jelasnya lihat helpnya (./configure help)

# make && make install Setelah selesai installasinya, maka anda copy file /etc/webalizer.conf.sample ke /usr/local/etc/webalizer.conf kemudian editlah file ini. Ubah bagian yang penting saja, misalkan direktori web anda ada di /web, maka perubahannya adalah : LogFile /web/logs/access_log OutputDir /web/htdocs/stat HistoryName webalizer.hist IncrementalName webalizer.current HostName nama.host.anda HideSite *nama.host.anda Setelah itu, maka jalankan saja perintah :
# /usr/local/bin/webalizer c /usr/local/etc/webalizer.conf

secara otomatis, program akan menganalisa data-data pada access.log dan mengubahnya menjadi data stasitik. Akan muncul pesan sbb : Webalizer V1.30-04 (Linux 2.2.14-5.0) English Using logfile /var/httpd/logs/access_log Creating output in /var/httpd/htdocs/usage Hostname for reports is 'trans.si.linux.net' History file not found... Warning: Truncating oversized request field Warning: Truncating oversized request field Warning: Truncating oversized request field Generating report for September 2001 Generating summary report Saving history information... 1452 records in 0.56 seconds Setelah selesai, maka akan diperoleh pada direktori outputdir seperti berikut :
-rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r-1 root 1 root 1 root 1 root 1 root 1 root 1 root 1 root 1 root 1 root 1 root root root root root root root root root root root root 16209 Sep 9 05:42 ctry_usage_200108.gif 16261 Sep 9 05:42 ctry_usage_200109.gif 23265 Sep 9 05:42 daily_usage_200108.gif 25767 Sep 9 05:42 daily_usage_200109.gif 18517 Sep 9 05:42 hourly_usage_200108.gif 17620 Sep 9 05:42 hourly_usage_200109.gif 4295 Sep 9 05:42 index.html 19205 Sep 9 05:42 usage.gif 69127 Sep 9 05:42 usage_200108.html 61864 Sep 9 05:42 usage_200109.html 69 Sep 9 05:42 webalizer.hist

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Selesailah installasi program logger webalizer. Perlu diingat bahwa program ini harus dijalankan periodik secara manual atau dapat ditambahkan pada script /etc/monthly yang akan menjalankan program ini secara otomatis tiap bulannya.

MENGATUR AKSES KE WEB SERVER APACHE Terkadang ada beberapa bagian web yang tidak boleh diakses oleh sembarangan user. Bagaimana membatasi hak akses ini ? Ada beberapa cara yang dapat dilakukan, antara lain menggunakan pembatasan pada file konfigurasinya atau menggunakan file ACL. Menggunakan pembatasan pada file konfigurasi. Dalam file konfigurasi (httpd.conf) terdapat tag Directory yang berfungsi mendefinisikan permission suatu direktori yang diatur oleh tag-tag didalam Tag Directory tersebut. Sintaknya :
<Directory directory> ... </Directory>

Tag-tag yang mengatur akses dalam tag directory antara lain Order, allow dan deny. Tag Order mempunyai tiga kemungkinan : order allow,deny perintah allow dievaluasi dahulu daripada deny (Default

inisialisasi forbidden), order deny,allow ), order mutual-failure hanya host yang muncul di tag allow dan tidak muncul deny dievaluasi dahulu baru allow (Default inisialisasi OK

di tag deny yang boleh mengakses.

Tag allow dan deny mendefinisikan hak akses dari suatu host atau domain tertentu. Kedua tag ini mempunyai sintak yang sama yaitu : [Allow,deny] from [All,.domain.com,167.205.0.0/8] Selain ketiga Tag ini, ada Tag lain yang menspesifikasi akses user dan group yaitu tag require dengan sintak : require [user user_id ,group gourp_id ,valid-user].

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Bila tag allow/deny dan require dipakai bersama-sama, ada satu tag lagi yang memastikan apakah kedua tag tersebut bekerja cooperative atau hanya salah satu saja, yaitu tag satisfy dengan sintak : satisfy [any,all] dimana any akan memberikan hak akses bila salah satu permission (host atau user/group) terpenuhi, sedang all memerlukan kedua tag terpenuhi. Selain Tag Directory, masih ada tag-tag lain yang digunakan untuk membatasi hak akses. Tag files membatasi hak akses terhadap file-file berektensi dan Tag Location membatasi hak akses terhadap URL tertentu. Sintaks kedua tag ini sama dengan sintak directory
<Files nama_file> ... </Files> <Location URL> ... </Location> Contoh penggunaan tag-tag diatas sebagai berikut : <Directory /home/*/public_html> AllowOverride All Options All <Limit GET POST OPTIONS PROPFIND> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS PROPFIND> Order deny,allow Deny from all </LimitExcept> </Directory> <Files ~ "\.(MP3)$"> Order deny,allow Deny from all Allow from 167.205 </Files> <Files ~ "\.(asf)$"> Order deny,allow Deny from all Allow from 167.205 </Files>

Ini berarti semua direktori public_html user diperbolehkan untuk diakses. Sedangkan file-file dengan format .mp3 dan .asf hanya bias diakses dari IP 167.205.*. Penggunaan file ACL Konfigurasi file ACL mengatur hak akses seperti halnya pada file httpd.conf. File ACL mengatur hak akses pada masing-masing direktori, jadi menggantikan Tag

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Directory.

File

ACL

didefinisikan

pada

httpd.conf

yaitu

pada

tag

AccessFileName.Sintaks defaultnya : AccessFileName .htaccess Untuk dapat menggunakan file ACL ini, maka Pada Tag AllowOverride dalam tag Directory untuk DocumentRootnya harus diberi option All, artinya tiap direktori mempunyai hak akses sendiri-sendiri tergantung file ACL atau mengikuti default permission dari RootDirectorynya. Contoh filenya adalah : IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti* <Limit GET POST> order deny,allow #allow from all require user abdul </Limit> <Limit PUT DELETE> order deny,allow deny from all </Limit> AuthType Basic AuthName linux.net AuthUserFile /home/abdul/public_html/.pwd

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pendahuluan Database telah menjadi bagian yang menyatu dalam hampir setiap kehidupan manusia. Tanpa database, banyak sesuatu yang kita kerjakan akan menjadi sangat membosankan dan tidak terstruktur dengan baik, bahkan mungkin menjadi sesuatu yang tidak dapat dikerjakan. Perpustakaan, universitas, kantor pemerintahan dan bank adalah beberapa contoh organisasi yang sangat bergantung pada sistem database terutama pada urutan data ataupun pencarian data. Di dunia internet, search engines, online shopping (toko online ) dan setiap website yang menyediakan banyak data tidak akan berkerja tanpa menggunakan database. Database yang sudah diimplementasikan atau dipakai di komputer biasanya dihubungkan dengan database server.

MySQL sebagai database server Software database mulai bermunculan seiring dengan bertambahnya kebutuan akan database server. Salah satu dari pendatang baru dalam dunia database ialah MySQL, sebuah server/klien database SQL yang berasal dari Skandinavia. MySQL terdiri atas server SQL, klien program untuk mengakses server, tools untuk administrasi, dan interface program untuk menulis program sendiri

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pengembangan MySQL dimulai pada tahun 1979 dengan tool database UNIREG yang dibuat oleh Michael Monty Widenius untuk perusahaan TcX di Swedia. Kemudian pada tahun 1994, TcX mulai mencari server SQL untuk mengembangkan aplikasi Web. Mereka menguji beberapa server komersial namun semuanya masih terlalu lambat untuk table-tabel TcX yang besar. Tahun 1995 David Axmark dari Detro HB berusaha menekan TcX untuk merelease MySQL di Internet. Ia juga membuat dokumentasi MySQL yang di-build untuk GNU configure utility. MySQL 3.11.1 dipublikasikan di dunia tahun 1996 dan didistribusikan untuk Linux dan Solaris. Sekarang ini MySQL bekerja untuk banyak platform serta tersedia source codenya.

MySQL bukanlah proyek Open Source karena lisensi diperlukan juga dalam kondisi tertentu. Akan tetapi MySQL dikenal sebagai software Open Source karena aturan lisensinya tidak teralu ketat. Selain itu ia juga portable dan bisa dijalankan untuk beberapa system operasi komersial seperti Solaris, Irix dan Windows.

Mengapa memilih MySQL? Jika anda mencari system manajemen database yang murah atau bahkan gratis, ada beberapa pilihan antara lain MySQL, mSQL, PostgresSQL, atau salah satu dari produk vendor komersial yang gratis. Ketika dibandingkan antara MySQL dengan system databae yang lain, maka perlu dipikirkan apa yang paling penting untuk anda. Apakah performa, support, fitur-fitur SQL, kondisi keamanan dalam lisensi, atau masalah harga. Dengan pertimbangan tersebut, MySQL memiliki banyak hal yang bisa ditawarkan, antara lain : Kecepatan Banyak ahli berpendapat MySQL merupakan server tercepat. Kemudahan penggunaan MySQL punya performa tinggi namun merupakan database yang simple sehingga mudah disetup dan dikonfigurasi Harga MySQL cenderung gratis untuk penggunaan terntentu. Mendukung query language

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

MySQL mengerti bahasa SQL (Structured Query Language) yang merupakan pilihan system database modern. Anda juga dapat mengakses MySQL lewat protocol ODBC (Open Database Connectivity) buatan Microsoft. Kapabilitas Banyak klien dapat mengakses server dalam satu waktu. Mereka dapat menggunakan banyak database secara simultn. Konetifitas dan sekuritas Database MySQL dapat diakses dari semua tempat di Internet dengan hak akses tertentu. Pertabilitas MySQl dapat berjalan dalam banyak varian UNIX dengan baik, sebaik seperti saat berjalan di system non-UNIX. Distribusi yang terbuka MySQL mudah didapatkan dan memiliki source code yang boleh

disebarluaskan sehingga bisa dikembangkan lebih lanjut.

Sedangkan pengguna database MySQL ini antara lain adalah : Silicon Graphics ( http://www.sqi.com ) Siemens ( http://www.siemens.com ) Terjemahan Al Quran dalam bahasa Indonesia (http://netmon.linux.net/~quran/) Game Strategi Online Multiplayer Kurusetra (http://www.kurusetra.com)

Bagaimanapun, mungkin yang paling menarik dari semua karakteristik adalah kenyataan bahwa MySQL adalah gratis. Hal ini benar karena T.c.X menawarkan MySQL sebagai produk gratis untuk umum.

Terminologi dasar database Database dalam MySQL diklasifikasikan dalam RDBMS (relational database management system). Istilah RDBMS ini bisa diartikan sebagai berikut : DB yang berarti database adalah tempat penyimpana kumpulan informasi yang terdiri atas struktur sbb :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Koleksi data dalam database dikelompokkan dalam tabel tabel. Masing-masig tabel terdiri atas kolom dan baris. Masing-masing baris memiliki record. Record dapat berisi informasi yang masing-masing bersesuaian terhadap kolom di atasnya.

MS atau management system (sistem manajemen) adalah software yang membantu anda untuk memasukkan, mengambil, modifikasi, ataupun meghapus record dalam database. R atau relational berarti adanya hubungan yang bagus dalam DBMS yaitu terhubungnya informasi yang tersimpan dalam suatu tabel dengan informasi dalam tabel lain.

Untuk berkomunikasi dengan MySQL anda dapat menggunakan bahas yang disebut SQL (Structured Query Language). Saat ini SQL adalah bahasa database yang standard dan mayoritas system database mengerti bahasa tersebut. SQL memiliki banyak macam perintah dan statement yang akan mendukung system database yang digunakan MySQL.

Instalasi MySQL MySQL dapat bekerja dalam beberapa system operasi baik yang gratis maupun yang komersial. Dalam modul ini akan diterangkan proses instalasi MySQL dalam system operasi Linux, sesuai dengan yang telah dipelajari sebelumnya. Saat ini MySQL memiliki versi yang sudah stabil yaitu seri 3.22.xx, sedangkan yang masih dalam tahap pengembangan adalah MySQL dengan versi 3.23.xx Distribusi MySQl berbentuk binary, RPM dan source format. Binary dan RPM lebih mudah untuk diinstal , namun anda harus menerima konfigurasi apa adanya sesuai dengan keinginan pembuatnya. Sedangkan yang berbentuk source format, ia lebih sulit untuk diinstal karena anda harus mengkompilasi software tersebut namun anda dapat lebih mudah untuk mengatur konfigurasinya. Misalnya anda

mengkompilasi distribusi tersebut hanya sebagai klien tanpa perlu membuat server,

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

dan juga anda dapat mengatur letak direktori tempat anda menginstal. Distribusi MySQL terdiri atas komponen sebagai berikut : Server mysqld Program-program klien (mysql,mysqladmin, dll) dan program

pendukungnya (library dan file header) Dokumentasi Database Bahasa pendukung

Dalam Linux, MySQL dapat diinstal dengan dua cara yaitu dengan cara manual ataupun dengan cara otomatis menggunakan RPM.

Instalasi MySQL dengan cara manual (distribusi format source) Distribusi dalam format source biasanya bernama mysql-versi.tar.gz dengan versi adalah nomor versi MySQL. Langkah instalasinya adalah sbb : Ekstrak source MySQL # tar xvfz mysql-versi.tar.gz Masuk ke direktori MySQL # cd mysql-versi Lakukan konfigurasi system sebelum proses kompilasi dilakukan # ./configure Jika anda ingin menggunakan option untuk configure anda dapat melihat daftarnya dengan perintah : # ./configure help Beberapa option yang biasa digunakan : --without-server Konfigurasi untuk menjadikan mesin anda sebagai klien dari server yang sudah ada di mesin lain. --prefix=nama_path Defaultnya terletak di direktori /usr/local/mysql. Data direktori, klien, server, klien library, dan file header akan diistall ke direktori

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

var,bin,libexec,lib dan include di bawah direktori ini. Jika anda ingin mengganti letaknya gunakan option ini. --localstatedir=nama_path Defautnya terletak di direktori /usr/local/mysql/var. Dengan option ini anda dapat mengganti letaknya. --with-low-memory File source sql/sql_yacc.cc membutuhkan memori yang besar dalam proses kompilasi sehingga kadang-kadang akan

menyebabkan proses error karena system kehabisan virtual memori. Dengan option ini penggunaan memori akan diperkecil. Kompile # make && make install Setelah proses kompile selesai, seluruh file binary , dokumentasi dan segala macamnya tentang mysql telah diletakkan pada direktori /usr/local/mysql (default) Untuk memulai mysql, lakukan installasi database (grant table) dafault # cd /usr/local/mysql/bin # ./mysql_install_db Lalu jalankan mysql dengan script : # ./safe_mysqld & Lalu cek pada proses komputer, apakah mysql sudah berjalan dengan cara : # ps ax|grep sql

Akan nampak hasil berikut : 557 ? S 587 ? SN 0:00 sh /usr/bin/safe_mysqld --user=mysql --pid-file=/var/ 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql

Sampai di sini , installasi mysql selesai.

Instalasi via RPM Source MySQL dengan format RPM ada beberapa macam yaitu : MySQL-versi-platform.rpm

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Source untuk server MySQL. MySQL-client-versi-platform.rpm Source untuk klien MySQL. MySQL-devel-versi-platform.rpm Software oendukung untuk mengembangkan klien MySQL berisi klien library dan file header. MySQL-bench-versi-platform.rpm Benchmark dan test MySQL MySQL-versi.src.rpm Source lengkap untuk server, klien, benchmark dan test.

Anda tidak harus menginstall semua source yang ada, cukup yang dibutuhkan saja. Jika anda berencana untuk menginstall server sekaligus klien anda gunakan perintah : # rpm ivh MySQL-versi-platform.rpm MySQL-client-versi-platform.rpm

Jika anda ingin menginstall MySQL dari source lengkapnya, gunakan perintah : # rpm -recompile MySQL-versi.src.rpm

Untuk melihat letak seluruh file yang telah diinstall gunakan perintah : # rpm qpl nama_file_rpm

Uninstalasi MySQL Untuk meng-uninstalasi MySQL dari mesin anda cara yang paling mudah adalah dengan menghapus direktori root MySQL yang biasanya terletak di direktori /usr/local/mysql secara recursive. Kemudian hentikan proses atau daemon yang menjalankan mysql. Jika system MySQL anda diinstall dengan RPM, maka anda dapat menguninstalasinya via RPM dengan perintah : # rpm e nama_file_rpm

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pendahuluan Proxy server sudah menjadi hal yang popular di kalangan para pengguna internet saat ini, berkaitan dengan kemampuannya untuk menghemat bandwith,

meningkatkan keamanan, dan menambah kecepatan web-surfing. Dalam jaringan yang menerapkan sistem proxy, hubungan komunikasi ke internet dilakukan melalui sistem pendelegasian. Komputer-komputer yang dapat dikenali oleh internet bertindak sebagai wakil.

Proxy Server Squid Proxy server yang cukup popular saat ini adalah squid, karena selain gratis juga mendukung ICP. ICP digunakan untuk pertukaran data tentang suatu URL dengan cache-cache lainnya. Secara sederhana, squid dapat dikatakan sebagai software yang diaplikasikan untuk membuat http atau ftp cache. Cara kerja squid dapat dianalogikan seperti browser (IE/Opera/Netscape) yang menyimpan data suatu site di hardisk sehingga untuk menampilkan site yang sama tinggal mengambil data di cachenya.

Squid dapat dikonfigurasikan sebagai : Mode httpd-accelerator untuk meningkatkan performansi web server kita. Proxy caching-server agar seluruh user dalam jaringan kita dapat menggunakan squid untuk mengakses internet. Pada konfigurasi pertama, squid server berlaku seperti reverse proxy-cache, squid akan menerima permintaan client, memberikan data di cachenya, jika tidak ada akan mengambil langsung dari server aslinya (reverse proxy).

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Sebagai proxy cache server, kita dapat mengontrol secara keseluruhan kinerja jaringan kita dan memberlakukan beberapa aturan dalam memberkian data yang dapat dilihat, diakses atau didownload. Kita juga dapat mengontrol penggunaan bandwith, waktu koneksi dan sebagainya. Sebuah proxy cache dapat

dikonfigurasikan sebagai sebagai berikut :

Squid dapat menghemat bandwith dapat diterangkan

Misal suatu host meminta www.detik.com, maka squid akan mengambil dan meletakkannya di hardisk server untuk selanjutnya diambil oleh host yang bersangkutan. Bila ada host lain yang meminta data yang sama, server tidak perlu lagi mendownloadnya dari www.detik.com, tapi cukup memberikan data yang ada di cachenya sehingga akan lebih cepat dan menghemat bandwith. Untuk lebih jelasnya perhatikan gambar berikut ini:

LAN Host A LAN WAN WAN Host C Router Router

Internet

Host B

Gambar Posisi host di internet

Selain itu, squid dapat melakukan filtering, yaitu squid dapat memblok permintaan cliet terhadap URL-URL tertentu, sehingga pengelola jaringan dapatlebih santai tanpa khawatir adanya penyalahgunaan yang tidak dikehendaki. Dalam squid dikenal istilah parent dan sibling. Parent akan mengambil langsung ke web site yang diminta, sedangkan sibling akan mencarinya dulu ke parent. Bila tidak ada, maka sibling mencarinya langsung ke web site yang bersangkutan.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Sebuah proxy cache dapat dikonfigurasikan untuk berjalan standalone server atau sebagai hierarki cache dengan dengan proxy-proxy lainnya, yang akan kita bahas lebih lanjut berikut ini. Standalone server, tanpa parent dan sibling Ini merupakan konfigurasi yang paling sederhana yang biasa dipakai oleh ISP (Internet Service Provider) dan warung internet dimana squid server local akan langsung mencari ke web server www.detik.com untuk memenuhi permintaan client bila data tidak terdapat di cache. Sibling tanpa parent Biasanya konfigurasi ini dipakai untuk jaringan yang tidak terlalu besar. Permintaan oleh klien pada suatu URL akan diterima lokal yang akan mencarinya ke sibling , bila tidak ada, lokal akan langsung mencarinya langsung ke webserver yang bersangkutan. Parent dan sibling Biasanya konfigurasi ini diterapkan untuk jaringan yang besar. Efisiensi jaringan ini cukup baik, karena yang bekerja untuk mendapatkan halaman web keluar jaringan hanyalah parent sisanya sibling dan para client tidak dapat memperolehnya secara langsung (dengan firewall). Klien yang meminta halaman web www.detik.com akan diterima squid server lokal yang kemudian akan memeriksa cachenya, bila tidak ada dia akan mencari ke sibling, bila ada sibling akan memberikannya ke lokal, namun bila tidak ada lokal akan meminta ke parent. Sebagai parent ia harus melayani permintaan ini. Walaupun ia tidak memiliki halaman yang diminta, ia harus memenuhinya dengan mengambil langsungke www.detik.com. Setelah itu

permintaan dikembalikan ke lokal dan akhirnya ke klien.

Hierarki Squid Server proxy dapat dihubungkan dengan server-server proxy lain dan membentuk hierarki seperti pada sebuah organisasi. Jika server proxy bergabung dalam sebuah hierarki, sebuah server proxy bisa memilih untuk mengambil dokumen yang diinginkan dari server proxy lain dalam hierarki atau mengambil dari server asal. Hierarki ini terdiri dari cache pada tingkat nasional, regional, dan organisasi. Dalam

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

prototipe ini cache pada tingkat nasional melayani permintaan akses untuk domain negara tersebut. Misalnya terdapat permintaan dokumen dari URL

http://www.republika.co.id yang berada di bawah domain id (Indonesia), maka dokumen tersebut diminta dari cache tingkat nasional di Indonesia.
USER CACHE REGIONAL USER USER CACHE REGIONAL CACHE REGIONAL CACHE REGIONAL

CACHE INTERNASIONAL

CACHE NASIONAL

CACHE NASIONAL

CACHE NASIONAL CACHE NASIONAL

CACHE REGIONAL

CACHE REGIONAL CACHE REGIONAL CACHE REGIONAL

CACHE REGIONAL

Gambar 4. Prototipe hierarki cache Instalasi Squid Untuk mendapatkan source squid terbaru dapat download di ftp://squid.nalr.fr/squid/ atau homepage squid http://www.squid-cache.org/. Dalam modul ini kita akan melakukan instalasi secara manual yaitu squid-2.3.STABLE2-src.tar.gz. Sebelum instalasi pastikan source ini sudah ada (misal di direktori /usr/local).
1.

Masuklah ke direktori /usr/local/ dan ekstark source dengan perintah:

# cd /usr/local # tar zxvf squid-2.3.STABLE2-src.tar.gz 2. Squid proxy-server tidak dapat berjalan sebagai sebagai super user root, oleh karena itu kita harus membuat account khusus tanpa shell untuk menjalankan Squid Proxy Server : # useradd d /cache/ -r s /dev/null 2>&1

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# mkdir /cache/ # chown R squid.squid /cache/ Perintah pertama akan menambahkan user squid ke file /etc/passwd, lalu membuat direktori /cache (jika belum ada) kemudian mengubah kepemilikan direktori /cache ke user squid.
3.

Setelah proses ekstarksi akan terbentuk direktori squid-2.3.STABLE2-src, masuk ke direktori tersebut dan lakukan konfigure otomatis yang akan memberikan output berupa file Makefile.

# ./configure --prefix=/usr/local/squid
4.

Selanjutnya lakukan kompilasi dan install sbb: # make # make install

Hasil instalasi bisa dilihat di direktori /usr/local/squid. Di dalamnya terdapat direktori /bin, /logs dan /etc.

Konfigurasi Squid Setelah proses instalasi selesai, langkah selanjutnya adalah mengkonfigurasi squid. File konfigurasi ini biasanya terletak pada direktori /usr/local/squid/etc. Squid

biasanya sudah menyediakan file konfigurasi default yaitu squid.conf.default, yang berisi parameter-parameter squid secara lengkap, berikut deskripsi serta contoh penggunaannya. Konfigurasi file Squid.conf Dalam direktori /usr/local/squid/bin akan terdapat file-file sbb: squid dnsserver program utama server untuk melayani request pemetaan

ip <-> nama tiap child proses squid cachemgr runchace program tambahan untuk memantau server script untuk memulai squid secara otomatis

Sedangkan dalam direktori /usr/local/squid/etc akan terdapat file-file konfigurasi sebagai berikut :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

squid.conf.default mime.conf.default

file konfigurasi squid default file konfigurasi mime default

Sedangkan file-file log akan terdapat pada direktori /usr/local/squid/logs, yaitu : access.log cache.log store.log mencatat log aktivitas-aktivitas yang dilakukan oleh klien. mencatat log yang dicatat oleh cache server. mencatat setiap log yang berhubungan dengan database.

Konfigurasi Mode Httpd-Accelerator Berikut kita akan membahas bagian-bagian yang perlu diedit pada file squid.conf : http_port 80 Option ini menyatakan nomor port yang akan digunakan Squid untuk permintaan HTTP client. Jika diset 80, client akan seolah-olah terkoneksi dengan Webserver Apache. icp_port 0 Option ini menentukan nomor port tempat Squid mengirim dan menerima permintaan ICP dari cache lainnya. Untuk mendisable kita set 0, karena kita mengkonfigurasi Squid sebagai mode accelerator Web Server. ICP diperlukan hanya pada multilevel cache dengan multilevel siblings dan parent. acl QUERY urlpath_regex cgi-bin \? and no_cache deny QUERY Option ini menyatakan objek yang tidak pernah dicached. cache_mem 16 MB Option ini menyatakan jumlah memori (RAM) yang digunakan untuk caching. Squid menggunakan memori lebih besar dari nilai yang tertera. Sebaiknya jumlah ini sepertiga dari memori total. cache_dir ufs /cache 200 16 256

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Option cache_dir menyatakan jenis sistem storage yang digunakan (ufs). Space disk sebesar 200 MB, jumlah subdirektori tingkat pertama dalam direktori cache adalah 16 dan jumlah subdirektori tingkat kedua yang dibuat dalam direktori cache tingkat pertama adalah 256. Dalam mode accelerator hal ini berkaitan dengan besar dan jumlah file yang ingin di tampilkan pada webserver Apache. emulate_httpd_log on Jika option ini dibuat ON, Squid akan membuat format file log yang sama dengan Webserver Apache. Hal ini berguna terutama jika kita ingin menggunakan program seperti Webalizer. redirect_rewrites_host_header off Jika diset OFF, Squid tidak akan menulis ulang suatu host. replacement_policy GDSF Option replacement_policy menyatakan objek dalam cache yang akan dihapus Squid saat proxy membutuhkan ruang disk yang lebih banyak. acl all src 0.0.0.0/0.0.0.0 and http_access allow all Options acl and http_access mengatur batasan akses terhadap Proxy server Squid. Pada contoh di atas, kita berarti mengijinkan setiap orang terkoneksi lewat proxy. cache_mgr admin Option cache_mgr menyatakan alamat e-mail administrator yang bertanggungjawab pada server. cache_effective_user squid and cache_effective_group squid Options ini menyatakan UID/GID dimana cache berjalan. httpd_accel_host 167.205.206.100 and httpd_accel_port 80

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Dari option ini, Squid akan mengetahui nomor port HTTP server yang sebenarnya dan IP address yang digunakan. Pada contoh di atas IP address webserver adalah 167.205.206.100 pada port 80. log_icp_queries off Jika kita tidak menggunakan ICP sebaiknya option ini diset OFF. cachemgr_passwd my-secret-pass all Option cachemgr_passwd menyatakan password yang diperlukan untuk

mengakses utilitas program cachemgr.cgi. Isilah <my-secret-pass> dengan password yang diinginkan. Keyword <all> akan membuat password yang sama untuk semua buffered_logs on Option buffered_logs yang diset beberapa file log. Konfigurasi Mode Proxy-Caching Mode Pada proxy-caching server, semua user dalam network kita menggunakan Squid untuk mengakses Internet. Tentu saja kita dapat menerapkan beberapa aturan dan menghemat bandwith. Konfigurasi Squid sebagai proxy-caching mode tidak jauh berbeda dengan mode sebelumnya, hanya mungkin ada beberapa option yang diubah atau ditambahkan. Perbedaan utama dengan mode sebelumnya adalah adanya access control list (ACL). ACL berguna untuk merestriksi akses berdasarkan IP address asal (src), IP address tujuan (dst), domain asal, domain tujuan, berdasarkan waktu akses, dsb. Konfigurasi ACL yang umum digunakan adalah sebagai berikut : Akses berdasarkan IP address asal acl [alamat] src a.b.c.d/e.f.g.h Akses berdasarkan IP address tujuan acl [alamat] dst a.b.c.d/e.f.g.h Akses berdasarkan domain asal ON dapat menambah kecepatan penulisan

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

acl [alamat] srcdomain [nama.domain] Akses berdasarkan domain tujuan acl [alamat] dstdomain [nama.domain]

Untuk lebih jelasnya perhatikan contoh isi file konfigurasi proxy-cache server berikut ini : # pico squid.conf icp_port 0 acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY cache_mem 16 MB cache_dir ufs /cache 200 16 256 redirect_rewrites_host_header off replacement_policy GDSF Misalkan kita ingin agar proxy server Squid hanya membolehkan akses untuk client dalam jaringan kita dan proxy server itu sendiri dengan menggunakan port-port tertentu yaitu 80 (http), 21 (ftp), 23 (telnet) 25 (smtp), dan 443 (https). Selain itu, proxy Squid akan meolak setiap IP address asal dan semua port yang mencoba terkoneksi.Bila jaringan kita menggunakan IP Private kelas C 192.168.1.0 kita dapat membuat konfigurasi sbb : acl localnet src 192.168.0.0/255.255.255.0 acl localhost src 127.0.0.1/255.255.255.255 acl Safe_ports port 80 443 210 119 70 21 1025-65535 acl CONNECT method CONNECT acl all src 0.0.0.0/0.0.0.0 http_access allow localnet http_access allow localhost http_access deny !Safe_ports http_access deny CONNECT http_access deny all cache_mgr admin@nama.domain

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

cache_effective_user squid cache_effective_group squid log_icp_queries off cachemgr_passwd my-secret-pass all buffered_logs on

Sedangkan option-option yang lain sama seperti yang sudah dijelaskan untuk mode sebelumnya.

Menjalankan Squid Setelah membuat konfigurasi Squid lewat file squid.conf, selanjutnya kita harus menstart squid agar server itu dapat berjalan dengan baik. Proses squid sebaiknya dijalankan oleh user squid dan bukan oleh root demi keamanan. To run Squid server in httpd-accelerator mode, the following files are required and must be created or copied to the appropriate directories on your server. Copy the squid.conf file in the /etc/squid/ directory. Copy the squid script file in the /etc/rc.d/init.d/ directory. Copy the squid file in the /etc/logrotate.d/ directory. To run Squid server in proxy-caching mode, the following files are required and must be created or copied to the appropriate directories on your server. Copy the squid.conf file in the /etc/squid/ directory. Copy the squid script file in the /etc/rc.d/init.d/ directory. Copy the squid file in the /etc/logrotate.d/ directory. Create the squid script file (touch /etc/rc.d/init.d/squid) and add: #!/bin/bash # squid This shell script takes care of starting and stopping # Squid Internet Object Cache # # chkconfig: - 90 25 # description: Squid - Internet Object Cache. Internet object caching is \

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# a way to store requested Internet objects (i.e., data available \ # via the HTTP, FTP, and gopher protocols) on a system closer to the \ # requesting site than to the source. Web browsers can then use the \ # local Squid cache as a proxy HTTP server, reducing access time as \ # well as bandwidth consumption. # pidfile: /var/run/squid.pid # config: /etc/squid/squid.conf

Untuk menjalankan squid Pertama-tama kita harus membuat user squid yang akan menjalankan proses Squid proxy server. Loginlah sebagai user squid dan lakukan perintah berikut ini : # squid z Perintah ini akan membuat direktori cache sebanyak dan sedalam yang telah dideklarasikan pada file squid.conf. Lalu jalankan program squid : # /usr/loacl/squid/bin/squid sY & Perhatikan pesan yang muncul pada console, dan perhatikan juga file

/usr/local/squid/log/cache.log barangkali terjadi suatu kegagalan atau error. Agar saat sistem direboot program Squid akan langsung berjalan secara otomatis, tambahkan baris berikut ini pada file /etc/rc.d/rc.local/ : # pico /etc/rc.d/rc.local Tambahlah baris-baris berikut ini : /usr/local/squid/bin/squid sY &

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pendahuluan E-mail sudah digunakan orang sejak awal terbentuknya internet pada sekitar tahun 1969 dan merupakan salah satu fasilitas yang ada pada saat itu. Sesuai dengan perkembangan internet, penggunaan email ini juga semakin membesar Walaupun pada saat ini persentasinya sudah turun karena adanya sebuah fasilitas baru di internet yang dikenal sebagai WWW. Salah satu alasan kenapa email

dipakai orang karena memberikan cara yang mudah dan cepat dalam mengirimkan sebuah informasi. Selain itu email dapat juga informasi yang ukurannya kecil sampai ke file yang ukurannya besar. Pada gambar berikut bagaimana cara email yang menggunakan TCP/IP pertukaran

User di terminal

User

Antrian yang akan dikirim

MTA

User di terminal

User

Mailbox penerima

MTA

Gambar komponen konseptual sistem email

Mail server hanya sebuah aplikasi yang berurusan dengan lalu lintas email, dia tidak secara langsung berhubungan dengan user yang akan berkirim. Dalam pengiriman email, terdapat dua aplikasi yang diperlukan yaitu MTA (Mail Transfer Agent), dan MUA (Mail User Agent). Kerja sama antara MUA dan MTA dapat dianalogikan seperti agen perjalanan dan perusahaan perjalanan, dimana email merupakan orang yang akan melakukan perjalanan.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Secara garis besar MTA (Mail Transfer Agent) adalah sebuah aplikasi untuk mengantarkan email. MTA melakukan fungsi-fungsi sebagai berikut : Pertukaran email menggunakan protokol TCP Menerima email masuk (incoming) Meneruskan email yang akan keluar (outgoing) Mengatur antrian bila ada email masuk, keluar dan yang tertunda pengirimannya MTA yang umum dipakai adalah sendmail dan qmail untuk di unix serta untuk di Ms Windows menggunakan Mdaemon.

Sedangkan MUA (Mail User Agent) adalah aplikasi yang berfungsi sebagai antar muka (interface) antara email (dalam hal ini berhubungan dengan user yang memiliki email tersebut) dengan MTA yang mendukungnya. Ia berfungsi : Menulis email dan membaca email yang masuk. Mengatur konfigurasi email sehingga sesuai dengan MTA yang mendukungnya. Memberikan kenyamanan kepada user dalam menerima dan mengirim email. Beberapa agen email yang populer saat ini adalah Pine, Eudora, Netscape, Outlook dan Pegasus.

Dalam berkomunikasi email menggunakan protocol sendiri yaitu SMTP (Simple Mail Transport Protocol) yang bekerja di port 25. Protokol ini hanya bekerja untuk berkomunikasi dengan server mail remote, tidak untuk server lokal.

Bagaimana E-mail Terkirim ? Disini akan dicontohkan bagaimana proses pengiriman email. Kita akan mengirimkan sebuah alamat dan nanti akan kita lihat hubungan SMTPnya. Pada contoh dibawah ini kita akan menganalisa apa yang dikirimkan dan diterima sebuah MTA melalui SMTP. Baris yang dimuali dengan >>> adalah perintah yang dikirimkan oleh client SMTP, dan baris yang dimulai dengan kode balasan 3 digit adalah dari server SMTP. Berikut ini adalah contohnya:

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Contoh : Untuk mengirimkan sebuah email, hanya ada lima perintah yang digunakan, yaitu: HELO, MAIL,RCPT,DATA, dan QUIT. SMTP ini sangat sederhana prinsip kerjanya. Komunikasi antara server dan client terdiri dari teks-teks yang mudah

dibaca. Mula-mula client menggunakan hubungan TCP ke port 25, dan menunggu kode jawaban 220 dari server yang merupakan ucapan selamat datang ke server tersebut. Jawaban dari server ini harus dimulai dengan FQDN (fully quanlified domain name ) dari server, misal .linux.net. Selanjutnya clien memperkenalkan diri dengan perintah EHLO atau jika server masih versi lama maka cara memperkenalkan diri dengan perintah HELO. Perintah HELO adalah perintah primitif yang ada pada SMTP versi awal. Argumen dibelakang perintah tersebut adalah FQDN dari client, misalkan students.linux.net. Server merespon dengan memberikan identitas dirinya kepada client. Jika komunikasi sudah terbentuk, client dapat mengirimkan lebih dari satu

pesan,mengakhiri hubungan, atau meminta server untuk mengirimkan aturan bagi pengirim dan penerima, sehingga pesan dapat mengalir dengan arah yang sebaliknya. Transaksi email dimulai dengan perintah MAIL, yang menjelaskan siapa pengirim pesan ini. Server selanjutnya mempersiapkan struktur datanya agar dapat menerima pesan baru, dan membalas perintah MAIL dengan kode 250, atau lengkapnya 250 ok. Perintah selanjutnya adalah RCPT dimana perintah ini menjelaskan siapa pemerimanya. Jika penerimanya ada banyak, maka akan ada beberapa perintah RCPT dapat dikeluarkan. Jika sudah server juga harus membalas ke client bagi setiap perintah RCPT dengan mengirimkan respon 250 OK, atau jika ada kesalahan akan dibalas dengan respon 550 No such user here. Isi pesan dikirim oleh client dengan perintah DATA yang diakhiri dengan mengirimkan satu baris data yang hanya berisi satu titik. Server merespon dengan mengirimkan pesan 354 start mail input dan menentukan urutan karakter tertentu yang dijadikan sebagai tanda akhir pesan email. QUIT dikirim terakhir untuk mengakhiri transaksi pengiriman pesan mail. Server merespon dengan mengirimkan pesan 221, yang berarti setuju untuk menghentikan transaksi. Kedua pihak akhirnya menutup hubungan TCP.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Komponen E-mail Email terdiri dari tiga buah komponen, yaitu: Envelope, atau amplop. Ini digunakan oleh MTA untuk pengiriman. Dalam contoh sebelumnya, envelope ditandai dengan dua buah perintah SMTP : MAIL from: <riza@students.linux.net> RCPT to: <riza@.linux.net> Header, digunakan oleh user agent. Ada kurang lebih sembilan field header, yaitu: Received, Message-Id, From, Date, Reply-To, X-Phone, X-mailer, To dan Subject. Setiap field header berisi sebuah nama yang diikuti oleh sebuah titik dua (:), dan nilai dari field header tersebut. Body merupakan isi pesan dari pengirim ke penerima.

Mail Exchanger (MX) MX berfungsi sebagai tempat penyimpanan sementara jika sebuah mail server yang sebenarnya lagi down atau mati. Hal ini sangat penting bagi sebuah organisasi yang mempunyai jaringan yang cukup luas dan mempunyai banyak mail server. Untuk supaya anda dapat melakukan hal ini , anda harus mengeset dalam DNS server anda.

Contoh setting dalam DNS server adalah sebagai berikut (untuk menambahkan record MX) : Students.linux.net IN A IN MX 100 IN MX 50 IN MX 10 167.205.22.114 mx1.linux.net. mx2.linux.net. students.linux.net.

Pada contoh diatas MX record memberikan prioritas tertinggi pada host yang bersangkutan yaitu students.linux.net. Jika pengiriman email gagal karena sesuatu hal maka akan dicoba dikirimkan ke mx2.linux.net yang merupakan mail exchanger dari students.linux.net. Jika dalam pengirimannya gagal lagi maka mail akan

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

dikirimkan ke host mx1.linux.net dimana server ini berfungsi sebagai mail exchanger ke dua dari mesin students.linux.net. Selang pemilihan preference MX record biasanya dibuat selisih sepuluh

angka. Selisih ini dibuat sedemikian hingga agar bila ada penambahan mail server, kita dapat menambahkan record MX dari yang telah ada sebelumnya. Sebuah host untuk dapat melihat record MX dari suatu server bisa dengan mengetikkan perintah seperti dibawah ini $ host students.linux.net students.linux.net has address 167.205.22.114 students.linux.net mail is handled (pri=10) by students.linux.net students.linux.net mail is handled (pri=50) by mx2.linux.net students.linux.net mail is handled (pri=100) by mx1.linux.net

Relay Agent Fungsi utama dari relay agent adalah untuk mengirimkan email dari user agent. Jadi semua email yang akan dikirimkan ke jaringan luar akan dikirim dulu oleh user agent ke relay agent, dan jika sudah sampai maka selanjutnya adalah menjadi tanggung jawab dari mesin yang berfungsi sebagai relay agent untuk mengirimkan email yang diberikan kepadanya.

Karena fungsinya sangat penting bagi pengiriman email, maka dalam sebuah jaringan kita harus mempunyai mesin yang berfungsi sebagai relay agent lebih dari satu (selain mesin mail server utama). Untuk dapat menghemat biaya mungkin fungsinya bisa kita satukan dengan mesin yang berfungsi sebagai MX. Tapi jika traffik mail sudah pada apalagi terdapat mailling list yang banyak sebaiknya kedua fungsi tersebut dipisahkan ke mesin tersendiri.

Sebagai administrator anda harus bisa mengatur supaya mesin MX dan relay agent ini tidak disalah gunakan oleh orang lain untuk melakukan hal-hal yang merugikan. Salah satu contohnya jika kita melakukan pengesetan server mail secara asal-asalan dan membolehkan semua orang untuk merelay ke mesin anda,

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

bisa jadi mesin anda nantinya akan digunakan orang untuk membuat SPAM mail. Untuk menghindari hal ini anda harus membuat aturan atau mengeset dalam server anda bahwa host-host yang boleh merelay ke mesin anda adalah host tertentu yang anda kenal atau mungkin khusus untuk host-host yang ada dalam jaringan anda.

Qmail Sebuah sistem UNIX biasanya langsung dibundel oleh MTA (Mail Transfer Agent) bernama Sendmail, karena sebenarnya Sendmail adalah mail server paling popular dan paling tua di Internet. Sendmail mempunyai konfigurasi default yang diletakkan pada /etc/sendmail.cf yang dengan konfigurasi tersebut email sudah dapat keluar masuk. Namun dari beberapa pengalaman ternyata Sendmail memiliki banyak kelemahan, antara lain file sendmail.cf yang berupa teks berukuran besar dan terdiri atas banyak baris dengan kode-kode yang sulit dipelajari. Oleh karenanya sendmail banyak memiliki bug.

Kemudian muncullah MTA bernama Qmail yang dibuat oleh seseorang yang tidak puas atas kinerja dan buggy Sendmail. Qmail dikembangkan sekitar tahun 96 oleh seorang profesor matematika bernama Dan Bernstein. Qmail dikembangkan karena terdapat banyak bugs yang terdapat di dalam Sendmail. Seperti yang dituliskan dalam home page resmi Qmail di http://cr.yp.to/~djb/qmail.html , Qmail merupakan pengganti dari Sendmail dan memang dalam instalasi default Qmail ada beberapa hal yang tidak kompatibel dengan Sendmail. Sampai saat ini pemakai Qmail terus berkembang.

Qmail tidak merepotkan sewaktu instalasi dan juga mempunyai file konfigurasi yang sederhana yang terdiri atas beberapa file yang diletakkan pada direktori /var/qmail/control. Keunggulan utama Qmail dibandingkan dengan Sendmail adalah masalah keamanan. Berikut alasan bahwa Qmail memiliki keamanan yang lebih baik: Tidak memperlakukan program dan files sebagai alamat Sendmail melihat program dan files sebagai sebuah alamat. Kelemahan dari hal ini yaitu bila beberapa user tidak diizinkan untuk memakai program atau

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

menulis file (tidak mempunyai hak ) mengakibatkan Sendmail terus menerus mencobanya. Berbeda dengan Qmail yang memperlakukan program sebagai program dan file sebagai file. Qmail bisa disuruh untuk menjalankan program tapi atas nama user tersebut. Sesedikit mungkin menggunakan setuid dan login root Sendmail ditulis sebagai setuid sehingga menyebabkan banyak eksploit dan bug, sedangkan Qmail mempunyai satu program yang memakai setuid, yaitu qmail-queue. Sendmail dijalankan di bawah user root, hal ini mengakibatkan proteksi sistem terhadap sesuatu kesalahan menjadi tidak berlaku karena root dapat melakukan semuanya. Hal ini bisa berakibat buruk. Qmail berjalan atas namanya sendiri yang terdiri atas enam user. Sedangkan program Qmail yan berjalan atas nama root adalah qmail-start dan qmail-lspawn. Memisahkan beberapa fungsi menjadi beberapa program independent Seperti yang telah disebutkan, Qmail terdiri atas enam user yang masigmasing user tersebut menjalankan program yang berbeda. Berbeda dengan Sendmail yang hanya mempunyai sebuah file eksekusi, Qmail memisahkan masing-masing fungsi seperti untuk menangani antrian, menangani deliveri ke host remote, deliveri ke hostloakl dan sebagainya menjadi beberapa program independent. Dan masing-masing program ini berjalan dengan nama yang berbeda, misalnya qmail-send oleh qmaill dan qmail-queue oleh qmailq. Sederhana dan kecil Qmail dikatakan sederhana dan kecil karena Qmail memisahkan mekanisasi untuk forwarding, aliasing dan mailing-list. Selain itu Qmail hanya mempunyai satu mode pengiriman, yaitu fast+queued. Qmail-send yaitu program untuk mengirimkan mail dipicu oleh adanya antrian baru. Sedangkan Sendmail mempunyai beberapa mode, yaitu slow+queued dan fast+unsafe.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Cara kerja Qmail : Secara grafis inilah cara kerja Qmail : qmail-smtpd --- qmail-queue --- qmail-send --- qmail-rspawn --- qmail-remote

qmail-inject

qmail-clean qmail-lspawn --- qmail-local

Setiap email akan masuk ke qmail-queue direktori yang dikerjakan oleh qmail-queue. Qmail-queue mempunyai direktori untuk mengerjakan antrain, yaitu /var/qmail/queue. Qmail-queue akan ada bila ada permintaan yang biasanya digenerate oleh qmail-inject untuk email-lokal, qmail-smtpd untuk message yang diterima lewat SMTP, qmail-local untuk email yang diforward dan qmail-send untuk message yang bouncing.

Setiap email diantarkan ke tempat tujuan oleh qmail-send dan bekerja sama dengan qmail-rspawn untuk message remote dan qmail-lspawn untuk email lokal. Qmail-clean juga ikut bekerja dalam proses pengantaran di atas. Keempat program tadi adalah daemon yang terus-menerus idle dalam sistem yang memakai qmail. Antrian didesain untuk bisa tahan crash dengan syarat file sistem yang dipakainya juga harus tahan crash.

Setiap email dalam antrian diberikan nomor identifikasi, misalnya 23. Antrian yang diatur qmail-queue dipecah lagi menjadi beberapa direktori yang setiap direktori ada file yang berhubungan dengan email 23. mess/23 todo/23 : email itu sendiri : amplop yang menyatakan dari mana email datang dan ke mana akan diantarkan intd/23 info/23 local/23 : amplop juga namun dalam proses pembuatan oleh qmail-queue : amplop yang menerangkan alamat pengirim, setelah preprocessing : amplop lokal yang menerangkan alamat penerima, setelah preprocessing

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

remote/23

: amplop remote yang menerangkan alamat penerima, setelah preprocessing

bounce/23

: hasil antrian yang gagal

Berikut ini adalah level-level yang terjadi dalam sebuah email. Positif (+) berarti ada, negatif (-) tidak ada dan (?) berarti mungkin ada mungkin tidak. S1. mess intd todo info local remote bounce S2. +mess intd todo info local remote -bounce S3. +mess +intd todo info local remote -bounce S4. +mess ?intd +todo ?info ?local ?remote bounce (queued) S5. +mess intd todo +info ?local ?remote ?bounce (preprocessed)

Untuk memasukkan email ke dalam antrian, qmail-queue menciptakan file dalam direktori terpisah, yaitu pid/ dengan nama yang unik. Lalu file sistem memberikan nomor inode. Qmail-queue mencari nomor tersebut, misalnya 23. Pada level ini message 23 mencapai keadaan S1.

Lalu qmail-queue mengubah nama pid/apa_saja menjadi mess/23 dan naik ke keadaan S2 dan menulis pesan ke mess/23. Lalu qmail-queue membuat intd/23 dan keadaan berubah ke S3 dan menulis informasi amplop ke intd/23.

Pada tahap akhir qmail-queue membuat link baru, yaitu dari intd/23 ke todo/23 dan keadaan naik ke S4. Pada saat ini email sudah sukses memasuki antrian dan untuk selanjutnya qmail menyerahkan pekerjaan ke qmail-send.

Setelah

email

sukses

memasuki

antrian,

maka

qmail-send

harus

memutuskan apakah penerima email ini berada di lokal atau remote. Ketika qmailsend memberitahu adanya file todo/23, maka qmail-send telah mengetahui email 23 telah mencapai level S4. Lalu info/23, local/23 dan remote/23 akan dihapus bila ada. Lalu qmail send akan membuat ulang info/23 dan mungkin local/23 dan remote/23. Setelah selesai qmail-send akan membuang todo/23 dan leadaan naik ke S5. Pada saat ini email telah selesai pada tahap preprocessed (sebelum diproses).

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Email pada keadaan S5 diperlakukan dengan menandai setiap alamat di local/23 dan remote/23 sebagai DONE dan NOT DONE. DONE : email sukses diantarkan, atau antaran sebelumya menemui kegagalan permanen. Atau dengan kata lain qmail-send tidak akan mecoba lagi mengantarkan ke alamat tersebut. NOT DONE : email yang diantarkan belum sampai ke tujuan dengan kegagaln

sementara. Hal ini menyebabkan qmail-send terus mencoba untuk beberapa saat.

Qmail-send akan mencoba mengantarkan email yang NOT DONE pada saat proses tidak terlalu banyak. Bila email telah diantarkan dengan sukses, qmail-send akan memberi tanda DONE. Sedangkan bila antaran menemui kegagalan permanen maka qmail-send akan mengirimkan catatan ke biunce/23 dan email akan diberi tanda DONE. Qmail-send menangani email bnounce setiap saat dengan membuat pesan bounce ke bounce/23 dan mess/23 dan meneruskan ke qmail-inject. Setelah selesai maka bounce/23 akan dihapus. Ketika semua alamat di local/23 ditandai DONE, maka qmail-send akan menghapusnya, begitu pula untuk remote/23. Ketika local/23 dan remote dihapus, maka qmail-send akan menghapus email dari antrian dengan menghapus bounce/23 , info/23 dan secara berangsur-angsur keadaan untuk message 23 akan berubah ke S2 dan S1.

Bila komputer crash sewaktu qmail-queue mencoba membuat antrian untuk sebuah email, maka email akan ditingallkan dalam keadaan S atau S3. Lalu ketika sistem memulai lagi, qmail-send akan melihat sebuah email dalam keadaan S2dan S3 yang lebih dari 36 jam, maka mess/23 akan dihapus. Sama halnya seperti qmailsend melihat file dalam pid/ yang lebih dari 36 jam, maka akan dihapus. Pembersihan tidak perlu dilakukan apabila qmail-send sedang dalam tahap pengantaran. Kemungkinan terburuk email akan terkirimkan dua kali.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Sama halnya dengan bila komputer crash hanya beberapa saat sebelum qmailsend memberikan tanda DONE kepada sebuah email, maka pada tahap berikutnya setelah selesai dari crash, qmail-send akan mengatasi email yang NOT DONE. Padahal email sudah terkirim, hanya tandanya saja yang NOT DONE.

Instalasi Qmail Untuk mendapatkan informasi yang lebih lengkap tentang qmail dapat diperoleh dari http://www.qmail.org

Berikut langkah-langkah instalasi Qmail secara manual: Ambil source dari situs yang menyediakan. Source ini masih berupa file compress yang berekstension tar.gz. Versi terbaru sampai saat ini adalah versi 1.03 . Kemudian taruh source di direktori tertentu misalnya /tmp. Extrack file qmail-1.03.tar.gz dengan command : # tar zxvf qmail-1.03.tar.gz Setelah itu file akan di ekstrak dan disimpan dalam direktori /tmp/qmail-1.03 Buatlah direktori /var/qmail dengan command : # mkdir /var/qmail buat user dan group : group user : nofiles dan qmail : qmaill, qmails, qmaild, qmailr

Untuk membuatnya sudah ada perintahnya seperti yang ada pada dokumentasi yaitu dengan command : # groupadd nofiles # useradd alias -g nofiles -d /var/qmail/qmaild # useradd qmaild -g nofiles -d /var/qmail qmaill # useradd qmaill -g nofiles -d /var/qmail qmailp # groupadd qmail # useradd g qmail -d /var/qmail qmailq # useradd -g qmail -d /var/qmail qmailr # useradd -g qmail d /var/qmail qmails Kembali ke direktori dimana source qmail diletakkan. Lalu compile source dengan command :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# make setup check Lakukan perintah untuk mensetup file konfigurasi qmail dengan command : # ./config Atau dengan command minimal yang menyatakan nama internet host: # ./ config-fast nama-host.domain.anda Setelah perintah di atas, file configurasi yang tercipta diletakkan pada direktori /var/qmail/control. Dapat dilihat terdapat beberapa file konfigurasi : me, rcpthosts, locals dan yang lainnya, sedangkan yang minimal harus ada adalah file me yang menyatakan nama internet host tersebut.

Dengan perintah config-fast nama domain ini, script config akan menuliskan nama.domain.anda ke dalam file control/me, control/local dan control /rcpthosts sehingga qmail secara default akan menerima e-mail dari nama.domain.anda. Sebelum menjalankan qmail, ada beberapa hal yang perlu disetup: Pertama membuat alias yang akan menangani e-mail dengan user tidak dikenal, untuk mengaktifkan alias, jalankan perintah berikut ini : # touch alias/qmail-postmaster # chmod 644 ~alias/qmail-postmaster # touch ~alias /qmail-mailer-daemon # chmod 644 ~alias/qmail-mailer-daemon # touch ~alias/qmail-root # chmod 644 ~alias/qmail-root Kemudian seting Mailbox, umumnya MTA menggunakan dua format dalam menangani e-mail, yakni format mbox, dan format maildir. Format mbox akan menyimpan email dalam sebuah file yang akan menambahkan mail secara otomatis ke dalam file yang bersangkutan. Sedangkan format maildir merupakan format yang anti crash dan lebih reiable dibanding format mbox.

Setting mbox Sendmail dalam mendistribusikan e-mail secara lokal menggunakan binmail

yang secara default akan mengirimkan mail ke folder /var/spool/mail/nama_user menggunakan qmail-local dan menyimpannya ke folder ~nama_user/Mailbox. Pindahkan /var/spool/mail/nama_user ke ~nama-user/Mailbox ; # cd /var/spool/mail

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# cp nama_user /home/nama_user/Mailbox # rm nama_user Buat link simbolik dari ~nama_user/Mailbox ke /var/spool/mail/nama_user : # cd /home/nama_user # ln s Mailbox /var/spool/mail/nama_user

Konfigurasi dan Test Qmail Untuk menjalankan script qmail dapat dijalankan program qmail sbb: # csh cf /var/qmail/rc & Jika qmail sudah berjalan, maka dalam file log (umumnya /var/log/maillog) akan memberikan pesan : Qmail : status: local 0/10 remote 0/20 Untuk mengetahui program-program qmail yang sedang berjalan, lakukan perintah : # ps ax |grep qmail Maka akan tampak daemon qmail yang sedang idle yaitu : Qmail-send, dijalankan oleh qmails; Qmail-lspawn, dijalankan oleh root; Qmail-rspawn, dijalankan oleh qmailr; Qmail-clean, ijalankan oleh qmailq; Splogger, dijalankan oleh qmaill, untuk mencatat aktivitas qmail ke file log. Untuk testing qmail maka dijalankan perintah pengiriman qmail untuk diri sendiri : # echo to: aku | /var/qmail/bin/qmail-inject File log akan mencatat kurang lebih sbb: qmail: new msg 53 qmail: info msg 53: bytes 246 from wahid@linux.net .qp20345 uid 666 qmail: starting delivery 2: msg 53 to local nama_user@linux.net qmail: status: local 1/10 remote 0/20 qmail: delivery 1: success: did_1+0+0/ qmail: status : local 0/10 remote 0/20 qmail: end msg 53 Kemudian tes pengiriman mail ke user sembarang : # echo to: nama_user | /var/qmail/bin/qmail-inject Pada file log akan tampak sebagai berikut :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

qmail: new msg 53 qmail: info msg 53: bytes 246 from wahid@ linux.net qp 20351 uid 666 qmail: starting delivery 2: msg 53 to local nama_user@ linux.net qmail: status: local 1/10 remote 0/20 qmail: delivery 2: failure: no_such_address._#5.1.1_/ qmail: status: local 0/10 remote 0/20 qmail: bounce msg 53 qmail: new msg 54 qmail: info msg 54: bytes 743 from <> qp 20357 uid 666 qmail: starting delivery 3: msg 54 to local wahid@linux.net qmail: status: local 1/10 remote 0/20 qmail: delivery 3: success: did_1+0+0/ qmail: status: local 0/10 remote 0/20 qmail: end msg 54 Maka setelah anda membuka mailbox akan terdapat mail yang balik lagi. Selain lewat test qmail-inject, anda dapat langsung lewat smtp qmail. # telnet 167.205.206.101 Trying 167.205.206.101 Connected to 167.205.206.101. Escape character is ^]. Mail admin@ linux.net 250 ok data 354 go ahead subject : tes tes Untuk memulai qmail bekerja di bawah inetd maka edit /etc/inetd.conf dengan menambahkan line : smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env /var/qmail/bin/qmail-smtpd tidak cukup, teruskan saja tanpa menekan tombol enter. Qmail perlu dijalankan setiap kali sistem hidup, oleh karena itu perlu dibuat script yang akan menjalankan qmail secara otomatis. Pada waktu booting, sistem akan membaca direktori /usr/local/etc/rc.d/ . Maka perlu dibuat link dari direktori ini ke file script yang menjalankan qmail yang terletak pada /var/qmail/boot # cd /usr/local/etc/rc.d # ln -s /var/qmail/boot/binm1 qmail.sh # chmod +x qmail.sh tcp-env

Semua line diletakkan dalam satu baris, maksudnya walaupun baris sudah

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Instalasi telah selesai, tinggal mereboot ulang sistem atau dengan merestart inetd dan menjalankan script yang memulai qmail. # kill -HUP [pid inetd] # /usr/local/etc/rc.d/qmail.sh

Lalu perlu di check apakah proses qmail sudah berjalan. Hal ini dilakukan dengan command : # ps ax |grep qmail Bila proses qmail sudah berjalan, maka akan keluar out put bila dilakukan ps ax berupa 4 proses qmail yang sedang idle, yaitu : qmail-send, qmail-lspawn, qmail-rspawn and qmail-clean.

Untuk melakukan testing, ada dua jenis tes yang perlu dilakukan yaitu delivery dan receive. Dalam test ini, proses sendmail masih bisa berjalan dan test tidak akan mengganggunya. Untuk test yang pertama dapat dilakukan dengan mengrimkan mail kepada user yang bernama udin : # echo to: udin | /var/qmail/bin/qmail-inject Lalu lihat apa yang telah dicatat syslogd (syslogd adalah sebuah daemon yang melakukan logging terhadap sistem) dengan cara : # tail -f /var/log/maillog Maka akan terlihat output berupa proses kerja qmail untuk menyampaikan message. Untuk test selanjutnya dilakukan pengiriman ke remote host # echo to : logic@l inux.net | /var/qmail/bin/qmail-inject Lalu kembali lakukan checking pada syslogd seperti di atas. Untuk melakukan testing receive dapat dilakukan dari host lain dengan mengirimkan mail ke host yang sedang di test. Pada level ini, apabila semua test berhasil maka sendmail boleh dimatikan prosesnya dengan : # kill -9 [pid sendmail] Untuk melihat apakah qmail sudah bekerja pada port 25, maka dilakukan : # telnet 167.205.206.97 Trying 167.205.206.97

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Connected to 127.0.0.1. Escape character is '^]'. 220 domain ESMTP helo udin 250 domain mail <udin@nama-host.domain.anda> 250 ok rcpt <udin@nama-host.domain.anda> 250 ok data 354 go ahead Subject: test Ini cuma test. . 250 ok 812345679 qp 12345 quit 221 domain Connection closed by foreign host. Setelah semua test dilakukan dan berhasil, maka perlu dilakukan pembuangan sendmail. Hal ini harus dilakukan agar user tidak dapat menggunakan sendmail untuk mengirimkan mail. Untuk itu dilakukan : # mv /usr/sbin/sendmail /usr/sbin/sendmail.bak # chmod 0 /usr/sbin/sendmail.bak Dan buat link untuk menghubungkan sendmail dengan "sendmail" kepunyaan qmail. Hal ini dibutuhkan agar sistem tetap mengenali sendmail. # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

Dan edit file /etc/rc.conf untuk tidak memulai sendmail pada waktu booting, yaitu pada line : sendmail=YES diubah menjadi sendmail=NO

Untuk mengubah konfigurasi MUA mail, file konfigurasi yang perlu diedit adalah /etc/mail.conf. Tambahkan line set sendmail=/var/qmail/bin/date-mail . Setelah semua selesai, ada baiknya system dibooting ulang. Lakukan test dan selama itu amati terus logging di /var/log/maillog dengan perintah:

#tail -f /var/log/maillog

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Instalasi qmailadmin, ezmlm, ezmlm-idx, dan autoresponder. Qmailadmin digunakan untuk administrasi account-account pada sebuah virtualdomain, qmailadmin membutuhkan ezmlm(+ezmlm-idx) serta autoresponder. Karena qmailadmin yang standar tidak mengijinkan pengesetan quota pada sebuah account maka kita putuskan untuk menggunakan qmailadmin versi lama beserta patch untuk mengatasinya. Download ezmlm, ezmlm-idx, autoresponder, qmailadmin dan patch : #wget http://cr.yp.to/software/ezmlm-0.53.tar.gz #wget http://gd.tuwien.ac.at/infosys/mail/qmail/ezmlm-patches/ezmlm-idx-0.40.tar.gz #wget http://inter7.com/devel/autorespond-2.0.2.tar.gz #wget http://inter7.com/qmailadmin/qmailadmin-1.0.4.tar.gz #wget \ http://www.digitaloasys.com/contrib/quotafix-patch.1.0.4-03-LINUX.tar.gz Perhatian : Jika anda menggunakan glibc versi 2.3 keatas (misalnya SuSE 9.1), silakan download patch untuk ezmlm(-idx) : #wget http://qmail.cbn.net.id/moni.csi.hu/pub/glibc-2.3.1/ezmlm-idx0.53.400.unified_41.patch Ekstrak source-source tersebut diatas : #tar -xzvf ezmlm-0.53.tar.gz #tar -xzvf ezmlm-idx-0.40.tar.gz #tar -xzvf autorespond-2.0.2.tar.gz #tar -xzvf qmailadmin-1.0.4.tar.gz #tar -xzvf quotafix-patch.1.0.4-03-LINUX.tar.gz Install ezmlm+ezmlm-idx : #mv ezmlm-idx-0.40/* ezmlm-0.53/ #cd ezmlm-0.53 # patch < idx.patch # patch -p1 < ../ezmlm-idx-0.53.400.unified_41.patch Kompile dan install ezmlm-(idx) : # make # make man # make setup Install autoresponder :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# cd ../autorespond-2.0.2 # make # make install Install qmailadmin : # cd ../qmailadmin-1.0.4 # patch -p1 < ../quotafix-patch/quotafix-patch.diff # ./configure \ --enable-htmldir=/usr/local/httpd/htdocs \ --enable-cgibindir=/usr/local/httpd/cgi-bin # make # make install Jika sukses, maka akan terdapat file qmailadmin pada direktori /usr/local/httpd/cgibin : # ls -la /usr/local/httpd/cgi-bin/qmailadmin -rwsr-sr-x 1 vpopmail vchkpw 277728 Feb 28 18:12 /usr/local/httpd/cgibin/qmailadmin Kemudian anda bisa menggunakan web broswer untuk mulai melakukan administrasi, URL nya tergantung dari konfigurasi apache anda, misalnya berdasarkan contoh diatas adalah http://admin.linux.net/cgi-bin/qmailadmin kemudian masukkan domain yang akan dikelola beserta password dari user postmaster. Instalasi Courier Imap Courier Imap, sesuai dengan namanya adalah sebuah IMAP server yang mendukung format penyimpanan email dengan menggunakan format Maildir. Dalam hal ini kita menggunakan Courier Imap untuk backend dari webmail squirrelmail. Donwload courier-imap, ekstrak sourcenya, dan kita kompilasi : #wget \ http://www.courier-mta.org/beta/imap/courier-imap-1.7.0.20030215.tar.bz2 #tar -jxvf courier-imap-1.7.0.20030215.tar.bz2 #cd courier-imap-1.7.0.20030215 # ./configure \ --enable-workarounds-for-imap-client-bugs \ --disable-root-check # make # make install Kita tidak membutuhkan module authentikasi yang lain (jika ada), jadi module dari courier-imap kita dihapus saja :) :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# rm -rf /usr/lib/courier-imap/libexec/authlib/* Salin modul authvchkpw dari source courier-imap yang telah kita kompilasi diatas ke direktori modul authentikasi untuk imap servernya : # cp authlib/authvchkpw \ /usr/lib/courier-imap/libexec/authlib/ Salin file konfigurasi standar dari courier-imap : # cp /usr/lib/courier-imap/etc/imapd.dist \ /usr/lib/courier-imap/etc/imapd # cp /usr/lib/courier-imap/etc/imapd-ssl.dist \ /usr/lib/courier-imap/etc/imapd-ssl Edit file /usr/lib/courier-imap/etc/imapd , karena courier imap ini hanya digunakan untuk webmail ganti pada baris ADDRESS=0 menjadi ADDRESS=127.0.0.1 . Jika webmail anda adalah webmail yang sibuk, anda bisa menaikkan variabel MAXDAEMONS dan MAXPERIP, yang terpenting adalah ganti pada AUTHMODULES="authdaemon" menjadi AUTHMODULES="authvchkpw": Start daemon courier-imap : # /usr/lib/courier-imap/libexec/imapd.rc start Anda bisa memeriksa apakah servise courier-imap anda sudah berjalan semestinya, kita gunakan perintah ps : # ps ax | grep imap 2049 ? S 0:00 /usr/lib/courier-imap/libexec/couriertcpd -address=12 2052 ? S 0:00 /usr/lib/courier-imap/libexec/courierlogger imapd Agar setiap reboot daemon courier-imap dijalankan secara otomatis : # echo \ "/usr/lib/courier-imap/libexec/imapd.rc start" >> /etc/rc.local Instalasi Squirrelmail Menurut file INSTALL dari distribusi Squirrelmail, software ini membutuhkan php4 yang minimal dikompilasi dengan opsi --enable-track-vars --enable-force-cgiredirect --with-gettext serta membutuhkan register_global=On dan file_uploads = On di php. Download dan ekstrak paket squirrelmail yang paling baru : #wget \ http://umn.dl.sourceforge.net/sourceforge/squirrelmail/squirrelmail-1.2.11.tar.gz Perhatian : Perintah diatas diketik dalam satu baris Lalu jalankan perintah tar untuk melakukan proses instalasi squirrelmail. #tar -xzvf squirrelmail-1.2.11.tar.gz

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Tentukan letak direktori squirrelmail, misalnya disini saya letakkan didirektori /usr/local/httpd/htdocs/mail sehingga berdasarkan contoh dan konbfigurasi nantinya akan bisa diakses melalui http://admin.linux.net/mail #mv squirrelmail-1.2.11 /srv/www/htdocs/mail Tentukan user dan group yang menjalankan proses apache : #egrep '^(User|Group)' /usr/local/httpd/conf/httpd.conf User www Group www Dari perintah diatas kita peroleh user www dan group www, kemudian ganti kepemilikan direktori /usr/local/httpd/htdocs/mail/data menjadi user www dan group www : #chown -R www.www /usr/local/httpd/htdocs/mail/data/ Salin file konfigurasi standar ke file konfigurasi squirrelmail : #cp /usr/local/httpd/htdocs/mail/config/config_default.php \ /usr/local/httpd/htdocs/mail/config/config.php Edit file tersebut dari $imap_server_type = 'cyrus'; menjadi$imap_server_type = 'courier'; : #vi /usr/local/httpd/htdocs/mail/config/config.php Atau jika anda mengalami kesulitan anda bisa menggunakan script perl yang disertakan oleh squirrelmail, pada direktori config : #cd /usr/local/httpd/htdocs/mail/config # ./conf.pl Kemudian silakan dicoba dengan browser anda, misalnya http://admin.linux.net/mail, kemudian masukkan user yang telah anda buat misalnya admin@linux.net kemudian anda bisa mengganti Personal Information atau Folder Preferences dari menu Options.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Memilih Script Qmail Untuk memulai qmail diperlukan sebuah script. Ada beberapa pilihan yang dapat dilihat pada /var/qmail/boot. Secara garis besar pilihan tersebut dibedakan menjadi: Format mail Mailbox ke masing-masing home direktori Format mail Binmail seperti layaknya pada sendmail yang meletakkan di /var/mail/nama_user . Format mail Maildir. Ini merupakan format mail yang terbaru dan baru ada pada saat pembuatan Qmail. Selain Qmial , Postfix juga sudah support. Format ini mempunyai keunggulan tahan terhadap crash, karena masingmasing mail dituliskan pada file yang berbeda.

Ketiga pilihan diatas harus dipertimbangkan secara matang. Berikut ini dijelaskan pertimbangan untuk memilih salah satunya. Apabila instalasi qmail dilakukan berbarengan dengan instalasi Linux lebih baik dipilih mode Maildir. Sampai saat ini Mail User Agent (MUA) yang bisa membaca format Maildir baru Mutt dan Mew. Walau pun begitu user masih bisa membaca melalui mode pop. Apabila system telah lama ada serta telah mempunyai user yang banyak, lebih baik dipilih mode Binmail. Hal ini agar memudahkan penyesuaian dari sendmail ke qmail. Ini adalah rekomendasi utama. Setelah dicoba, Mutt ternyata masih terlalu sulit untuk digunakan maka dipilih mode Mailbox. Dengan mode Mailbox, Pine bisa digunakan.

Mailing List Server Untuk mengatur sebuah mailing-list diperlukan suatu aplikasi sederhana yang mudah diimplementasikan. Selain itu diperlukan juga sebuah aplikasi untuk mengotomasikan hal-hal yang berhubungan dengan mailling-list, yaitu : Menambahkan anggota baru Mengurangi anggota Memberikan informasi tentang subjek pembicaraan mailling-list. Mengarsipkan mail-mail yang datang ke sebuah mailling-list

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Memberitahu kepada owner bahwa ada alamat yang sudah tidak hidup lagi Untuk mailling-list tertutup, aplikasi ini dapat memberitahukan bahwa ada orang yang meminta untuk menjadi anggota dan meminta persetujuan kepada owner mailling-list yang bersangkutan.

Menambahkan header atau pun footer pada mail yang masuk.

Salah satu mailing list server yang memiliki kemampuan tersebut adalah EZMLM (www.ezmlm.org). Selain itu ia juga masih memiliki hubungan saudara dengan qmail (pembuatnya sama), sehingga ezmlm hanya akan berjalan di qmail dan tidak di MTA yang lain. Instalasi vpopmail Donwload vpopmail yang paling baru, ekstrak, kemudian buat grup dan user yang akan menghandle vpopmail : # wget http://inter7.com/vpopmail/vpopmail-5.2.1.tar.gz # tar -xzvf vpopmail-5.2.1.tar.gz # cd vpopmail-5.2.1 # groupadd vchkpw # useradd -g vchkpw vpopmail Opsi --enable-default-domain dibawah ini (pada saat kompilasi vpopmail) digunakan untuk mengeset pada saat pengambilan email melalui protokol pop3, jika memasukkan format user saja tanpa user@domain maka vpopmail akan menganggap sebagai user@domain-default-tersebut , disini kita misalkan linux sebagai default domain : [root@wedus vpopmail-5.2.1]# ./configure --enable-default-domain=linux Kompile dan install : # make # make install Ganti direktori ke /home/vpopmail/bin untuk menambah virtual domain, ingat password postmaster ini akan digunakan nantinya jika anda menggunakan qmailadmin untuk administrasi sebuah virtualdomain menggunakan web browser : # cd /home/vpopmail/bin # ./vadddomain linux Please enter password for postmaster: enter password again:

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Test membuat sebuah alamat email : # ./vadduser admin@linux Please enter password for admin@linux: enter password again: Buat direktori dan file script supervise untuk menjalankan qmail-pop3d (pop server) : # mkdir -p /var/qmail/supervise/qmail-pop3d # vi /var/qmail/supervise/qmail-pop3d/run Isinya : #!/bin/sh PATH=$PATH:/usr/local/bin:/var/qmail/bin export PATH MAXPOP3D=30 exec /usr/local/bin/softlimit -m 5000000 \ tcpserver -H -v -c "$MAXPOP3D" 0 110 qmail-popup admin.linux /home/vpopmail/bin/vchkpw \ qmail-pop3d Maildir/ 2>&1 Silakan anda sesuaikan variabel MAXPOP3D dan hostname admin.linux dengan konfigurasi yang sesuai dengan kondisi mail server anda. Buat file script supervise untuk menjalankan log qmail-pop3d : # mkdir -p /var/qmail/supervise/qmail-pop3d/log # vi /var/qmail/supervise/qmail-pop3d/log/run Isinya : #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s1048576 /var/log/qmail/pop3d Buat direktori log qmail-pop3d serta mengeset file script tersebut menjadi executable : #mkdir /var/log/qmail/pop3d #chown qmaill /var/log/qmail/pop3d #chmod 755 /var/qmail/supervise/qmail-pop3d/run #chmod 755 /var/qmail/supervise/qmail-pop3d/log/run Perhatian : Sebelum melakukan simlink, pastikan tidak ada daemon pop3 yang sedang berjalan diserver anda. Anda bisa memeriksa dengan menggunakan perintah netstat atau lsof , juga periksa kembali konfigurasi (x)inetd anda.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Akhirnya kita masukkan script supervise qmail-pop3d kedalam /service : #ln -s /var/qmail/supervise/qmail-pop3d /service Untuk memeriksa apakah servise pop3 server sudah bekerja : #ps ax | grep tcpserver 1057 ? S 0:00 tcpserver -H -R -v -x /etc/tcp.smtp.cdb -c 30 -u 503 1061 ? S 0:00 tcpserver -H -v -c 30 0 110 qmail-popup admin.linux Untuk sekedar memastikan, anda bisa mencoba telnet ke localhost port 110 : #telnet localhost 110 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK <5724.1035514277@admin.linux> Download script untuk menjalankan qmail, anda bisa download di http://www.lifewithqmail.org/qmailctl-script-dt70 namun anda harus menambahkan untuk start/stop daemon pop3d nya, atau alternatif lain script yang sudah ditambah start/stop daemon pop3d di http://people.cakraweb.com/~admin/qmailctl : # wget http://people.cakraweb.com/~admin/qmailctl # mv qmailctl /var/qmail/bin/qmailctl # chmod 755 /var/qmail/bin/qmailctl # ln -s /var/qmail/bin/qmailctl /usr/bin Jika anda tidak memakai SuSE based style, anda bisa langsung ke Start-Stop qmail : # ln -s /var/qmail/bin/qmailctl /etc/rc.d/init.d/qmail # ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc0.d/K30qmail # ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc1.d/K30qmail # ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc2.d/S80qmail # ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc3.d/S80qmail # ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc4.d/S80qmail # ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc5.d/S80qmail # ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc6.d/K30qmail Untuk Start-Stop qmail anda bisa lakukan perintah berikut : # qmailctl stop Stopping qmail... qmail-smtpd qmail-send qmail-pop3d

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# qmailctl start Starting qmail Kemudian kita mencoba mengetest mengirim email misalnya dari admin@linux.net , dari perintah tail -f /var/log/qmail/current kita dapatkan log seperti berikut : #tail -f /var/log/qmail/current @400000003db6657501bc540c new msg 224662 @400000003db6657501bc6b7c info msg 224662: bytes 906 from <admin@linux.net> qp 995 uid 503 @400000003db6657501e995fc starting delivery 1: msg 224662 to local linuxadmin@linux @400000003db6657501eb3fc4 status: local 1/10 remote 0/20 @400000003db6657504fac1e4 delivery 1: success: did_0+0+1/ @400000003db6657504fad954 status: local 0/10 remote 0/20 @400000003db6657504fd8cbc end msg 224662 Jika anda mengubah hasil format log dari unix timestamps ke format yang lebih mudah dibaca oleh manusia, anda bisa piping dengan menggunakan tai64nlocal : #tail -f /var/log/qmail/current | tai64nlocal 2002-10-23 16:01:31.029119500 new msg 224662 2002-10-23 16:01:31.029125500 info msg 224662: bytes 906 from <admin@linux.net> qp 995 uid 503 2002-10-23 16:01:31.032085500 starting delivery 1: msg 224662 to local linuxadmin@linux 2002-10-23 16:01:31.032194500 status: local 1/10 remote 0/20 2002-10-23 16:01:31.083542500 delivery 1: success: did_0+0+1/ 2002-10-23 16:01:31.083548500 status: local 0/10 remote 0/20 2002-10-23 16:01:31.083725500 end msg 224662 Lalu kita periksa apakah email tersebut sudah masuk ke dalam mailbox admin@linux, anda bisa menggunakan POP3 client, misalnya Eudora. Karena domain linux merupakan default domain, anda bisa menggunakan user saja misalnya admin atau format user@domain misalnya admin@linux sebagai accoutname atau username untuk authentikasi ke server POP tersebut, atau anda juga bisa melalui old-fashioned-way, telnet port 110 di localhost : #telnet localhost 110 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK <5897.1035517402@admin.linux> user admin@linux +OK pass 123 +OK

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

list +OK 1 988 . quit +OK Connection closed by foreign host. Disitu kita lihat email sudah masuk dengan sukses ke alamat yang dituju. Untuk menambahkan virtual domain yang lain (misalnya pandowo.net), anda tinggal menuju ke /home/vpopmail/bin kemudian ./vadddomain pandowo.net misalnya : # cd /home/vpopmail/bin [root@arjuna bin]# ./vadddomain pandowo.net

Instalasi ezmlm Berikut adalah tahapan-tahapan instalasi ezmlm secara manual : Ambil paket aplikasi ezmlm yang dibutuhkan pada ftpserver yang tersedia, misal ftp://ftp.linux.net dalam bentuk file ezmlm-0.53.tar.gz dan ezmlm-idx0.40.tar.gz Ekstrak file sbb: # tar zxvpf ezmlm-0.53.tar.gz # tar xxvpf ezmlm-idx-0.40.tar.gz Masuk ke file ezmlm-0.53 : #cd ezmlm-0.53 Kompilasi : # make # make man # make setup Setelah proses kompilasi selesai, file-file binary ezmlm diletakkan pada direktori /usr/ocal/bin/ezmlm. File-file tersebut : Ezmlm-make Ezmlm-sub Ezmlm-unsub Ezmlm-manage > membuat mailling-list > memasukkan anggota baru > menghapus anggota > mengatur kerja ezmlm

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Ezmlm-reject

> menolak mail masuk

Setelah itu anda pindahkan arsip dalam direktori ezmlm-idx ke direktori ezmlm-0.53 untuk di patch. # mv ../ezmlm-idx-0.40/* ../ezmlm-0.53/

Kemudian patch ezmlm-0.53 # patch < idx.patch Kompile program dan man pages-nya # make clean # make; make man Tambahkan PATH untuk mengakses binary command dengan mengedit file /root/.bashrc : # vi /root/.bashrc Tambahkan : PATH = $PATH:/usr/local/bin/ezmlm export PATH

Testing ezmlm Pada tahap ini tidak perlu memakai login root, namun untuk memudahkan perlu memakai user yang bernama alias. Alias ini adalah nama user yang tercipta sewaktu menginstall qmail. Untuk membuat shell dan password alias, dilakukan dengan : # passwd alias Pengujian menggunakan login alias : $ login alias Password : ***** Masuk direktori tempat file-file binary ezmlm : $ cd /usr/local/bin/ezmlm Buat mailling test, dengan cara : $ ./ezmlm-make ~alias/test ~alias/.qmail-test test linux.net Masukkan alamat email sebagai anggota mailling-list test $ ./ezmlm-sub ~alias/test wahid@linux.net Tes pengiriman email ke mailling-list : $ echo subject : test |qmail-inject test@linux.net atau $ mail test@linux.net

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

subject : tes Ini lagi ngetes lho.. Lihat pada mailbox apakah ada mail yang masuk atau lihat pada file logging /var/log/maillog sbb : $ tail -f /var/log/maillog Selain perintah perintah di atas terdapat options-options khusus dalam membuat dan mengelola mailing list server ezmlm ini. Untuk lebih jelasnya bisa dipelajari di manual ezmlm-nya.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pendahuluan Samba adalah server yang sangat powerful yang dapat membuat sistem berbasis Unix (seperti Linux) untuk melakukan sharing resource dengan sistem berbasis Windows. Hal ini tentu sangat berguna pada sebuah LAN yang terdiri atas beberapa workstation dengan flatform sistem operasi Linux dan Windows sehingga dapat lebih efisien dengan adanya pembagian resource, seperti file dan printer, untuk dapat digunakan secara bersama-sama. Samba merupakan sebuah software aplikasi buatan Andrew Tridgel dari ANU (Australian National University) dengan mengimplementasikan protokol SMB (Server Message Block) pada sistem operasi Unix. Protokol ini kadang-kadang dapat berlaku sebagai protokol CIFS (Common Internet File Sistem), LanManager, NetBIOS. Protokol SMB ini dapat membuat sebuah komputer dengan sistem operasi Unix menjadi file atau print server menjadi file atau print server atau seperti klien ftp untuk mengakses share SMB baik di Samba server atau di sever lain yang kompatibel seperti Windows NT, mendukung nameserving dan browsing NetBIOS, dan lain-lain.

Mekanisme SMB Username dan Password Untuk memahami hubungan antara Linux/Samba/Windows, kita harus mempelajari sistem file, printer, dan user pada kedua operating sistem. Beberapa manajemen pengaturan username dan password : Linux Password Authentication Module (PAM), akan membuat autentikasi user dengan PDC sehingga kita tetap mempunyai dua user, satu di lokal dan satu lagi di PDC , tapi user hanya perlu menyimpan password hanya dalam sistem window. Samba sebagai PDC, akan menyimpan login dan password pada sistem Linux.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Membuat solusi sendiri dengan Perl, kita dapat membuat sendiri. Hal ini dilakukan dengan menggunakan Winperl dan modul-modul Perl yang

memungkinkan pengubahan paa Security Access Manager (SAM), untuk mengupdate daftar password PDC. Script Perl pada sisi Linux dapat berkomunikasi

dengan script WinPerl untuk menjaga sinkrinisasi account.

Encrypted Password Sejak Windows NT 4, Windows 98, dan Windows 95 OSR2, Windows menggunakan password terenkripsi saat berkomunikasi menggunakan PDC dan setiap server yang memerlukan autentikasi (termasuk Linux dan Samba). Alogoritma enkripsi Windows berbeda dengan UNIX, sehingga tidak kompatibel. Untuk menangani hal itu, kita dapat melakukan pilihan-pilihan sebagai berikut : Mengedit Registry pada klien Windows untuk mendisable penggunaan password terenkripsi. Bagian registry yang harus diubah terdapat pada direktori docs paket Samba. Mengkonfigurasi Samba agar menngunakan password terenkripsi Windows.

Pilihan pertama mempunyai kelebihan dengan tidak adanya pola password yang lebih kompleks. Pada sisi lain, kita harus membuat registry yang tetap pada semua klien. Untuk pilihan kedua sebaliknya, yakni sedikit lebih kompleks pada sisi server, tapi kita tidak usah mengubah bagian klien.

Perbedaan smbd dengan nmbd Sebenarnya Samba disusun atas dua damon, yatu smbd dan nmbd. Smbd adalah daemon yang secara nyata menangani servis sharing file sistem dan printer untuk klien. Pada saat sebuah klien melakukan autentikasi, smbd akan membuatkan duplikat dirinya, bagian asli akan kembali ke port 139 untuk mendengarkan permintaan baru dan bagian duplikat menangani koneksi terhadap klien. Dulikat ini juga mengubah ID user efektifnya dari root ke user yang terautentikasi. Misalnya , kalau user user melakukan autentikasi dengan smbd, duplikat baru akan berjalan dengan permisi user, dan bukannya permisi root). Duplikat ini akan berada di memory selama masih terkoneksi dengan klien.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Daemon nmbd bertanggung-jawab untuk menangani permintaan server name NetBIOS. Ia akan mendengarkan port 137, tidak seperti smbd, nmbd tidak

membuat contoh dirinya untuk menangani setiap pertanyaan. Kedua daemon itu harus dijalankan agar Samba bekerja dengan baik.

Instalasi Paket Samba Server Paket Samba release terbaru bisa dilihat di homepage Samba : http://us1.samba.org/samba/samba.html atau melalui FTP site: 63.238.153.11. Bila tersedia, paket juga bisa diambil melalui ftp site-ftp site terdekat. Pada modul ini, kita akan coba untuk menginstall paket : samba-2.0.7.tar.gz. Pastikan file source ini sudah didownload dan diletakkan di direktori /usr/local/src (atau direktori lainnya).

Instalasi Dalam Bentuk Tarball Instalasi dalam bentuk tarball adalah instalasi dengan source dalam bentuk file berekstensi tar.gz. Instalasi ini hanya bisa dilakukan dengan account root. Berikut adalah langkah-langkah instalasinya : Masukkan ke direktori tempat diletakkannya source Samba : # cd /usr/local/src Kemudian ekstrak file tersebut dengan perintah : # tar zxvf samba-2.0.7.tar.gz Setelah diekstark akan terbentuk direktori samba-2.0.7, masuklah ke direktori tersebut, dan di sana akan terdapat direktori source, docs , dan sebagainya : l # cd samba-2.0.7 Lalu masuklah ke direktori source dan jalankan script configure yang ada di sana. Dalam konfigurasi ini, kita dapat menambahkan beberapa option, misalnya kita akan menambahkan option sebagai berikut :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Option --with-pam --with-mmap

Deskripsi Agar Samba dapat menggunakan Password Authentication Module (PAM). Agar mendukung MMAP untuk meningkatkan performansi Samba.

# ./configure -with-smbmount -with-pam --with-mmap Kemudian install Samba dengan mengetikkan perintah make lalu make install: # make all # make install Samba akan terinstall di direktori /usr/local/samba. Setelah perintah instalasi di atas dieksekusi, akan terbentuk direktori bin yang berisi sejumlah file binary yang berfungsi seperti untuk mengontrol Samba server seperti smbd, nmbd, dan smbclient, dan lain-lain. Samba akan terinstall di direktori /usr/local/samba. # install m 755 script /mksmbpasswd.sh /usr/bin/ Perintah ini akan menginstall script mksmbpasswd.sh pada direktori /usr/bin/. Script ini diperlukan untuk mensetup user Samba diijinkan terkoneksi ke server via file smbpasswd. Untuk mempelajari Samba secara lebih mendalam, kita dapat membaca manualnya yang disertakana dalam paket. Manual Samba secara default terletak di direktori /usr/local/samba/man. Agar manual Samba bisa dibaca (diakses) dengan perintah man pada shell Linux, lakukan sebagai berikut : # cp /usr/local/samba/man/man1/* /usr/man/man1 # cp /usr/local/samba/man/man5/* /usr/man/man5 # cp /usr/local/samba/man/man7/* /usr/man/man7 # cp /usr/local/samba/man/man8/* /usr/man/man8

Konfigurasi Samba Server Dalam membuat konfigurasi Samba server ini sangat bergantung pada kebutuhan dan arsitektur dari jaringan komputer kita. Misalkan Samba server ini bisa dikonfigurasikan hanya terkoneksi satu klien atau bahkan terkoneksi dengan 1000 klien. File dokumentasi konfigurasi lengkap Samba server ini dapat didownload di

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

internet

dengan

alamat:

http://www.openna.com/books/floppy.tgz.

Untuk

menjalankan Samba server, dibutuhkan file-file berikut ini dan harus dibuat atau dikopi pada direktori-direktori yang cocok pada server kita.

Konfigurasi file smb.conf File konfigurasi utama untuk Samba server ini adalah

/usr/local/samba/lib/smb.conf, dimana kita dapat menentukan direktori yang ingin kita akses dari komputer Windows, IP address mana yang diijinkan, dsb. Pada file ini juga terdapat banyak sekali option (pilihan). Untuk informasi lebih lanjut tentang berbagai setting dan parameter dapat dilihat di dokumentasi Samba. Konfigurasi yang akan kita bahas di bawah adalah file konfigurasi minimal Samba yang mendukung password terenkripsi. Kita harus terlebih dahulu mengkopikan file konfigurasi default lalu mengeditnya sesuai dengan yang kita inginkan : # cd /usr/local/samba/examples # cp smb.conf.default /usr/local/samba/lib # cd /usr/local/samba/lib # mv smb.conf.default smb.conf # pico smb.conf

workgroup= LAB Isilah dengan workgroup server kita, yang akan tampak saat diminta oleh klien. Klien dan server harus mempunyai workgroup yang sama.

server string= Samba Server Option ini akan menampilkan string yang akan ditampilkan pada user dalam comment box print manager, atau pada koneksi IPC pada bagian net view pada komputer Windows.

encrypted password= True Jika option ini diset True, Samba akan menggunakan password terenkripsi bukan menggunakan password berbentuk teks sederhana saat berhubungan dengan klien.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Password terenkripsi ini tidak akan bisa dideteksi dengan sniffer. Untuk keamanan sebaiknya option ini diset True.

security= user Bila option security ini diisi dengan user, klien harus masuk (log-on) dengan username dan password yang benar, jika tidak, koneksi akan diputus (connection refused). Hal ini berarti bahwa username dan password yang benar harus terdapat pada file /etc/password sistem Linux dan file /etc/smbpasswd pada Samba server, jika tidak koneksi dari klien akan gagal.

smb passwd file= /etc/smbpasswd Option ini menentukan letak file smbpasswd terenkripsi. File smbpasswd ini merupakan kopi dari file /etc/passwd sistem Linux yang berisi username dan password yang valid agar bisa terkoneksi dengan Samba server. Samba server akan membaca file ini (smbpasswd) saat ada permintaan koneksi.

log file= /var/log/samba/log.%m Option ini menyatakan letak file log yang dicatat Samba. Dengan ekstensi %m kita dapat membuat file log yang terpisah untuk masing-masing user atau mesin yang log-on pada Samba server.

socket options= IPTOS_LOWDELAY TCP_NODELAY Dengan option ini kita dapat menentukan paramater-parameter konfigurasi Samba untuk meningkatkan performansi Samba. Secara default, koneksi untuk jaringan lokal dibuat maksimal, dan meningkatkan performansi Samba server dalam transfer file.

domain master= Yes Option ini untuk mengeset Samba server daemon nmbd sebagai domain master browser untuk group yang telah ditentukan. Option ini biasanya harus diset Yes

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

hanya dalam satu Samba server untuk keseluruhan Samba server yang lain pada workgroup dan jaringan yang sama.

local master= Yes Dengan option di atas, Samba server daemon, nmbd, akan mencoba untuk menjadi domain master browser pada workgroup yang telah ditentukan.

preferred master= Yes Option preferred master akan menentukan dan mengontrol jika nmbd dibuat sebagai master browser untuk workgroup yang bersangkutan.

os level= 65 Dengan mengatur nilai os level, nmbd dapat menjadi master browser lokal untuk workgroup pada daerah broadcast lokal. Jika terdapat NT server pada jaringan kita, dan kita ingin agar Samba server Linux menjadi browser lokal untuk workgroup pada broadcast lokal maka option di atas harus diisi 65. Ingat option ini hanya untuk satu Linux Samba server.

dns proxy= No Bila diset yes , Samba server daemon nmbd ketika menjadi sebuah WINS server dan nama Net BIOS belum teregistrasi, maka ia harus memperlakukan nama Net BIOS kata demi kata sebagai nama DNS. Jika kita belum pernah

mengkonfigurasikan Samba sebagai WINS Server, kita tidak usah membuat option ini Yes. Dengan memilih Yes juga akan dapat mengurangi performansi Samba.

name resolve order= lmhosts host bcast Option ini menyatakan nama servis yang dipakai untuk mengubah hostname ke IP address. Pilihan di atas akan menyebabkan file lmhosts lokal Samba akan dituju terlebih dahulu.

bind interfaces only= True

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Jika option ini diset True, kita dapat membatasi interface-interface yang melayani permintaan smb. Sebaiknya option ini diset demikian untuk keamanan.

interfaces= eth0 192.168.1.1 Option di atas berguna untuk menentukan jenis interface yang digunakan Samba server saat digunakan browsing dan registrasi nama, pada contoh di atas yakni eth0 dengan IP address 192.168.1.1. Defaultnya, Samba akan mengecek semua device pada kernel.

hosts deny= ALL Kita dapat menentukan host-host yang tidak boleh mengakses Samba. Secara default kita melarang akses dari seluruh host, dan mengijinkan akses untuk hosthost tertentu yang didefinisikan pada hosts allow di bawah ini.

hosts allow= 192.168.1.4 127.0.0.1 Host-host yang diijinkan untuk mengakses Samba server didefinisikan pada bagian ini, pada contoh di atas kita mengijinkan host dengan IP 192.168.1.4 dan localhost 127.0.0.1.

debug level= 1 Di sini kita dapat menentukan level log pada file smb.conf. Sebaiknya debug level ini tidak lebih dari 2, karena server akan log file yang tidak perlu setelah melakukan operasi sehingga akan menurunkan performansi.

create mask= 0644 Option create mask akan menset permisi-permisi yang penting yakni bila terjadi mapping dari DOS ke permisi UNIX. Jika dibuat 0644, semua file yang dibuat atau dikopi dari WINDOWS ke sistem UNIX akan mempunya permisi 0644 secara default (untuk lebih jelasnya dibahas pada bagian sistem opersai Linux).

directory mask= 0755

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Mirip seperti di atas, hanya ini berlaku untuk semua direktori yang dikopi atau dibuat dari Windows ke sistem UNIX akan mempunyai permisi default 0755.

level2 oplocks= True Jika option ini dibuat True, akan meningkatkan keandalan file-file akses yang tidak umum ditulis seperti file-file aplikasi .EXE.

read raw= no Ini berguna untuk menentukan apakah Samba server akan mendukung permintaan raw read SMB saat mentransfer data pada klien. Agar mapping memory lebih efektif, sebaiknya option ini dibuat no.

write cache size= 262144 Option ini akan membuat Samba meningkatkan keandalan sistem jika terjadi kemacetan disk subsystem. Nilai option ini dinyatakan dalam byte (262144=256k).

comment= Temporary File Space Option ini untuk menyatakan komentar yang akan terlihat saat ada permintaan klien ke server.

path= /tmp Kita dapat menentukan direktori mana user service ini diberikan akses.

read only= No Maksud option di atas adalah kita dapat menentukan apakah user hanya dapat membaca file atau tidak. Jika diisi No user tidak hanya dapat mebaca file saja.

valid user= admin Option ini berisi daftar user yang diijinkan login. Pada contoh di atas user admin diijinkan untuk akses.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

invalid users= root bin daemon nobody named sys tty disk mem kmem users Option invalid users berisi daftar yang tidak diijinkan login yang biasanya user paranoid. Sebenarnya hal ini hanya untuk memastikan setting yang tidak benar dan dapat membahayakan dari segi keamanan

Konfigurasi file /etc/Imhosts File /etc/lmhosts adalah file untuk memetakan nama Net BIOS Samba ke IP address. Format file ini mirip /etc/hosts, tapi komponen dari hostname harus sesuai dengan format penamaan Net BIOS. Pertama-tama kita harus membuat file /etc/lmhosts ini. # touch /etc/lmhosts Pada file ini, tambahkan host-host klien sbb: # pico /etc/lmhosts 127.0.0.1 192.168.0.1 192.168.0.2 192.168.0.3 localhost lab1 lab2 lab3

Teruskan pengisian file di atas untuk semua hosts yang ada dalam network kita.

Konfigurasi file /etc/pam.d/samba File ini berguna untuk menjalankan autentikasi pam (untuk lebih jelasnya dapat dilihat pada bagian security). Lakukan perintah berikut ini :

# touch /etc/pam.d/samba # pico /etc/pam.d/samba

Tambahkan baris-baris berikut ini: Auth Account required required /lib/security/pam_pwdb.so nullok shadow /lib/security/pam_pwdb.so

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Konfigurasi file /etc/logrotate.d/samba File konfigurasi ini akan menampilkan file-file log tiap minggu secara otomatis.

# touch /etc/logrotate.d/samba

Tambahkan baris-baris berikut ini : /var/log/samba/log.nmb { notifempty missingok prostrotate /usr/bin/killall HUP nmbd endrotate }

/var/log/samba/log.smb { notifempty missingok postrotate /usr/bin/killall HUP smbd endotrate }

Membuat password Clien Samba terenkripsi File /etc/smbpasswd adalah file password Samba yang terenkripsi. File ini berisi username, UID, password terenkripsi masing-masing user yang dapat mengakses Samba. Jika seorang user tidak terdaftar dalam file ini, maka ia tidak dapat melakukan koneksi ke server. Untuk membuat account Samba, user-user samba harus sudah ada dalam file /etc/passwd Linux. Jika kita ingin menambahkan user yang dapat mengakses Samba, kita harus menambahkan nama user tersebut pada file /etc/passwd sistem Linux kita sbb: (Misal kita ingin menambahkan user smbclient). # adduser smbclient

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# passwd smbclient Changing password for user smbclient New UNIX password: Retype new UNIX password: passwd:all authentication tokens updated successfully

Setelah kita manambahkan semua client Samba pada file /etc/passwd, Kita dapat membuat file /etc/smbpasswd dari file /etc/passwd dari Linux server (Ingat agar semua user yang akan mengakses samba sudah ada dalam file /etc/passwd) dengan perintah sbb: # cat /etc/passwd | mksmbpasswd.sh > /etc/smbpasswd

Kemudian kita harus membuat account user Samba pada file /etc/smbpasswd sebelum kita dapat menggunakannya. # smbpasswd a smbclient New SMB password: Retype new SMB password: Added user smbclient Password changed for user smbclient.

Kemudian ubahlah setting permisi file smbpasswd ini agar hanya bisa dibaca dan ditulisi oleh account root : # chmod 600 /etc/smbpasswd

Untuk memeriksa kesalahan dalam penulisan file smb.conf, lakukan perintah ini : # testparm

Untuk menjalankan dan menghentikan daemon Samba, nmbd dan smbd secara otomatis kita dapat menjalankan script file /etc/rc.d/init.d/smb. Pastikan bahwa file ini mempunyai permisi yang hanya bisa dibaca, ditulis, dan dieksekusi oleh user root. # chmod 700 /etc/rc.d/init.d/smb

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Lalu buat simbolik link rc.d pada Samba dengan perintah : # chkconfig -add smb

Agar sript Samba secara otomatis menjalankan daemon nmbd dan smbd saat sistem dihidupkan (atau direboot) lakukan perintah berikut ini : # chkconfig -level 345 smb on

Menjalankan Samba Sebelum menjalankan Samba kita harus membuat direktori seperti yang sudah didefinisikan pada file Makefile. Hal ini karena direktori ini tidk secara otomatis dibuat saat mengeksekusi perintah make install. # mkdir /usr/local/samba/var

Samba dapat dijalankan dengan dua macam cara. Pertama dijalankan sebagai daemon dan kedua menjalankannya dari inetd. Samba yang dijalankan sebagai daemon akan sedikit lebih cepat dalam melayani permintaan client jika dibandingkan dengan Samba yang dijalankan dari inetd. Biasanya berbagai distribusi Linux sudah mempunyai script untuk menstart dan menstop servis Samba. Untuk menjalankan Samba kita harus menjalankan daemon smbd dan nmbd. Lakukan perintah berikut ini : # /usr/local/samba/bin/smbd D # /usr/local/samba/bin/nmbd D

Agar Samba selalu dijalankan setiap kali Linux melakukan booting, kita dapat menambahkan baris-baris di atas pada file /etc/rc.d/rc.local : # pico /etc/rc.d/rc.local

/usr/local/samba/bin/smbd D /usr/local/samba/bin/nmbd -D

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Apabila dalam sistem kita tidak mempunyai script untuk menjalankan Samba secara otomatis, maka kita harus menuliskannya secara manual. Misalkan dengan cara membuat file /usr/local/bin/startsmb/ untuk menjalankan dan menghentikan secara otomatis daemon Samba server.

# pico /usr/local/samba/bin/startsmb

Tambahkan baris-baris berikut ini : #!/bin/sh /usr/local/samba/bin/smbd D /usr/local/samba/bin/nmbd -D

Untuk menjalankan Samba kita tinggal mengeksekusi file startsmb tersebut. # /usr/local/samba/bin/startsmb

Untuk mematikan Samba, kill proses smbd dengan cara sbb : # ps ax|grep smbd

Dengan perintah di atas akan tampak proses smbd beserta nomor PID-nya. # kill -9 [nomor PID smbd]

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pendahuluan Struktur FTPDengan begitu tersedianya beragam informasi di Internet, seringkali pengguna ingin mengcopy file tersebut. Sebagai contoh, bila ditemukan file atau program yang menarik dan berhubungan dengan masalah yang dihadapi, untuk itu biasanya dilakukan modifikasi pada program tersebut sesuai dengan kebutuhan. Hal ini tidak mungkin dilakukan modifikasi file tersebut pada remote login, yang dilakukan adalah file tersebut dicopy ke mesin local dan kemudian baru dimodifikasi. Fasilitas untuk melakukan ini adalah dengan menggunakn ftp.

Gambar Interaksi FTP (Parker, 1994:126) Proses ftp menggunakan ftp sebagai client, dan ftpd sebagai server. Tetapi berbeda dengan koneksi telnet, ada 2 jenis koneksi yang terjadi. Sesuai dengan namanya, tugas protocol ftp ini adalah mentransfer file dari komputer satu ke komputer lainnya. Ini tidak tergantung dari lokasi komputer itu berada, bagaimana cara koneksinya, atau bahkan sistem operasinya. Selama komputer tersebut mempunyai akses ke Internet , berarti fasilitas ftp bisa digunakan. Dengan kata lain selama sistem komputer terse-but memiliki protocol TCP/IP, maka fasilitas ftp dapat digunakan. Seperti juga telnet, ftp juga mempunyai akses berbagai macam database dan service. Dapat ditemukan berbagai macam dari file artikel hinggai software dengan cuma-cuma. Bagi seorang peneliti maka fasilitas ftp sangat membantu dalam membantu kerja dan ada yang menganggap bahwa ftp merupakan suatu sarana umum untuk saling membagi data. Ftp adalah program yang complex karena ada beberapa cara untuk memanipulasi file dan struktur file. Beberapa format untuk menyimpan (binary atau ASCII, compress atau uncompress, dll) dan ada beberapa cara tambahan untuk mendapatkannya secara benar. Akan dibahas juga sekilas tentang FTP anonymous. Hampir semua public archives mempunyai fasilitas ini.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Protocol FTPProtocol FTP menggunakan 4 karakter ASCII yang diakhiri dengan karakter NEWLINE. Beberapa kode membutuhkan parameter setelah kode tersebut. Keuntungan menggunakan karakter ASCII, adalah untuk memudahkan user melihat aliran perintah dalam upaya pemeriksaan pentrasnferan file.. Juga memudahkan untuk mengakses ftpserver tanpa menggunakan ftp client. FTP internal command yang digunakan oleh protocol dapat dilihat pada Tabel. PERINTAH ABOR ACCT ALLO APPE CDUP CWD DELE HELP LIST MKD MODE NLST NOOP PASS PASV PORT PWD QUIT REIN REST RETR RMD RNFR RNTO SITE SMNT STAT STOR STOU STRU SYST KETERANGAN Abort previous command User account ID Allocate storage for forthcoming operation Append incoming data to an existing file Change to parent directory Change working directory Delete file Retrieve information Transfer list of directories Make a directory Set transfer mode Transfer a directory listing No operation User Password Request a passive open Port address Display current directory Terminate the connection Terminate and restart the connection Restart marker (restart transfer) Transfer a copy file Remove a directory Old pathname for rename command New pathname for rename command Provide service specifies Mount a file system Return status Accept and store data Accept data and store under different name File structure Query to determine operating system

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

TYPE USER

Type of Data User ID

Setelah diberikannya suatu perintah internal ftp, maka akan diberikan reply berbentuk bilangan 3 digit. Tanda pengembalian tersebut memiliki arti : / Digit pertama menunjukkan kesuksesan eksekusi suatu perintah. Digit kedua dan ketika menunjukkan informasi yang lebih detail > Digit ketiga jua menunjukkan informasi lebih tetapi bergantung dari yang detail implementasi

Digit Pertama 1.00

Keterangan Aksi dimulai. Mengharapkan balasan lain sebelum mengirim perintah baru Aksi selesai. Boleh mengirim suatu perintah baru Perintah diterima tetapi menunggu, kerna kurang informasi Perintah tidak diterima, atau diselesaikan. Terjadi error temporer. Perintah dapat dikirimkan kembali Perintah tidak dapat diterima atau diselesaikan Tabel Arti reply code digit pertama

2.00 3.00 4.00

5.00

Digit Kedua 0.00 1.00 2.00 3.00 4.00 6.00

Keterangan Kesalahan sintaks atau perintah ilegal Membalas atau menunggu informasi Membalas yang mengacu pada pengelolaan koneksi Membalas untuk perintah otentikasi Tak digunakan Membalas untuk status server Tabel Arti reply code digit kedua

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Setelah melakukan koneksi dan login ke remore host dengan menggunakan ftp, sebenarnya tidak benar-benar login ke mesin remote tersebut. Secara logikal tetap login di mesin lokal, tetapi instruksi untuk transfer file dan perpindahan direktori harus mengacu kepada mesin lokal. Langkah-langkah ini dilakukan setiap kali melakukan koneksi. User dengan menggunakan program FTP-CLient dapat mengontrol internal command ini. Beberapa perintah pada tingkatan user ditunjukkan pada Tabel 5.4. Perintah ini bergantung pada implementasi sistem. FTP Command ascii binary cd close del dir Keterangan Mode transfer dengan menggunakan ASCII Mode transfer dengan menggunakan Binary Pindah direktori Memutuskan hubungan Menghapus file di Server Menampilkan direktori yang di Server

Table 5.4. Perintah-perintah user untuk FTP FTP ini tersedia pada sebagian besar mesin UNIX. yang mengimplementasikan TCP/IP. Dengan menggunakan FTP client di mesin yang berbasiskan DOS/Windows, maka dapat dilakukan transfer data antara kedua mesin tersebut.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Instalasi server FTP FTP Server di aktifkan dengan mengeksekusi program ftp daemon yang kemudian akan sipa di background dan mendengarkan (listen) di port 21 (default) untuk siap menerima request. Yang biasa digunakan adalah wu-ftpd yang di kembangkan oleh Washington University. Seperti biasa jalankan perintah rpm #rpm -ivh wu-ftpd-x.rpm Konfigurasi server FTP File-file konfigurasi untuk Wu-Ftpd terdapat di /etc sebagai berikut : services inetd.conf ftpaccess ftphosts ftpusers FTP Server ini dijalankan oleh internet super server yang disebut inetd, suatu file yang akan menentukan cara penanganan port tertentu oleh program daemon. /etc/services Isi dari file services di /etc digunakan untuk mendefinisian port-port yang tersedia dan dapat di gunakan. ftp-data 20/tcp ftp 21/tcp Dua baris diatas yang mendefinisikan kepada inetd bahwa data dan command di ftp server menggunakan port tersebut. /etc/inetd.conf Baris yang menjalankan perintah inisialisasi ftp daemon adalah : ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a Keterangan dari baris diatas adalah : ftp menerangkan nama service stream menerangkan jenis soket yang digunakan tcp menerangkan jenis protokol yang digunakan nowait atau wait root pengguna yang menjalankan daemon tersebut, hal ini akan berkaitan dengan hak pengguna tersebut. Biasanya dituliskan dalam format user[.group] /usr/sbin/tcpd program daemon server yang dijalankan in.ftpd -l -a argumen yang diberikan pada program server /etc/ftpaccess Hal-hal yang penting dalam konfigurasi akses ftp server adalah class, deny, limit, noretrieve, loginfails, private, autogroup, dan guestgroup. Masing-masing fungsi akan dijelaskan kemudian. class Syntax : class <classname> typelist addrglobal

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Keterangan : classname : adalah nama sebutan untuk sebuah class typelist : daftar jenis user yang terdiri dari real, guest, anonymous addrglobal : dapat berupa ip address ataupun host.domain.name dapat menggunakan wildcard "*". Misal : class all real,guest,anonymous * yang berarti ftp server menerima setiap request dari real user, guest, dan anonymous dan dari mesin mana saja. deny Sintaksnya adalah : deny addrglobal message_file Misal : deny *.planet.tzo.com /etc/nggak-boleh-masuk.txt Yang berarti ftp server menolak koneksi yang berasal dari semua host di bawah domain planet.tzo.com. limit Sintaks : limit <classname> n times message_file Keterangan : n : adalah jumlah user yang diperbolehkan akses ke ftp server secara simultan times : Jarak waktu yang di tetapkan biasanya dalam hitungan hari Misalnya : class lokal real * limit lokal 100 0700-1300 /etc/kebanyakan.txt Yang berarti real user yang di perbolehkan mengakses ftp server adalah sejumlah 100 orang dari jam 7 AM-1 PM. Dan bila pengakses tersebut gagal melakukan login maka ditampilkan pesan pada file /etc/kebanyakan.txt loginfails syntax : loginfails number Fungsinya adalah untuk menentukan berapa kali seorang user boleh salah memasukkan login dan password sebelum disconnect. Misal : loginfails 3 Artinya user diberikan mencoba 3 kali memasukkan password sebelum akhirnya koneksi diputuskan bila password tidak tepat. /etc/ftphosts File ftphosts digunakan untuk akses kontrol dari ftp server. syntax : allow <username> <addrglobal> deny <username> <addrglobal> /etc/ftpusers File ini berisi daftar user yang tidak boleh akses ke ftp server

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pendahuluan LTSP (http://www.ltsp.org/) adalah suatu project yang mengeksplorasi kemampuan Linux untuk aplikasi diskless XTerminal. XTerminal merupakan salah satu model thin client yang dapat dibangun dengan platform Linux. Teknologi yang mirip sistem mainframe ini semakin populer karena dapat menghemat sumber daya hardware tanpa perlu mengurangi performance. Platform Linux yang kian berkembang dan memasyarakat telah terbukti memberikan banyak solusi alternative yang mendorong efisiensi, penghematan biaya dan kemudahan kerja. Sifatnya yang open telah melahirkan berbagai kombinasi baru dibidang teknologi informasi dan dapat dimanfaatkan oleh siapa saja yang mau memanfaatkannya. Jadi anda dapat bayangkan dengan banyak terminal komputer kita cukup menyediakan satu harddisk.Dengan demikian teknologi Thin Client, kita dapat mengoptimalkan komputer yang lama tidak kita pakai untuk dapat digunakan kembali dengan mode GUI. Ini adalah mekanisme client-server. Client di-boot menggunakan disket / bootrom yang sudah terpasang kernel Linux. Setelah kernel di-load dalam memory, ia mulai bekerja untuk mencari server yang memiliki DHCP atau Boot Protocol (BOOTP). Server yang menangkap permintaan client memeriksa terlebih dahulu apakah client tersebut sudah terdaftar sebagai komputer yang boleh masuk. Kalau ya, server me mberikan IP Address kepada client, dan selanjutnya menjalankan XWindow dimana prosesnya terjadi di server namun hasilnya tampak di client.Dilihat dari cara ker janya, sistem ini sangat cocok untuk mereka yang memiliki dua komputer atau lebih. Dengan kata lain sangat banyak institusi yang bisa memanfaatkan telnologi XTerminal seperti WarNet, perkantoran, penyewaan komputer, atau bagi mereka yang hanya sekedar mencoba untuk menggunakan Linux sebagai sistem operasi sehari-hari. Seperti kita ketahui dalam suatu jaringan jumlah server lebih sedikit ketimbang client. Sistem XTerminal sendiri bisa dipasang dengan satu server dan beberapa client, sehingga penggunaannya memberikan berbagai keuntungan seperti: - Spesifikasi komputer untuk client sangat minimal. - Upgrading hardware dan program menjadi lebih mudah karena hanya terjadi di sebuah komputer server. Akhirnya dari keseluruhan point diatas diperoleh penghematan biaya serta waktu yang digunakan untuk instalasi dan perawatan sistem.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Instalasi Setting Komputer Server Sebelum memulai mensetting komputer server, terlebih dahulu persiapkan file RPMS dari ltsp yang dibutuhkan untuk setup pada Linux SuSE 9.1 system server. File ltsp terdiri dari 3 bagian, yaitu : Lts_core-1.03-1.i386.rpm Paket core dari lts, termasuk file sistem root, didalamnya terdapat konfigurasi utility dan dokumentasi untuk komoputer terminal. Dokumentasi akan terinstall dalam direktori /usr/doc/lts-1.03. Versi dari dokumentasi ini berupa file html, sgml, postscri ript dan text. Linux kernels Pre-compiled kernel untuk booting tanpa harddisk/diskless dengan melalui lan card di dalamnya. X servers File yang akan dibutuhkan untuk mengkonfigurasi X server video card yang sesuai dengan komputer yang dipakai.

File DHCP DHCP atau dynamic host configuration program adalah program yang

mendistribusikan alamat ip pada setiap mesin yang terhubung ke dalam jaringan. Pemberian alamat ip secara dinamis ini memudahkan jaringan dengan user yang banyak.

Perencanaan Untuk Alamat IP Beberapa komputer dalam jaringan anda membutuhkan alamat ip yang ber beda antara komputer satu dengan lainnya. Kami memberikan salah satu alternatif untuk alamat ip dalam jaringan dimana alamat tersebut adalah bebas digunakan yai tu 192.168.0.0 (Class-C networks). Tentu saja anda bebas untuk memilih alamat ip yang di inginkan. Untuk komputer server, kami memberikan pilihan alamat ip 192.168.0.254, dan unutk komputer terminal dimulai dengan alamat ip 192.168.0.1 dan seterusnya keatas, ini dengan asumsi komputer terminal yang ter- hubung

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

adalah 253 dengan satu server. Jika anda membutuhkan komputer terminal lebih dari tersebut diatas, anda dapat mensetup classs-c networks yang lain dalam server. Misalnya 192.168.1.254 untuk server dan untuk komputer terminal menggunakan alamat ip antara 192.168.1.1 dan 192.168.1.253. atau, anda dapat menggunakan alamat dari class-b networks, dan dapat digunakan untuk 65533 komputer terminal yang semuanya berjalan dalam satu komputer server.

Kami memberikan nama dari komputer terminal yang sangat sederhana, dimulai de ngan ws001 dan seterusnya. Upgrade xfs packet Jika anda tidak menggunakan xfs, maka anda dapat mengabaikan dalam bagian ini. Pada lts versi 1.01,default mode yang dijalankan tidak berjalan pada xfs. Instruksi yang harus di ikuti hanyalah permintaan jika anda memilih mensetting konfigurasi parameter dari use_xfs dengan pilihan Y dalam file /tftpboot/lts/ltsroot/ etc/lts.conf Pada bagian xfs dengan suse linux versi 9.1 telah dapat menangani remote workstation. Linux suse 9.1 tidak harus mengupdate xfs dalam menjalankan remote system. Anda akan membutuhkan Xfree86-xfs-3.3.3.1-52.i386.rpm atau versi diatasnya. Jika berjalan pada 8.0 keatas, anda tidak perlu kuatir tentang packet xfs, ini akan ditangani oleh remote workstation, yang dibutuhkan atau perlu dirubah hanyalah pada startup script dan pada XF86Config file dalam server.

Dalam file /etc/rc.d/init.d/xfs ada dua baris yang perlu di edit yaitu dalam direktori /etc/rc.d/init.d/xfs pada baris 53 dan baris 73 Baris yang harus diubah pada bagian : daemon xfs -droppriv -daemon -port -1 Menjadi demon xfs -droppriv -daemon -port 7100 jadi hanya merubah -1 ke 7100 (hilangkan juga tanda -). Direktori /etc/X11/XF86Config dalam baris 25, Baris yang perlu diubah : FontPath unix/:-1 Menjadi FontPath tcp/localhost :7100 Hanya merubah unix ke tcp dan :-1 ke localhost:7100. Edit Beberapa File Konfigurasi

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pada waktu menginstall file lts_core akan menghasilkan beberapa file konfigurasi, tetapi file konfigurasi ini harus dimodifikasi untuk kebutuhan yang lebih spesifik.

/etc/inetd.conf Default pada baris dalam inetd.conf untuk bootp dan tftp server adalah tidak aktif (commented out). Hilangkan tanda # pada baris ke 52 dan baris 63 pada inetd.conf. # tftpdgram udp # bootps wait root root /usr/sbin/tcpd in.tftpd /usr/sbin/tcpd bootpd

dgram wait

/etc/X11/xdm/Xservers Harus dipastikan Jika anda menginginkan X berjalan secara otomatis pada server. Jika anda menginginkan pada saat sistem berjalan akan muncul mode grafik saat login pada terminal, anda tidak perlu kuatir tentang modifikasi file Xservers. Jika tidak menginginkan X berjalan secara otomatis saat booting pada terminal, ma ka anda perlu memberikan tanda # pada awal baris 40 dalam Xservers. : 0 local /usr/X11R6/bin/X

/etc/X11/xdm/Xaccess File kontrol ini digunakan remote terminal agar dapat berkomunikasi dengan program xdm pada server. Untuk mengaktifkan remote access, edit file dan lihat pada #* baris 40 maka host akan can dijumpai get script a seperti login berikut :

#any

window

untuk mengaktifkannya hapus tanda #pada awal baris dan pastikan tanda asterik * berada pada awal baris. Anda harus menghapus tanda # dan spasi.

/etc/X11/xdm/xdm-config File kontrol ini diaktifkan agar remote terminal dapat mengakses xdm daemon pada server. Pada baris 24 anda harus memberikan tanda # (comment out) untuk mengaktifkannya. DisplayManager.requestPort: Menjadi 0

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# DisplayManager.requestPort:

/etc/inittab Server membutuhkan xdm yang harus bisa dijalankan. Hal ini dapat dijalankan dari file /etc/inittab. Ada 3 jenis xdm yang terdapat dalam SuSE Linux sistem yaitu : gdm, kdm dan xdm. Untuk mengaktifkan xdm server perlu mengedit pada baris 18 dan baris 57 pada /etc/inittab file. X:5:respawn: /etc/X11/prefdm -nodaemon Menjadi X:5:respawn: /usr/bin/X11/xdm -nodaemon Pada kondisi normal, xdm akan berjalan jika sistem berjalan pada level 5. Sistem anda sekarang mungkin berjalan pada level 3. Untuk merubahnya pada baris 18. Id:3:initdefault: Menjadi Id:5:initdefault:

/tftpboot/lts/ltsroot/etc/inittab File konfigurasi ini digunakan untuk mengaktifkan shell pada komputer terminal ctrlalt-F1 dan ctrl-alt-F2. Anda perlu menambahkan script : 1:35:respawn:/bin/sh

/tftpboot/lts/ltsroot/etc/lts.conf Model dari hardware seperti mouse mungkin berbeda dengan type daripada server dan lainnya. Untuk mematikan fungsi tersebut berikan tanda # pada awal baris. Sebagai contoh : [Default] XSERVER SERVER X_MOUSE_PROTOCOL X_MOUSE_DEVICE = XF86_SVGA = 192.168.0.254 = PS/2 = /dev/psaux

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

X_MOUSE_RESOLUTION = 400 X_MOUSE_BUTTONS USE_XFS UI_MODE [ws001] XSERVER X_MOUSE_PROTOCOL X_MOUSE_DEVICE = XF86_SVGA = Microsoft = /dev/ttyS1 =Y = GUI =3

X_MOUSE_RESOLUTION = 50 X_MOUSE_BUTTONS X_MOUSE_BAUD [ws002] XSERVER [ws003] XSERVER X_COLOR_DEPTH USE_XFS [ws004] UI_MODE /etc/dhcpd.conf Sebelum mengaktifkan dhcpd server anda perlu membuat file dhcpd.conf pada direktori /etc dengan perintah mcedit /etc/dhcpd.conf, setelah membuat file tersebut masukkan beberapa script kedalamnya dan sesuaikan antara alamat ip dengan alamat dari masing-masing lan card komputer terminal. = CHAR =N = XF86_SVGA = 24 = XF86_Mach64 =3 = 1200

Default-lease-time 21600; Max-lease-time 21600; Option subnet-mask Option broadcast-address Option routers Option domain-name-servers Option domain-name 255.255.255.0; 192.168.0.255; 192.168.0.254; 192.168.0.254; localhost;

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Option netbios-name-servers Shared-network workstation

192.168.0.254; { {

Subnet 192.168.0.0 netmask 255.255.255.0 } } group { use-host-decl-names option log-servers on;

192.168.0.254;

host ws001 { hardware ethernet fixed-address filename } 00:00:2D:C7:B6:D6; 192.168.0.1; /tftpboot/lts/vmlinuz.all;

host ws002 { hardware ethernet fixed-address filename } } 00:2D:21:F4:B6:D6; 192.168.0.2; /tftpboot/lts/vmlinuz.all;

kemudian jalankan dhcp, maka anda akan menemui perintah untuk membuat file pada direktori /var/state/dhcp/dhcpd.leases dan create file tsb serta isikan tulisan sembarang, karena direktori ini merupakan file temporary untuk dhcpd dan aktif kan service dhcpd untuk mengaktifkan dhcpd secara otomatis saat boot. Sebelum anda mencoba mereboot komputer terminal, anda harus memasukkan juga nama komputer terminal, nama server dan juga alamat ip dari masing-masing komputer terminal dan server dalam file direktori /etc/hosts.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Dasar Routing Routing Lansung dan Tidak Langsung Seperti telah disebutkansebelumnya, proses pengiriman datagram IP selalu menggunakan tabel routing. Tabel routing berisi informasi yang diperlukan untuk menentukan ke mana datagram harus di kirim. Datagram dapat dikirim langsung ke host tujuan atau harus melalui host lain terlebih dahulu tergantung pada tabel routing.

osiris 132.96.11.1 0:80:48:e3:d2:69

seth 132.96.11.2 0:80:ad:17:96:34 132.96.12.9 0:80:48:ea:35:9a

132.96.11.0

132.96.11.3 0:20:4c:30:29:29

khensu 132.96.36.6 0:80:48:ea:35:10


132.96.36.0

132.96.12.0

isis 132.96.12.8 0:80:ad:a7:96:f5

khnemu 132.96.12.7 0:40:95:11:2:b5

toth 132.96.36.4 0:80:ad:a6:b6:65

anubis 132.96.36.5 0:80:ad:a7:a3:81

Gambar Jaringan TCP/IP

Gambar diatas memperlihatkan jaringan TCP/IP yang menggunakan teknologi Ethernet. Pada jaringan tersebut host osiris mengirimkan data ke host seth, alamat tujuan datagram adalah seth dan alamat sumber datagram adalah osiris. Frame yang dikirimkan oleh host osiris juga memiliki alamat tujuan frame seth dan alamat sumbernya adalah osiris. Pada saat osiris mengirimkan frame, seth

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

membaca bahwa frame tersebut ditujukan kepada alamat ethernetnya. Setelah melepas header frame, seth kemudian mengetahui bahwa IP address tujuan datagram tersebut juga adalah IP addressnya. Dengan demikian set meneruskan datagram ke lapisan transport untuk diproses lebih lanjut. Komunikasi model seperti ini disebut sebagai routing langsung.

132.96.11.2

132.96.11.1

132.96.11.3

IP Pengirim: 132.96.11.1 Ethernet Address:0:80:48:e3:d2:69 IP Target: 132.96.11.2 Ethernet Address:0:80:ad:17:96:34

Gambar Routing langsung

Pada gambar diatas terlihat bahwa osiris dan anubis terletak pada jaringan Ethernet yang berbeda. Kedua jaringan tersebut dihubungkan oleh khensu. Khensu memiliki lebih dari satu interface dan dapat melewatkan datagram daari satu interface ke intreface lain (atau bertindak sebagai router). Ketika mengirimkan data ke anubis, osiris memeriksa tabel routing dan mengetahui bahwa data tersebut harus melewati khensu terlebih dahulu. Dengan kondisi seperti ini datagram yang dikirim osiris ke anubis memiliki alamat tujuan anubis dan alamat sumber osiris tetapi frame ethernet yang dikirimnya diberi alamat tujuan khensu dan alamat sumber osiris.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

IP pengirim: 132.96.11.1 Ethernet Address:0:80:48:ea:35:10 IP target: 132.96.36.5 Ethernet Address:0:80:ad:a7:a3:81

132.96.36.4

132.96.36.5

132.96.36.6

132.96.11.1

132.96.11.2

132.96.11.3

IP pengirim: 132.96.11.1 Ethernet Address:0:80:48:e3:d2:69 IP target: 132.96.36.5 Ethernet Address:0:20:4c:30:29:29

Gambar Routing tak langsung

Ketika osiris mengirimkan frame ke jaringan, khensu membaca bahwa alamat ethernet yang dituju frame tersebut adalah alamat ethernetnya. Ketika khensu melepas header frame, diketahui bahwa host yang dituju oleh datagram adalah host anubis. Khensu kemudian memeriksa tabel routing yang dimilikinya untuk meneruskan datagram tersebut. Dari hasil pemeriksaan tabel routing, khensu mengetahui bahwa anubis terletak dalam satu jaringan ethernet dengannya. Dengan demikian datagram tersebut dapat langsung disampaikan oleh khensu ke anubis. Pada pengiriman data tersebut, alamat tujuan dan sumber datagram tetap anubis dan osiris tetapi alamat tujuan dan sumber frame Ethernet menjadi anubis dan khensu. Komunikasi seperti ini disebut sebagai routing tak langsung karena untuk mencapai host tujuan, datagram harus melewati host lain yang bertidak sebagai router.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pada dua kasus diatas terlihat proses yang terjadi pada lapisan internet ketika mengirimkan dan menerima datagram. Pada saat mengirimkan datagram, host harus memeriksa apakah alamat tujuan datagram terletak pada jaringan yang sama atau tidak. Jika lamat tujuan datagram terletak pada jaringan yang sama , datagram dapat langsung disampaikan. Jika ternyata alamat tujuan datagram tidak terletak pada jaringan yang sama, datagram tersebut harus disampaikan melalui host lain yang bertindak sebagai router. Pada saat menerima datagram host harus memeriksa apakah ia merukapakan tujuan dari datagram tersebut. Jika memang demikian maka data diteruskan ke lapisan transport. Jika ia bukan tujuan dari datagram tersebut, maka datagram tersebut dibuang. Jika host yang menerima datagram tersebut sebuah router, maka ia meneruskan datagram ke interface yang menuju alamat tujuan datagram.

Jenis Konfigurasi Routing Konfigurasi routing secara umum terdiri dari 3 macam yaitu : Minimal Routing

Dari namanya dapat diketahui bahwa ini adalah konfigurasi yang paling sederhana tapi mutlak diperlukan. Biasanya minimal routing dipasang pada network yang terisolasi dari network lain atau dengan kata lain hanya pemakaian lokal saja. Static Routing

Konfigurasi routing jenis ini biasanya dibangun dalam network yang hanya mempunyai beberapa gateway, umumnya tidak lebih dari 2 atau 3. Static routing dibuat secara manual pada masing-masing gateway. Jenis ini masih

memungkinkan untuk jaringan kecil dan stabil. Stabil dalam arti kata jarang down. Jaringan yang tidak stabil yang dipasang static routing dapat membuat kacau seluruh routing, karena tabel routing yang diberikan oleh gateway tidak benar sehingga paket data yang seharusnya tidak bisa diteruskan masih saja dicoba sehingga menghabiskan bandwith. Terlebih menyusahkan lagi apabila network semakin berkembang. Setiap penambahan sebuah router, maka router yang telah ada sebelumnya harus diberikan tabel routing tambahan secara

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

manual. Jadi jelas, static routing tidak mungkin dipakai untuk jaringan besar, karena membutuh effort yang besar untuk mengupdatenya.

Dynamic Routing

Dalam sebuah network dimana terdapat jalur routing lebih dari satu rute untuk mencapat tujuan yang sama biasanya menggunakan dynamic routing. Dan juga selain itu network besar yang terdapat lebih dari 3 gateway. Dengan dynamic routing, tinggal menjalankan routing protokol yang dipilih dan biarkan bekerja. Secara otomatis tabel routing yang terbaru akan didapatkan. Seperti dua sisi uang, dynamic routing selain menguntungkan juga sedikit merugikan. Dynamic routing memerlukan routing protokol untuk membuat tabel routing dan routing protokol ini bisa memakan resource komputer. Routing Protocol Protokol routing merupakan aturan yang mempertukarkan informasi routing yang nantinya akan membentuk tabel routing sedangkan routing adalah aksi pengiriman-pengiriman paket data berdasarkan tabel routing tadi. Semua routing protokol bertujuan mencari rute tersingkat untuk mencapai tujuan. Dan masing-masing protokol mempunyai cara dan metodenya sendirisendiri. Secara garis besar, routing protokol dibagi menjadi Interior Routing Protocol dan Exterior Routing Protocol. Keduanya akan diterangkan sebagai berikut : Interior Routing Protocol Sesuai namanya, interior berarti bagian dalam. Dan interior routing protocol digunakan dalam sebuah network yang dinamakan autonomus systems (AS) . AS dapat diartikan sebagai sebuah network (bisa besar atau pun kecil) yang berada dalam satu kendali teknik. AS bisa terdiri dari beberapa sub network yang masingmasingnya mempunyai gateway untuk saling berhubungan. Interior routing protocol mempunyai beberapa macam implemantasi protokol, yaitu : RIP (Routing Information Protocol) Merupakan protokol routing yang paling umum dijumpai karena biasanya sudah included dalam sebuah sistem operasi, biasanya unix atau novell. RIP

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

memakai

metode

distance-vector

algoritma.

Algoritma

ini

bekerja

dengan

menambahkan satu angka metrik kepada ruting apabila melewati satu gateway. Satu kali data melewati satu gateway maka angka metriknya bertambah satu ( atau dengan kata lain naik satu hop ). RIP hanya bisa menangani 15 hop, jika lebih maka host tujuan dianggap tidak dapat dijangkau. Oleh karena alasan tadi maka RIP tidak mungkin untuk diterapkan di sebuah AS yang besar. Selain itu RIP juga mempunyai kekurangan dalam hal network masking. Namun kabar baiknya, implementasi RIP tidak terlalu sulit ika dibandingkan dengan OSPF yang akan diterangkan berikut ini.

OSPF (Open Shortest Path First) Merupakan protokol routing yang kompleks dan memakan resource komputer. Dengan protokol ini, route dapat dapat dibagi menjadi beberapa jalan. Maksudnya untuk mencapai host tujuan dimungkinkan untuk mecapainya melalui dua atau lebih rute secara paralel. Lebih jauh tentang RIP dan OSPF akan diterangkan lebih lanjut.

Exterior Protocol AS merupakan sebuah network dengan sistem policy yang pegang dalam satu pusat kendali. Internet terdiri dari ribuan AS yang saling terhubung. Untuk bisa saling berhubungan antara AS, maka tiap-tiap AS menggunakan exterior protocol untuk pertukaran informasi routingnya. Informasi routing yang dipertukarkan bernama reachability information (informasi keterjangkauan). Tidak banyak router yang menjalankan routing protokol ini. Hanya router utama dari sebuah AS yang menjalankannya. Dan untuk terhubung ke internet setaip AS harus mempunyai nomor sendiri. Protokol yang mengimplementasikan exterior :

EGP (Exterior Gateway Protocol) Protokol ini mengumumkan ke AS lainnya tentang network yang berada di bawahnya. Pengumumannya kira-kira berbunyi : " Kalau hendak pergi ke AS nomor sekian dengan nomor network sekian, maka silahkan melewati saya" .

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Router

utama

menerima

routing

dari

router-router

AS

yang

lain

tanpa

mengevaluasinya. Maksudnya, rute untuk ke sebuah AS bisa jadi lebih dari satu rute dan EGP menerima semuanya tanpa mempertimbangkan rute terbaik.

BGP (Border Gateway Protocol) BGP sudah mempertimbangkan rute terbaik untuk dipilih. Seperti EGP, BGP juga mepertukarkan reachability information.

IP ROUTING & ROUTING PROTOKOL Penjelasan Dalam network sederhana sekali pun, sebuah paket data perlu tahu jalan yang akan dia tempuh untuk sampai ke tujuan. Untuk mengetahuinya paket data tadi sudah disertai alamat tujuan pada headernya. Alamat tersebut apabila memungkinkan untuk dicapai, maka paket tadi akan diteruskan sampai tujuan, jika tidak paket maka akan dikembalikan. Informasi routing diperlukan untuk mengetahui apakah tujuan bisa dicapai atau tidak. Informasi routing tadi bisa didapatkan dengan bermacam-macam konfigurasi routing. Pemilihan metode konfigurasi tergantung dari banyaknya

gateway yang terdapat dalam network tersebut dan kompleksitasnya. Konsep routing adalah hal yang utama pada lapisan internet di jaringan TCP/IP. Hal ini karena pada lapisan internet terjadi pengalamatan (addressing). Kita coba perhatikan kembali aliran data pada arsitektur TCP/IP. Data dari lapisan aplikasi disampaikan ke lapisan transport dengan diberi header TCP atau UDP tergantung jenis aplikasinya. Setelah itu segmen TCP atau UDP disampaikan ke lapisan IP dan diberi header, termasuk alamat asal dan tujuan datagram. Pada saat ini host harus melakukan routing dengan melihat tabel routing. Setelah melihat tabel routing, datagram diteruskan ke lapisan network interface dan diberi header dengan alamat tujuan yang sesuai. Untuk lebih jelasnya, kita perhatikan jaringan TCP/IP yang menggunakan teknologi Ethernet. Setiap frame ethernet (Ethernet II) mengandung alamat tujuan dan asal, tipe protokol, dan data. Alamat tujuan dan asal adalah sebuah bilangan 48

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

bit. Setiap card ethernet memiliki alamat ethernet yang unix (MAC address). Agar datagram dapat diterima oleh sebuah host tujuan, datagram harus dimasukan dalam frame dengan alamat ethernet tujuan yang sama dengan alamat card ethernet host tujuan. Proses ini juga bagian dari routing, yaitu pada saat mengirimkan datagram IP bagaimana menentukan alamat Ethernet host tujuan datagram tersebut? ARP Untuk keperluan mapping IP address ke Alamat Ethernet maka di buat

protokol ARP (Address Resolution Protocol). Proses mapping ini dilakukan hanya untuk datagram yaang dikirim host karena pada saat inilah host menambahkan header Ethernet pada datagram. Penerjemahan dari IP address ke alamat Ethernet dilakukan dengan melihat sebuah tabel yang disebut sebagai cache ARP, lihat tabel Entri cache ARP berisi IP address host beserta alamat Ethernet untuk host tersebut. Tabel ini diperlukan karena tidak ada hubungan sama sekali antara IP address dengan alamat Ethernet. IP address suatu host bergantung pada IP address jaringan tempat host tersebut berada, sementara alamat Ethernet sebuah card bergantung pada alamat yang diberikan oleh pembuatnya. Tabel Cache ARP IP address 132.96.11.1 132.96.11.2 132.96.11.3 Alamat Ethernet 0:80:48:e3:d2:69 0:80:ad:17:96:34 0:20:4c:30:29:29

Mekanisme penterjemahan oleh ARP dapat dijelaskan sebagai berikut. Misal suatu host A dengan IP address 132.96.11.1 baru dinyalakan, lihat Gambar 1. Pada saat awal, host ini hanya mengetahui informasi mengenai interface-nya sendiri, yaitu IP address, alamat network, alamat broadcast dan alamat ethernet. Dari informasi awal ini, host A tidak mengetahui alamat ethernet host lain yang terletak satu network dengannya (cache ARP hanya berisi satu entri, yaitu host A). Jika host memiliki route default, maka entri yang pertama kali dicari oleh ARP adalah router default tersebut. Misalkan terdapat datagram IP dari host A yang ditujukan kepada host B yanng memiliki IP 132.96.11.2 (host B ini terletak satu subnet dengan host A). Saat

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

ini yang diketahui oleh host A adalah IP address host B tetapi alamat ethernet B belum diketahui.

Alamat IP 132.96.11.1 132.96.11.1

Alamat Ethernet 0:80:48:e3:d2:69

Gambar cache ARP awal Agar dapat mengirimkan datagram ke host B, host A perlu mengisi cache ARP dengan entri host B. Karena cache ARP tidak dapat digunakan untuk menerjemahkan IP address host BB menjadi alamat Ethernet, maka host A harus melakukan dua hal yaitu : Mengirimkan paket ARP request pada seluruh host di network menggunakan alamat broadcast Ethernet (FF:FF:FF:FF:FF:FF) untuk meminta jawaban ARP dari host B, lihat gambar 2. Menempatkan datagram IP yang hendak dikirim dalam antrian.

Paket ARP request yang dikirim host A kira-kira berbunyi Jika IP address-mu adalah 132.96.11.2, mohon beritahu alamat Ethernet-mu. Karena paket ARP request dikirim ke alamat broadcast Ethernet, setiap interface Ethernet komputer yang ada dalam satu subnet (jaringan) dapat mendengarnya. Setiap host dalam jaringan tersebut kemudian memeriksa apakah IP addressnya sama dengan IP address yang diminta oleh host A.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

132.96.11.1

132.96.11.2

132.96.11.3

IP pengirim: 132.96.11.1 Ethernet Address:0:80:48:e3:d2:69 IP target: 132.96.11.2 Ethernet Address:0:80:ad:17:96:34

Gambar Paket ARP request

Host B yang mengetahui bahwa yang diminta oleh host A adalah IP address yang dimilikinya langsung memberikan jawaban dengan mengirimkan paket ARP response langsung ke alamat ethernet pengirim (host A), seperti terlihat pada gambar 3. Paket ARP request tersebut kira-kira berbunyi IP address 132.96.11.2 adalah milik saya, sekarang saya berikan alamat ethernet saya.

132.96.11.1

132.96.11.2

132.96.11.3

IP Pengirim: 132.96.11.2 Ethernet Address:0:80:ad:17:96:34 IP Target: 132.96.11.1 Ethernet Address:0:80:48:e3:d2:69


Gambar Paket ARP response

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Paket ARP request dari host B tersebut diterima oleh host A dan host A kemudian menambahkan entri IP addresss host B beserta alamat Ethernet-nya ke dalam cache ARP, lihat gambar 4.

Alamat IP 132.96.11.1 132.96.11.2 132.96.11.1

Alamat Ethernet 0:80:48:e3:d2:69 0:80:ad:17:96:34

Gambar Cache ARP setelah penambahan entri host B Saat ini host A telah memiliki entri untuk host B di tabel cache ARP, dengan demikian datagram IP yang semula dimasukkan ke dalam antrian dapat diberi header Ethernet dan dikirim ke host B. Secara ringkas proses ARP adalah: 1. Host mengirimkan paker ARP request dengan alamat broadcast Etehrnet. 2. Datagram IP yang dikirim dimasukkan ke dalam antrian. 3. Paket ARP respon diterima host dan host mengisi tabel ARP dengan entri baru. 4. Datagram IP yang terletak dalam antrian diberi header Ethernet. 5. Host mengirimkan frame Ethernet ke jaringan.

Setiap data ARP yang diperoleh disimpan dalam tabel cache ARP dan cache ini diburi umur. Setiap umur entri tersebut terlampaui, entri ARP dihapus dari tabel dan untuk mengisi tabel. Jika host akan mengirimkan datagram ke host yang sudah dihapus dari cache ARP, host kembali perlu melakukan langkah-langkah diatas. Dengan cara ini dimungkinkan terjadinya perubahan isi cache ARP yang dapat menunjukkan dinamika jaringan. Jika sebuat host di jaringan dimatikan, maka selang beberapa saat kemudian entri ARP untuk host tersebut dihapus karena kadaluarsa. Jika card ethernetnya diganti, maka beberapa saat kemudian entri ARP host berubah dengan informasi alamat ethernet yang baru.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Routing Information Protokol Penjelasan RIP kepanjangan dari Routing Information protocol. Pada setiap sistem unix secara default sudah mendukung penggunaan RIP. Aplikasi RIP pada unix bernama routed ( routing daemon ).

Cara Kerja RIP bekerja dengan nilai metrik. Setiap router yang menjalankan RIP membuat permintaan untuk update routing dari router atau host lainnya yang berada satu network dengannya. Router yang mendengar adanya permintaan tadi akan memberikan tabel routingnya kepada yang meminta. Update tabel routing tadi memuat informasi alamat tujuan beserta metriknya. Sebagai contoh, untuk melihat tabel routing pada unix , tinggal ketik perintah : [radar] # netstat -nr Routing tables Internet: Destination default 127.0.0.1 Gateway 167.205.48.33 127.0.0.1 Flags UGSc UH UC UHLW UHLW Refs 1 1 0 2 Use 734 734 0 2 Netif Expire ed0 lo0 ed0 ed0 lo0

167.205.48.32/27 link#1 167.205.48.33 167.205.48.57 0:80:ad:b7:9c:87 0:80:48:af:d5:e3

1 10052

Routed secara periodik meminta request update routing. Hasil respon tadi, sebelum dimasukkan ke dalam kernel table routing ( KRT ) diperiksa terlebih dahulu. Apabila ada routing untuk ke alamat yang baru , yang belum ada sebelumnya, maka routing tadi dimasukkan ke dalam KRT. Apabila ternyata tidak ada yang baru, maka update tadi tidak dimasukkan. Lain halnya jika alamat yang sudah ada berubah metriknya menjadi lebih kecil. Mengecilnya metrik membuat jalur rute yang lebih pendek dan oleh karena itu diputuskan untuk dimasukkan ke dalam KRT.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Metrik dalam RIP dapat dibayangkan sebagai jumlah hop untuk mencapat sebuah alamat. bawah ini. Skema Jaringan
Subnet 10 Subnet 13 Subnet 14

Untuk lebih mudah membayangkannya, lihat skema network di

Router 1 Subnet 11

Router 4

Router 5

Subnet 15

Router 2 Subnet 12

Router 3

Router 1 memerlukan 1 hop untuk mencapat router 2 dalam artian router 1 dapat menjangkau router 2 secara lansung karena berada pada satu network yang sama. Hal ini juga berlaku untuk router 2 dan 3. Sedangkan untuk menuju router 3, router 1 memerlukan 2 hop. Pertama melewati router 2 lalu sampai di tujuan, router 3. Demikian seterusnya. Jumlah hop ini dapat dianalogikan dengan metrik. Selain mengupdate KRT dengan routing yang baru, routed juga menghapus tabel routing. Tabel yang dihapus karena dua sebab, yaitu : mempunyai metrik lebih dari 15. metrik yang berharga 16 dianggap infinity, tidak dapat dijangkau. Tidak mendapatkan update yang semestinya dikirimkan secara periodik. Secara deafult routed meminta update routing setaip 30 detik. Apabila waktu tersebut terlampaui, maka alamat yang tadinya ada, namun tidak terupdate, akan dihapus dari KRT. Seperti pada contoh di atas, apabila router 1 tidak memberikan respon

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

kepada router 2, maka router 2 akan menghapus subnet 10 dari alamt tujuan di KRT. Subnet 10 dianggap tidak dapat dijangkau.

Implementasi routed Untuk menjalankan routed sederhana saja, tinggal ketik : # routed Option yang ada pada routed, seperti : -s memaksa routed untuk memberikan informasi routing. Routed secara otomatis menjalankan option ini sewaktu ditemukan adanya 2 network interface atau lebih. Dengan demikian, host ini menjadi router dengan di enable nya fungsi forwarding pada kernel. -q Dengan option ini, host tidak memberikan informasi routing, melainkan hanya menerima update saja. Host yang demikian bukanlah sebuah router.

Kelemahan RIP Dalam implementasi RIP memang mudah untuk digunakan, namun RIP mempunyai masalah serius pada Autonomous System yang besar, yaitu : 4.1 Terbatasnya diameter network Telah disebutkan sedikit di atas bahwa RIP hanya bisa menerima metrik sampai 15. Lebih dari itu tujuan dianggap tidak terjangkau. Hal ini bisa menjadi masalah pada network yang besar. 4.2 Konvergensi yang lambat Untuk menghapus entry tabel routing yang bermasalah, RIP mempunyai metode yang tidak efesien. Seperti pada contoh skema network di atas, misalkan subnet 10 bernilai 1 hop dari router 2 dan bernilai 2 hop dari router 3. Ini pada kondisi bagus, namun apabila router 1 crash, maka subnet 3 akan dihapus dari tabel routing kepunyaan router 2 sampai batas waktu 180 detik. Sementara itu, router 3 belum mengetahui bahwa subnet 3 tidak terjangkau, ia masih mempunyai tabel routing yang lama yang menyatakan subnet 3 sejauh 2 hop ( yang melalui router 2 ). Waktu subnet 3 dihapus dari router 2, router 3 memberikan informasi ini

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

kepada router 2 dan router 2 melihat bahwa subnet 3 bisa dijangkau lewat router 3 dengan 3 hop ( 2 + 1 ).Karena ini adalah routing baru maka ia akan memasukkannya ke dalam KRT. Berikutnya, router 2 akan mengupdate routing table dan memberikannya kepada router 3 bahwa subnet 3 bernilai 3 hop. Router 3 menerima dan menambahkan 1 hop lagi menjadi 4. Lalu tabel routing diupdate lagi dan router 2 meneriman informasi jalan menuju subnet 3 menjadi 5 hop. Demikian seterusnya sampai nilainya lebih dari 30. Routing atas terus menerus looping sampai nilainya lebih dari 30 hop.

4.3 Tidak bisa membedakan network masking lebih dari /24 RIP membaca ip address berdasarkan kepada kelas A, B dan C. Seperti kita ketahui bahwa kelas C mempunyai masking 24 bit. Dan masking ini masih bisa diperpanjang menjadi 25 bit, 26 bit dan seterusnya. RIP tidak dapat

membacanya bila lebih dari 24 bit. Ini adalah masalah besar, mengingat masking yang lebih dari 24 bit banyak dipakai. Hal ini sudah dapat di atasi pada RIPv2.

OPEN SHORTEST PATH FIRST Pendahuluan OSPF merupakan interior routing protocol yang kepanjangan dari Open Shortest Path First. OSPF di desain olrh IETF ( Internet Engineering Task Force ) yang pada mulanya dikembangkan dari algoritma SPF ( shortest path first ). Hampir tidak berbeda dengan IGRP ( Interior Gateway Routing Protocol ) pada tahun 80-an. Pada awalnya RIP adalah routing protokol yang umum dipakai, namun ternyata untuk AS yang besar, RIP sudah tidak memadai lagi.

OSPF diturunkan dari beberapa periset seperti Bolt, Beranek, Newmans. Protokol ini bersifat open yang berarti dapat diadopsi oleh siapa pun. OSPF dipublikasikan pada RFC nomor 1247.

Karakteristik Open Shortest Path First (OSPF): Menggunakan Algoritma link-state

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Membutuhkan waktu CPU dan memori yang besar Tidak menyebabkan routing loop Dapat membentuk heirarki routing menggunakan konsep area Cepat mengetahui perubahan pada jaringan Dapat menggunakan beberapa metrik

Cara Kerja OSPF OSPF bekerja dengan link-state protocol yang memungkinkan untuk membentuk tabel routing secara hirarki. Sebelum berlanjut ke dalamnya, perlu dijelaskan sedikit istilah-istilah umum dalam OSPF, yaitu : Area Area yaitu letak dimana berada sebuah kumpulan network, router dan host biasa. Area di sini bukan berarti area fisik. Backbone Backbone adalah area yang khusus dimana area-area saling terhubungkan. Seluruh area yang ada, harus terhubung ke backbone. Stub Area Adalah area dimana hanya terdapat satu buah gateway / router, tidak ada alternatif lainnya.

OSPF bekerja dengan membentuk sebuah peta network yang dipelajari berdasarkan informasi dari router-router yang berada dalam neighbour. Peta tersebut akan berpusat pada local host. Dari localhost host tersebut akan ada cost untuk menuju network lain yang ditentukan dari hasil perhitungan. Untuk memudahkan penggambarannya, mari kita bangun sebuah network imaginer demikian :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Subnet 10

Subnet 13

Subnet 14

Router 1 Subnet 11

Router 4

Router 5

Subnet 15

Router 2 Subnet 12

Router 3

Gambar Skema Jaringan

Keterangan Router 1 terhubung ke subnet 10 dan 11 Router 2 terhubung ke subnet 11 dan 12 Router 3 terhubung ke subnet 12 dan 15 Router 4 terhubung ke subnet 13 dan 15 Router 5 terhubung ke subnet 14 dan 15 Pertama-tama network diatas akan dibagi menjadi beberapa area, yaitu : Area 1 : 10 ( stub area karena hanya mempunyai 1 router ) Area 2 : 11 dan 12 Area 3 : 13 , 14 dan 15 Dan masing-masing router mempunyai neighbour : Router 1 mempunyai neighbour router 2 Router 2 mempunyai neighbour router 1 dan 3 Router 3 mempunyai neighbour router 2, 4 dan 5 Router 4 mempunyai neighbour router 3 dan 5 Router 5 mempunyai neighbour router 3 dan 4 Router 1 menggambarkan peta network seperti demikian :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Router 1 ( 0 )

cost 10

Router 2 ( 10 )

cost 10

Router 3 ( 20 )

cost 10

cost 10

cost 10

Router 4 ( 30 )

Router 5 ( 30 )

cost 10

cost 10

Router 5 ( 40 )

Router 4 ( 40 )

Gambar Peta Jaringan

Sebagai localhost, router 1 bernilai 0. Lalu router 2 yang behubungan secara direct dengan router 1 diberikan cost 10 ( 0 + 10 ). Lalu dari router 2 berhubungan dengan router 3 yang bernilai 20 ( 0 + 10 + 10 ) dan pada akhirnya router 4 dan 5 bernilai 30. Masing-masing link bernilai 10, yang berarti apabila link tersebut dilewati, maka harganya harus ditambahkan 10. Seperti pada contoh router 2 yang bernilai 20 merupakan hasil pertambahan 0 + 10 + 10. Lalu pada bagian paling bawah dari gambar, ada router 4 dan 5 yang bernilai 40. Hal ini disebabkan router 4 bisa berhubungan lansung dengan 5 tanpa melalui router 3 dan itu akan menambah cost sebanyak 10 lagi. Demikian juga yang terjadi pada router 5 yang bisa dicapai melalui router 4, tanpa router 3. Namun pada akhirnya, cost terrendahlah yang dipilih dalam tabel routing. Yaitu yang bernilai 30 sedangkan 40 dibuang.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Membentuk Routing Table Setiap host pada TCP/IP Network harus memiliki tabel routing agar dapat menentukan jalan untuk mencapai tujuan dari paket-paket yang akan dikirimkannya. Tabel routing secara otomatis akan terbentuk pada saat interface dikonfigurasi. Tabel routing pada tahap ini adalah tabel routing minimal. Perhatikan gambar 3-4. Untuk melihat tabel routing pada host dengan IP Address 167.205.20.3 ( Token Ring ) dalam bentuk numerik, dipakai perintah berikut :

$ netstat -nr Routing tables Destination Gateway 127.0.0.1 167.205.20.0 127.0.0.1 Flags Refcnt UH 1 35 Use 105 3075 lo0 ed0 Interface

167.205.20.3 U

Bagian pertama dari tabel routing merupakan rute loopback ke localhost. Setiap host TCP/IP akan memiliki rute ini. Bagian kedua merupakan rute ke network 167.205.20.0 melalui interface ed0. Network ini adalah network lokal. Address 167.205.20.3 bukanlah remote gateway, melainkan address yang telah di-assign untuuk interface ed0. Perhatikan bahwa nomor network 167.205.20.0 muncul akibat parameter mask pada waktu konfigurasi interface dengan subnetmask 255.255.255.0. Tanpa adanya subnetmask, network address yang muncul adalah 167.205.0.0 ( Standar kelas B ). Option pada kolom Flag: Flag U ( up ) menandakan interface telah siap dipakai. Flag H ( host ) menandakan hanya satu host yang dapat dicapai melalui rute ini. Berarti, rute ini hanya menuju ke host tertentu ( bedakan dengan rute ke suatu network yang mungkin memiliki puluhan / ratusan host ). Kebanyakan rute yang ada pada routing table menuju ke network, bukan ke host tertentu. Hal ini untuk memperkecil ukuran routing table. Suatu instansi mungkin hanya

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

memiliki satu network, tetapi network tersebut mungkin terdiri dari ratusan host. Mudah dimengerti bahwa jika seluruh IP Address dari host yang ada pada network tujuan dimasukkan dalam routing table, ukurannya akan membengkak dengan cepat. Cukup nomor networknya saja yang dicantumkan karena telah mewakili nomor seluruh host pada network tersebut. Flag b Flag C Flag c alamat broadcast rute sedang digunakan sama seperti flag sebelumnya, tapi flag ini menunjuk ke protokol

yang spesifik Flag G Flag S rute memerlukan gatway lagi ditambah secara manual

Untuk akses ke network yang lain, network token ring di atas hanya memiliki satu gateway, yakni yang ber-IP Address 167.205.20.11. Untuk itu, seluruh host yang ada pada network token ring ( kecuali gateway ) dapat menambahkan default routing sbb : # route -n add default 167.205.20.11 1 add net default: gateway 167.205.20.11

Dengan perintah ini, rute ke seluruh network ( selain network lokal ) akan ditempuh melalui gateway 1 (167.205.20.11). Option -n tidak harus digunakan. Option tersebut hanya untuk menampilkan address secara numerik untuk menghindari permintaan ke Name Server yang belum tentu bekerja. Metric 1 dipakai sebagai metric terkecil untuk rute melalui gateway ekstenal, untuk memberikan prioritas tertinggi pada rute ini. Jika kita periksa kembali routing table setelah memasukkan default routing ini, akan muncul sbb :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

$ netstat -nr Routing tables Destination 127.0.0.1 default Gateway 127.0.0.1 Flags Refcnt Use UH 1 0 35 105 0 3075 ed0 ed0 Interface lo0

167.205.20.11 UG

167.205.20.0 167.205.20.3 U

Pada routing table di atas terlihat adanya entri default routing. Flag G menandakan rute default ini melalui eksternal gateway ( host 167.205.20.11 ). Pada network Ethernet ( 167.205.22.0 ) ada 3 buah gateway. Untuk host-host pada network ini, routing table dapat dibentuk secara statis. Misalkan kita berada pada host 167.205.22.3. Network 167.205.20.0 dapat dicapai melalui gateway 1 (167.205.22.5), network 44.132.1.0 melalui gateway 2 (167.205.22.18) dan akses ke network yang lebih besar, misalkan ke Internet Provider, dicapai melalui gateway 3 (167.205.22.20). Untuk itu, setelah routing minimal dapat ditambahkan perintah routing sbb : # route -n add 167.205.20.0 167.205.22.5 1 add net 167.205.20.0: gateway 167.205.22.5 # route -n add 44.132.1.0 167.205.22.18 1 add net 44.132.1.0: gateway 167.205.22.18 # route -n add default 167.205.22.20 1 add net default: gateway 167.205.22.20

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Routing table akan bertambah menjadi :

$ netstat -nr Routing tables Destination 127.0.0.1 Gateway 127.0.0.1 Flags Refcnt Use UH U UG UG UG 1 28 0 0 0 105 9808 0 0 0 Interface lo0 ed0 ed0 ed0 ed0

167.205.22.0 167.205.22.3 default 167.205.22.20

167.205.20.0 167.205.22.5 44.132.1.0 167.205.22.18

Agar routing table terbentuk pada saat start up komputer, perlu di set routing statis dengan beberapa modifikasi sbb : Tambahkan static routing yang diinginkan sesuai konfigurasi network Non-aktifkan semua perintah dari file startup yang menjalankan protokol routing. Untuk host di atas, edit file rc.local untuk menambahkan statement route sbb: route -n add default 167.205.22.20 1 > /dev/console route -n add 167.205.20.0 167.205.22.5 1 > /dev/console route -n add 44.132.1.0 167.205.22.18 1 > /dev/console

Startup file untuk setiap sistem mungkin saja berbeda, tetapi pada dasarnya memiliki prosedur yang sama. Bacalah selalu dokumentasi dari sistem anda.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Dasar-Dasar Security
Pendahuluan Keamanan komputer maupun jaringan komputer, terutama yang terhubung ke internet harus direncanakan dan dikoordinasikan dengan baik agar dapat melindungi sumber daya (resource) dan investasi di dalamnya. Informasi (data) dan service (pelayanan) sudah menjadi sebuah komoditi yang sangat penting. Kemampuan untuk mengakses dan menyediakan informasi secara cepat dan akurat menjadi sangat esensial bagi suatu organisasi, baik yang berupa organisasi komersial (perusahaan), perguruan tinggi, lembaga pemerintahan, maupun individual (pribadi).

Aspek-aspek Security Dalam mengamankan jaringan ada beberapa aspek yang harus kita perhatikan dan dijaga, antara lain: Kestabilan Sistem Sistem yang kita buat harus stabil sejalan dengan waktu, dalam arti bila sewaktu-waktu terjadi perubahan pada perilaku hardware maupun software yang lain dari biasanya. Administrator harus mampu segera mengatasi masalahmasalah tersebut, seperti memperbaiki bug yang ada, melakukan upgrade, dan mengganti device rusak. Ketersediaan data dan kerahasiaan Harus ada perlindungan terhadap informasi baik berupa data, program, dan segala hal yang dianggap penting agar tidak dihapus atau dirubah oleh orang lain yang tidak berhak. Selain itu harus ada jaminan terhadap informasi agar tidak bisa diakses/diketahui atau diubah oleh orang lain yang tidak berhak Ketersediaan service

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Servis-servis yang kita sediakan di dalam jaringan harus dijaga agar selalu tersedia tanpa adanya gangguan Kendali Harus ada sistem pengendalian tertentu, seperti mengatur hak akses di dalam sistem jaringan. Karena perilaku pemakai sulit ditebak maka pengguna harus dibatasi dalam melakukan akses pada daerah dimana ia berwenang, sedangkan bagi pengguna luar harus ditolak. Monitoring Administrator harus melakukan pemantauan terhadap sistem jaringan yang dibangunnya, siapa yang telah mengakses dan menggunakan servis, aktivitas apa yang telah dilakukan, mencari sela-sela sistem yang belum terlindungi, memantau catatan logging sistem, mendeteksi penyusup yang masuk dll.

Sangat penting di sini untuk mengembangkan budaya memperhatikan aspek keamanan dalam menggunakan setiap fasilitas jaringan kepada seluruh

user/pengguna. Perlu diperhatikan bagi administrator jaringan agar para pengguna jaringan ikut menjaga keamanan jaringan, misalnya dengan menerapkan disiplin menggunakan login miliknya dan tidak memberikannya kepada siapa pun, mengganti password secara berkala, dan hal-hal lain yang berguna untuk membangun semangat untuk melindungi jaringan secara bersama.

Pengaturan Akses dalam Sistem Unix Salah satu cara yang umum digunakan untuk mengamankan informasi adalah dengan mengatur akses ke informasi melalui mekanisme access control. Implementasi dari mekanisme ini antara lain dengan menggunakan password.

Di sistem Unix, untuk menggunakan sebuah sistem atau komputer, pemakai diharuskan melalui proses authentication dengan menuliskan userid dan password. Informasi yang diberikan ini dibandingkan dengan userid dan password yang berada di sistem. Apabila keduanya valid, pemakai yang bersangkutan diperbolehkan menggunakan sistem. Apabila ada yang salah, pemakai tidak dapat

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

menggunakan sistem. Informasi tentang kesalahan ini biasanya dicatat dalam berkas log. Besarnya informasi yang dicatat bergantung kepada konfigurasi dari sistem setempat. Misalnya, ada yang menuliskan informasi apabila pemakai memasukkan userid dan password yang salah sebanyak tiga kali. Ada juga yang langsung menuliskan informasi ke dalam berkas log meskipun baru satu kali salah. Informasi tentang waktu kejadian juga dicatat. Selain itu asal hubungan (connection) juga dicatat sehingga administrator dapat memeriksa keabsahan hubungan.

Password di Sistem Unix Akses ke sistem UNIX menggunakan password yang biasanya disimpan di dalam berkas /etc/passwd. Di dalam berkas ini disimpan nama, userid, password, dan informasi-informasi lain yang digunakan oleh bermacam-macam program. Contoh isi berkas password dapat dilihat di bawah ini (dapat dibuka juga dengan perintah vipw): root:fi3sED95ibqR7:0:1:System Operator:/:/sbin/sh daemon:*:1:1::/tmp: hakim:d98skjhj9l:72:98:Rahmat Hakim:/home/hakim:/bin/bash Field sandhy d98skjhj9l 72 98 Sandhy Hasan /home/sandhy /bin/bash Isi Nama atau userid pemakai password yang sudah terenkripsi (encrypted pass-word) UID, user identification number GID, group identification number nama lengkap dari pemakai (sering juga disebut GECOS a atau GCOS field) home directory dari pemakai shell dari pemakai.

Pada sistem UNIX lama, biasanya berkas /etc/passwd ini readable, yaitu dapat dibaca oleh siapa saja. Meskipun kolom password di dalam berkas itu berisi encrypted password (password yang sudah terenkripsi), tetapi ini merupakan potensi sumber lubang keamanan. Ada program tertentu yang dapat digunakan untuk memecah password tersebut. Contoh program ini antara lain: crack (UNIX), viper (perl script), dan cracker jack (DOS). Program password cracker ini tidak dapat mencari tahu kata kunci dari kata yang sudah terenkripsi. Akan tetapi, yang dilakukan oleh program ini adalah melakukan coba-coba (brute force attack). Salah

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

satu

caranya

adalah

mengambil

kata

dari

kamus

(dictionary)

kemudian

mengenkripsinya. Apabila hasil enkripsi tersebut sama dengan password yang sudah terenkripsi (encrypted password), maka kunci atau passwordnya ketemu. Selain melakukan lookup dengan menggunakan kamus, biasanya program password cracker tersebut memiliki beberapa algoritma heuristic seperti

menambahkan angka di belakangnya, atau membaca dari belakang (terbalik), dan seterusnya. Semakin sederhana password yang digunakan maka kemungkinan

terpecahnya password tersebut akan semakin tinggi dan semakin cepat selesainya.

Shadow Password Salah satu cara untuk mempersulit mendapatkan berkas yang berisi password (meskipun terenkripsi) adalah dengan menggunakan shadow password.

Mekanisme ini menggunakan berkas /etc/shadow untuk menyimpan encrypted password, sementara kolom password di berkas /etc/passwd berisi karakter x. Berkas /etc/shadow tidak dapat dibaca secara langsung oleh pemakai biasa (bersifat hidden), tetapi bisa diakses oleh user root. Beberapa perintah dan fungsi yang berhubungan dengan account dan password : chage (mengeset password expiration) chfn (untuk mengubah finger information) chsh (mengubah default shell) gpasswd (menambah user dalam group tertentu) groupadd (menambah group) groupdel (menghapus group) groupmod (mengubah setting/informasi group) id (menampilkan informasi ID beberapa informasi) login (untuk login) newgrp (mengganti group efektif) passwd (membuat password atau mengubah password) su (substitue user) userdel (menghapus user) usermod (mengubah setting dan informasi user)

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pemilihan Password Dengan adanya kemungkinan password ditebak, misalnya dengan menggunakan program password cracker, maka memilih password memegang peranan yang sangat penting dan memerlukan perhatian khusus. Berikut ini adalah daftar hal-hal yang sebaiknya tidak digunakan sebagai password : Nama orang, dan hewan. Nama komputer, nomor telepon atau plat nomor kendaran. Tanggal lahir, alamat rumah, nama tempat yang terkenal. Kata-kata yang terdapat dalam kamus (misal : bahasa Indonesia, bahasa Inggris). Password dengan karakter yang sama diulang-ulang Password yang mengurutkan penekanan tombol pada keyboard

Sebaiknya jangan menggunakan password yang terdapat dalam kamus, atau katakata yang umum digunakan. Gunakan kombinasi huruf besar dan kecil, dan gunakan angka atau karakter lainnya. Password yang kita gunakan semakin panjang tentu semakin baik. Panjang password minimal secara default biasanya adalah 7 karakter. Kita bisa mengeset sesuai dengan kebutuhan kita (misal = 8 karakter). Untuk itu editlah file /etc/login.defs dengan text editor favorit anda : [root]# vi /etc/login.defs kemudian pada bagian PASS_MIN_LEN 7 (ganti 7 dengan 8).

Dasar-dasar Enkripsi Enkripsi adalah proses pengubahan/konversi/penyandian suatu informasi ke bentuk tertentu sehingga tidak dimengerti/tidak dapat dimanfaatkan oleh pihak yang tidak berhak. Enkripsi digunakan untuk melindungi data. Dekripsi adalah kebalikan dari proses enkripsi.

Data-data penting yang ada dan yang anda kirimkan bisa diubah sedemikian rupa sehingga tidak mudah disadap. Jenis-jenis metode enkripsi ini banyak sekali, misal : DES (Data Encryption System), PEM (Privacy Enhanced Mail), PGP (Pretty Good Privacy), SSL (Secure Socket Layer), MD5 dll.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Banyak servis di Internet yang masih menggunakan plain text untuk authentication, seperti telnet. Informasi ini dapat dilihat dengan mudah oleh program penyadap (sniffer).

Aplikasi-aplikasi yang sering digunakan untuk enkripsi antara lain : SSH (Secure Shell), merupakan aplikasi enkripsi digunakan terutama untuk remote akses sebagai pengganti telnet/rlogin. Gpg (Encryption and signing Tool), merupakan aplikasi enkripsi/dekripsi data. Crypt, biasa terdapat pada sistem berbasis Unix. SSL, aplikasi enkripsi data yang berbasis web. PGP, aplikasi enkripsi data yang berbasis email.

Serangan Terhadap Sistem Keamanan Serangan pada keamanan jaringan sangat banyak jenisnya. Bahkan mungkin ditemukan cara-cara baru yang lebih mudah dan efektif serta tidak terlalu membutuhkan kemampuan yang tinggi. Serangan-serangan ini ada yang bersifat mengganggu, merusak, bahkan mengambil alih posisi superuser (root). Serangan yang sering terjadi di internet di antaranya : Scanning Scan adalah probe dalam jumlah besar menggunakan tool secara otomatis dengan tujuan tertentu (misal : mendeteksi kelemahan-kelemahan pada host tujuan). Scanner biasanya bekerja dengan men-scan port TCP /IP dan servisservisnya dan mencatat respon dari komputer target. Dari scanner ini dapat diperoleh informasi mengenai port-port mana saja yang terbuka. Kemudian yang dilakukan adalah mencari tahu kelemahan-kelemahan yang mungkin bisa dimanfaatkan berdasar port yang terbuka dan aplikasi serta versi aplikasi yang digunakan. Sniffing Sniffer adalah device (software maupun hardware) yang digunakan untuk mendengar informasi yang melewati jaringan dengan protokol apa saja. Host dengan mode promiscuous mampu mendengar semua trafik di dalam jaringan. Sniffer dapat menyadap password maupun informasi rahasia, dan

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

keberadaannya biasanya cukup sulit untuk dideteksi karena bersifat pasif. Sniffer ini mendengarkan port Ethernet untuk hal-hal seperti "Password", "Login" dan "su" dalam aliran paket dan kemudian mencatat lalu lintas setelahnya. Dengan cara ini, penyerang memperoleh password untuk sistem yang bahkan tidak mereka usahakan untuk dibongkar. Password teks biasa adalah sangat rentan terhadap serangan ini. Untuk mengatasinya, dapat digunakan enkripsi, merancang arsitektur jaringan yang lebih aman dan menggunakan One Time Password (OTP). Eksploit Eksploit berarti memanfaatkan kelemahan sistem untuk aktifitas-aktifitas di luar penggunaan normal yang sewajarnya. Spoofing Biasanya IP spoofing dilakukan dengan menyamarkan identitas alamat IP menjadi IP yang tepercaya (misal dengan script tertentu) dan kemudian melakukan koneksi ke dalam jaringan. Bila berhasil akan dilanjutkan dengan serangan berikutnya. DoS (Denial of Service) attack Salah satu sumberdaya jaringan yang berharga adalah servis-servis yang disediakannya. DoS atau malah Distributed DoS (DDoS) attack dapat menyebabkan servis yang seharusnya ada menjadi tidak bisa digunakan. Hal ini tentu akan mendatangkan masalah dan merugikan. Penyebab penolakan servis ini sangat banyak sekali, dapat disebabkan antara lain : 1. Jaringan kebanjiran trafik (misal karena serangan syn flooding, ping flooding, smurfing). 2. Jaringan terpisah karena ada penghubung (router/gateway) yang tidak berfungsi. 3. Ada worm/virus yang menyerang dan menyebar sehingga jaringan menjadi lumpuh bahkan tidak berfungsi, dll Malicious Code Malicious Code adalah program yang dapat menimbulkan efek yang tidak diinginkan jika dieksekusi. Jenisnya antara lain : trojan horse, virus, dan

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

worm. Trojan Horse adalah program yang menyamar dan melakukan aktifitas tertentu secara tersembunyi (biasanya merugikan, misal : game yang mencuri password). Virus adalah program yang bersifat mengganggu bahkan merusak dan biasanya memerlukan intervensi manusia dalam

penyebarannya. Worm adalah program yang dapat menduplikasikan diri dan menyebar dengan cepat tanpa intervensi manusia. Malicious kode dapat menimbulkan beragam tingkat permasalahan. Serangan secara fisik

Serangan secara fisik misalnya mengakses server/jaringan/piranti secara ilegal : Buffer Ofer Flow Dapat terjadi jika ada fungsi yang dibebani dengan data yang lebih besar dari yang mampu ditangani fungsi tersebut. Buffer adalah penampungan sementara di memori komputer dan biasanya mempunyai ukuran tertentu. Jika hal itu terjadi maka kemungkinan yang dapat terjadi adalah : Program menolak dan memberi peringatan Program akan menerima data, meletakkannya pada memori dan

mengoverwrite isi memori jika ada data sebelumnya. Cracker dapat membuat data di mana bagian overflownya adalah set instruksi tertentu untuk mendapatkan akses. Jika set instruksi baru menempati tempat suatu instruksi sebelumnya, maka instruksi cracker akan dapat dijalankan. Social Engineering Social engineering berarti usaha untuk mendapatkan password dengan jalan 'memintanya' , misalkan dengan menggunakan fakemail. OS Finger Printing Mengetahui operating system (OS) dari target yang akan diserang merupakan salah satu pekerjaan pertama yang dilakukan oleh seorang cracker. Setelah mengetahui OS yang dituju, dia dapat melihat database kelemahan sistem yang dituju. Fingerprinting merupakan istilah yang umum

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

digunakan untuk menganalisa OS sistem yang dituju. Beberapa cara konvensional antara lain : telnet, ftp, netcat, dll. Jika server tersebut kebetulan menyediakan suatu servis, seringkali ada banner yang menunjukkan nama OS beserta versinya. Misalkan dilakukan dengan telnet dengan port tertentu, atau dapat juga menggunakan program tertentu. Cara fingerprinting yang lebih canggih adalah dengan menganalisa respon sistem terhadap permintaan (request) tertentu. Misalnya dengan menganalisa nomor urut packet TCP/IP yang dikeluarkan oleh server tersebut dapat dipersempit ruang jenis dari OS yang digunakan. Ada beberapa tools untuk melakukan deteksi OS ini antara lain: nmap, dan queso Crack password Crack password adalah program untuk MENDUGA dan memecahkan password dengan menggunakan sebuah atau beberapa kamus (dictionary) Dewasa ini tool-tool yang digunakan dalam penyerangan semakin mudah digunakan dan efektif, bahkan banyak yang disertai source kodenya..

Situs-situs Security di internet Sudah menjadi kewajiban administrator tentunya, untuk senantiasa mengikuti perkembangan keamanan jaringan sehingga tetap up to date. Kadang ditemukan bug-bug terbaru yang dapat dieksploit, dan patch lebih sering datang terlambat dan baru dikeluarkan setelah ditemukannya bug yang telah memakan korban.

Cukup banyak situs-situs di internet yang berisi informasi, script, maupun program dunia underground ini, dari situs Indonesia sampai situs internasional. Yang cukup terkenal antara lain : http://www.cert.org http://www.cert.or.id http://www.rootshell.com http://www.securityfocus.com http://www.astalavista.box.sk

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

http://www.hackerlink.or.id http://www.antionlione.com

Adapula situs yang menawarkan scan secara online otomatis , di antaranya : http://hackerwhacker.com http://grc.com

(SECURITY SECARA UMUM)

GENERAL SECURITY

Pendahuluan Pengamanan pertama kali yang biasa dilakukan terhadap komputer adalah konfigurasi keamanan lokal. Kita pastikan bahwa komputer kita aman dari gangguan walaupun tidak terkoneksi ke jaringan/internet. Kemudian pada bagian general security ini kita juga akan melakukan pemeriksaan file-file log dan backup.

Keamanan Lokal Langkah pertama yang biasa dilakukan untuk mengamanan sistem adalah konfigurasi dan persiapan kemanan secara lokal. Konfigurasi ini difokuskan

terutama untuk mengamankan sistem walaupun tidak sedang terhubung ke dalam jaringan/internet. Keamanan secara lokal meliputi antara lain : akses ke server secara lokal, akses fisik server/piranti jaringan, dan perlindungan terhadap kerusakan.

Perlindungan dengan password lilo Program LILO (linux loader) berguna untuk mengatur proses booting (sebagai boot manager untuk multi sistem operasi) dan mempunyai fungsi khusus untuk memuat (meload) kernel, biasa digunakan untuk mesin Intel-compatible. Password lilo diperlukan terutama untuk mencegah penggantian password melalui linux single

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

mode. Seperti telah kita ketahui bahwa Linux dalam menjalankan operasinya mempunyai 7 buah mode runlevel (0-6). Perhaikan tabel berikut : Run Level 0 1 2 3 4 5 6 Keterangan Halt (komputer mati) Mode User Tunggal (digunakan untuk adminstrasi sistem) Multi user tanpa NFS (Network File System) Mode multi user penuh Tidak digunakan X11, tampilan grafis Reboot

Ketika booting Linux akan menjalankan program init yang terletak pada /sbin/init dan secara default akan menjalankan run level 3 (Full Multi User Mode). Tanpa password lilo siapa saja yang mereboot sistem kita dapat masuk ke mode single user (run level 1) yang berarti masuk menjadi root tanpa harus mengetahui passwordnya sama sekali. Hal ini dapat dilakukan dengan mengaktifkan mode single pada saat muncul prompt lilo waktu booting. Lilo :

Lalu diisi dengan linux s, atau linux single Dengan begitu kita akan masuk ke single mode dengan satu console saja dan menjadi user root. Untuk mencegahnya, kita akan mengkonfigurasikan agar sistem kita hanya dapat masuk ke mode single user, tetapi setelah melewati password lilo yang telah kita konfigurasikan. Prakteknya akan kita bahas pada bagian Job Sheet di halaman selanjutnya. Dengan mengeset password lilo saja sebenarnya sistem juga masih kurang aman karena orang lain dapat saja melakukan booting dengan melalui media lain misalkan floppy dengan disket booting linux. Asalkan dia tahu letak file / (root) atau mencoba-coba dan akhirnya berhasil melakukan booting, dia bisa saja masuk single user tanpa password. Untuk menghindari hal itu dapat dilakukan pencegahan diantaranya dengan pembatasan akses fisik ke media floopy dan cdrom atau pembatasan akses BIOS (Basic Input Output System) dengan memberi password pada BIOS. Pastikan dulu bahwa boot sequence sudah benar yaitu dari harddisk atau C saja dan pilih option password untuk setup. Tetapi hal ini juga masih bisa

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

menjadi masalah jika BIOS kita mempunyai password default, atau malah dilakukan peresetan BIOS dengan cara setting jumper/pembongkaran batere BIOS.

Keamanan secara Fisik Yang juga patut menjadi perhatian juga adalah keamanan secara fisik. Hal ini meliputi akses terhadap server dan piranti-piranti vital lainnya. Yang perlu direncanakan adalah letak strategis server agar bisa terjaga dan tidak sembarangan bisa dijangkau/diakses oleh orang yang tidak bertanggung-jawab. Selain itu juga perlu diperhatikan agar komputer terjaga dengan melengkapi pengaman yang baik (misalkan : kunci, gembok, dll).

Keamanan terhadap Kerusakan Sistem kita tentu harus tahan terhadap kemungkinan- kemungkinan kerusakan yang bisa terjadi, di antaranya adalah : 1. Petir Untuk menghindari kerusakan adanya kerusakan yang diakibatkan oleh petir dapat dicegah dengan pemasangan anti petir dan semacamnya. 2. Hewan Dapat juga sistem kita mengalami gangguan/kerusakan karena hewan, misalkan : tikus, serangga, dll. Untuk itu dapat dilakukan pencegahan seperlunya. 3. Bencana Bencana ini meliputi : air/hujan, kebakaran, gempa dll 4. Listrik Padam Untuk menghindari mati/terhentinya service atau kerusakan yang ditimbulkan karena matinya listrik dapat dicegah dengan pemasangan UPS

(Uninterruptable Power Supply).

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Audit Log Hampir semua kegiatan penggunaan sistem dicatat dalam berkas yang biasanya disebut logfile atau log saja. Berkas log ini sangat berguna untuk mengamati penyimpangan yang terjadi. Kegagalan untuk masuk ke sistem (login), misalnya, tersimpan di dalam berkas log. Untuk itu para administrator seharusnya rajin memelihara dan menganalisa berkas log yang dimilikinya. Letak dan isi dari berkas log bergantung kepada operating system yang digunakan. Di sistem berbasis UNIX, biasanya berkas ini berada di direktori /var/adm atau /var/log. Jangan sampai file log menjadi kurang berguna karena tak pernah dibaca. Lihatlah log file anda sewaktuwaktu. Hal ini dapat membantu mengenali hal-hal yang tidak biasa. Contoh entry log : Apr 5 17:20:10 kaizer wu-ftpd[12037]: failed login from hackeredan.com [64.55.12.34], m1 Apr 9 18:41:47 kaizer login[12861]: invalid password for `moel' on `ttyp0' from `hackeredan.com' Baris di atas menunjukkan kegagalan untuk masuk ke sistem melalui fasilitas FTP (baris pertama) dan telnet (baris kedua). Pada baris kedua terlihat bahwa user moel (atau yang mengaku sebagai user moel) mencoba masuk melalui login dan gagal memberikan password yang valid. Hal ini bisa terjadi karena ketidak sengajaan, salah memasukkan password, atau bisa juga karena sengaja ingin mencoba-coba masuk dengan userid moel dengan password coba-coba. Cara coba-coba ini sering dilakukan dengan mengamati nama user yang berada di sistem tersebut (misalnya dengan menggunakan program finger untuk mengetahui keberadaan sebuah user). Beberapa perintah-perintah file log, diantaranya : [root]# lastlog digunakan untuk menampilkan rekaman kapan user terakhir login (login, port, host, dan waktu) [root]# last menampilkan rekaman user yang pernah login pada file /usr/log/wtmp Beberapa file log yang penting, diantaranya : 1. /var/log/xferlog , mencatat rekaman login pada ftp daemon

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

2. /var/log/messages, mencatat rekaman kejadian sistem dan kernel. Daemon yang digunakan yaitu oleh file ini antara lain : syslogd (the system logging daemon), berfungsi merekam hampir semua program yang dijalankan. Selain aktifitas dari internet daemon, syslog juga mencatat kejadian-kejadian unusual atau kejadian yang seharusnya tidak terjadi, misalnya kegagalan sebuah daemon dalam melakukan tugasnya, dll. Dapat dikonfigurasi melalui file /etc/syslogd.conf klogd, berfungsi merekam pesan kernel

3. /var/log/maillog, mencatat kejadian/aktifitas transaksi mail Untuk melihat satu-persatu file-file log tentu akan sangat melelahkan, menghabiskan waktu yang banyak dan sangat kurang terjamin ketelitiannya. Ada program (misalkan : logcheck) yang dapat mengatasi masalah tersebut. Logcheck bekerja dengan mencari pattern pencarian tertentu setiap jangka waktu tertentu.

Backup Menyeluruh Secara Rutin Seringkali penyusup masuk ke dalam sistem dan merusak dengan menghapus berkas/data yang dapat ditemui. Jika intruder ini berhasil menjebol sistem dan masuk sebagai super user (administrator), maka ada kemungkinan dia dapat menghapus seluruh berkas. Untuk itu, adanya backup yang dilakukan secara rutin merupakan sebuah hal yang esensial. Untuk sistem yang sangat esensial, secara berkala perlu dibuat backup yang letaknya berjauhan secara fisik. Hal ini dilakukan untuk menghindari hilangnya data akibat bencana seperti kebakaran, banjir, gempa dan lain lain. Apabila data-data dibackup akan tetapi diletakkan pada lokasi yang sama, kemungkinan data akan hilang jika tempat yang bersangkutan mengalami bencana.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

KEAMANAN JARINGAN
(NETWORK SECURITY) Pendahuluan Terhubungnya LAN atau komputer ke Internet membuka potensi adanya lubang keamanan lain (security hole) yang tadinya telah teratasi dengan mekanisme keamanan secara fisik dan lokal. Jaringan, terutama internet, merupakan sebuah jaringan komputer yang sangat terbuka di dunia. Konsekuensi yang harus di tanggung adalah tidak ada jaminan keamanan bagi jaringan yang terkait ke internet. Artinya jika operator jaringan tidak hati-hati dalam men-set up sistem dan menerapkan policy-nya, maka kemungkinan besar jaringan yang terkait ke Internet akan dengan mudah dimasuki orang yang tidak di undang dari luar. Merupakan tugas dari administrator jaringan yang bersangkutan, untuk menekan resiko tersebut seminimal mungkin. Pemilihan strategi dan kecakapan administrator jaringan ini, akan sangat membedakan dan menentukan apakah suatu jaringan mudah ditembus atau tidak. Yang perlu untuk diketahui adalah bahwa kemudahan (kenyamanan) mengakses informasi berbanding terbalik dengan tingkat keamanan sistem informasi itu sendiri. Semakin tinggi tingkat keamanan, semakin sulit (tidak nyaman) untuk mengakses informasi. Sebelum memulai segalanya, ada baiknya menentukan terlebih dahulu tingkat ancaman yang harus diatasi dan resiko yang harus diambil maupun resiko yang harus dihindari, sehingga dapat dicapai keseimbangan yamg optimal antara keamanan dan kenyamanan.

Pengenalan Keamanan Jaringan Keamananan komputer yang tidak terhubung (stand alone), hanya terhubung ke jaringan/LAN dan terhubung ke internet tentu mempunyai perbedaan. Dengan menghubungkan suatu jaringan ke internet, resiko keamanan yang akan dihadapi akan semakin banyak. Serangan bisa terjadi kapan saja, dari mana saja dan oleh siapa saja. Ingat, internet adalah jaringan yang bersifat global. Untuk itu, pengamanan harus dilakukan dengan hati-hati. Walaupun demikian, kemungkinan terjadinya masalah sekuriti di kemudian hari masih akan tetap ada. Tidak ada

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

jaminan bahwa sistem yang kita konfigurasi akan benar-benar aman. Yang bisa kita lakukan hanyalah menekan seminimal mungkin kemungkinan terjadinya masalah sekuriti. Untuk itu, ada beberapa cara yang dapat dilakukan, antara lain menutup portport yang tidak dipakai, meletakkan firewall, menggunakan aplikasi yang reliable (misalkan webserver dengan apache), melakukan konfigurasi program-program aplikasi internet (misalkan melakukan konfigurasi keamanan pada apache dan mengintegrasikannya dengan SSL), menggunakan program-program sekuriti (misalkan scan listener dengan menggunakan portsentry), dan lain-lain. Pada bab ini kita akan membahas mengenai internet daemon (inetd) yang digunakan untuk mengelola beberapa aplikasi internet (misal : telnet, ftp, ssh, dll). Untuk versi Linux SuSE yang terbaru, inetd ini sudah digantikan posisinya oleh xinetd. Perbedaannya antara lain adalah sintaks-sintaks yang digunakan dan juga xinetd menggunakan satu buah file untuk satu servis sedangkan inetd menggunakan satu buah file untuk semua servis (file /etc/inetd.conf). Selain inetd, pada bab ini kita juga akan membahas TCP Wrappers yang akan kita pakai untuk `membungkus` inetd (internet daemon) agar lebih aman. Penasaran ? Mari kita pelajari bagian berikutnya.

Service inetd (internet daemon) Secara default sistem kita akan menjalankan beberapa servis internet yang mungkin sebagian di antaranya tidak kita gunakan/perlukan. Untuk meningkatkan keamanan, lebih baik servis-servis (misalkan finger, telnet, dll) yang tidak terlalu kita butuhkan dimatikan/ditutup saja. Sudah banyak kasus yang menunjukkan kesalahan penggunaan (abuse) dari servis tersebut, atau ada kemungkinan lubang keamanan dalam servis tersebut akan tetapi sang administrator tidak menyadari bahwa servis tersebut dijalankan di komputernya. Kebanyakan servis yang berhubungan dengan internet (misalkan : ftp, telnet , ssh, dll) akan dijalankan melalui inetd (internet daemon). Dengan melakukan pengeditan pada /etc/inetd.conf (konfigurasi utama internet daemon : superserver) maka kita dapat melakukan modifikasi-modifikasi yang

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

diperlukan misalkan saja mematikan servis- servis yang tidak digunakan (dengan menambahkan tanda komentar (#) pada awal baris). Agar lebih jelas mari kita pelajari sintaks pada file /etc/inetd.conf : Sintaks service tipe_socket protocol flag user server_path argumen KETERANGAN service Menjelaskan nama servis yang ditranslasikan ke nomor port dengan melihat file /etc/services tipe_socket Berisi jenis/tipe socket yaitu (ada dua) : stream (bersifat connection oriented digunakan untuk TCP) dan dgram (digunakan untuk UDP) protocol Berisi jenis protokol yang digunakan flag Di isi dengan wait atau nowait. Jika berisi wait maka inetd hanya menjalankan satu server pada port yang telah ditentukan. Sebaliknya dengan option nowait maka server dapat dijalankan lebih dari satu tanpa perlu menunggu selesainya eksekusi sebelumnya. Jika kita menggunakan option stream maka flag nowait harus digunakan. user Berisi login ID dari user yang akan memiliki proses dari perintah yang dijalankan. Kebanyakan menggunakan user root. Tetapi ada beberapa proses yang tidak menggunakan root tetapi memakai user lain (misal : nobody, news, dll) dengan alasan security. server_path Berisi full path dari program server yang akan dijalankan. argumen Berisi perintah yang akan dijalankan serta beberapa argumen yang diperlukan. Akan bernilai kosong/tidak diisi jika kita menggunan option internal (menggunakan servis internal) pada bagian server. Contoh file /etc/inetd.conf :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# inetd.conf This file describes the services that will be available # through the INETD TCP/IP super server. To re-configure # the running INETD process, edit this file, then send the # INETD process a SIGHUP signal. # Version: @(#)/etc/inetd.conf 3.10 05/27/93 # Authors: Original taken from BSD UNIX 4.3/TAHOE. # Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org> # Modified for Debian Linux by Ian A. Murdock <imurdock@shell.portal.com> # Modified for RHS Linux by Marc Ewing <marc@suse.com> # <service_name> <sock_type> <proto> <flags> <user> <server_path> <args> # # Echo, discard, daytime, and chargen are used primarily for testing. # To re-read this file after changes, just do a 'killall -HUP inetd' #echo stream tcp nowait root internal #echo dgram udp wait root internal #discard stream tcp nowait root internal #discard dgram udp wait root internal #daytime stream tcp nowait root internal #daytime dgram udp wait root internal #chargen stream tcp nowait root internal #chargen dgram udp wait root internal #time stream tcp nowait root internal #time dgram udp wait root internal # # These are standard services. # ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd # # Shell, login, exec, comsat and talk are BSD protocols. # #shell stream tcp nowait root /usr/sbin/tcpd in.rshd #login stream tcp nowait root /usr/sbin/tcpd in.rlogind #exec stream tcp nowait root /usr/sbin/tcpd in.rexecd #comsat dgram udp wait root /usr/sbin/tcpd in.comsat talk dgram udp wait nobody.tty /usr/sbin/tcpd in.talkd ntalk dgram udp wait nobody.tty /usr/sbin/tcpd in.ntalkd #dtalk stream tcp wait nobody.tty /usr/sbin/tcpd in.dtalkd # # Pop and imap mail services et al # #pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d #pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d #imap stream tcp nowait root /usr/sbin/tcpd imapd #

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# The Internet UUCP service. # #uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/lib/uucp/uucico -l # # Tftp service is provided primarily for booting. Most sites # run this only on machines acting as "boot servers." Do not uncomment # this unless you *need* it. # #tftp dgram udp wait root /usr/sbin/tcpd in.tftpd #bootps dgram udp wait root /usr/sbin/tcpd bootpd # # Finger, systat and netstat give out user information which may be # valuable to potential "system crackers." Many sites choose to disable # some or all of these services to improve security. # #finger stream tcp nowait nobody /usr/sbin/tcpd in.fingerd #cfinger stream tcp nowait root /usr/sbin/tcpd in.cfingerd #systat stream tcp nowait guest /usr/sbin/tcpd /bin/ps -auwwx #netstat stream tcp nowait guest /usr/sbin/tcpd /bin/netstat -f inet # # Authentication # # identd is run standalone now # #auth stream tcp wait root /usr/sbin/in.identd in.identd -e -o # # End of inetd.conf smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmailsmtpd #linuxconf stream tcp wait root /bin/linuxconf linuxconf --http Terlihat pada file /etc/inetd.conf di atas ada beberapa servis yang didisable untuk menghindari hal-hal yang tidak diinginkan. Di antaranya adalah linuxconf, finger, rlogin, dll.

Pengenalan Firewall Firewall merupakan sebuah perangkat yang diletakkan antara Internet dengan jaringan internal. Informasi yang keluar atau masuk harus melalui firewall ini. Tujuan utama dari firewall adalah untuk menjaga agar akses (ke dalam maupun ke luar) dari orang yang tidak berwenang (unauthorized access) tidak dapat dilakukan.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Konfigurasi dari firewall bergantung kepada kebijaksanaan (policy) dari organisasi yang bersangkutan. Firewall merupakan alat untuk mengimplementasikan kebijakan security (security policy). Sedangkan kebijakan security, dibuat berdasarkan perimbangan antara fasilitas yang disediakan dengan implikasi security-nya. Semakin ketat kebijakan security, semakin kompleks konfigurasi layanan informasi atau semakin sedikit fasilitas yang tersedia di jaringan. Sebaliknya, dengan semakin banyak fasilitas yang tersedia atau sedemikian sederhananya konfigurasi yang diterapkan, maka semakin mudah orang orang usil dari luar masuk kedalam sistem (akibat langsung dari lemahnya kebijakan security). Firewall bekerja dengan mengamati paket IP (Internet Protocol) yang melewatinya. Berdasarkan konfigurasi dari firewall maka akses dapat diatur berdasarkan IP address, port, dan arah informasi. Detail dari konfigurasi bergantung kepada masing-masing firewall. Firewall dapat berupa sebuah perangkat keras yang sudah dilengkapi dengan perangkat lunak tertentu, sehingga pemakai (administrator) tinggal melakukan konfigurasi dari firewall tersebut. Firewall juga dapat berupa perangkat lunak yang ditambahkan kepada sebuah server (baik UNIX maupun Windows NT), yang dikonfigurasi menjadi firewall. Firewall pada dasarnya dapat dikategorikan menjadi 2 berdasarkan cara fungsi kerjanya (keduanya dapat dilakukan pada sebuah perangkat komputer (device) atau dilakukan secara terpisah), yaitu : 1. Fungsi filtering Firewall bekerja pada level jaringan (network-level firewall) biasa disebut packet filter. Firewall tipe ini biasanya berupa router yang melakukan fungsi packet filtering berdasarkan parameter-parameter tertentu : alamat sumber, protokol, nomor port dan isi. Dari membandingkan informasi yang diperoleh pada paket-paket trafik dengan kebijaksanaan yang ada pada tabel akses, maka tindakan yang diberlakukan adalah : Melewatkan paket data ke tujuannya (client atau server) Memblok paket data

2. Fungsi proxy

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Firewall pada level aplikasi (application level gateway) ini berfungsi sebagai penghubung antara komputer client dengan jaringan luar. Pada koneksinya, paket-paket IP tidak pernah diteruskan secara langsung, namun ditranslasi dan diwakilkan oleh gateway aplikasi tersebut yang berfungsi sebagai saluran dan penterjemah dan menggantikan fungsi client. Proxy akan merelai semua request dari client kepada server yang sesungguhnya, kemudian merelai balik semua hasil response real server kepada client kembali. Ditengah proses di atas, maka proxy server berkesempatan untuk melakukan pembatasan relai berdasarkan tabel akses yang sudah dibuat. Fungsi proxy dapat dilakukan oleh berbagai software tergantung kepada jenis proxy yang dibutuhkan, misalnya web proxy, rlogin proxy, ftp proxy dan seterusnya. Di sisi client sering kali dibutuhkan software tertentu agar dapat menggunakan proxy server ini, seperti misalnya dengan menggunakan SOCKS. Beberapa perangkat lunak berbasis UNIX untuk proxy antara lain: Socks (proxy server oleh NEC Network Systems Labs), Squid (web proxy server). Packet Filterring TCP Wrappers Secara default linux suse akan mengizinkan servis-servis tertentu (misal : telnet) dengan tanpa pembatasan. Untuk itu diperlukan pembatasan-pembatasan (proteksi) tertentu sehingga dapat mengurangi kerawanan keamanan jaringan. Salah satu aplikasi pada sistem UNIX yang digunakan untuk melakukan packet filtering adalah TCP Wrappers. TCP Wrappers biasanya sudah terinstal secara default waktu penginstalan Linux. Program ini bekerja dengan cara membungkus inetd (internet daemon : aplikasi yang menjalankan servis-servis internat) agar lebih aman. Sebagai contoh ada permintaan koneksi telnet dari internet, jika sistem kita tidak mempunyai tcp wrappers maka inetd akan memanggil telnetd dan session telnet akan terbentuk tanpa melakukan pembatasan apapun. Hal ini berbeda dengan TCP Wrappers yang telah terinstal, sebelum memanggil telnetd, TCP Wrapper akan memeriksa dulu

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

berdasarkan pembatasan-pembatasan yang telah disetting kemudian memutuskan apakah koneksi tersebut akan diizinkan atau tidak.

Konfigurasi TCP Wrappers File-file yang perlu diperhatikan dalam penyetingan TCP Wrappers antara lain : 1. /etc/inetd.conf (konfigurasi internet daemon) 2. /etc/hosts.allow (konfigurasi host-host yang diizinkan) 3. /etc/hosts.deny (konfigurasi host-host yang ditolak) Pastikan dahulu bahwa TCP Wrappers sudah terinstal pada sistem kita. Untuk mengeceknya dapat dilihat pada file /etc/inetd.conf. Dalam inetd.conf,

layanan tanpa TCP Wrapper akan dituliskan dalam bentuk sebagai berikut, misal : telnet stream tcp nowait nobody /usr/etc/telnetd in.telnetd b /etc/issue Jika internet daemon sudah dikonfigurasi dengan TCP Wrapper maka akan terbaca seperti ini : telnet stream tcp nowait nobody /usr/local/bin/tcpd Biasanya tcpwrappers dirakit menjadi tcpd. Apabila servis di server anda (misalnya telnet atau ftp) dijalankan melalui tcpd, maka server anda menggunakan tcpwrappers. TCP Wrappers mengkonfigurasikan Network Access Control pada file /etc/hosts.allow dan /etc/hosts.deny. File /etc/hosts.deny ini berisi mengenai servis dari user/host/network mana saja yang akan ditolak sedangkan file /etc/hosts.allow berisi mengenai servis dari user/host/network mana saja yang akan diterima. Secara garis besar kedua file tersebut mempunya sintaks sbb :

Daemon_list : client_host_list Daemon List merupakan daftar daemon seperti telnetd, fingerd, ftpd, ssh, dll. Client Host List merupakan daftar user/host/network dan mempuyai bentuk sbb : ALL KNOWN LOCAL : semua host : host yang terdaftar pada DNS server : host yang tidak dipisahkan oleh . (dot)

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

PARANOID

: mempunyai nama dan IP address yang tidak sesuai jika dilacak dan dibandingkan antara pelacakan dari nama dengan dari nomor IP

UNKNOWN .linux.net 167.205.206.107

: host yang hanya mempunyai nomor IP tanpa nama internet : host dengan domain linux.net : host dengan IP adress tertentu

Agar lebih jelas dapat dibaca manualnya : [user]$ man hosts_options

IPfwadm, IPchains, NetFilter dan IP Tables Selain dengan aplikasi TCP Wrappers kita dapat juga menggunakan ipfwadm (berbasis kernel 2.0), ipchains (berbasis kernel 2.2), dan Netfilter dengan IP Tables (berbasis kernel 2.4) untuk melakukan packet filtering. Baik ipfwadm, ipchains, maupun netfilter dan ip tables bersifat saling menggantikan, dan kita cukup menggunakan salah satu saja. Ipchains (berbasis kernel 2.2.16) sudah dibahas pada bab koneksi internet.

MONITORING LOG DAN INTEGRITAS SISTEM


Pendahuluan Ada banyak program yang berhubungan dengan keamanan dan biasanya dapat didownload gratis di internet. Program tersebut meliputi program

enkripsi/dekripsi, probe/scan listener, pemantau (monitoring), dan firewall. Juga program seperti probe dan scanner, cracker, bomber dan flooder, sniffer, malicious code (virus, trojan dan worm), eksploit bug, backdoor, spoof dll. Dewasa ini tool-tool security yang ada semakin banyak jenisnya, mudah digunakan, dan semakin efektif. Pada bab ini kita akan memfokuskan pada pembahasan pemantauan integritas sistem dan pemeriksaan file-file log secara otomatis. Pemantau integritas sistem adalah apilkasi yang digunakan untuk melakukan pengujian terhadap integratitas sistem, software yang digunakan misalkan tripwire dan sxid. Tripwire digunakan untuk memantau perubahan-perubahan (direktori dan

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

file) yang terjadi pada sistem. Digunakan terutama untuk mencegah adanya backdoor, memantau pengubahan file oleh orang yang tidak berhak, dll. Logcheck digunakan untuk membantu memeriksa file-file log sehingga tidak membosankan, lebih efektif dan praktis. Program ini bekerja dengan cara mencari pattern/bentuk tertentu (dapat dikonfigurasi) dalam file log lalu mengirimkan laporannya kepada admin, misalnya melalui email.

Trip Wire Salah satu contoh program yang sering digunakan untuk memantau integritas sistem Linux adalah program Tripwire. Program Tripwire dapat digunakan untuk memantau adanya perubahan pada berkas/file atau direktori. Cara Kerja Tripwire. Pada waktu pertama kali digunakan, tripwire harus digunakan untuk membuat database mengenai berkas-berkas atau direktori yang ingin kita amati beserta signature dari berkas tersebut. Signature berisi informasi mengenai besarnya berkas, kapan dibuatnya, pemiliknya, hasil checksum atau hash (misalnya dengan menggunakan program MD5), dan sebagainya. Apabila ada perubahan pada berkas tersebut, maka keluaran dari hash function akan berbeda dengan yang ada di database sehingga ketahuan adanya perubahan. Selain Tripwire, tool yang yang digunakan utuk melakukan pengecekan integritas sistem antara lain: TAMU (Texas A&M University), ATP (The Anti-Tampering Program), dan sXid (men-tracks file-file suid dan sgid, bisa mendeteksi jika ada kit root yang terinstal). Tripwire yang merupakan salah satu pilhan utilitas yang dapat digunakan oleh user dan administrator untuk memeriksa perubahan yang terjadi pada file atau direktori. Hal itu untuk menghindari adanya backdoor (pintu belakang untuk mendapatkan akses illegal lagi), penyusupan karena adanya bug pada perangkat lunak, adanya malicious code dan perubahan terhadap sistem oleh oramg lain yang sebenarnya tidak mempunyai hak untuk itu. Dalam pemeriksaan keutuhan dan keaslian file ini, tripwire perlu mengetahui file mana saja yang akan diperiksa baru setelah itu membandingkan file yang akan diperiksa tersebut dengan informasi (database) yang telah disimpan sebelumnya. Dan jika terjadi perubahan atau penambahan file baru

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Tripwire akan melaporkannya sehingga administrator dapat segera memeriksa apakah pengubahan atau penambahan file baru tersebut legal atau tidak. Daftar file atau direktori yang akan diperiksa Tripwire terdapat dalam file konfigurasi Tripwire yang default-nya bernama tw.config. Sedangkan keadaan asli file tersebut terdapat di dalam file database Tripwire yang default-nya bernama tw.db_@. Karakter @ diganti dengan hostname komputer yang diinstal Tripwire. Yang menjadi file inti dalam program Tripwire ini sebenarnya adalah kedua file tersebut yaitu file konfigurasi tw.config dan file database tw.db_@. Karena itu

sangat disarankan pada saat menginstalasi program Tripwire agar kedua file ini diletakkan pada tempat yang hanya di-mount read-only atau di media eksternal (seperti disket atau NFS) sehingga tidak ada intruder yang dapat mengubahnya. Sebab jika hal ini tidak dilakukan akan sangat mungkin menyebabkan kita tidak dapat mengetahui seorang intruder yang telah berhasil masuk ke dalam sistem dan telah menyiapkan backdoor. Hal ini dikarenakan pada saat intruder itu telah membuat file baru atau mengubah suatu file untuk digunakan sebagai backdoor, ia sekaligus dapat mengubah file database Tripwire sehingga jejaknya tidak akan terdeteksi oleh Tripwire. Jika hal seperti ini terjadi, berarti program Tripwire yang telah diinstalasi sama sekali tidak berguna. Contoh file yang membahayakan keamanan sistem jika diubah : password user, group user, pengubahan UID/GID sebuah file atau penambahan file yang memiliki setuid root, inetd, service, dll. Instalasi dan penggunaan Tripwire, silakan dilihat di bagian Jobsheet.

Logcheck Serangan terhadap sistem bisa terjadi kapan saja, dan tidak setiap saat administrator berada ditempat kejadian. Mungkin ada administrator yang tidak pernah (jarang) membaca file log karena memang menghabiskan waktu, membosankan dan tidak terjamin ketelitiannya. Padahal justru dari logginglah sebuah kejadian bisa ditrace dengan benar. Karena itu, dapat digunakan suatu program yang berfungsi untuk membantu dalam memeriksa file-file log sehingga lebih mudah dan praktis, misalnya logcheck.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Logcheck adalah program yang berfungsi mencari pattern/bentuk tertentu (menyaring informasi penting) yang kita inginkan dalam file-file logging lalu mengirimkan laporannya kepada admin, misalnya melalui email. Logcheck bisa dikonfigurasi untuk melakukan checking sesering yang kita butuhkan, misal 5 menit/1 jam sekali, dengan menggunakan cron. Pattern yang akan dicari oleh logcheck pun bisa di atur sesuai dengan perkembangan informasi buggy yang bertebaran di internet.

TELNET DAN SSH


Pendahuluan Penggunaan telnet untuk melakukan login jarak jauh (remote login)

memungkinkan terjadinya pelanggaran privacy dan pencurian password. Hal ini dimungkinkan karena telnet tidak menggunakan enkripsi. Penyadapan dapat dilakukan dengan menggunakan aplikasi sniffer (misalnya snifit) dengan cara mendengar informasi-informasi yang lewat. SSH dapat dipakai untuk mengatasi hal ini karena SSH menggunakan enkripsi. Telnet Telnet digunakan untuk melakukan login secara remote dari tempat/komputer lain melalui jaringan (dengan hubungan TCP/IP menggunakan port 23). Dengan menggunakan telnet maka kita seolah-olah berada di depan komputer yang kita inginkan/kita tuju. Kita akan melakukan prosedur sama seperti jika melakukan login secara lokal yaitu mengisi nama login dan password. Syarat yang harus dipenuhi cukup sederhana yaitu komputer clien harus sudah terinstal aplikasi telnet dan komputer server harus terinstal aplikasi telnet dan telnet server. Salah satu yang menjadi permasalahan penggunaan applikasi telnet adalah kurang terjaminnya keamanan karena informasi tentang userid dan password ini dikirimkan melalui jaringan komputer secara terbuka/plain text tanpa enkripsi. Akibatnya ada kemungkinan seorang yang nakal melakukan sniffing dengan software sniffer dan mengumpulkan informasi tentang pasangan userid dan password ini. Meskipun cara

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

ini biasanya membutuhkan akses root ada baiknya kita menghindari hal tersebut, dengan mendisable fasilitas telnet misalnya.

Sniffit Sniffit adalah salah satu program aplikasi yang digunakan untuk melakukan aktivitas sniffing. Sniffit bisa mendeteksi login, password, dan perintah-perintah yang kita ketikkan pada console jika kita melakukan aktivitas tertentu, misalkan telnet. Lihatlah bagian Jobsheet untuk instalasi dan menggunakan sniffit.

Secure Shell (SSH) Enkripsi dapat digunakan untuk melindungi adanya sniffing. Salah satu aplikasi yang digunakan untuk remote login dengan enkripsi adalah SSH. Paket yang dikirimkan dengan SSH akan dienkripsi dengan RSA atau IDEA sehingga tidak dapat dibaca/dimengerti isinya oleh orang lain ng yang tidak berhak. Beberapa implementasi SSH ini, antara lain : ssh untuk UNIX (dalam bentuk source code, gratis), putty, SSH untuk Windows dari Data Fellows (komersial)

http://www.datafellows.com/, TTSSH (skrip yang dibuat untuk Tera Term Pro (gratis, untuk Windows)), SecureCRT untuk Windows (shareware/komersial).

PUBLIC KEY CRYPTOGRAPHY (KRIPTOGRAPHI KUNCI PUBLIK) SSH dalam enkripsinya menggunakan metode public key cryptography. Dengan metode ini, kita akan memerlukan 2 buah kunci berbeda yang digunakan baik untuk melakukan enkripsi dan dekripsi. Dua buah kunci tersebut masing-masing disebut public key (dipublikasikan ke publik/orang lain) dan private key (dirahasiakan/hanya pemiliknya yang tahu). Masing-masing kunci di atas dapat digunakan untuk melakukan enkripsi dan dekripsi. Perhatikan ilustrasi kasar enkripsi dengan public key cryptography berikut ini : Misalkan terjadi komunikasi antara dua person, yaitu Lia mengirimkan data ke Hakim. Maka proses yang terjadi adalah :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Public Key

network

Hakim

Lia

Gambar 1. Lia mengambil public key milik Hakim

Lia
network

Public Key Hakim + Private Key Lia + Data Data terenkripsi

Gambar logika Lia menggunakan private key miliknya untuk melakukan enkripsi terhadap data.

Setelah itu, hasilnya dienkripsi lagi menggunakan public key milik Hakim.

Hakim

network

Lia

Data terenkripsi

Gambar Lia mengirimkan data yang telah terenkripsi ke Hakim

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Hakim

network

Lia Public Key

Gambar Lia mengirimkan Public Key miliknya ke Hakim

Public Key milik Lia + Private Key milik Hakim + Data terenkripsi = Data terdekripsi

network

Gambar Data terenkripsi tadi didekripsi dengan private key milik Hakim, kemudian didekripsi lagi dengan public key milik Lia. Hasilnya adalah data yang siap digunakan. Jadi misalkan ditengah jalan ada orang yang berhasil melakukan penyadapan, maka dia tidak akan dapat membukanya tanpa adanya private key yang bersangkutan.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

You might also like