Membangun_Server.doc
Click here to load reader
Transcript of Membangun_Server.doc
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
PANDUAN LENGKAPMEMBANGUN SERVER BERBASIS GUI
MENGGUNAKAN LINUX SuSE
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Daftar Isi
1. Kata Pengantar
2. Ucapan Terima Kasih
3. 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
6. Apa Itu Linux ?
7. Keistimewaan linux
8. Aplikasi Linux
9. Instalasi Linux
8. 1. Persiapan Instalasi Linux SuSE 9.1
8. 2. Booting
8. 3. Pilhan Bahasa
8. 4. Menu Instalasi
8. 5. Section System
8. 6. Section Mode
8. 7. Section Keyboard
8. 8. Section Mouse
8. 9. 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
10. Dasar-Dasar Linux
11. File System Linux
12. Apa Itu Server ?
13. Persiapan Server
14. Syarat-syarat Server
15. Jenis-jenis Server
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
16. Membangun Server
16.1. DNS Server
16.2. Web Server
16.3. Database Server
16.4. Proxy Server
16.5. SMB Server
16.6. File Server
16.7. Fax Server
16.8. Mail Server
16.9. X Server
17. Jaringan Wireless
17.1. Peralatan Wireless
17.2. Fungsi Wireless
17.3. Instalasi Wireless
17.4. Konfigurasi Wireless
18. Router
18.1.Dasar-Dasar Routing
18.2.Jenis-Jenis Protocol Routing
18.3.Routing Table
18.4.Konfigurasi Router
19. Security Dan Keamanan
20. Aplikasi
21. Penutup
22. 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 sehari-hari. 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. KeyboardKeyboard 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 Mouse2. 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. TrackballSecara 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. ScannerScanner 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. DigitizerDigitizer 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. KameraSeiring 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. MicPengguna 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Pengguna game akan amat membutuhkan perangkat ini, karena akan memudahkan mereka melakukan manuver-manuver yang sulit dilakukan oleh 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
yang dihasilkan oleh tembakan CRT). Namun, secara umum monitor ini memiliki harga yang cukup rendah sehingga tetap merupakan peratalan standard dalam unit komputer.
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Gambar 9 LCD
2. PrinterPrinter 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Gambar 10 Printer Dot Matrix 9 pin dan 24 pin
- Printer InkjetSesuai 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 11 Contoh Printer Inkjet- 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Gambar 12 Beberapa Laserjet Printer3. 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 13 Contoh Plotter4. 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 lain-lain).
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 :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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 KeduaPada 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 KetigaIntel 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 KeempatPada 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.
Produsen selain Intel juga mengluarkan beberapa jenis processor, misalnya Cyrix dan Texas Instruments mengeluarkan 486 SLC dan IBM mengeluarkan 486 SLC2
5. Generasi KelimaPada 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
penanganan aplikasi multimedia. Pentium yang menggunakan fasilitas ini adalah P200 MMX dan P233 MMX
CyrixCyrix 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 DevicesPentium-pentium AMD bersaing ketat dengan Intel, utamanya dari segi kecepatan dan harga. AMD menggunakan teknologi mereka sendiri sehingga 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 (K6-2 300, K6-2 350 dan K6-2 400)
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
6. Generasi KeenamPada 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.
IntelIntel 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 IIDengan 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 CeleronAwal 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.
Pentium II Celeron A : MendocinoType 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 370Processor 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 XeonPada 26 Juli 1998, Intel mengenalkan catridge Pentium II baru yang diberi nama Xeon. Ditujukan untuk penggunaan server dan
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 – KatmaiPada 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.
Gambar 17 Processor Generasi Keenam dari Intel 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 KetujuhPada generasi ini, pertarungan antara Processor-processor tercepat, utamanya antara Intel dan AMD semakin menghangat. Masing-masing produsen mengeluarkan Processor terbaik mereka.
AMDProcessor 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)
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
- 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 lain-lain.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 CPU Yang sesuaiJumlah
PinDIP 8088 dan 8086 40Socket 3 386 168Socket 5 486 dan Pentium Klasik (P54C) 321Socket 7 Pentium, MMX, K5, 6x86, K6, IDT
Winchip, 6x86MX, K6-2321
Socket 8 Pentium Pro 387Slot One Pentium II 242Slot One Pentium II (bus sistem 100 MHz)
Pentium III (bus sistem 100 dan 133 MHz)
242
Slot One Celeron 242Socket 370 Celeron yang di-Socket 370Slot Two Pentium II Xeon, Tanner 330Socket 423 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
ChipsetChipset 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 RAMTerdapat beberapa jenis Slot RAM, diantaranya adalah DIP, 30 Pin, 72 Pin dan 168 pin serta Slot RIMM untuk RDRAM
Slot EkspansiSlot 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 ParalelPort 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 PowerSecara garis besar, slot power supply yang biasa digunakan terbagi 2 jenis, yaitu AT dan ATX.
3. MemoriSecara 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) CacheMemori 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Gambar 24 Alur Data Memori
3. Memori ModuleMemori 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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). 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Gambar 26 DIMM
Burst EDO RAM (BEDO RAM) adalah jenis EDO yang memiliki 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
Double Data Rate RAM (DDRAM) dikembangkan karena kebutuhan transmisi data sangat tinggi.
4. Expansion CardExpansion 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 chipVGA Card yang dilengkapi dengan accelerator chip akan meringankan beban processor. Usahakan accelerator yang digunakan mendukung 32 bit.
c. Type BusAda 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 MemoriSecara 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 CardSound 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).
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Gambar 28 Sound Card yang dilengkapi dengan penjelasan output
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 TunerMenonton 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 CardUntuk 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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)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 Double Density High Density
Lebar Track 0,330 mm 0,160 mmTrack per inchi 48 96Koersivitas 300 oersted 600 oerstedBytes per sector 512 512Sector per track 9 15Track per side 40 80Side 2 2Kapasitas 360 Kbytes 1,2 Mbytes
Gambar 30 Floppy Disk Drive 5,25 Inch dan Karakteristiknya
Floppy Disk 3,5 inchi
Karakteristik Double Density High Density
Lebar Track 0,115 mm 0,115 mmTrack per inchi 135 135Koersivitas 300 oersted 600 oerstedBytes per sector 512 512Sector per track 9 18Track per side 80 80Side 2 2Kapasitas 720 Kbytes 1,44 Mbytes
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Gambar 31 Floppy Disk Drive 3,5 Inch dan Karakteristiknya
2. Hard DiskHard 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).
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Gambar 33 Bentuk fisk CDROM
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 terminal-terminal 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 masing-masing 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
WirelessTopologi dibagi menjadi dua jenis yaitu Physical Topology dan Logical
Topologi. Dibawah ini adalah jenis-jenis Physical Topologi.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 pengamanan dan
pengelolaan jaringan tersebut. Jaringan ini terdiri dari banyak client dari satu atau
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 digunakan sebagai 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 back-up 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-peerSetiap 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 CardPCMCIA 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. ModemModem 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/SwitchHUB 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. BridgeBridge 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. RouterRouter 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 ToolsCrimping tools berguna untuk memotong, merapikan dan mengunci kabel
UTP dalam melakukan instalasi Networking.
Gambar 41 Crimping Tools
Digunakan untuk memotong Dan menjepit kabelDigunakan untuk mengupaskabel
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Pengkabelan1. 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
Gambar Nomor kaki (pin) Nama Warna
1 Putih orange2 Orange3 Putih hijau4 Biru5 Putih biru6 Hijau7 Putih coklat8 Coklat
Gambar 35 Susunan kabel straight
Nomor kaki (pin) Nama Warna
1 Putih hijau2 Hijau3 Putih orange4 Biru5 Putih biru6 Orange7 Putih coklat8 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
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 de-
facto 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Cara pengalamatan bersifat unik dalam skala global, memungkinkan
komputer dapat mengidentifikasi secara unik komputer yang lain dalam seluruh
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 :
Arsitektur OSI Arsitektur TCP/IPPerbandingan 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 masing-
masing layer arsitektur TCP/IP adalah sbb :
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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.
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 :
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,
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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.
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 :
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Proses Enkapsulasi Data
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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.
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:
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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,
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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.
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
menggunakan dua ethernet) maka kita harus memberi dua IP address untuk
komputer tersebut masing-masing untuk setiap interfacenya.
Format Penulisan IP Address
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
00000000.00000000.00000000.00000000 sampai
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 IP
address. Contoh hubungan suatu IP address dalam format biner dan desimal :
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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
192.168.26.161, network ID = 192.168 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
128-191 0-255 0-255 0-255
10nnnnnn nnnnnnnn hhhhhhhh hhhhhhhh
Bit-bit Network Bit-bit Host
IP address kelas B
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 192.168.xxx.xxx digunakan
penulisan 192.168/16. Angka 16 ini merupakan panjang bit untuk network prefix
kelas B.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Address KhususSelain 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 192.168.9.35.
Tanpa memakai subnet (akan diterangkan kemudian), network address dari host ini
adalah 192.168.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 (192.168) 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 datagram-
datagram 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Broadcast address diperoleh dengan membuat bit-bit host pada IP Address menjadi
1. Jadi, untuk host dengan IP address 192.168.9.35 atau 192.168.240.2, broadcast
addressnya adalah 192.168.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
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 Address mengikuti bentuk
1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx (bentuk desimal 224.0.0.0 sampai
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 IDBerikut adalah aturan-aturan dasar dalam menentukan network ID dan host
ID yang digunakan :
Network ID tidak boleh sama dengan 127
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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 :
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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
Subnet Mask Interpretasi Broadcast Address
44.132.1.20 44.0.0.0 255.255.0.0(16 bit)
Host 1.20 pada subnet 44.132.0.0
44.132.255.255
81.150.2.3 81.0.0.0 255.255.255.0 (24 bit)
Host 3 pada subnet
81.50.2.255
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
81.50.2.0192.168.2.100 192.168.0.0 255.255.255.12
8 (25 bit)Host 100 pada Subnet 192.168.2.0
192.168.2.127
192.168.2. 130 192.168.0.0 255.255.255.192 (26 bit)
Host 130 pada subnet 192.168.2.128
192.168.2.191
Beberapa kombinasi IP Address, Netmask dan network number
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 aturan-
aturan pengkabelan ini sebab manajer bangunan yang mengetahui dan
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 192.168.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 masing-
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
masing 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 192.168.1.xxx dialokasikan untuk cadangan
IP address 192.168.2.xxx dialokasikan untuk departemen A
IP address 192.168.3.xxx dialokasikan untuk departemen B
Ip address 192.168.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 192.168.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 192.168.9.0 sampai 192.168.9.255.
Dalam pembagian ini, seorang network administrator di suatu lembaga
mendapat alokasi IP Address 192.168.9.xxx. Alokasi ini setara dengan satu buah
kelas C karena sama-sama memiliki kapasitas 256 IP Address, yakni dari
192.168.9.0 sampai dengan 192.168.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 :
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Jumlah bit host dari subnet 192.168.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 192.168.9.(0-127), sedangkan subnet
kedua akan menggunakan IP Address 192.168.9.(128-255).
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 :
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
167 205 9 xxx
10100111 11001101 00001001 xxxxxxxx
11111111 11111111 11111111 11100000
10100111 11001101 00001001 000xxxxx
10100111 11001101 00001001 001xxxxx
10100111 11001101 00001001 010xxxxx
10100111 11001101 00001001 011xxxxx
10100111 11001101 00001001 100xxxxx
10100111 11001101 00001001 101xxxxx
10100111 11001101 00001001 110xxxxx
10100111 11001101 00001001 111xxxxx
0-31
32-63
64-95
96-127
128-159
160-191
192-223
224-255
Byte Akhir
Studi Kasus :
Anda sebagai penanggungjawab jaringan di suatu kantor yang mempunyai 3 buah
departemen mendapat alokasi IP dari suatu ISP (Internet Service Provider)
192.168.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 :
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
192.168.9.10000000
192.168.9.10010000
192.168.9.10100000
192.168.9.10110000
Terdapat broadcast address sbb:
192.168.9.10001111 = 192.168.9.143
192.168.9.10011111 = 192.168.9.159
192.168.9.10101111 = 192.168.9.175
192.168.9.10111111 = 192.168.9.191
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Sejarah 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 GNU’s 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
basic, dan program-program lain yang bermanfaat sesuai dengan tujuan pembuatan
distro. Ada banyak sekali distro Linux, diantaranya :
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Linux/UNIX adalah salah satu sistem operasi yang termasuk ke dalam kelas
sistem operasi yang dapat melakukan multitasking. Multitasking sendiri adalah
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.
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,
dllINSTALASI LINUX SuSE 9.1Dalam 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 :Processor Minimal Intel Pentium II 800 Mhz
1. Memory Minimal 64 Mb2. VGA Card3. Monitor 14”4. CD ROM drive 52x5. CD instalasi Linux SuSE 9.1
Proses instalasi :
Booting
Gambar 1
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 CD-ROM. Tunggu sejenak sampai komputer membaca proses boot dari CD-ROM dan masuk ke tampilan pembuka Instalasi Linux SuSE 9.1 . Perhatikan Gambar 1
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Gambar 2
Gambar 3a Gambar 3b
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.
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Pilihan Bahasa
Menu Instalasi
Section System
Gambar 4
Gambar 5
Gambar 6
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.
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.
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Section Mode
Section Keyboard Layout
Gambar 7a Gambar 7b
Gambar 9
Gambar 8
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.
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Section Mouse
Section Partitioning
Gambar 10
Gambar 11
Gambar 12
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.
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 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Gambar 13
Setelah Menu Mouse selesai, Menu Instalasi berikutnya adalah Menu Partitioning, Perhatikan 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.
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
Gambar 15
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Partisi Boot
Partisi boot digunakan sebagai partisi khusus yang dibuat untuk penyimpanan file-
file yang akan diloading pada saat linux pertama kali dijalankan.
Gambar 15
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.
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
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 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.
Gambar 18
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.
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.
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.
Gambar 20
Pada list partisi yang sudah dibuat pilihlah /dev/hda lalu kliklah tombol create untuk membuat partisi /home. Parhatikan Gambar 20.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Partisi Root
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
Gambar 23
Perhatikan gambar disamping ini. Sekarang partisi yang akan dibuat adalah partisi /root. Pada /dev/hda kliklah tombol create. Perhatikan Gambar 23.
Gambar 24
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Section Software
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 25
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 26
Setelah semua partisi telah dibuat, kliklah tombol Next, seperti pada gambar disamping. Perhatikan Gambar 26.
Gambar 27
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 28
Pada pilihan menu Software, pilihlah Option Default System. Setelah anda milih option software, kliklah Detailed Selection untuk memilih paket-paket server. Perhatikan Gambar 28.
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.
Gambar 29bGambar 29a
1
2
4
3
5
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.
Gambar 30
Setelah anda memilih paket-paket 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 31
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.
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 Time Zone
Bagian ini untuk mengatur waktu didalam mesin server yang akan kita install.
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.
Gambar 32
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Section Languange
Gambar 34
1 2
43
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 35
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 36
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 37
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
Gambar 41
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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 43Seperti 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Root Password
Network Configuration
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
Gambar 46
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 47
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 48
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 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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.
Gambar 51a Gambar 51b
Setelah selesai kliklah tombol Next seperti pada Gambar 51a. Lalu linux akan menyimpan hasil konfigurasi Network Conection. Perhatikan Gambar 51b.
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 52
Gambar 53
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.
Gambar 54
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 55
Setelah menambahkan user maka linux akan menyimpan konfigurasi yang dilakukan seperti gambar disamping. Perhatikan Gambar 55.
Gambar disamping adalah informasi sekilas mengenai Linux SuSE 9.1. Lalu kliklah tombol Next apabilaanda telah selesai membacanya. Perhatikan Gambar 56.
Gambar 56
Gambar 57
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 58
Gambar disamping menandakan bahwa instalasi yang dilakukan telah berhasil. Kliklah tombol Finish untuk menyelesaikan proses instalasi Linux. Perhatikan Gambar 58.
Gambar 59
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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:
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
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
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 :
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
# 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
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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:
# 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 reguler
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
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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:
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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.
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 :
#mount –t msdos /dev/hda3 /mnt/harddisk
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
(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
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, [email protected]). 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 )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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 fsJika Anda menginginkan Linux dapat mengakses sistem berbasis
DOS maka Anda dapat menkompilenya dalam kernel. Sangat
berguna untuk komputer yang memiliki sistem dual-boot.
VFAT
(Windows95) fs
Merupakan peningkatan dari MS-DOS FAT fs dan mendukung format
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.
NCP Dukungan terhadap NetWare melalui protokol NCP.
ISO9660 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 FileDisamping 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:
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)
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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:
fsck
fdisk
mkfs
shutdown
lilo
init
/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
/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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
/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:
~X11, X11R6/, ~X386, bin/, dict/, doc/, etc/, games/, i486-linux-libc5/, i486-
linuxaout/, 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 SistemMenganalisis 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:
[zakaria@linux source]$ vmstat 5 5
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
0 0 0 37924 824 840 13280 54 14 30 9 522 271 21 6 73
3 0 0 37924 1080 816 13060 0 0 1 0 110 329 20 16 64
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
1 0 0 37924 1036 824 13084 0 0 2 1 130 331 18 18 64
1 0 0 37924 1036 824 13084 0 0 0 0 107 329 19 16 65
2 0 0 37924 1036 828 13084 0 0 0 1 112 326 21 14 65
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.
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
proses, kita cukup menekan tombol K dan mengisi nomor proses(PID) yang ingin di-
kill.
Untuk menjalankannya cukup dengan mengetikkan perintah top dan segera
ditampilkan daftar proses-proses yang sedang berjalan saat itu berikut informasi-
informasi 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
meng-kill sebuah proses, tombol r untuk me-renice proses dan q untuk keluar atau
mengakhiri progam top.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 UserMudah 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
yang masih duduk TK atau kepada teman kuliah Anda yang sedang menumpang
mengetik skripsinya di komputer Anda.
GroupSetiap 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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.
Permission dan OwnershipSetiap 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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 perintah-
perintah 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Manual tersebut akan menampilkan bagaimana cara penggunaan perintah lsitu
secara lengkap.
Daftar Perintah Menurut Alfabet
& adduser alias bg cat cd chgrp chmod chown
cp fg find grep gzip halt hostname kill less
login logout ls man mesg mkdir more mount mv
passwd pwd rm rmdir shutdown su tail talk tar
umount unalias unzip wall who xhost + xset zip
&
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
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
(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
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
$ 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.
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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>
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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>
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 +
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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: [email protected]
Linux Aktivis - Membicarakan pengembangan dan pemasyarakatan Linux di
Indonesia.
Subscribe: [email protected]
Linux Berita - Memberikan informasi tentang berita dan pengumuman kegiatan
Linux di Indonesia khususnya.
Subscribe: [email protected]
Linux Bursa - Jual-beli barang/jasa Linux, penawaran dan pencarian kerja di bidang
Linux.
Subscribe: [email protected]
Linux Desktop - Diskusi cara penggunaan program aplikasi seperti KDE, Gnome,
StarOffice dsb.
Subscribe: [email protected]
Linux Policy - Non teknis Linux misalnya GPL, Open Source.
Subscribe: [email protected]
Linux Programming - Diskusi mengenai pemrograman Linux, bahasa, teknik, trik
dan tips.
Subscribe: [email protected]
Linux Setup - Tempat yang menarik bagi newbie menanyakan masalah instalasi,
cara setup program dsb.
Subscribe: [email protected]
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Pendahuluan
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 SRI-
NIC 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.
Setelah anda menjalankan perintah ls maka linux akan menampilkan isi default direktori /var/lib/named yaitu :
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
Setelah anda menyalin file 127.0.0.zone maka editlah 192.168.0.zone dengan menggunakan perintah vi atau pico
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.
root:~# cd /var/lib/namedroot:/var/lib/named# ls
root:/var/lib/named# ls. .. slave 127.0.0.zone localhost.zone root.hint
root:/var/lib/named# cp 127.0.0.zone 192.168.0.zone /var/lib/named
root:/var/lib/named# pico 192.168.0.zone
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 linux.net.IN NS server.linux.net.
1 IN PTR 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 linux.net.IN NS server.linux.net.
1 IN PTR server.linux.net.IN MX 10 server.linux.net.
localhost IN A 127.0.0.1server IN A 192.168.0.1www IN CNAME server.linux.net.mail IN CNAME server.linux.net.smtp IN CNAME server.linux.net.pop3 IN CNAME server.linux.net.ftp IN CNAME server.linux.net.
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 fileNS 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 IPPTR Mengubah Nama IP menjadi NamaCNAME Menjelaskan nama Alias
Setelah itu editlah file /etc/named.confroot:/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 <[email protected]>## /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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
root:/etc# pico resolv.conf
Sedangkan isi dari file resolv.conf adalah :domain linux.netnameserver 192.168.0.1nameserver 127.0.0.1search linux.netSetelah 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/messagesFeb 15 12:54:18 named[25139]: starting BIND 9.2.2rc1 -u named -c /usr/local/named/etc/named.confFeb 15 12:54:18 named[25139]: using 1 CPUFeb 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 foundFeb 15 12:54:18 named[25139]: listening on IPv4 interface lo, 127.0.0.1#53Feb 15 12:54:18 named[25139]: listening on IPv4 interface eth0, 192.168.0.1#53Feb 15 12:54:18 named[25139]: command channel listening on 127.0.0.1#53Feb 15 12:54:18 named[25139]: zone 0.168.192.in-addr.arpa/IN: loaded serial 9Feb 15 12:54:18 named[25139]: zone 0.0.127.in-addr.arpa/IN: loaded serial 10Feb 15 12:54:18 named[25139]: zone localhost/IN: loaded serial 11Feb 15 12:54:18 named[25139]: zone db.linux.net/IN: loaded serial 12Feb 15 12:54:18 named[25139]: running
Jalankan perintah dig untuk mengecek apa server DNS yang anda buat sudah berjalan dengan baik apa tidak.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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)
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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.
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)
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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.
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
webserver-webserver 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
bahsa script yang lainnya seperti asp, Javascript , Visual BASic atau yang lainnya, namun keuntungannya adalah pada PHP tidak diperlukan tambahan pada sisi webclient seperti halnya Javascript dan Visual Basic script, sehingga lebih luas penggunaannya.Beberapa keunggulan PHP dibandingkan dengan yang lain :
Autentikasi http menggunakan PHP menggunakan fungsi header()
yang ada dalam modul apache PHP.
Pembuatan file GIF menggunakan library GD yang dikompilasi saat
menginstall php.
PHP dapat menerima metoda upload file
Mendukung penggunaan cookie
Mendukung integrasi dengan database
Mendukung ekspresi regular seperti ereg(), ereg_replace() dan
lainnya.
Penanganan kesalahan berdasarkan tingkat kesalahan.
INSTALASI APACHE dan PHPProses 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
# cd apache_versi/# ./configure
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 installKemudian anda copykan file php.ini–dist yang ada di source php ke direktori
/usr/local/lib dan diberi nama php.ini
# cp php.ini–dist /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 SERVERPada 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.logAdalah 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_logLogLevel warn
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedLogFormat "%h %l %u %t \"%r\" %>s %b" commonLogFormat "%{Referer}i -> %U" refererLogFormat "%{User-agent}i" agentCustomLog /web/logs/access_log common
Maka akan tampil pada file httpd-access.log format seperti ini :
192.168.0.101 - - [26/Jun/2001:07:09:46 +0700] "GET / HTTP/1.0" 200 1310192.168.0.105 - - [26/Jun/2001:07:10:50 +0700] "GET /usage/index.html HTTP/1.0" 403 296192.168.0.105 - - [26/Jun/2001:07:11:27 +0700] "GET /test.php HTTP/1.0" 200 38746192.168.0.205 - - [26/Jun/2001:07:17:08 +0700] "GET / HTTP/1.0" 200 1310192.168.0.198 - - [26/Jun/2001:07:17:20 +0700] "GET / HTTP/1.0" 200 1310192.168.0.104 - - [26/Jun/2001:09:42:31 +0700] "GET /icons/unknown.gif HTTP/1.1" 404 305192.168.0.104 - - [26/Jun/2001:09:42:31 +0700] "GET /icons/compressed.gif HTTP/1.1" 404 308192.168.0.104 - - [26/Jun/2001:09:42:31 +0700] "GET /icons/binary.gif HTTP/1.1" 404 304192.168.0.104 - - [26/Jun/2001:09:42:36 +0700] "GET / HTTP/1.1" 200 1310192.168.0.104 - - [26/Jun/2001:09:42:36 +0700] "GET /apache_pb.gif HTTP/1.1" 200 2326192.168.0.104 - - [26/Jun/2001:09:42:43 +0700] "GET /~admin HTTP/1.1" 301 338192.168.0.104 - - [26/Jun/2001:09:42:43 +0700] "GET /icons/blank.gif HTTP/1.1" 404 303192.168.0.104 - - [26/Jun/2001:09:42:43 +0700] "GET /icons/unknown.gif HTTP/1.1" 404 305192.168.0.104 - - [26/Jun/2001:09:42:43 +0700] "GET /icons/back.gif HTTP/1.1"404 302192.168.0.104 - - [26/Jun/2001:09:42:43 +0700] "GET /icons/compressed.gif HTTP/1.1" 404 308192.168.0.104 - - [26/Jun/2001:09:42:43 +0700] "GET /icons/binary.gif HTTP/1.1" 404 304
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 192.168.0.107] no acceptable variant: /web/htdocs/index.html[Tue Jun 26 04:25:00 2001] [error] [client 192.168.0.107] no acceptable variant: /web/htdocs/index.html[Tue Jun 26 04:25:17 2001] [error] [client 192.168.0.107] File does not exist: /web/htdocs/~index.html[Tue Jun 26 04:25:29 2001] [error] [client 192.168.0.107] File does not exist: /web/htdocs/ndex.html[Tue Jun 26 04:29:25 2001] [error] [client 192.168.0.104] client denied by server 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[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 192.168.0.105] client denied by server configuration: /web/htdocs/usage/index.html[Tue Jun 26 09:42:02 2001] [error] [client 192.168.0.104] File does not exist: /web/htdocs/icons/image2.gif
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
[Tue Jun 26 09:42:12 2001] [error] [client 192.168.0.104] File does not exist: /web/htdocs/icons/blank.gif[Tue Jun 26 09:42:12 2001] [error] [client 192.168.0.104] File does not exist: /web/htdocs/icons/back.gif[Tue Jun 26 09:42:12 2001] [error] [client 192.168.0.104] File does not exist: /web/htdocs/icons/image2.gif[Tue Jun 26 09:42:31 2001] [error] [client 192.168.0.104] File does not exist: /web/htdocs/icons/back.gif[Tue Jun 26 09:42:31 2001] [error] [client 192.168.0.104] File does not exist: /web/htdocs/icons/blank.gif[Tue Jun 26 09:42:31 2001] [error] [client 192.168.0.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 WEBALIZERSelain 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
Kemudian installasi dapat dilakukan dengan perintah sebagai berikut :# tar zxvpf webalizer-1.30-04-src.tar.Z# cd webalizer-1.30-04/# ./configure –-enable-dnsLebih 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_logOutputDir /web/htdocs/statHistoryName webalizer.histIncrementalName webalizer.currentHostName nama.host.andaHideSite *nama.host.anda
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 sebagai berikut :
Webalizer V1.30-04 (Linux 2.2.14-5.0) EnglishUsing logfile /var/httpd/logs/access_logCreating output in /var/httpd/htdocs/usageHostname for reports is 'trans.si.linux.net'History file not found...Warning: Truncating oversized request fieldWarning: Truncating oversized request fieldWarning: Truncating oversized request fieldGenerating report for September 2001Generating summary reportSaving history information...1452 records in 0.56 seconds
Setelah selesai, maka akan diperoleh pada direktori outputdir seperti berikut :-rw-r--r-- 1 root root 16209 Sep 9 05:42 ctry_usage_200108.gif-rw-r--r-- 1 root root 16261 Sep 9 05:42 ctry_usage_200109.gif-rw-r--r-- 1 root root 23265 Sep 9 05:42 daily_usage_200108.gif-rw-r--r-- 1 root root 25767 Sep 9 05:42 daily_usage_200109.gif-rw-r--r-- 1 root root 18517 Sep 9 05:42 hourly_usage_200108.gif-rw-r--r-- 1 root root 17620 Sep 9 05:42 hourly_usage_200109.gif-rw-r--r-- 1 root root 4295 Sep 9 05:42 index.html-rw-r--r-- 1 root root 19205 Sep 9 05:42 usage.gif-rw-r--r-- 1 root root 69127 Sep 9 05:42 usage_200108.html-rw-r--r-- 1 root root 61864 Sep 9 05:42 usage_200109.html-rw-r--r-- 1 root root 69 Sep 9 05:42 webalizer.hist
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 APACHETerkadang 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 à deny dievaluasi dahulu baru allow (Default inisialisasi
OK ),
order mutual-failure à hanya host yang muncul di tag allow dan tidak muncul
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,192.168.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].
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>
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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,allowDeny from allAllow from 192.168</Files><Files ~ "\.(asf)$">Order deny,allowDeny from allAllow from 192.168
</Files>
Ini berarti semua direktori public_html user diperbolehkan untuk diakses. Sedangkan
file-file dengan format .mp3 dan .asf hanya bias diakses dari IP 192.168.*.
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
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 :
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
<Limit GET POST>order deny,allow#allow from allrequire user abdul</Limit><Limit PUT DELETE>order deny,allowdeny from all</Limit>AuthType BasicAuthName linux.netAuthUserFile /home/abdul/public_html/.pwd
Pendahuluan
Database telah menjadi bagian yang menyatu dalam hampir setiap
kehidupan manusia. Tanpa database, banyak sesuatu yang kita kerjakan akan
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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 me-
release 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 databaseDatabase 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 :
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
“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 MySQLMySQL 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,
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Kompile
# 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 0:00 sh /usr/bin/safe_mysqld --user=mysql --pid-file=/var/
587 ? SN 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql
Sampai di sini , installasi mysql selesai.
Instalasi via RPMSource MySQL dengan format RPM ada beberapa macam yaitu :
MySQL-versi-platform.rpm
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 MySQLUntuk 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 meng-
uninstalasinya via RPM dengan perintah :
# rpm –e nama_file_rpm
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
sistem pendelegasian. Komputer-komputer yang dapat dikenali oleh internet
bertindak sebagai wakil.
Proxy Server SquidProxy 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).
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 Squid dapat menghemat bandwith dapat diterangkan
sebagai berikut :
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:
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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.
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 ,
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 SquidServer 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
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Gambar 4. Prototipe hierarki cache
Instalasi SquidUntuk 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# 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”.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 SquidSetelah 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.confDalam direktori /usr/local/squid/bin akan terdapat file-file sbb:
squid program utama
dnsserver server untuk melayani request pemetaan
ip <-> nama tiap child proses squid
cachemgr program tambahan untuk memantau server secara otomatis
runchace script untuk memulai squid
Sedangkan dalam direktori /usr/local/squid/etc akan terdapat file-file konfigurasi
sebagai berikut :
squid.conf.default file konfigurasi squid default
mime.conf.default file konfigurasi mime default
Sedangkan file-file log akan terdapat pada direktori /usr/local/squid/logs, yaitu :
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
access.log mencatat log aktivitas-aktivitas yang dilakukan oleh klien.
cache.log mencatat log yang dicatat oleh cache server.
store.log mencatat setiap log yang berhubungan dengan database.
Konfigurasi Mode Httpd-AcceleratorBerikut kita akan membahas bagian-bagian yang perlu diedit pada file squid.conf :
http_port 3128
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 3130
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
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 bertanggung-
jawab pada server.
cache_effective_user squid and cache_effective_group squid
Options ini menyatakan UID/GID dimana cache berjalan.
httpd_accel_host 192.168.0.100 and httpd_accel_port 80
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
192.168.0.100 pada port 80.
log_icp_queries off
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 “ON” dapat menambah kecepatan penulisan
beberapa file log.
Konfigurasi Mode Proxy-Caching ModePada 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
acl [alamat] srcdomain [nama.domain]
Akses berdasarkan domain tujuan
acl [alamat] dstdomain [nama.domain]
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Untuk lebih jelasnya perhatikan contoh isi file konfigurasi proxy-cache server berikut
ini :
# pico squid.conf
icp_port 3130
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 [email protected]
cache_effective_user squid
cache_effective_group squid
log_icp_queries off
cachemgr_passwd my-secret-pass all
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
buffered_logs on
Sedangkan option-option yang lain sama seperti yang sudah dijelaskan untuk mode
sebelumnya.
Menjalankan SquidSetelah 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 \
# a way to store requested Internet objects (i.e., data available \
# via the HTTP, FTP, and gopher protocols) on a system closer to the
# \
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
# 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/local/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 &
Pendahuluan
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 pertukaran
email yang menggunakan TCP/IP
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.
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)
User di terminal
User agent
Antrian yang akan dikirim MTA
client
User di termina
lUser agent
Mailbox penerimaMTA server
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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:
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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.
Komponen E-mailEmail 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: <[email protected]>
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
RCPT to: <[email protected]>
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 192.168.0.1
IN MX 100 mx1.linux.net.
IN MX 50 mx2.linux.net.
IN MX 10 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
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
$ host students.linux.net
students.linux.net has address 192.168.0.1
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 AgentFungsi 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,
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.
QmailSebuah 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 masig-
masing 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.
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 : email itu sendiri
todo/23 : amplop yang menyatakan dari mana email datang dan ke mana akan
diantarkan
intd/23 : amplop juga namun dalam proses pembuatan oleh qmail-queue
info/23 : amplop yang menerangkan alamat pengirim, setelah preprocessing
local/23 : amplop lokal yang menerangkan alamat penerima, setelah
preprocessing
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 qmail-
send 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).
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 qmail-
send 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.
Sama halnya dengan bila komputer crash hanya beberapa saat sebelum
qmail-send 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 QmailUntuk 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 :
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
# 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 : nofiles dan qmail
user : 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 :
# make setup check Lakukan perintah untuk mensetup file konfigurasi qmail dengan command :
# ./configAtau 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
# 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 mboxSendmail 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# 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 qmailMaka akan tampak daemon qmail yang sedang idle yaitu :
Qmail-send, dijalankan oleh qmails;
Qmail-lspawn, dijalankan oleh root;
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 53qmail: info msg 53: bytes 246 from [email protected] .qp20345 uid 666qmail: starting delivery 2: msg 53 to local [email protected]: status: local 1/10 remote 0/20qmail: delivery 1: success: did_1+0+0/qmail: status : local 0/10 remote 0/20qmail: 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 :qmail: new msg 53qmail: info msg 53: bytes 246 from admin@ linux.net qp 20351 uid 666qmail: starting delivery 2: msg 53 to local nama_user@ linux.netqmail: status: local 1/10 remote 0/20qmail: delivery 2: failure: no_such_address._#5.1.1_/qmail: status: local 0/10 remote 0/20qmail: bounce msg 53qmail: new msg 54qmail: info msg 54: bytes 743 from <> qp 20357 uid 666qmail: starting delivery 3: msg 54 to local [email protected] qmail: status: local 1/10 remote 0/20qmail: delivery 3: success: did_1+0+0/qmail: status: local 0/10 remote 0/20qmail: end msg 54Maka setelah anda membuka mailbox akan terdapat mail yang balik lagi.
Selain lewat test qmail-inject, anda dapat langsung lewat smtp qmail.# telnet 192.168.0.101Trying 192.168.0.101…Connected to 192.168.0.101.Escape character is ‘^]’.Mail admin@ linux.net250 okdata 354 go aheadsubject : testes
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 tcp-env /var/qmail/bin/qmail-smtpd
Semua line diletakkan dalam satu baris, maksudnya walaupun baris sudah
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
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 qmailBila 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 :
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
# 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 192.168.0.97Trying 192.168.0.97Connected to 127.0.0.1.Escape character is '^]'.220 domain ESMTPhelo udin250 domainmail <[email protected]>250 okrcpt <[email protected]>250 okdata354 go aheadSubject: testIni cuma test..250 ok 812345679 qp 12345quit221 domainConnection 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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://inter7.com/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.inter7.com/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-idx-0.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 :
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
#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 :
# 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/cgi-bin :
# ls -la /usr/local/httpd/cgi-bin/qmailadmin -rwsr-sr-x 1 vpopmail vchkpw 277728 Feb 28 18:12 /usr/local/httpd/cgi-bin/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://inter7.com/imap/courier-imap-1.7.0.20030215.tar.bz2
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
#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 :) :
# 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Menurut file INSTALL dari distribusi Squirrelmail, software ini membutuhkan php4 yang minimal dikompilasi dengan opsi --enable-track-vars --enable-force-cgi-redirect --with-gettext serta membutuhkan register_global=On dan file_uploads = On di php.
Download dan ekstrak paket squirrelmail yang paling baru :
#wget \ http://inter7.com/squirrelmail/squirrelmail-1.2.11.tar.gz Perhatian : Perintah diatas diketik dalam satu barisLalu jalankan perintah tar untuk melakukan proses instalasi squirrelmail.#tar -xzvf squirrelmail-1.2.11.tar.gz
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
[email protected] kemudian anda bisa mengganti Personal Information atau Folder Preferences dari menu Options.
Memilih Script QmailUntuk 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 masing-
masing 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Mengarsipkan mail-mail yang datang ke sebuah mailling-list
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 linuxPlease 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.
Akhirnya kita masukkan script supervise qmail-pop3d kedalam /service :
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
#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 5031061 ? 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 <[email protected]>
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 # qmailctl start Starting qmail
Kemudian kita mencoba mengetest mengirim email misalnya dari [email protected] , dari perintah tail -f /var/log/qmail/current kita dapatkan log seperti berikut :
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
#tail -f /var/log/qmail/current@403db6657501bc540c new msg 224662@403db6657501bc6b7c info msg 224662: bytes 906 from <[email protected]> qp 995 uid 503@403db6657501e995fc starting delivery 1: msg 224662 to local linux-admin@linux@403db6657501eb3fc4 status: local 1/10 remote 0/20@403db6657504fac1e4 delivery 1: success: did_0+0+1/@403db6657504fad954 status: local 0/10 remote 0/20@403db6657504fd8cbc 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 | tai64nlocal2002-10-23 16:01:31.029119500 new msg 224662 2002-10-23 16:01:31.029125500 info msg 224662: bytes 906 from <[email protected]> qp 995 uid 503 2002-10-23 16:01:31.032085500 starting delivery 1: msg 224662 to local linux-admin@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 <[email protected]> user admin@linux+OK pass 123+OK list+OK 1 988 . quit +OK Connection closed by foreign host.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Disitu kita lihat email sudah masuk dengan sukses ke alamat yang dituju. Untuk menambahkan virtual domain yang lain (misalnya mail.net), anda tinggal menuju ke /home/vpopmail/bin kemudian ./vadddomain mail.net misalnya :
# cd /home/vpopmail/bin # ./vadddomain mail.net
Instalasi ezmlmBerikut 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-idx-
0.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 > membuat mailling-list
Ezmlm-sub > memasukkan anggota baru
Ezmlm-unsub > menghapus anggota
Ezmlm-manage > mengatur kerja ezmlm
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
# 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 ezmlmPada 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 aliasPassword : *****
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 [email protected]
Tes pengiriman email ke mailling-list :$ echo subject : test |qmail-inject [email protected]$ mail [email protected] : tesIni 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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.
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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.
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 meng-
update daftar password PDC. Script Perl pada sisi Linux dapat berkomunikasi
dengan script WinPerl untuk menjaga sinkrinisasi account.
Encrypted PasswordSejak 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 :
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 nmbdSebenarnya 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.
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 ServerPaket 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).
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Instalasi Dalam Bentuk TarballInstalasi 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 :
Option Deskripsi
--with-pam Agar Samba dapat menggunakan Password Authentication Module (PAM).
--with-mmap 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/
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 ServerDalam 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
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
workgroup= TUXIsilah dengan workgroup server kita, yang akan tampak saat diminta oleh
klien. Klien dan server harus mempunyai workgroup yang sama.
server string= Samba ServerOption 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= TrueJika option ini diset “True”, Samba akan menggunakan password terenkripsi
bukan menggunakan password berbentuk teks sederhana saat berhubungan
dengan klien. Password terenkripsi ini tidak akan bisa dideteksi dengan sniffer.
Untuk keamanan sebaiknya option ini diset “True”.
security= userBila 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/smbpasswdOption 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.%mOption 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
socket options= IPTOS_LOWDELAY TCP_NODELAYDengan 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= YesOption ini untuk mengeset Samba server daemon “nmbd” sebagai domain
master browser untuk group yang telah ditentukan. Option ini biasanya harus diset
“Yes” hanya dalam satu Samba server untuk keseluruhan Samba server yang lain
pada workgroup dan jaringan yang sama.
local master= YesDengan option di atas, Samba server daemon, nmbd, akan mencoba untuk
menjadi domain master browser pada workgroup yang telah ditentukan.
preferred master= YesOption “preferred master” akan menentukan dan mengontrol jika “nmbd”
dibuat sebagai master browser untuk workgroup yang bersangkutan.
os level= 65Dengan 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= NoBila 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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= TrueJika 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.1Option 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= ALLKita dapat menentukan host-host yang tidak boleh mengakses Samba.
Secara default kita melarang akses dari seluruh host, dan mengijinkan akses untuk
host-host tertentu yang didefinisikan pada “hosts allow” di bawah ini.
hosts allow= 192.168.1.4 127.0.0.1Host-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= 1Di 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= 0644Option “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).
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
directory mask= 0755Mirip 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= TrueJika option ini dibuat “True”, akan meningkatkan keandalan file-file akses
yang tidak umum ditulis seperti file-file aplikasi .EXE.
read raw= noIni 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= 262144Option ini akan membuat Samba meningkatkan keandalan sistem jika terjadi
kemacetan disk subsystem. Nilai option ini dinyatakan dalam byte (262144=256k).
comment= Temporary File SpaceOption ini untuk menyatakan komentar yang akan terlihat saat ada
permintaan klien ke server.
path= /tmpKita dapat menentukan direktori mana user service ini diberikan akses.
read only= NoMaksud 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= adminOption ini berisi daftar user yang diijinkan login. Pada contoh di atas user
“admin” diijinkan untuk akses.
invalid users= root bin daemon nobody named sys tty disk mem kmem 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 localhost192.168.0.1 lab1192.168.0.2 lab2192.168.0.3 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 required /lib/security/pam_pwdb.so nullok shadowAccount required /lib/security/pam_pwdb.so
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
missingok prostrotate /usr/bin/killall –HUP nmbd endrotate}
/var/log/samba/log.smb {notifemptymissingokpostrotate /usr/bin/killall –HUP smbdendotrate}
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# passwd smbclientChanging password for user smbclientNew 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 smbclientNew SMB password:Retype new SMB password:
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Added user smbclientPassword 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
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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
PendahuluanStruktur 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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.
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 KETERANGAN ABOR Abort previous command ACCT User account ID
ALLO Allocate storage for forthcoming operation
APPE Append incoming data to an existing file CDUP Change to parent directory CWD Change working directory
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
DELE Delete file HELP Retrieve information LIST Transfer list of directories MKD Make a directory MODE Set transfer mode NLST Transfer a directory listing NOOP No operation PASS User Password PASV Request a passive open PORT Port address PWD Display current directory QUIT Terminate the connection REIN Terminate and restart the connection REST Restart marker (restart transfer) RETR Transfer a copy file RMD Remove a directory RNFR Old pathname for rename command RNTO New pathname for rename command SITE Provide service specifies SMNT Mount a file system STAT Return status STOR Accept and store data
STOU Accept data and store under different name
STRU File structure SYST Query to determine operating system TYPE Type of Data USER 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 yang
lebih detail
tetapi bergantung dari
implementasi
Digit Keterangan
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Pertama
1.00 Aksi dimulai. Mengharapkan balasan lain sebelum mengirim perintah baru
2.00 Aksi selesai. Boleh mengirim suatu perintah baru
3.00 Perintah diterima tetapi menunggu, kerna kurang informasi
4.00 Perintah tidak diterima, atau diselesaikan. Terjadi error temporer. Perintah dapat dikirimkan kembali
5.00 Perintah tidak dapat diterima atau diselesaikan
Tabel Arti reply code digit pertama
Digit Keterangan Kedua 0.00 Kesalahan sintaks atau perintah ilegal 1.00 Membalas atau menunggu informasi
2.00 Membalas yang mengacu pada pengelolaan koneksi
3.00 Membalas untuk perintah otentikasi 4.00 Tak digunakan 6.00 Membalas untuk status server
Tabel Arti reply code digit kedua
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 Keterangan
ascii Mode transfer dengan menggunakan ASCII
binary Mode transfer dengan menggunakan Binary
cd Pindah direktori close Memutuskan hubungan
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
del Menghapus file di Server dir 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.
Instalasi server FTPFTP 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 FTPFile-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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
/etc/servicesIsi dari file services di /etc digunakan untuk mendefinisian port-port yang tersedia dan dapat di gunakan.ftp-data 20/tcpftp 21/tcpDua baris diatas yang mendefinisikan kepada inetd bahwa data dan command di ftp server menggunakan port tersebut.
/etc/inetd.confBaris yang menjalankan perintah inisialisasi ftp daemon adalah :ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -aKeterangan 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/ftpaccessHal-hal yang penting dalam konfigurasi akses ftp server adalah class, deny, limit, noretrieve, loginfails, private, autogroup, dan guestgroup. Masing-masing fungsi akan dijelaskan kemudian.
classSyntax :class <classname> typelist addrglobalKeterangan : 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.
denySintaksnya adalah :deny addrglobal message_fileMisal :deny *.planet.tzo.com /etc/nggak-boleh-masuk.txtYang berarti ftp server menolak koneksi yang berasal dari semua host di bawah domain planet.tzo.com.
limitSintaks :limit <classname> n times message_file
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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.txtYang 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
loginfailssyntax :loginfails numberFungsinya adalah untuk menentukan berapa kali seorang user boleh salah memasukkan login dan password sebelumdisconnect. Misal :loginfails 3Artinya user diberikan mencoba 3 kali memasukkan password sebelum akhirnya koneksi diputuskan bila passwordtidak tepat.
/etc/ftphostsFile ftphosts digunakan untuk akses kontrol dari ftp server. syntax :allow <username> <addrglobal>deny <username> <addrglobal>
/etc/ftpusersFile ini berisi daftar user yang tidak boleh akses ke ftp server
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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.
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 di-
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
rektori /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
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.0.1 untuk server dan untuk komputer terminal
menggunakan alamat ip antara 192.168.0.11 sampai 192.168.0.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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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.
# tftp dgram udp wait root /usr/sbin/tcpd in.tftpd
# bootps dgram wait root /usr/sbin/tcpd bootpd
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
/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 akan dijumpai script seperti berikut :
# * #any host can get a login 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: 0
Menjadi
# DisplayManager.requestPort: 0
/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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 ctrl-
alt-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 = XF86_SVGA
SERVER = 192.168.0.254
X_MOUSE_PROTOCOL = “PS/2”
X_MOUSE_DEVICE = “/dev/psaux”
X_MOUSE_RESOLUTION = 400
X_MOUSE_BUTTONS = 3
USE_XFS = Y
UI_MODE = GUI
[ws001]
XSERVER = XF86_SVGA
X_MOUSE_PROTOCOL = “Microsoft”
X_MOUSE_DEVICE = “/dev/ttyS1”
X_MOUSE_RESOLUTION = 50
X_MOUSE_BUTTONS = 3
X_MOUSE_BAUD = 1200
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
[ws002]
XSERVER = XF86_Mach64
[ws003]
XSERVER = XF86_SVGA
X_COLOR_DEPTH = 24
USE_XFS = N
[ws004]
UI_MODE = CHAR
/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.
Default-lease-time 21600;
Max-lease-time 21600;
Option subnet-mask 255.255.255.0;
Option broadcast-address 192.168.0.255;
Option routers 192.168.0.254;
Option domain-name-servers 192.168.0.254;
Option domain-name “localhost”;
Option netbios-name-servers 192.168.0.254;
Shared-network workstation {
Subnet 192.168.0.0 netmask 255.255.255.0 {
}
}
group {
use-host-decl-names on;
option log-servers 192.168.0.254;
host ws001 {
hardware ethernet 00:00:2D:C7:B6:D6;
fixed-address 192.168.0.1;
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
filename “/tftpboot/lts/vmlinuz.all”;
}
host ws002 {
hardware ethernet 00:2D:21:F4:B6:D6;
fixed-address 192.168.0.2;
filename “/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.
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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.
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
manual. Jadi jelas, static routing tidak mungkin dipakai untuk jaringan besar,
karena membutuh effort yang besar untuk mengupdatenya.
Dynamic Routing
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 sendiri-
sendiri. 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 masing-
masingnya 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
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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" .
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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 Alamat Ethernet
132.96.11.1 0:80:48:e3:d2:69
132.96.11.2 0:80:ad:17:96:34
132.96.11.3 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
ini yang diketahui oleh host A adalah IP address host B tetapi alamat ethernet B
belum diketahui.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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”.
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.
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.
Routing Information Protokol
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
PenjelasanRIP 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 Gateway Flags Refs Use Netif Expire
default 192.168.48.33 UGSc 1 734 ed0
127.0.0.1 127.0.0.1 UH 1 734 lo0
192.168.48.32/27 link#1 UC 0 0 ed0
192.168.48.33 0:80:ad:b7:9c:87 UHLW 2 2 ed0
192.168.48.57 0:80:48:af:d5:e3 UHLW 1 10052 lo0
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. Untuk lebih mudah membayangkannya, lihat skema network di
bawah ini.
Skema Jaringan
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
dari KRT. Seperti pada contoh di atas, apabila router 1 tidak memberikan respon
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
2 ). Waktu subnet 3 dihapus dari router 2, router 3 memberikan informasi ini
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):
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Menggunakan Algoritma link-state
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
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
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 192.168.20.3 ( Token
Ring ) dalam bentuk numerik, dipakai perintah berikut :
$ netstat -nr
Routing tables
Destination Gateway Flags Refcnt Use Interface
127.0.0.1 127.0.0.1 UH 1 105 lo0
192.168.20.0 192.168.20.3 U 35 3075 ed0
Bagian pertama dari tabel routing merupakan rute loopback ke localhost.
Setiap host TCP/IP akan memiliki rute ini. Bagian kedua merupakan rute ke network
192.168.20.0 melalui interface ed0. Network ini adalah network lokal. Address
192.168.20.3 bukanlah remote gateway, melainkan address yang telah di-assign
untuuk interface ed0. Perhatikan bahwa nomor network 192.168.20.0 muncul akibat
parameter mask pada waktu konfigurasi interface dengan subnetmask
255.255.255.0. Tanpa adanya subnetmask, network address yang muncul adalah
192.168.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
memiliki satu network, tetapi network tersebut mungkin terdiri dari ratusan
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 à alamat broadcast
Flag C à rute sedang digunakan
Flag c à sama seperti flag sebelumnya, tapi flag ini menunjuk ke protokol
yang spesifik
Flag G à rute memerlukan gatway lagi
Flag S à ditambah secara manual
Untuk akses ke network yang lain, network token ring di atas hanya memiliki satu
gateway, yakni yang ber-IP Address 192.168.20.11. Untuk itu, seluruh host yang
ada pada network token ring ( kecuali gateway ) dapat menambahkan default
routing sbb :
# route -n add default 192.168.20.11 1
add net default: gateway 192.168.20.11
Dengan perintah ini, rute ke seluruh network ( selain network lokal ) akan
ditempuh melalui gateway 1 (192.168.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 Gateway Flags Refcnt Use Interface
127.0.0.1 127.0.0.1 UH 1 105 lo0
default 192.168.20.11 UG 0 0 ed0
192.168.20.0 192.168.20.3 U 35 3075 ed0
Pada routing table di atas terlihat adanya entri default routing. Flag G
menandakan rute default ini melalui eksternal gateway ( host 192.168.20.11 ).
Pada network Ethernet ( 192.168.0.0 ) ada 3 buah gateway. Untuk host-host pada
network ini, routing table dapat dibentuk secara statis. Misalkan kita berada pada
host 192.168.0.3. Network 192.168.20.0 dapat dicapai melalui gateway 1
(192.168.0.5), network 44.132.1.0 melalui gateway 2 (192.168.0.18) dan akses ke
network yang lebih besar, misalkan ke Internet Provider, dicapai melalui gateway 3
(192.168.0.20). Untuk itu, setelah routing minimal dapat ditambahkan perintah
routing sbb :
# route -n add 192.168.20.0 192.168.0.5 1
add net 192.168.20.0: gateway 192.168.0.5
# route -n add 44.132.1.0 192.168.0.18 1
add net 44.132.1.0: gateway 192.168.0.18
# route -n add default 192.168.0.20 1
add net default: gateway 192.168.0.20
Routing table akan bertambah menjadi :
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
$ netstat -nr
Routing tables
Destination Gateway Flags Refcnt Use Interface
127.0.0.1 127.0.0.1 UH 1 105 lo0
192.168.0.0 192.168.0.3 U 28 9808 ed0
default 192.168.0.20 UG 0 0 ed0
192.168.20.0 192.168.0.5 UG 0 0 ed0
44.132.1.0 192.168.0.18 UG 0 0 ed0
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 192.168.0.20 1 > /dev/console
route -n add 192.168.20.0 192.168.0.5 1 > /dev/console
route -n add 44.132.1.0 192.168.0.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
Pendahuluan
Semakin berkembangnya jaringan sangat memungkinkan pergerakan data dan kebutuhan informasi. Secara fisik jaringan kabel untuk jaringan local sangat efisien dalam pertukaran data. Tetapi apabila jaringan antar gedung atau antar kantor maka sangat tidak efisien bila masih menggunakan kabel. Alasannya adalah instalasi media kabel antar gedung sangat memakan banyak waktu dan biaya. Kemungkinan kabel putus ditengah sangat besar. Dan lain-lain.
Oleh sebab itu alternatif jaringan yang sangat baik untuk menghubungkan antara gedung yang berbeda atau kantor yang berbeda adalah wireless. Atau biasa disebut dengan jaringan tanpa kabel.
Kenapa harus wireless ? alasannya yaitu : jarak antara satu titik dengan titik yang lain sangat tidak memungkinkan penggunaan kabel, instalasi jaringan untuk menghubungkan kedua titik sangat sulit apabila menggunakan kabel, kabel yang melintang antara gedung dapat saja terputus, kemungkinan data loss dalam perjalanan sangat besar apabila menggunakan kabel, dll maka dari itulah wireless sangat dibutuhkan dalam kondisi seperti ini.
Peralatan Wireless
Dalam menggunakan jaringan wireless, ada beberapa peralatan yang dibutuhkan yaitu :
1. Satu unit computer sebagai Pc Router dengan spesifikasi medium2. PCI Card3. PCMCIA Card4. Kabel Coaxial + BNC Konektor5. Pigtail6. Antena Grid Parabolic
Gambar PC Router Gambar PCI Card
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Instalasi Wireless
Pada linux jaringan wireless sangat sering digunakan. Linux dipakai pada jaringan wireless sebagai router atau client, dikarenakan linux merupakan system operasi yang handal untuk beroperasi pada beban jaringan yang sangat berat. Dalam melakukan instalasi jaringan wireless.
Gambar PCMCIA Gambar Antena Parabolic
Gambar Contoh Jaringan Wireless
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Konfigurasi Wireless
Pada system operasi linux ada beberapa bagian yang perlu dikonfigurasi. Dalam melakukan konfigurasi wireless ini, anda bisa melakukan konfigurasi melalui command atau dengan melakukan editing pada beberapa file konfigurasi wireless.
Beberapa bagian yang perlu di konfigurasikan untuk wireless adalah sebagai berikut :
Iwconfig
Iwlist
Iwspy
Iwevent
Iwpriv
Wireless
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 SecurityDalam 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 masalah-
masalah 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 UnixAkses 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/shdaemon:*:1:1::/tmp:hakim:d98skjhj9l:72:98:Rahmat Hakim:/home/hakim:/bin/bash
Field Isisandhy Nama atau userid pemakaid98skjhj9l password yang sudah terenkripsi (encrypted pass-word)72 UID, user identification number98 GID, group identification numberSandhy Hasan nama lengkap dari pemakai (sering juga disebut GECOS
a atau GCOS field)/home/sandhy home directory dari pemakai/bin/bash 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 PasswordSalah 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 PasswordDengan 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 kata-
kata 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 EnkripsiEnkripsi 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 KeamananSerangan 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 servis-
servisnya 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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
jaringan. Sniffer dapat menyadap password maupun informasi rahasia, dan
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
digunakan untuk menganalisa OS sistem yang dituju. Beberapa cara
konvensional antara lain : telnet, ftp, netcat, dll.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 internetSudah 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
http://www.hackerlink.or.id
http://www.antionlione.com
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Adapula situs yang menawarkan scan secara online otomatis , di antaranya :
http://hackerwhacker.com
http://grc.com
GENERAL SECURITY(SECURITY SECARA UMUM)
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
mode. Seperti telah kita ketahui bahwa Linux dalam menjalankan operasinya
mempunyai 7 buah mode runlevel (0-6). Perhaikan tabel berikut :
Run Keterangan
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Level0 Halt (komputer mati)1 Mode User Tunggal (digunakan untuk adminstrasi sistem)2 Multi user tanpa NFS (Network File System)3 Mode multi user penuh4 Tidak digunakan5 X11, tampilan grafis6 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
menjadi masalah jika BIOS kita mempunyai password default, atau malah dilakukan
peresetan BIOS dengan cara setting jumper/pembongkaran batere BIOS.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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).
Audit Log
Hampir semua kegiatan penggunaan sistem dicatat dalam berkas yang biasanya
disebut logfile atau log saja. Berkas log ini sangat berguna untuk mengamati
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 sewaktu-
waktu. Hal ini dapat membantu mengenali hal-hal yang tidak biasa.
Contoh entry log :
Apr 5 17:20:10 kaizer wu-ftpd[12037]: failed login fromhackeredan.com [64.55.12.34], m1Apr 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]# lastlogdigunakan 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
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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.
KEAMANAN JARINGAN(NETWORK SECURITY)
Pendahuluan
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 JaringanKeamananan 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
jaminan bahwa sistem yang kita konfigurasi akan benar-benar aman. Yang bisa kita
lakukan hanyalah menekan seminimal mungkin kemungkinan terjadinya masalah
sekuriti.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Untuk itu, ada beberapa cara yang dapat dilakukan, antara lain menutup port-
port 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
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 :
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 :
# 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.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
# Version: @(#)/etc/inetd.conf 3.10 05/27/93# Authors: Original taken from BSD UNIX 4.3/TAHOE.# Fred N. van Kempen, <[email protected]># Modified for Debian Linux by Ian A. Murdock <[email protected]># Modified for RHS Linux by Marc Ewing <[email protected]>
# <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/tcpdin.ftpd -l -atelnet 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/tcpdin.rshd#login stream tcp nowait root /usr/sbin/tcpdin.rlogind#exec stream tcp nowait root /usr/sbin/tcpdin.rexecd#comsat dgram udp wait root /usr/sbin/tcpdin.comsattalk dgram udp wait nobody.tty /usr/sbin/tcpdin.talkdntalk dgram udp wait nobody.tty /usr/sbin/tcpdin.ntalkd#dtalk stream tcp wait nobody.tty /usr/sbin/tcpdin.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## The Internet UUCP service.##uucp stream tcp nowaituucp /usr/sbin/tcpd/usr/lib/uucp/uucico -l#
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
# 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/tcpdin.tftpd#bootps dgram udp wait root /usr/sbin/tcpdbootpd## 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 nowaitnobody /usr/sbin/tcpdin.fingerd#cfinger stream tcp nowait root /usr/sbin/tcpdin.cfingerd#systat stream tcp nowaitguest /usr/sbin/tcpd/bin/ps-auwwx#netstat stream tcp nowaitguest /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.confsmtp stream tcp nowait qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmail-smtpd
#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.
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
berdasarkan pembatasan-pembatasan yang telah disetting kemudian memutuskan
apakah koneksi tersebut akan diizinkan atau tidak.
Konfigurasi TCP Wrappers
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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/tcpdBiasanya 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 : semua host
KNOWN : host yang terdaftar pada DNS server
LOCAL : host yang tidak dipisahkan oleh . (dot)
PARANOID : mempunyai nama dan IP address yang tidak sesuai jika
dilacak dan dibandingkan antara pelacakan dari nama dengan
dari nomor IP
UNKNOWN : host yang hanya mempunyai nomor IP tanpa nama internet
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
.linux.net : host dengan domain linux.net
192.168.0.107 : 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
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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.
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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
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
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
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 :
Public Key
A B
network
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Gambar 1.Lia mengambil public key milik Hakim
A
Public Key B+ Private Key A+ Data
Data terenkripsi
Gambar logikaB menggunakan private key miliknya untuk melakukan enkripsi
terhadap data.
Setelah itu, hasilnya dienkripsi lagi menggunakan public key milik A.
A B
Data terenkripsi
GambarB mengirimkan data yang telah terenkripsi ke A
A B
Public Key
network
network
network
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Gambar B mengirimkan Public Key miliknya ke A
Public Key milik B+ Private Key milik A+ Data terenkripsi
= Data terdekripsi
Gambar Data terenkripsi tadi didekripsi dengan private key milik A, kemudian didekripsi lagi dengan public key milik B. 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.
network