Anda di halaman 1dari 277

PANDUAN LENGKAP

MEMBANGUN 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 seharihari. Namun pada awalnya, komputer hanya digunakan untuk alat hitung belaka.
Komputer berasal dari bahasa latin to compute yang berarti alat hitung.

Alur Kerja Komputer

Sistem kerja komputer secara garis besar terbagi atas 3 bagian, dan seluruh
bagian ini saling berkaitan satu sama lain. Yaitu Input Device, Process Device,
Output Device. Didalam Process Device terdapat beberapa alur kerja lagi.
Perhatikan Gambar skema dibawah ini.

Gambar 1 Alur Kerja Komputer

Input Device

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 2 Keyboard Dan Mouse

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

Gambar 3 Beberapa Jenis Mouse

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

Gambar 4 Trackball

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Gambar 5 Scanner

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

Gambar 6 Kamera Digital

7. Mic
Pengguna multimedia juga akan dimanjakan dengan fasilitas input ini,
karena dengan tersedianya microphone yang terintegrasi dengan
sistem komputer dapat mempermudah mereka untuk memberikan
beberapa sentuhan efek bagi musik maupun audio.
8. Joystick

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 10 Printer Dot Matrix 9 pin dan 24 pin

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

Gambar 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.

3. Plotter

Gambar 12 Beberapa Laserjet Printer

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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 Plotter

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

Gambar 14 Speaker Surround

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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.

Gambar 15 Beberapa Contoh Processor

Dalam perkembangannya, processor sampai saat ini telah mencapai 7


generasi dan masih terus berlanjut hingga saat ini. Perkembangan
processor tersebut adalah :
1. Generasi pertama
Pada generasi ini, Intel mengeluarkan CPU 16 bit pertamanya yaitu
Processor 8086 (1978), namun terhambat oleh kendala harga, dimana
perangkat keras 16 bit saat ini masih terlalu mahal, sehingga Intel
merancang ulang processornya dan mengluarkan Processor 8088 yang
merupakan CPU 16 bit yang memiliki lebar bus 8 bit. PC pertama
(1981) menggunakan Processor jenis ini
2. Generasi Kedua

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pada generasi ini, Intel merilis Processor 80286 (1982) yang juga
merupakan processor 16 bit namun memiliki kemampuan yang lebih,
utamanya dalam penanganan perintah dan mode kerja baru 24 bit
virtual address mode yang menegaskan arah perpindahan dari DOS
ke windows.
3. Generasi Ketiga
Intel meluncurkan Processor 80386 DX pada tanggal 17 Oktober 1985
yang merupakan Processor 32 bit pertama. Pada generasi inilah
procesor mampu bekerja secara multitasking .
4. Generasi Keempat
Pada generasi ini, Intel mengeluarkan Processor 80486 DX (10 April
1989) yang mampu bekerja dua kali lebih cepat dari pendahulunya.
Intel juga mengeluarkan Processor 80486 SX yang merupakan chip
yang tidak lengkap dengan dihilangkannya Math co-processor.
Produsen selain Intel juga mengluarkan beberapa jenis processor,
misalnya Cyrix dan Texas Instruments mengeluarkan 486 SLC dan
IBM mengeluarkan 486 SLC2
5. Generasi Kelima
Pada generasi inilah, beberapa produsen Processor mulai berlomba
mengeluarkan produk-produk terbaik mereka, diantaranya adalah :
Intel
Pada tanggal 22 Maret 1993, Intel mengembangkan Pentium Classic
(P54C), dimana processor ini mampu menjalankan lebih dari satu
perintah tiap tik clock (super scalar) yang sebanding dengan dua
buah 486 dalam satu chip. Bus sistem juga mengalami perubahan
besar, yaitu menjadi 64 bit dan kecepatannya meningkat menjadi
60 atau 66 MHz. Sejak itu, Intel memproduksi dua macam Pentium:
yang bekerja pada sistem bus 60 MHz (P90, P120, P150 dan P180)
dan sisanya, bekerja pada 66 MHz (P100, P133, P166 dan P200)
Pada tanggal 8 Januari 1997, Intel memperkenalkan Processor type
MMX (Multi Media Extension) atau P55C, dimana dalam processor
tersebut ditambahkan 57 perintah integer baru, 4 jenis data baru
dan 8 register 64 bit, yang menambah kemampuan CPU dalam
penanganan aplikasi multimedia. Pentium yang menggunakan
fasilitas ini adalah P200 MMX dan P233 MMX
Cyrix
Cyrix 6x86 diperkenalkan pada 5 Februari 1996 dan merupakan
tiruan pentium yang murah, namun terkenal dengan unjuk kerja
yang buruk utamanya pada floating-point-nya. Pada tanggal 30 Mei
1997, Cyrix memperkenalkan 6x86 MX yang kemudian dikenal
sebagai MII (M-two) yang kompatibel dengan Pentium MMX.
Kecepatan Bus yang digunakan oleh Cyrix adalah 60 MHz (PR166),
66 MHz (PR200 dan PR300), 75 MHz (PR233 dan PR266), 83 MHz
(PR333) dan 95 MHz (PR433 dan PR466)

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 16 Processor Keluaran Cyrix

Advanced Micro Devices


Pentium-pentium AMD bersaing ketat dengan Intel, utamanya dari
segi kecepatan dan harga. AMD menggunakan teknologi mereka
sendiri sehingga 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)
6. Generasi Keenam
Pada generasi ini, persaingan antar produsen Processor semakin hebat,
dimana tiap-tiap Produsen terus menerus mengeluarkan inovasi dan
produk terbaik mereka yang terus bersaing, baik dari segi kecepatan
maupun harga.

Intel
Intel mengeluarkan beberapa jenis procesor pada generasi ini,
antara lain :
Pentium Pro

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pengembangan Pentium Pro dimulai pada tahun 1991 di Oregon


dan diperenalkan pada 1 November 1995. Pentium Pro
merupakan processor RISC murni dan dioptimasi untuk
pemrosesan 32 bit pada Windows NT atau OS/2. Processor ini
menggunakan Soket 8 pada Motherboard.
Pentium II
Dengan nama sandi Klamath, Processor ini diperkenalkan 7 Mei
1997 dan menggunakan modul SECC (Single Edge Contact
Catridge) yang lebih familiar dengan Soket 1. Pentium II tersedia
dalam 233, 266, 300, 333, 400, 450 dan 500 MHz (dan terus
berkembang dengan kecepatan yang lebih tinggi).
Pentium II berbentuk kotak plastik persegi empat yang besar,
yang berisi CPU dan cache. Juga terdapat sebuah controller kecil
(S82459AB) dan kipas pendingan dengan ukuran yang besar.
Pentium II Celeron
Awal 1998, Intel mempunyai masa yang sulit dengan Pentium II
yang agak mahal. Banyak pengguna membeli AMD K6-233, yang
menawarkan unjuk kerja sangat baik pada harga yang layak.
Maka Intel membuat merk CPU baru yang disebut Celeron.
Processor ini sama dengan Pentium II kecuali cache L2 yang
telah dilepas. Processor ini dapat disebut Pentium II-SX. Catridge
Celeron sesuai dengan Slot 1 dan bekerja pada bus sistem 66
MHz. Clock internal bekerja pada 266 atau 300 MHz.
Pentium II Celeron A : Mendocino
Type Processor ini, baik kecepatan maupun bentuknya, mirip
dengan Pentium II. Yang membedakan adalah penambahan
cache L2 sebesar 128 Kb didalam catridgenya, yang memberikan
unjuk kerja yang amat baik, karena cache L2 bekerja pada
kecepatan CPU penuh.
Pentium II Celeron PPGA : Soket 370
Processor ini menggunakan Soket 370 baru untuk celeron dan
dikemas dalam Plastic Pin Grid Array (PPGA). Soket PPGA 370
terlihat seperti soket 7 tradisional dan memiliki 370 pin.
Pentium II Xeon
Pada 26 Juli 1998, Intel mengenalkan catridge Pentium II baru
yang diberi nama Xeon. Ditujukan untuk penggunaan server dan
pemakai high-end. Xeon menggunakan konektor baru yang
disebut Slot Two. Perbedaan utama antara Xeon dan Pentium II
lainnya adalah besar cache L2 yang terintegrasi dapat mencapat
2 Mb
Pentium III Katmai
Pada bulan Maret 1999 Intel mengenalkan kumpulan MMX2 baru
yang ditingkatkan dengan perintah grafis (diantaranya 70 buah
perintah). Perintah ini disebut Katmai New Instructions (KNI) /
Perintah baru Katmai atau SSE. Perintah ini ditujukan untuk

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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 Ketujuh
Pada generasi ini, pertarungan antara Processor-processor tercepat,
utamanya antara Intel dan AMD semakin menghangat. Masing-masing
produsen mengeluarkan Processor terbaik mereka.

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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.

Gambar 19 Generasi Processor

2. Motherboard

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 20 Motherboard

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
DIP
Socket 3
Socket 5
Socket 7
Socket 8
Slot One
Slot One

Jumlah
Pin
8088 dan 8086
40
386
168
486 dan Pentium Klasik (P54C)
321
Pentium, MMX, K5, 6x86, K6, IDT 321
Winchip, 6x86MX, K6-2
Pentium Pro
387
Pentium II
242
Pentium II (bus sistem 100 MHz)
242
Pentium III (bus sistem 100 dan 133
CPU Yang sesuai

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Slot One
Socket 370
Slot Two
Socket 423

MHz)
Celeron
Celeron yang di-Socket
Pentium II Xeon, Tanner
Pentium IV

242
370
330
423

Gambar.21 Tabel Jenis Soket Processor

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

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 23 Bagian-bagian Motherboard

Port IDE , FDD Serial dan Paralel


Port ini digunakan untuk pemasangan Hard Disk (IDE Port), Floppy
disk drive (FDD Port) dan sarana komunikasi dengan perangkat lain
(Serial Port) serta untuk pemasangan printer dan scanner (Paralel
Port atau LPT Port)
BIOS (Basic Input Output System)
BIOS berfungsi untuk menginisialisasi dan mengkonfigurasi
peripheral utamanya dalam proses input dan output. Kedudukan
BIOS berada diantara perangkat keras dan Sistem Operasi komputer
(Windows, DOS, Linux, OS/2, dan lain-lain). Semua perintah yang
berasal dari sistem operasi, misalnya menulis ke disket atau
membaca CDROM, ditampung dulu oleh BIOS.
Slot Power
Secara garis besar, slot power supply yang biasa digunakan terbagi
2 jenis, yaitu AT dan ATX.
3. Memori
Secara garis besar, memori dapat dibagi menjadi 3 bagian utama,
yaitu :
1. First Level (L1) Cache
Memori yang bernama L1 Cache ini adalah memori yang terletak
paling dekat dengan processor (lebih spesifik lagi: dekat dengan
blok CU [control unit]). Penempatan Cache di processor
dikembangkan sejak PC i486. Memori di tingkat ini memiliki
kapasitas yang paling kecil (hanya 16 Kb), tetapi memiliki
kecepatan akses dalam hitungan nanodetik (sepersemilyar detik).
Data yang berada di memori ini adalah data yang paling penting

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

dan paling sering diakses. Processor AMD Athlon memiliki cache L1


sebesar 128 Kb.
2. Second Level (L2) Cache
Memori L2 Cache ini terletak di motherboard (Lebih spesifik lagi :
modul COAST : Cache On A Stick. Bentuk khusus dari L2 yang mirip
seperti memori module yang dapat diganti-ganti tergantung
motherboardnya), penempatan L2 Cache ini banyak digunakan
pada motherboard 486 atau Pentium klasik. Akan tetapi ada juga
yang terintegrasi langsung dengan motherboard, atau ada juga
yang terintegrasi dengan processor module. Kapasitas L2 lebih
besar dari L1 cache, ukurannya berkisar antara 128 Kb 2 Mb.
Namun L2 cache memiliki kecepatan akses yang lebih lambat
dibandingkan dengan L1 cache.

Gambar 24 Alur Data Memori

3. Memori Module
Memori yang biasa terlihat dipasang pada motherboard adalah
memori modul tersebut. Memori module ini memiliki kapasitas yang
berkisar antara 4Mb 512 Mb. Kecepatan aksesnya juga berbeda,
ada yang berkecepatan 80 ns, 60 ns, 66 MHz (15ns), 100 MHz
(10ns), 133 MHz (7,5 ns) dan saat ini telah dikembangkan 200 dan
400 MHz.
Memori module ini terbagi atas 2 bagian, yaitu :
a. SIMM (Single In-Line Memory Module)
Single pada SIMM ini dimaksudkan dalam penomoran pin. Pada
penampakan fisiknya, pin dan pin yang berada tepat dibaliknya
memiliki nomor yang sama.
SIMM dapat dikelompokkan berdasarkan jumlah pin, yaitu :
30 pins

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pertama kali dibuat dalam modul 8 FPM (Fast Page Mode),


yang memiliki kecepatan 80 ns
- Maksimal bandwidth (lebar jalur data) : 176 Mb/sec
72 pins
- FPM yang berkecepatan 70 ns
- EDO (Extended Data Output) yang berkecepatan 60 ns,
maksimal bandwidth 264 Mb/sec
-

Gambar 25 SIMM

b. DIMM (Dual In-Line Memori Module)


Dual berarti kedua sisi dari penampakan fisik ini menunjukkan
bahwa dua buah sisi menjalankan sekuens proses masingmasing, 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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

kerusakan data pada sel memori yang bersangkutan dan


langsung dapat memperbaikinya.

Gambar 26 DIMM

4.

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.

Expansion Card
Expansion card adalah card-card tambahan yang terpasang pada
komputer dan memiliki berbagai fungsi. Contoh card-card yang sering
digunakan adalah :
1. VGA Card

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

VGA Card berfungsi untuk menghubungkan dan mengolah output


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 27 VGA Card dengan slot AGP

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

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 Tuner
Menonton televisi dan mendengarkan radio saat ini juga dapat
dilakukan dengan menggunakan komputer. Cukup dengan
menambahkan TV dan Radio card dan menghubungkan card
tersebut dengan antena televisi maupun radio.
5. MPEG Card
Untuk komputer-komputer generasi ketiga dan keempat, dimana
memiliki keterbatasan dalam sumber daya VGA Card, dapat
menggunakan card ini untuk tetap dapat menikmati film
kesayangan mereka
5. Memori Eksternal (Storage Device)
Memori eksternal berfungsi sebagai tempat untuk menyimpan data
secara permanen (tidak seperti memori internal, dimana data dapat
hilang apabila catu daya ke komponen tersebut diputuskan). Media
penyimpan ini terbagi atas :
1. Floppy Disk

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

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

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

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

Gambar 30 Floppy Disk Drive 5,25 Inch dan Karakteristiknya

Floppy Disk 3,5 inchi


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

Double Density
0,115 mm
135
300 oersted
512
9
80
2
720 Kbytes

High Density
0,115 mm
135
600 oersted
512
18
80
2
1,44 Mbytes

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 31 Floppy Disk Drive 3,5 Inch dan Karakteristiknya

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

Gambar 32 Bentuk fisik Hard Disk

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

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 terminalterminal dapat dihubungkan. Struktur Geometric
ini disebut dengan LAN
Topologies.
Terdapat 6 jenis topologi yaitu :
Bus
Ring
Star
Extended Star
hierarchical topology
Mesh
Setiap topologi memuliki karakteristik yang berdeda-beda dan masingmasing juga memiliki keuntungan dan kerugian. Topologi tidak tergantung kepada
medianya dan setiap topologi biasanya menggunakan media sebagai berikut :
Jenis-jenis Media yaitu :
Twisted Pair
Coaxial Cable
Optical Cable

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Wireless

Topologi 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.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

dapat digunakan kabel yang lower grade karena hanya menghandel satu
traffic node, biasanya digunakan kabel UTP.

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

pendukung atau backup Domain Controller (BDC) yang

membantu PDC pada waktu-waktu sibuk atau pada saat PDC tidak berfungsi karena
alasan tertentu.
Primasry Domain Controller juga diterapkan di dalam jaringan yang
menggunakan server Linux. Software yang cukup andal menangani masalah ini
adalah samba yang sekaligus dapat 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-peer
Setiap computer di dalam jaringan peer mempunyai fungsi yang sama
dan dapat berkomunikasi dengan computer lain yang telah memberi izin. Jadi,
secara sederhana setiap komputer pada jaringan peer berfungsi sebagai client dan
server sekaligus. Jaringan peer digunakan di sebuah kantor kecil dengan jumlah
computer sedikit, dibawah sepuluh workstation.
Keuntungan menggunakan jaringan peer adalah :
1.

Tidak memerlukan investasi tambahan untuk pembelian hardware dan


software server.

2.

Tidak diperlukan seorang network administrator dan setupnya mudah serta


meminta biaya yang murah.

Kerugian menggunakan jaringan peer adalah :


1. Sharing sumberdaya pada suatu komputer didalam jaringan akan sangat
membebani computer tersebut.
2. Masalah lain adalah kesulitan dalam mengatur file-file. User harus menangani
komputernya sendiri jika ditemui masalah keamanan sangat lemah.
3. Jaringan Hybrid
Jaringan hybrid memiliki semua yang terdapat pada tiga tipe jaringan di
atas. Ini berarti pengguna dalam jaringan dapat mengakses sumber daya yang
dishare oleh jaringan peer, sedangkan di waktu bersamaan juga dapat
memanfaatkan seumber daya yang disediakan oleh server.
Keuntungan

jaringan

hybrid

adalah

sama

dengan

keuntungan

menggunakan jaringan berbasis server dan berbasis peer. Jaringan hybrid memiliki
kekurangan seperti pada jaringan berbasis server.

Peralatan Jaringan
Ada beberapa peralatan yang digunakan dalam jaringan, peralatan ini

sering digunakan di dalam perkantoran dan perusahan besar. Peralatan ini adalah :
1. Network Interface Card
Dalam memilih network interface card, ada beberapa pertimbangan yang
harus

diperhatikan.

Pertimbangan-pertimbangan

ini

sangat

penting

untuk

diperhatikan, yaitu :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Tipe jaringan seperti Ethernet LANs, Token Ring, atau Fiber Distributed
Data Interface (FDDI).

Tipe Media seperti Twisted Pair, Coaxial, Fiber-Optic, dan Wireless.

Tipe Bus seperti ISA dan PCI.

Gambar 35 Network Interface Card


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

Gambar 36 PCMCIA Network Interface Card

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Gambar 37 PCMCIA Network Interface Card


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

Gambar 38 HUB 8 Port dan Switch 24 Port

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Gambar 39 Wireless Bridge


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

menggunakan keluarga protocol TCP/IP dan untuk menghubungkan semua host


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

Gambar 40 Cisco Router 2600 series


7. Crimping Tools
Crimping tools berguna untuk memotong, merapikan dan mengunci kabel
UTP dalam melakukan instalasi Networking.
Digunakan untuk
memotong
Dan menjepit kabel
Digunakan untuk
mengupas
kabel
Gambar 41 Crimping Tools

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Gambar 35 Susunan kabel straight


Nomor kaki (pin)
1
2
3
4
5
6
7
8

Nama Warna
Putih hijau
Hijau
Putih orange
Biru
Putih biru
Orange
Putih coklat
Coklat

Gambar 36 Susunan kabel cross


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

Gambar 37 Memasukkan Kabel UTP ke dalam RJ-45

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 38 Menjepit kabel menggunakan Crimping

Gambar 39 Hasil Crimping kabel yang baik

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Sejarah TCP/IP
Sejarah TCP/IP dimulainya dari lahirnya ARPANET yaitu jaringan paket

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

Perkembangan protokol TCP/IP menggunakan standar protokol terbuka


sehingga tersedia secara luas. Semua orang bisa mengembangkan perangkat
lunak untuk dapat berkomunikasi menggunakan protokol ini. Hal ini membuat
pemakaian

TCP/IP

meluas

dengan

sangat

cepat,

terutama

dari

sisi

pengadopsian oleh berbagai sistem operasi dan aplikasi jaringan.

Tidak tergantung pada perangkat keras atau sistem operasi jaringan


tertentu sehingga TCP/IP cocok untuk menyatukan bermacam macam network,
misalnya Ethernet, token ring, dial-up line, X-25 net dan lain lain.

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 :

Application Layer
Presentation Layer
Session Layer

Application Layer

Transport Layer

Transport Layer

Network Layer

Internet Layer

Data Link Layer

Network Access Layer

Physical Layer

Physical Layer

Arsitektur OSI

Arsitektur TCP/IP
Perbandingan Arsitektur OSI dan TCP/IP

Walaupun jumlahnya berbeda, namun semua fungsi dari lapisan-lapisan


arsitektur OSI telah tercakup oleh arsitektur TCP/IP. Adapun rincian fungsi masingmasing layer arsitektur TCP/IP adalah sbb :

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, HTTP

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

(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

Data

Application Layer
Header

Data

Transport Layer
Header

Data

Internet Layer
Header

Data

Network Access Layer


Sinyal Listrik / Gelombang EM

Physical Layer

Proses Enkapsulasi Data


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.
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Version

Header
Length

Type of Service

Total Length of Datagram

Identification

Time to Live

Flags

Protocol

Fragment Offset

Header Checksum

Source Address

Destination Address

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

DATA

Format datagram IP
Setiap paket IP membawa data yang terdiri atas :

Version, yaitu versi dari protokol IP yang dipakai.

Header Length, berisi panjang dari header paket IP dalam hitungan 32 bit word.

Type of Service, berisi kualitas service yang dapat mempengaruhi cara


penanganan paket IP.

Total length Of Datagram, panjang IP datagram total dalam ukuran byte.

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

00000000.00000000.00000000.00000000

dari
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 :

Desimal
Biner

167

205

206

100

10100111

11001101

11001110

01100100

Format IP Address

Pembagian Kelas IP Address


Jumlah IP address yang tersedia secara teoritis adalah 255x255x255x255

atau sekitar 4 milyar lebih yang harus dibagikan ke seluruh pengguna jaringan
internet di seluruh dunia. Pembagian kelas-kelas ini ditujukan untuk mempermudah
alokasi IP Address, baik untuk host/jaringan tertentu atau untuk keperluan tertentu.
IP Address dapat dipisahkan menjadi 2 bagian, yakni bagian network (net ID)
dan bagian host (host ID). Net ID berperan dalam identifikasi suatu network dari
network yang lain, sedangkan host ID berperan untuk identifikasi host dalam suatu
network. Jadi, seluruh host yang tersambung dalam jaringan yang sama memiliki net
ID yang sama. Sebagian dari bit-bit bagian awal dari IP Address merupakan network

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
110nnnnn

0-255
nnnnnnnn

0-255
nnnnnnnn

Bit-bit Network

0-255
hhhhhhhh
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 Khusus
Selain address yang dipergunakan untuk pengenal host, ada beberapa jenis

address yang digunakan untuk keperluan khusus dan tidak boleh digunakan untuk
pengenal host. Address tersebut adalah:
Network Address. Address ini digunakan untuk mengenali suatu network pada
jaringan Internet. Misalkan untuk host dengan IP Address kelas B 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 datagramdatagram tersebut sama. Oleh karena itu, dibuat konsep broadcast address. Host
cukup mengirim ke alamat broadcast, maka seluruh host yang ada pada network
akan menerima datagram tersebut. Konsekuensinya, seluruh host pada network
yang sama harus memiliki broadcast address yang sama dan address tersebut tidak
boleh digunakan sebagai IP Address untuk host tertentu.
Jadi, sebenarnya setiap host memiliki 2 address untuk menerima datagram :
pertama adalah IP Addressnya yang bersifat unik dan kedua adalah broadcast
address pada network tempat host tersebut berada.

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
1110xxxx

0-255
xxxxxxxx

0-255
xxxxxxxx

0-255
xxxxxxxx

Struktur IP Address Kelas Multicast Address


Untuk keperluan multicast, sejumlah IP Address dialokasikan sebagai
multicast

address.

Jika

struktur

1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx

IP
(bentuk

Address
desimal

mengikuti

bentuk

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 ID


Berikut 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.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Subnetting juga dilakukan untuk mengatasi perbedaan hardware dan media


fisik yang digunakan dalam suatu network. Router IP dapat mengintegrasikan
berbagai network dengan media fisik yang berbeda hanya jika setiap network
memiliki address network yang unik. Selain itu, dengan subnetting, seorang Network
Administrator dapat mendelegasikan pengaturan host address seluruh departemen
dari suatu perusahaan besar kepada setiap departemen, untuk memudahkannya
dalam mengatur keseluruhan network.
Suatu subnet didefinisikan dengan mengimplementasikan masking bit
(subnet mask ) kepada IP Address. Struktur subnet mask sama dengan struktur IP
Address, yakni terdiri dari 32 bit yang dibagi atas 4 segmen. Bit-bit dari IP Address
yang ditutupi (masking) oleh bit-bit subnet mask yang aktif dan bersesuaian akan
diinterpretasikan sebagai network bit. Bit 1 pada subnet mask berarti mengaktifkan
masking ( on ), sedangkan bit 0 tidak aktif ( off ). Sebagai contoh kasus, mari kita
ambil satu IP Address kelas A dengan nomor 44.132.1.20. Ilustrasinya dapat dilihat
Tabel berikut :
44

132

20

00101100 10000100 00000001 00010100


IP Address

255

255

11111111 11111111 00000000 00000000


Subnet Mask

44

132

00101100 10000100 00000000 00000000


Network Address

44

132

255

255

00101100 10000100 11111111 11111111


Broadcast Address

Subnetting 16 bit pada IP Address kelas A


Dengan aturan standard, nomor network IP Address ini adalah 44 dan nomor
host adalah 132.1.20. Network tersebut dapat menampung maksimum lebih dari 16
juta host yang terhubung langsung. Misalkan pada address ini akan akan
diimplementasikan subnet mask sebanyak 16 bit 255.255.0.0.( Hexa = FF.FF.00.00

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

atau Biner = 11111111.11111111.00000000.00000000 ). Perhatikan bahwa pada 16


bit pertama dari subnet mask tersebut berharga 1, sedangkan 16 bit berikutnya 0.
Dengan demikian, 16 bit pertama dari suatu IP Address yang dikenakan subnet
mask tersebut akan dianggap sebagai network bit. Nomor network akan berubah
menjadi 44.132 dan nomor host menjadi 1.20. Kapasitas maksimum host yang
langsung terhubung pada network menjadi sekitar 65 ribu host.
Subnet mask di atas identik dengan standard IP Address kelas B. Dengan
menerapkan subnet mask tersebut pada satu network kelas A, dapat dibuat 256
network baru dengan kapasitas masing-masing subnet setara network kelas B.
Penerapan subnet yang lebih jauh seperti 255.255.255.0 ( 24 bit ) pada kelas A 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
44.132.1.20

Network
Address
Standard
44.0.0.0

Subnet Mask

Interpretasi

Broadcast
Address

255.255.0.0(16
bit)

Host 1.20 pada 44.132.255.255


subnet

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

44.132.0.0
81.150.2.3
81.0.0.0
255.255.255.0 Host 3 pada 81.50.2.255
(24 bit)
subnet
81.50.2.0
192.168.2.100 192.168.0.0 255.255.255.12 Host 100 pada 192.168.2.127
8 (25 bit)
Subnet
192.168.2.0
192.168.2. 130 192.168.0.0 255.255.255.19 Host 130 pada 192.168.2.191
2 (26 bit)
subnet
192.168.2.128
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.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Di antara hal-hal yang perlu diperhatikan dalam perancangan LAN adalah


lokasi fisik itu sendiri. Peta atau cetak biru bangunan-bangunan yang akan
dihubungkan serta informasi jalur kabel (conduit) yang ada dan menghubungkan
bangunan-bangunan tersebut sangat diperlukan. Jika peta seperti ini tidak ada maka
perlu digambarkan peta dengan cara merunut kabel-kabel yang ada. Secara umum
dapat diasumsikan bahwa pengkabelan yang menghubungkan bangunan-bangunan
atau yang melewati tempat terbuka harus terdapat di dalam conduit. Seorang
manajer jaringan harus menghubungi manajer bangunan untuk mengetahui aturanaturan

pengkabelan

ini

sebab

manajer

bangunan

yang

mengetahui

dan

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

juga pada level logik (network layer), yakni pada tingkat IP address.. Pembagian
pada level network membutuhkan segmentasi pada IP Address yang akan
digunakan. Untuk itu, dilakukan proses pendelegasian IP Address kepada masingmasing jurusan, laboratorium dan lembaga lain yang memiliki LAN dan akan
diintegrasikan dalam suatu jaringan kampus yang besar. Misalkan dilakukan
pembagian IP kelas B sebagai berikut :

IP address 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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

dilakukan untuk kelipatan pangkat 2, yakni dibagi 2, dibagi 4, 8, 16, 32 dst. Jika kita
tinjau secara biner, maka kita mendapatkan :
Jumlah bit host dari subnet 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 (=2 5) host. Ilustrasinya dapat dilihat
pada Tabel 2-4 berikut :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

167

205

xxx

10100111

11001101

00001001

xxxxxxxx

11111111

11111111

11111111

11100000

Byte Akhir

10100111
10100111

11001101
11001101

00001001
00001001

000xxxxx
001xxxxx

0-31
32-63

10100111
10100111

11001101
11001101

00001001
00001001

010xxxxx
011xxxxx

64-95
96-127

10100111

11001101

00001001

100xxxxx

128-159

10100111
10100111
10100111

11001101
11001101
11001101

00001001
00001001
00001001

101xxxxx
110xxxxx
111xxxxx

160-191
192-223
224-255

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 GNUs Project. Compiler ini banyak digunakan
pada lingkungan Hewlett-Packard dan Sun.
Sekarang ini, banyak aplikasi Linux yang dapat digunakan untuk keperluan
kantor seperti untuk spreadsheet, word processor, database dan program editor
grafis yang memiliki fungsi dan tampilan seperti Microsoft Office, yaitu Star Office.
Selain itu, juga sudah tersedia versi Corel untuk Linux dan aplikasi seperti Matlab
yang pada Linux dikenal sebagai Scilab.
Linux bisa didapatkan dalam berbagai distribusi (sering disebut Distro). Distro
adalah bundel dari kernel Linux, beserta sistem dasar linux, program instalasi, tools

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, dll

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

INSTALASI LINUX SuSE 9.1


Dalam Instalasi server ini penulis menggunakan Operating System Linux
S.u.S.E versi 9.1 . Semua instalasi yang dilakukan disini melalui media CD-ROM
bukan dari Floppy Disk.
Persiapan hardware sebelum instalasi :
1.
Processor Minimal Intel Pentium II 800 Mhz
2.
Memory Minimal 64 Mb
3.
VGA Card
4.
Monitor 14
5.
CD ROM drive 52x
6.
CD instalasi Linux SuSE 9.1
Proses instalasi :

Booting
Pada
saat
komputer
baru
dihidupkan, masuklah ke BIOS, atur
urutan booting awal dimulai dari
CD-ROM, setelah itu simpan dan
keluar dari menu BIOS. Masukkan
CD 1 Linux SuSE 9.1 kedalam CDROM. Tunggu sejenak sampai
komputer membaca proses boot
dari CD-ROM dan masuk ke
tampilan pembuka Instalasi Linux
SuSE 9.1 . Perhatikan Gambar 1

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

Gambar 2
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 3a

Gambar 3b

Setelah memilih menu Instalation, instalasi akan dilanjutkan ke proses Loading


seperti Gambar 3a, tekan F2 untuk melihat proses yang dilakukan Linux pada saat
melakukan booting awal sistem operasi, Gambar 3b adalah proses yang sedang
dilakukan linux pada saat awal booting dalam mode text.

Pilihan Bahasa

Setelah proses loading selesai,


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

Gambar 4

Menu Instalasi

Saat anda selesai mengklik tombol


accept, instalasi aka dilanjutkan ke dalam
Menu Instalation, disini kita akan
mengatur dari awal sampai proses
instalasi selesai, Perhatikan Gambar 5.

Gambar 5
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Section System

Pada gambar disamping menu


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

Gambar 6

Section Mode

Gambar 7a

Gambar 7b

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Section Keyboard Layout

Menu instalasi berikutnya adalah


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

Gambar 8

Disamping ini adalah Layout


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

Section Mouse
Gambar 9

Setelah menu keyboard selesai,


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

Gambar 10

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar disamping kanan adalah


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

Section Partitioning
Gambar 11

Setelah Menu Mouse selesai,


Menu Instalasi berikutnya adalah
Menu Partitioning,
Perhatikan
Gambar 12.

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Pada gambar disamping, terdapat dua


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

Gambar 14

Perhatikan Gambar 14. Pada kotak


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

Gambar 15

Partisi Boot

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

Setelah anda mengklik tombol


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

Gambar 15

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Perhatikan dengan seksama gambar


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

Gambar 17

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Pada /dev/hda Klik tombol create


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

Gambar 18

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

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

Pada list partisi yang sudah dibuat


pilihlah /dev/hda lalu kliklah tombol
create untuk membuat partisi /home.
Parhatikan Gambar 20.

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

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

Partisi Root

Perhatikan gambar disamping ini.


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

Gambar 23

Setelah anda mengklik tombol


create maka akan tampil dialog box
dengan pertanyaan Which type of
partition do you want to
create ?, Pilihlah Primary
Partition. Setelah anda memilih
Primary Partition kliklah tombol
Ok
untuk
melanjutkan
pembuatan partisi. Perhatikan
Gambar 24.
Gambar 24
Setelah anda mengklik Ok. Akan
muncul
menu
pada
gambar
disamping. Anda tidak perlu
mengubah File System, Mount Point
dan End. Klik langsung tombol Ok.
Jadi pada pembuatan partisi Root ini
semua kapasitas hardisk akan
digunakan untuk partisi /root.
Perhatikan Gambar 25.

Gambar 25

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Setelah semua partisi telah


dibuat, kliklah tombol Next,
seperti
pada
gambar
disamping.
Perhatikan
Gambar 26.

Section Software

Gambar 26

Menu instalasi berikutnya


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

Gambar 27

Pada pilihan menu Software,


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

Gambar 28

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

1
4

2
5
3
Gambar 29a

Gambar 29b

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

Setelah anda memilih paketpaket yang akan di-install dan


telah mengklik tombol Accept
maka dialog box akan muncul
seperti
pada
gambar
disamping ini. Pada isi dialog
box adalah informasi sebagian
paket-paket dengan informasi
sekilas
dari
paket-paket
tersebut. Perhatikan Gambar
30.

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Menu instalasi berikutnya adalah


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

Gambar 31

Gambar 32

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Section Time Zone


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

Menu instalasi berikutnya adalah


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

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

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

Gambar 35
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Section Languange

Pilihlah bahasa standar yang akan


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

Gambar 36

Menu instalasi berikutnya adalah


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

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 39a

Gambar 39b

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

Proses Instalasi CD 1 Linux


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

Gambar 40

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 41

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

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Setelah proses instalasi CD-2


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

Gambar 43

Seperti proses instalasi CD-3


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

Gambar 44

Root Password

Setelah proses instalasi selesai


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

Gambar 45
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Network Configuration

Setelah anda mengklik tombol Next pada


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

Gambar 46

Setelah anda mengklik link Network


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

Gambar 47

Gambar disamping adalah Network Card


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

Gambar 48

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 49a

Gambar 49b

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

Gambar 50a

Gambar 50b

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 51a

Gambar 51b

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

Gambar 52

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Gambar 53

Setelah itu maka anda dapat


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

Gambar 54

Setelah menambahkan user maka


linux akan menyimpan konfigurasi
yang dilakukan seperti gambar
disamping. Perhatikan Gambar 55.

Gambar 55

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar disamping adalah informasi


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

Gambar 56

Konfgurasi terakhir adalah VGA


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

Gambar 57

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

Gambar 58

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar 59

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

File System Linux


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

Perintah Dasar Linux


Sintaks
Secara umum perintah pada Linux memiliki sintaks sebagai berikut :
perintah

[option.] [argumen.]

option adalah pilihan untuk mendapatkan hasil tertentu

argumen adalah sesuatu yang akan diproses, misalnya file atau direktori

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

CATATAN :
Perintah dalam Linux adalah Case Sensitive yang berbeda dengan DOS Command.
Pada DOS Command perintah dir sama dengan DIR, tetapi pada linux ls tidak
sama dengan LS atau Ls.
Perintah ls (list directory)
Perintah ini akan menampilkan isi sebuah direktori.
Bila Anda ketikkan :
# ls
maka akan ditampilkan isi direktori di mana Anda berada (working directory).
Perintah :
# ls /home/adjie
akan menampilkan isi direktori /home/adjie
option yang dapat digunakan antara lain
-a

menampilkan semua file termasuk yang beratribut hidden, yaitu file atau
direktori yang berawalan tanda titik (.)

-l

menampilkan file dan direktori dalam tampilan yang lengkap, termasuk nama
file, ukuran, tanggal modifikasi, owner, group dan atributnya.

Perintah cd (Change Directory)


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

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

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

akan menghapus file data1.txt yang terletak pada direktori tempat Anda berada
sekarang, asalkan Anda memiliki hak untuk itu.
Perintah berikut akan menghapus file data.txt yang terletak pada direktori /usr/data,
asalkan Anda memiliki hak untuk itu.
# rm /usr/data/data2.txt
Perintah berikut akan menghapus direktori data, yang terletak pada direktori /usr,
beserta seluruh isinya.
# rm r /usr/data
Perintah mkdir
Perintah ini digunakan untuk membuat direktori. Misalnya:
# mkdir data
akan membuat direktori data pada current directory. Perintah berikut akan membuat
direktori januari pada direktori /usr/data, asal direktori data telah terdapat pada
direktori /usr.
# mkdir /usr/data/ januari
Jika direktori data belum terdapat pada direktori /usr, Anda dapat menggunakan
perintah berikut yang akan secar otomatis membuat semua direktori yang diperlukan
dalam rangka membuat direktori januari.
# mkdir p /usr/data/januari
Perintah berikut akan secara otomatis membuat direktori januari, februari, dan maret
secara sekaligus pada current directory.
# mkdir januari februari maret

Pipeline
Pada UNIX dan Linux, hasil keluaran suatu proses program dapat diberikan sebagai
input pada proses lainnya. Misalnya, jika Anda menampilkan isi direktori /etc dengan
ls 1, maka hasil tampilannya akan sangat banyak dan Anda tidak sempat membaca
nama file yang paling atas. Sementara itu, Anda telah mengenal perintah more,
yang dapat digunakan untuk menampilkan sesuatu layar perlayar.
Dengan pipeline, Anda dapat memberikan keluaran perintah ls-1 sebagai masukan
perintah more. Caranya adalah sebagai berikut:

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# ls 1 /etc | more
Tanda vertical bar (|) adalah tanda yang digunakan untuk pipeline. Penggunaan
pipeline pada perintah- perintah Linux tidak terbatas. Perhatikan lagi contoh berikut:
# ls /etc | sort | more
Program sort adalah program yang akan mensortir inputnya dan menampilkan
hasilnya ke layar monitor.

Filter
Dengan menggunakan pipeline, Anda dapat melakukan filter, atau penyaringan hasil
proses suatu program untuk ditampilkan sesuai dengan kriteria yang Anda tentukan.
Misalnya tampilan layar per layar (dengan pipeline ke more) atau tampilan tersortir
(dengan pipeline ke sort).
Ada banyak perintah Linux dan Unix lainnya yang dapat Anda gunakan untuk
melakukan penyaringan ini. Beberapa diantaranya adalah:

Perintah grep
Perintah grep digunakan untuk menyaring masukanya dan menampilkan baris-baris
yang hanya mengandung pola yang Anda tentukan. Pola ini disebut

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:

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# grep dan /etc/passwd

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

753

4908

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

15

104 data

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Perintah cut
Perintah

cut

digunakan

untuk

mengambil

kolom

tertentu

dari

baris-baris

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Perintah uniq
Perintah uniq digunakan untuk menghilangkan baris-baris berurutan yang
mengalami duplikasi, biasanya digabungkan dalam pipeline dengan sort. Misalnya
jika Anda memiliki file kelas.txt dengan isi:
Bambang
Badu
Budi
Ade
Bambang
Ade
Maka untuk menghilangkan baris-baris yang mengalami duplikasi, gunakan
perintah:
# cat kelas.txt |sort |
uniq
Catatan : Lihat pada manual (man uniq) untuk cara penggunaan perintah ini secara
lebih detail.

Reguler expression
Reguler expression adalah cara untuk menentukan sebuah pola karakter untuk
pencarian dan pemfilteran. Dengan reguler expression, Anda tidak harus
menentukan pola karakter yang eksak, misalnya pada perintah grep, untuk mencari
baris-baris yang mengandung kata dan, Anda tinggal menggunakan grep. Namun
bagaimana jika Anda ingin mencari baris-baris yang mengandung kata yang dimulai
dengan karakter H, diikuti dengan sembarang karakter, lalu diakhiri dengan karakter
n? Disinilah dibutuhkan reguler expression.
Untuk menggunakan reguler expression, Anda harus mengenal karakter-karakter
khusus yang memiliki arti tersendiri jika digunakan didalam pola reguler expression.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Akses Floppy, Harddisk dan CDROM

Membaca isi disket


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

Membaca isi CDROM


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

Membaca isi partisi DOS dan Windows


Bila harddisk Anda memiliki partisi DOS atau Windows, maka untuk membacanya
harus dilakukan juga proses mounting.
Misal partisi itu adalah hda3, dan jenis partisi DOS, maka kita ketikkan :
#mount t msdos /dev/hda3 /mnt/harddisk
(asumsi sebelumnya sudah dibuta direktori /mnt/harddisk)

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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, haydin@arjuna.csc.ui.ac.id). Setelah menginstalasi
mtools tersebut, Anda cukup menjalankan perintah-perintah seperti di DOS untuk
mengakses filesystem DOS tersebut, misalnya mdir, mcopy dan sebagainnya.

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Mengedit file /etc/fstab


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

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

digunakan untuk boot disk dan beberapa format disket.


Tidak banyak yang menggunakannya lagi dan sebaiknya tidak perlu

Second

di kompile dalam kernel.


Saat ini merupakan filesystem default untuk Linux dan seharusnya di

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Extended fs

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
DOS FAT fs

membutuhkannya.
Pada dasarnya bukan merupakan sebuah filesystem tapi merupakan
dasar bagi filesystem berbasis FAT lainnya seperti MS-DOS FAT,

VFAT (Windows95) atau umsdos.


MS-DOS FAT fs Jika Anda menginginkan Linux dapat mengakses sistem berbasis
DOS maka Anda dapat menkompilenya dalam kernel. Sangat
VFAT

berguna untuk komputer yang memiliki sistem dual-boot.


Merupakan peningkatan dari MS-DOS FAT fs dan mendukung format

(Windows95) fs long filename. Ini juga berguna untuk komputer yang memiliki sistem
umsdos

dual-boot.
Dukungan ini dibutuhkan bila ingin menjalankan Linux diatas partisi
DOS tapi sepertinya SuSE Linux tidak akan bisa berjalan pada

/proc

sebuah filesystem umsdos.


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

NFS

walaupun ada isinya tapi tidak akan mengisi spasi hard disk.
Dibutuhkan bila Anda akan mengakses remote filesystem dan untuk

SMB

sebuah server dukungan ini merupakan suatu keharusan.


Sangat berguna bila Anda menginginkan memiliki akses langsung ke

NCP
ISO9660

Windows95 atau NT.


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

OS/2 HPFS

format ISO9660 ini.


Mendukung filesystem OS/2 dan HPFS. Linux hanya dapat

System V

membaca filesystem tersebut (read-only).


Merupakan filesystem UNIX generasi lama dan dukungan ini hanya

& Coherent

diperlukan

Amiga FFS

memindahkannya ke filesystem yang baru.


Masih berupa experimental code dan sebaiknya gunakan dengan

bila

Anda

memiliki

data-data

lama

dan

ingin

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

hati-hati.
Filesystem ini digunakan oleh beberapa sistem UNIX, Solaris dan

UFS

SunOS(4.2). Linux hanya dapat membaca filesystem ini.


Manajemen Sistem

Organisasi File
Disamping memiliki

program

instalasi

yang

baik,

distribusi

SuSE

juga

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

ini

menyimpan

program-program

penting

yang

digunakan

untuk

pemeliharaan sistem. Sesuai dengan nama direktorinya, file-file program yang


tersimpan didalamnya berupa file binary yang dapat dieksekusi (executable).
Isi direktori /bin umumnya adalah user program seperti:

login

Shell (bash, ksh, csh)

File utility (cp, mv, rm. ln, tar)

Editor (ed, vi)

Filesystem utilty (dd, df, mount, umount, sync)

System utility (uname, hostname, arch)

GNU utility (gzip, gunzip)

Isi direktori /sbin umumnya adalah program pemeliharaan atau sistem program.
Program-program yang disimpan di direktori /sbin ini hanya dapat dieksekusi oleh
root. Contohnya adalah sebagai berikut:

fsck

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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.
/mnt
Umumnya direktori ini didalamnya mengandung subdirektori-subdirektori yang
merupakan sebuah mount point untuk jenis device tertentu. Misalnya cdrom/,
floppy/, atau zip/.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

/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.
Direktori /usr/X11 dan /usr/X11R6 dan subdirektori dibawahnya berisi semua file
yang berhubungan dengan X Window seperti man page, library dan file executable.

Menganalisis Sistem
Menganalisis sistem biasanya dilakukan oleh seorang administrator sistem untuk
mendeteksi adanya gejala-gejala yang dapat menyebabkan kerusakan atau

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

r b w swpd free buff cache si so


0 0 0 37924

bi

system
bo in

cpu

cs us sy id

824

840 13280 54 14

30

9 522 271 21 6 73

3 0 0 37924 1080

816 13060 0 0

0 110 329 20 16 64

1 0 0 37924 1036

824 13084 0 0

1 130 331 18 18 64

1 0 0 37924 1036

824 13084 0 0

0 107 329 19 16 65

2 0 0 37924 1036

828 13084 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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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
proses, kita cukup menekan tombol K dan mengisi nomor proses(PID) yang ingin dikill.
Untuk menjalankannya cukup dengan mengetikkan perintah top dan segera
ditampilkan daftar proses-proses yang sedang berjalan saat itu berikut informasiinformasi lainnya. Informasi-informasi yang ditampilkan tersebut secara default akan
diperbarui atau diupdate setiap 5 detik. Berikut ini tampilan sebagian dari daftar
proses-proses yang ditunjukkan oleh top:

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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.

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?

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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 User
Mudah saja, saat Anda login sebagai root, jalankan perintah sebagai berikut:
# adduser meong
# passwd meong
Setelah mengetik perintah terkahir Anda akan ditanya password untuk membuka
home Anda. Ketikkan saja passwordnya sebanyak dua kali dengan kata yang sama.
Selanjutnya Anda telah memiliki 'rumah' baru dan siap untuk digunakan. Bila Anda
menginginkan, Anda juga bisa memberikan home lain kepada mama, keponakan
yang masih duduk TK atau kepada teman kuliah Anda yang sedang menumpang
mengetik skripsinya di komputer Anda.

Group
Setiap user paling sedikit bergabung dengan sebuah group. Group bisa berisi
kumpulan user lain atau program yang mempunyai kesamaan tugas. Group
memungkinkan sebuah file bisa dipergunakan secara bersama hanya oleh useruser 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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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 Ownership


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

root

365660 Apr 19 00:33 /usr/bin/kppp

# chown .konek /usr/bin/kppp


# ls -l /usr/bin/kppp
-rwsrws--- 1 root konek 365660 Apr 19 00:33 /usr/bin/kppp

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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 perintahperintah yang lain akan segera bertambah seiring dengan kemajuan Anda
menguasai sistem operasi Linux ini.
Penjelasan masing-masing perintah akan dipersingkat saja dan untuk mengetahui
lebih detail lagi fungsi-fungsi suatu perintah, Anda dapat melihat manualnya,
misalnya dengan mengetikkan perintah man:
$ man ls
Manual tersebut akan menampilkan bagaimana cara penggunaan perintah lsitu
secara lengkap.

Daftar Perintah Menurut Alfabet


&
adduser alias
bg
cp
fg
find
grep
login
logout ls
man
passwd pwd
rm
rmdir
umount unalias unzip wall

cat
gzip
mesg
shutdown
who

cd
halt
mkdir
su
xhost +

chgrp
hostname
more
tail
xset

chmod
kill
mount
talk
zip

chown
less
mv
tar

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

&
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
(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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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
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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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.
$ grep <teks> <file>
Misalnya akan dicari file-file yang mengandung teks marginal di current direktori:
$ grep marginal <file>
diferent.doc: Catatan: perkataan marginal luas dipergunakan di dalam ilmu ekonomi
prob.rtf: oleh fungsi hasil marginal dan fungsi biaya marginal jika fungsi
prob.rtf: jika biaya marginal dan hasil marginal diketahui maka biaya total
gzip
Ini adalah software kompresi zip versi GNU, fungsinya untuk mengkompresi sebuah
file. Sintaksnya sangat sederhana:
$ gzip <namafile>
Walaupun demikian Anda bisa memberikan parameter tertentu bila memerlukan
kompresi file yang lebih baik, silakan melihat manual page-nya. Lihat juga file tar,
unzip dan zip.
halt
Perintah ini hanya bisa dijalankan oleh super useratau Anda harus login sebagai
root. Perintah ini untuk memberitahu kernel supaya mematikan sistem atau
shutdown.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

user lain.
mkdir
Membuat direktori baru, sama dengan perintah md di DOS.
more
Mempaging halaman, seperti halnya less
mount
Perintah ini akan me-mount filesystem ke suatu direktori atau mount-point yang
telah ditentukan. Hanya superuser yang bisa menjalankan perintah ini. Untuk
melihat filesystem apa saja beserta mount-pointnya saat itu, ketikkan perintah
mount. Perintah ini dapat Anda pelajari di bab mengenai filesystem. Lihat juga
perintah umount.
$ mount
/dev/hda3 on / type ext2 (rw)
none on /proc type proc (rw)
/dev/hda1 on /dos type vfat (rw)
/dev/hda4 on /usr type ext2 (rw)
none on /dev/pts type devpts (rw,mode=0622)
mv
Untuk memindahkan file dari satu lokasi ke lokasi yang lain. Bila argumen yang
kedua berupa sebuah direktori maka mv akan memindahkan file ke direktori
tersebut. Bila kedua argumen berupa file maka nama file pertama akan menimpa file
kedua. Akan terjadi kesalahan bila Anda memasukkan lebih dari dua argumen
kecuali argumen terakhir berupa sebuah direktori.
passwd
Digunakan untuk mengganti password. Anda akan selalu diminta mengisikan
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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

anda bisa menghentikan komputer dengan perintah shutdown -h now dan


merestart sistem dengan perintah shutdown -r now atau dengan kombinasi tombol
Ctr-Alt-Del.
su
Untuk login sementara sebagai user lain. Bila user ID tidak disertakan maka
komputer menganggap Anda ingin login sementara sebagai super user atau root.
Bila Anda bukan root dan user lain itu memiliki password maka Anda harus
memasukkan passwordnya dengan benar. Tapi bila Anda adalah root maka Anda
dapat login sebagai user lain tanpa perlu mengetahui password user tersebut.
tail
Menampilkan 10 baris terakhir dari suatu file. Default baris yang ditampilkan adalah
10 tapi Anda bisa menentukan sendiri berapa baris yang ingin ditampilkan:
$ tail <jumlah baris> <file file ....>
talk
Untuk mengadakan percakapan melalui terminal. Input dari terminal Anda akan
disalin di terminal user lain, begitu sebaliknya.
tar
Menyimpan dan mengekstrak file dari media seperti tape drive atau hard disk. File
arsip tersebut sering disebut sebagai file tar. Sintaknya sebagai berikut:
$ tar <aksi> <option> <file atau direktori>
umount
Adalah kebalikan dari perintah mount, yaitu untuk meng-unmount filesystem dari
mount-pointnya. Setelah perintah ini dijalankan direktori yang menjadi mount-point
tidak lagi bisa digunakan.
# umount <filesystem>
unalias
Kebalikan dari perintah alias, perintah ini akan membatalkan sebuah alias. Jadi
untuk membatalkan alias dir seperti telah dicontohkan diatas, gunakan perintah:
$ unalias dir
unzip
Digunakan untuk mengekstrak atau menguraikan file yang dikompres dengan zip.
Sintaknya sederhana dan akan mengekstrak file yang anda tentukan:
$ unzip <namafile>
Lihat juga perintah-perintah gzip dan unzip.
wall
Mengirimkan pesan dan menampilkannya di terminal tiap user yang sedang login.
Perintah ini berguna bagi superuser atau root untuk memberikan peringatan ke

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Milis id-linux
Milis 'resmi' yang memakai bahasa Indonesia adalah id-linux yang beberapa saat
lalu terpecah-pecah menjadi beberapa sub topik:
Linux Admin - Membicarakan administrasi sistem dan networking Linux.
Subscribe: linux-admin-subscribe@linux.or.id
Linux Aktivis - Membicarakan pengembangan dan pemasyarakatan Linux di
Indonesia.
Subscribe: linux-aktivis@linux.or.id

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Linux Berita - Memberikan informasi tentang berita dan pengumuman kegiatan


Linux

di

Indonesia

khususnya.

Subscribe: linux-berita-subscribe@linux.or.id
Linux Bursa - Jual-beli barang/jasa Linux, penawaran dan pencarian kerja di bidang
Linux.
Subscribe: linux-bursa-subscribe@linux.or.id
Linux Desktop - Diskusi cara penggunaan program aplikasi seperti KDE, Gnome,
StarOffice

dsb.

Subscribe: linux-desktop-subscribe@linux.or.id
Linux

Policy

Non

teknis

Linux

misalnya

GPL,

Open

Source.

Subscribe: linux-policy-subscribe@linux.or.id
Linux Programming - Diskusi mengenai pemrograman Linux, bahasa, teknik, trik
dan

tips.

Subscribe: linux-programming-subscribe@linux.or.id
Linux Setup - Tempat yang menarik bagi newbie menanyakan masalah instalasi,
cara

setup

program

dsb.

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

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.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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.

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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
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.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

File HOSTS.TXT pada waktu itu dikelola oleh Stanford Research Insitute
Network Information Center (SRINIC) di Menlo Park, California. File tersebut
tersebut didistribusikan ke semua host dan penggunanya hanya 2 dengan
menggunakan satu buah host (mesin/komputer) saja. Petugas administrasi dari
ARPAnet biasanya mengirimkan email kepada SRI-NIC tentang perubahan
(termasuk penambahan maupun pengurangan) tentang informasi suatu host, dan
dalam periode tertentu, mereka melakukan transfer file HOSTS.TXT yang paling
baru (biasanya diperbaharui sekali dalam seminggu) dengan menggunakan protokol
ftp. Seiring dengan berkembangnya jaringan ARPAnetdan penggunaan protokol
TCP/IP, ukuran dari file HOSTS.TXT menjadi besar dengan bertambahnya jumlah
host yang bergabung dengan jaringan ARPAnet. Kemudian timbul beberapa
masalah dengan penggunaan file HOSTS.TXT ini, misalnya :
Trafik dan Beban (Traffic and load) Beban mesin dan trafik (bandwith) di SRINIC dalam mendistribusikan file menjadi lebih berat dan besar
Penamaan yang saling bentrok (name collisions) Pada file HOSTS.TXT tidak
diperkenankan adanya dua buah nama host yang sama. Namun pada prakteknya,
tidak ada cara untuk mencegah seseorang untuk menambahkan nama yang sama
sehingga kemungkinan bisa menjadi bentrok dan pada akhirnya merusak skema
yang telah ada
Keaslian (consistency) Mengelola keaslian dan keutuhan sebuah file antar
beberapa jaringan yang sedang berkembang pesat merupakan sesuatu hal yang
sulit dilakukan Berangkat dari masalah-masalah tersebut diatas, ARPAnet
membentuk suatu sistem alternatif pengganti dari sistem lama yang menggunakan
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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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
Membangun Server Menggunakan Linux SuSE 9.1
Gambar
DNSLengkap
namespace

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.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

(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
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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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.

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Secara Default setelah linux anda terinstall maka direktori yang perlu anda edit
adalah /etc/named.conf , /etc/resolv.conf , /var/lib/named . contoh kali ini kita akan
membuat server dengan nama domain linux.net dan nama host adalah server.
Domain dan host berkaitan erat pada pembuatan DNS Server. Sekarang kita akan
memulai pembuatan DNS Server.
Masuklah kedalam direktori /var/lib/named dan lihat isi direktori tersebut.
root:~# cd /var/lib/named
root:/var/lib/named# ls
Setelah anda menjalankan perintah ls maka linux akan menampilkan isi default
direktori /var/lib/named yaitu :
root:/var/lib/named# ls
.

..

slave

127.0.0.zone

localhost.zone

root.hint

Salinlah file 127.0.0.zone didalam direktori /var/lib/named/ dengan nama file


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

Setelah anda menyalin file 127.0.0.zone maka editlah 192.168.0.zone dengan


menggunakan perintah vi atau pico
root:/var/lib/named# pico 192.168.0.zone

Isi fle tersebut masih sama dengan 127.0.0.zone karena file 192.168.0.zone disalin
dari file 127.0.0.zone. maka anda harus mengedit file 192.168.0.zone dengan isi
seperti berikut.
$TTL 86400
@ IN SOA server.linux.net. root.linux.net. (
11 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expiry
86400 ) ; minimum

IN NS
IN NS
IN PTR

linux.net.
server.linux.net.
server.linux.net.

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

Setelah anda menyalin file 192.168.0.zone maka editlah db.linux.net dengan


menggunakan perintah vi atau pico

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

1
localhost
server
www
mail
smtp
pop3
ftp

IN NS
IN NS
IN PTR
IN MX
IN A
IN A
IN CNAME
IN CNAME
IN CNAME
IN CNAME
IN CNAME

10

linux.net.
server.linux.net.
server.linux.net.
server.linux.net.
127.0.0.1
192.168.0.1
server.linux.net.
server.linux.net.
server.linux.net.
server.linux.net.
server.linux.net.

Isi fle tersebut masih sama dengan 127.0.0.zone karena file 192.168.0.zone disalin
dari file 127.0.0.zone. maka anda harus mengedit file 192.168.0.zone dengan isi
seperti berikut.
Simpan file diatas lalu keluar dari text editor pico. Pada file diatas terdapat resources
record yaitu IN NS, IN PTR, IN MX, IN A, IN CNAME. Maksud record db file tersebut
adalah :
SOA record
Mengindikasikan otoritas dari sebuah zone file
NS record
Mengindikasikan daftar nama server
Other records
Menjelaskan mengenai data dari zone file tersebut, Record ini berupa :
A
Mengubah Nama menjadi Alamat IP
PTR
Mengubah Nama IP menjadi Nama
CNAME
Menjelaskan nama Alias
Setelah itu editlah file /etc/named.conf
root:/var/lib/named# cd /etc/
root:/var/lib/named# pico named.conf

Default dari isi file named.conf sebelum diedit adalah :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#

Copyright (c) 2001 SuSE GmbH Nuernberg, Germany


Author: Frank Bodammer <feedback@suse.de>
/etc/named.conf
This is a sample configuration file for the name server
BIND9.
It works as a caching only name server without
modification.
A sample configuration for setting up your own domain can
be found in /usr/share/doc/packages/bind8/sample-config.
A description of all available options can be found in
/usr/share/doc/packages/bind8/html/options.html

options {
# The directory statement defines the name server's
# working directory
directory "/var/lib/named";
#
#
#
#
#

The forwarders record contains a list of servers to


which queries should be forwarded. Enable this line
and
modify the IP-address to your provider's name server.
Up to three servers may be listed.

#forwarders { 10.11.12.13; 10.11.12.14; };


# Enable the next entry to prefer usage of the name

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# server declared in the forwarders section.


#forward first;
#
#
#
#
#

The listen-on record contains a list of local network


interfaces to listen on. Optionally the port can be
specified. Default is to listen on all interfaces
found
on your system. The default port is 53.

#listen-on port 53 { 127.0.0.1; };


# The next statement may be needed if a firewall stands
# between the local server and the internet.
#query-source address * port 53;
# The allow-query record contains a list of networks or
# IP-addresses to accept and deny queries from. The
# default is to allow queries from all hosts.
#allow-query { 127.0.0.1; };
#
#
#
#
#
#

The cleaning-interval statement defines the time


interval
in minutes for periodic cleaning. Default is 60
minutes.
By default, all actions are logged to
/var/log/messages.

cleaning-interval 120;
#
#
#
#
#

Name server statistics will be logged to


/var/log/messages
every <statistics-interval> minutes. Default is 60
minutes.
A value of 0 disables this feature.

statistics-interval 0;
#
#
#
#
#
#
#

If notify is set to yes (default), notify messages


are
sent to other name servers when the the zone data is
changed. Instead of setting a global 'notify'
statement
in the 'options' section, a separate 'notify' can be
added to each zone definition.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

notify no;
};
#
#
#
#
#
#

The following three zone definitions don't need any


modification.
The first one defines localhost while the second defines
the
reverse lookup for localhost. The last zone "." is the
definition of the root name servers.

zone "localhost" in {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "127.0.0.zone";
};
zone "." in {
type hint;
file "root.hint";
};
# You can insert further zone records for your own domains
below.

Edit file named.conf dan tambahkan baris berikut pada bagian akhir file
named.conf
root:/etc# pico named.conf

Bagian yang ditambahkan adalah :


zone "0.168.192.in-addr.arpa" in {
type master;
file "192.168.0.zone";
};
zone "linux.net" in {
type master;
file "db.linux.net";
};

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

root:/etc# pico resolv.conf

Sedangkan isi dari file resolv.conf adalah :


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

Jalankan perintah dig untuk mengecek apa server DNS yang anda buat sudah
berjalan dengan baik apa tidak.

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)
;; WHEN: Sat Feb 15 14:53:44 2003

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.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

10. Dukungan Teknis (mempunyai site-site atau mailis untuk bertanya bila terjadi
masalah).
11. Dukungan Platform (jenis sistem operasi apa saja yang dapat menjalankan
software tersebut)
12. Dukungan terhadap third party (Apakah software ini dapat ditambahkan
software tambahan sebagai pelengkap)

APACHE WEB SERVER


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

3. Apache web server dalam merespon client sangat cepat jauh melebihi server
NCSA.
4. Mampu di kompilasi sesuai dengan spesifikasi HTTP yang sekarang.
5. Apache menyediakan feature untuk multihomed dan virtual server.
6. Kita dapat men-set respon error yang akan dikirim web server dengan
menggunakan file atau skrip.
7. Server Apache dapat otomatis berkomunikasi dengan client browsernya
untuk menampilkan yang tampilan terbaik pada client browsernya. Misalnya
browser ingin menampilkan dalam bahasa Spanyol, maka Apache web server
otomatis mencari dalam servicenya halaman-halaman dengan bahasa Spanyol.
8. Webserver Apache secara otomatis menjalankan file index.html, halaman
utamanya, untuk ditampilkan secara otomatis pada clientnya.
9. Webserver Apache mempunyai level-level pengamanan.
10. Apache mempunyai komponen dasar terbanyak di antara webserverwebserver lain, yang berarti bahwa webserver Apache termasuk salah satu
dari webserver yang lengkap.
11. Ditinjau dari segi sejarah perkembangan dan prospeknya di masa yang akan
datang, Apache web server mempunyai prospek yang cerah. Apache berasal
dari webserver NCSA yang kemudian dikembangkan karena NCSA masih
mempunyai kekurangan dibidang kompatibilitasnya dengan sistem operasi lain.
Sampai saat ini, webserver Apache terus dikembangkan oleh team dari

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

daemonnya hanya memerlukan sekitar 950 KB memory per- child.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

13. Mendukung transaksi yang aman (secure transaction) menggunakan SSL


(Secure Socket Layer).
14. Mempunyai dukungan teknis melalui web.
15. Mempunyai kompatibilitas platform yang tinggi.
16. Mendukung third party berupa modul-modul tambahan.

MODUL PHP PADA APACHE WEB SERVER


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


Proses instalasi dari source agak sedikit memakan waktu sebab anda harus
melakukan proses tambahan, tapi dengan begitu akan membuat anda lebih
mengetahui apa saja yang anda masukkan ke dalam webserver Apache anda
nantinya, disamping itu juga dapat memberikan kesempatan untuk memasang
sendiri modul-modul ke dalam webserver Apache anda. Banyak dari modul-modul
ini menyediakan fungsi-fungsi yang akan menambah kehandalan webserver anda.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Diantaranya adalah modul PHP yang akan diinstall bersamaan dengan instalasi
Apache. Instalasi yang dilakukan di modul ini juga akan mengintegrasikan Apache
dan PHP dengan MySQL sebagai database server.
Sebelum instalasi anda harus menyediakan terlebih dahulu source yang diperlukan
yang dapat didownload di :
http://www.apache.org
http://www.php.net
Anda dapat memilih sendiri versi apache dan php yang ingin diinstall di mesin anda.
Tentunya memilih versi yang lebih baru akan lebih stabil hasilnya. Setelah anda
download source tersebut sebaiknya semua source ditaruh dalam satu direktori
untuk memudahkan proses installasi , misalnya di direktori /tmp, lalu diekstrak.
# cd /tmp
# tar zxvpf apache_versi.tar.gz
# tar zxvpf php-versi.tar.gz
Selanjutnya apache harus dikonfigurasi awal.
# cd apache_versi/
# ./configure
Bila konfigurasi awal sudah selesai, anda pindah ke direktori php untuk konfigurasi
modul php dan mengintegrasikannya dengan apache dan mysql
# cd ../php-versi/
# ./configure --with-apache=../apache_versi \
--with-mysql --enable-track-vars
Setelah itu php dikompilasi dan diinstall
# make && make install
Kemudian anda copykan file php.inidist yang ada di source php ke direktori
/usr/local/lib dan diberi nama php.ini
# cp php.inidist /usr/local/lib/php.ini
Kemudian anda kembali ke direktori apache untuk konfigurasi ulang dan
mengaktifkan modul php (yaitu php4).
# cd ../apache_versi
# ./configure --activate-module=src/modules/php4/libphp4.a
Lalu kompile dan install apache
# make && make install
Sampai disini instalasi apache dan PHP sudah selesai. Selanjutnya anda harus
melakukan konfigurasi apache agar berjalan sesuai dengan kebutuhan anda

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

MEMONITOR AKTIFITAS WEB SERVER


Pada bagian sebelumnya, telah dipelajari penginstallasian dan
pengoperasian WebServer. Pengoperasian WebServer termasuk juga penggunaan
pencatatan atau logger. Ada tiga macam log yang harus diperhatikan yaitu server
log, access log dan error log.
server.log
Adalah logging yang dilakukan oleh server yang dicatat dalam file
/var/log/messages. Fungsi file ini adalah mencatat kejadian-kejadian tertentu pada
server anda. Namun demikian, file ini hanya diperiksa apabila ternyata webserver
tidak jalan karena sesuatu kesalahan. Biasanya tidak hanya melihat file ini saja, tapi
juga harus melihat file log yang lainnya.
access.log
File ini mencatat semua akses yang dilakukan terhadap web server anda.
Sebenarnya program penganalisa juga mengambil data dari file ini kemudian
diproses menjadi data statistik yang enak dibaca dan dimengerti orang.
Misal konfigurasi log anda pada file httpd.conf adalah sebagai berikut :
ErrorLog /web/logs/error_log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{UserAgent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog /web/logs/access_log common

Maka akan tampil pada file httpd-access.log format seperti ini :


192.168.0.101 - - [26/Jun/2001:07:09:46
1310
192.168.0.105 - - [26/Jun/2001:07:10:50
/usage/index.html HTTP/1.0"
403 296
192.168.0.105 - - [26/Jun/2001:07:11:27
HTTP/1.0" 200 387
46
192.168.0.205 - - [26/Jun/2001:07:17:08
1310
192.168.0.198 - - [26/Jun/2001:07:17:20
1310
192.168.0.104 - - [26/Jun/2001:09:42:31
/icons/unknown.gif HTTP/1.
1" 404 305
192.168.0.104 - - [26/Jun/2001:09:42:31
/icons/compressed.gif HTTP
/1.1" 404 308
192.168.0.104 - - [26/Jun/2001:09:42:31
/icons/binary.gif HTTP/1.1
" 404 304

+0700] "GET / HTTP/1.0" 200


+0700] "GET
+0700] "GET /test.php
+0700] "GET / HTTP/1.0" 200
+0700] "GET / HTTP/1.0" 200
+0700] "GET
+0700] "GET
+0700] "GET

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

192.168.0.104 - - [26/Jun/2001:09:42:36
1310
192.168.0.104 - - [26/Jun/2001:09:42:36
HTTP/1.1" 2
00 2326
192.168.0.104 - - [26/Jun/2001:09:42:43
HTTP/1.1" 301 338
192.168.0.104 - - [26/Jun/2001:09:42:43
HTTP/1.1"
404 303
192.168.0.104 - - [26/Jun/2001:09:42:43
/icons/unknown.gif HTTP/1.
1" 404 305
192.168.0.104 - - [26/Jun/2001:09:42:43
HTTP/1.1"
404 302
192.168.0.104 - - [26/Jun/2001:09:42:43
/icons/compressed.gif HTTP
/1.1" 404 308
192.168.0.104 - - [26/Jun/2001:09:42:43
/icons/binary.gif HTTP/1.1
" 404 304

+0700] "GET / HTTP/1.1" 200


+0700] "GET /apache_pb.gif
+0700] "GET /~admin
+0700] "GET /icons/blank.gif
+0700] "GET
+0700] "GET /icons/back.gif
+0700] "GET
+0700] "GET

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]
acceptable varian
t: /web/htdocs/index.html
[Tue Jun 26 04:25:00 2001]
acceptable varian
t: /web/htdocs/index.html
[Tue Jun 26 04:25:17 2001]
not exist:
/web/htdocs/~index.html
[Tue Jun 26 04:25:29 2001]
not exist:

[error] [client 192.168.0.107] no


[error] [client 192.168.0.107] no
[error] [client 192.168.0.107] File does
[error] [client 192.168.0.107] File does

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

/web/htdocs/ndex.html
[Tue Jun 26 04:29:25 2001] [error] [client 192.168.0.104] client
denied by ser
ver configuration: /web/htdocs/usage
[Tue Jun 26 04:34:03 2001] [notice] SIGHUP received. Attempting to
restart
[Tue Jun 26 04:34:03 2001] [notice] Apache/1.3.17 (Unix)
mod_perl/1.24_01 PHP/4.
0.4pl1 configured -- resuming normal operations
[Tue Jun 26 06:07:55 2001] [notice] caught SIGTERM, shutting down
[Tue Jun 26 06:09:25 2001] [notice] Apache/1.3.17 (Unix)
mod_perl/1.24_01 PHP/4.
0.4pl1 configured -- resuming normal operations
[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 serv
er 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
[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 WEBALIZER


Selain melihat secara langsung file-file log tersebut, ada cara yang lebih
mudah, yaitu menggunakan software logger seperti webalizer. Software ini akan

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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-dns

Lebih jelasnya lihat helpnya (./configure help)


# make && make install

Setelah selesai installasinya, maka anda copy file /etc/webalizer.conf.sample


ke /usr/local/etc/webalizer.conf kemudian editlah file ini. Ubah bagian yang penting
saja, misalkan direktori web anda ada di /web, maka perubahannya adalah :
LogFile
OutputDir
HistoryName
IncrementalName
HostName
HideSite

/web/logs/access_log
/web/htdocs/stat
webalizer.hist
webalizer.current
nama.host.anda
*nama.host.anda

Setelah itu, maka jalankan saja perintah :


# /usr/local/bin/webalizer c /usr/local/etc/webalizer.conf

secara otomatis, program akan menganalisa data-data pada access.log dan


mengubahnya menjadi data stasitik. Akan muncul pesan sebagai berikut :
Webalizer V1.30-04 (Linux 2.2.14-5.0) English
Using logfile /var/httpd/logs/access_log
Creating output in /var/httpd/htdocs/usage
Hostname for reports is 'trans.si.linux.net'
History file not found...
Warning: Truncating oversized request field
Warning: Truncating oversized request field
Warning: Truncating oversized request field
Generating report for September 2001
Generating summary report
Saving history information...
1452 records in 0.56 seconds

Setelah selesai, maka akan diperoleh pada direktori outputdir seperti berikut :
-rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--

1 root
1 root
1 root
1 root
1 root
1 root
1 root
1 root

root
root
root
root
root
root
root
root

16209
16261
23265
25767
18517
17620
4295
19205

Sep
Sep
Sep
Sep
Sep
Sep
Sep
Sep

9 05:42
9 05:42
9 05:42
9 05:42
9 05:42
9 05:42
9 05:42
9 05:42

ctry_usage_200108.gif
ctry_usage_200109.gif
daily_usage_200108.gif
daily_usage_200109.gif
hourly_usage_200108.gif
hourly_usage_200109.gif
index.html
usage.gif

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

-rw-r--r--rw-r--r--rw-r--r--

1 root
1 root
1 root

root
root
root

69127
61864
69

Sep
Sep
Sep

9 05:42
9 05:42
9 05:42

usage_200108.html
usage_200109.html
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 APACHE


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

Tag-tag yang mengatur akses dalam tag directory antara lain Order, allow dan deny.
Tag Order mempunyai tiga kemungkinan :

order allow,deny perintah allow dievaluasi dahulu daripada deny (Default


inisialisasi forbidden),

order deny,allow 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 :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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>

Contoh penggunaan tag-tag diatas sebagai berikut :


<Directory /home/*/public_html>
AllowOverride All
Options All
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
<Files ~ "\.(MP3)$">
Order deny,allow
Deny from all
Allow from 192.168
</Files>
<Files ~ "\.(asf)$">
Order deny,allow
Deny from all
Allow 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.*.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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 :
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
<Limit GET POST>
order deny,allow
#allow from all
require user abdul
</Limit>
<Limit PUT DELETE>
order deny,allow
deny from all
</Limit>
AuthType Basic
AuthName linux.net
AuthUserFile /home/abdul/public_html/.pwd

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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 merelease MySQL di Internet. Ia juga membuat dokumentasi MySQL yang di-build
untuk GNU configure utility. MySQL 3.11.1 dipublikasikan di dunia tahun 1996 dan
didistribusikan untuk Linux dan Solaris. Sekarang ini MySQL bekerja untuk banyak
platform serta tersedia source codenya.
MySQL bukanlah proyek Open Source karena lisensi diperlukan juga dalam
kondisi tertentu. Akan tetapi MySQL dikenal sebagai software Open Source karena
aturan lisensinya tidak teralu ketat. Selain itu ia juga portable dan bisa dijalankan
untuk beberapa system operasi komersial seperti Solaris, Irix dan Windows.

Mengapa memilih MySQL?

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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


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.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Sedangkan pengguna database MySQL ini antara lain adalah :

Silicon Graphics ( http://www.sqi.com )

Siemens ( http://www.siemens.com )

Terjemahan Al Quran dalam bahasa Indonesia


(http://netmon.linux.net/~quran/)

Game Strategi Online Multiplayer Kurusetra (http://www.kurusetra.com)


Bagaimanapun, mungkin yang paling menarik dari semua karakteristik adalah

kenyataan bahwa MySQL adalah gratis. Hal ini benar karena T.c.X menawarkan
MySQL sebagai produk gratis untuk umum.

Terminologi dasar database


Database dalam MySQL diklasifikasikan dalam RDBMS (relational database
management system). Istilah RDBMS ini bisa diartikan sebagai berikut :

DB yang berarti database adalah tempat penyimpana kumpulan informasi


yang terdiri atas struktur sbb :

Koleksi data dalam database dikelompokkan dalam tabel tabel.

Masing-masig tabel terdiri atas kolom dan baris.

Masing-masing baris memiliki record.

Record dapat berisi informasi yang masing-masing bersesuaian


terhadap kolom di atasnya.

MS atau management system (sistem manajemen) adalah software yang


membantu anda untuk memasukkan, mengambil, modifikasi, ataupun
meghapus record dalam database.

R atau relational berarti adanya hubungan yang bagus dalam DBMS yaitu
terhubungnya informasi yang tersimpan dalam suatu tabel dengan informasi
dalam tabel lain.
Untuk berkomunikasi dengan MySQL anda dapat menggunakan bahas yang

disebut SQL (Structured Query Language). Saat ini SQL adalah bahasa database
yang standard dan mayoritas system database mengerti bahasa tersebut. SQL

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

memiliki banyak macam perintah dan statement yang akan mendukung system
database yang digunakan MySQL.

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

dapat lebih

mudah

untuk

mengatur konfigurasinya.

Misalnya

anda

mengkompilasi distribusi tersebut hanya sebagai klien tanpa perlu membuat server,
dan juga anda dapat mengatur letak direktori tempat anda menginstal. Distribusi
MySQL terdiri atas komponen sebagai berikut :

Server mysqld

Program-program

klien

(mysql,mysqladmin,

dll)

dan

program

pendukungnya (library dan file header)

Dokumentasi

Database

Bahasa pendukung

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

Instalasi MySQL dengan cara manual (distribusi format source)


Distribusi dalam format source biasanya bernama mysql-versi.tar.gz dengan
versi adalah nomor versi MySQL. Langkah instalasinya adalah sbb :

Ekstrak source MySQL


# tar xvfz mysql-versi.tar.gz

Masuk ke direktori MySQL

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# 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.

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 :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# ./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 RPM


Source 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.

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 :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# rpm qpl nama_file_rpm

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

Pendahuluan
Proxy server sudah menjadi hal yang popular di kalangan para pengguna internet
saat

ini,

berkaitan

dengan

kemampuannya

untuk

menghemat

bandwith,

meningkatkan keamanan, dan menambah kecepatan web-surfing. Dalam jaringan


yang menerapkan sistem proxy, hubungan komunikasi ke internet dilakukan melalui
sistem pendelegasian. Komputer-komputer yang dapat dikenali oleh internet
bertindak sebagai wakil.

Proxy Server Squid


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

dikonfigurasikan sebagai

dan

sebagainya.

Sebuah

proxy

cache

dapat

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

LAN

Internet

Host A
LAN

WAN

WAN
Host C

Router

Router

Host B

Gambar Posisi host di internet


Selain itu, squid dapat melakukan filtering, yaitu squid dapat memblok permintaan
cliet terhadap URL-URL tertentu, sehingga pengelola jaringan dapatlebih santai
tanpa khawatir adanya penyalahgunaan yang tidak dikehendaki. Dalam squid
dikenal istilah parent dan sibling. Parent akan mengambil langsung ke web site yang
diminta, sedangkan sibling akan mencarinya dulu ke parent. Bila tidak ada, maka
sibling mencarinya langsung ke web site yang bersangkutan.
Sebuah proxy cache dapat dikonfigurasikan untuk berjalan standalone server atau
sebagai hierarki cache dengan dengan proxy-proxy lainnya, yang akan kita bahas
lebih lanjut berikut ini.

Standalone server, tanpa parent dan sibling

Ini merupakan konfigurasi yang paling sederhana yang biasa dipakai oleh ISP
(Internet Service Provider) dan warung internet dimana squid server local akan
langsung mencari ke web server www.detik.com untuk memenuhi permintaan client
bila data tidak terdapat di cache.

Sibling tanpa parent

Biasanya konfigurasi ini dipakai untuk jaringan yang tidak terlalu besar. Permintaan
oleh klien pada suatu URL akan diterima lokal yang akan mencarinya ke sibling , bila
tidak ada, lokal akan langsung mencarinya langsung ke webserver yang
bersangkutan.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Parent dan sibling

Biasanya konfigurasi ini diterapkan untuk jaringan yang besar. Efisiensi jaringan ini
cukup baik, karena yang bekerja untuk mendapatkan halaman web keluar jaringan
hanyalah parent sisanya sibling dan para client tidak dapat memperolehnya secara
langsung (dengan firewall). Klien yang meminta halaman web www.detik.com akan
diterima squid server lokal yang kemudian akan memeriksa cachenya, bila tidak ada
dia akan mencari ke sibling, bila ada sibling akan memberikannya ke lokal, namun
bila tidak ada lokal akan meminta ke parent. Sebagai parent ia harus melayani
permintaan ini. Walaupun ia tidak memiliki halaman yang diminta, ia harus
memenuhinya

dengan

mengambil

langsungke

www.detik.com.

Setelah

itu

permintaan dikembalikan ke lokal dan akhirnya ke klien.

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

USER
USER

CACHE
REGIONAL

CACHE
REGIONAL

CACHE
REGIONAL

USER

CACHE
INTERNASIONAL

CACHE
REGIONAL

CACHE
NASIONAL

CACHE
NASIONAL

CACHE
NASIONAL

CACHE
REGIONAL

CACHE
NASIONAL
CACHE
REGIONAL
CACHE
REGIONAL

CACHE
REGIONAL

CACHE
REGIONAL

Gambar 4. Prototipe hierarki cache

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

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

# cd /usr/local
# tar zxvf squid-2.3.STABLE2-src.tar.gz
2. Squid proxy-server tidak dapat berjalan sebagai sebagai super user root, oleh
karena itu kita harus membuat account khusus tanpa shell untuk menjalankan
Squid Proxy Server :
# useradd d /cache/ -r s /dev/null 2>&1
# 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 Squid
Setelah proses instalasi selesai, langkah selanjutnya adalah mengkonfigurasi squid.
File konfigurasi ini biasanya terletak pada direktori /usr/local/squid/etc.

Squid

biasanya sudah menyediakan file konfigurasi default yaitu squid.conf.default, yang


berisi parameter-parameter squid secara lengkap, berikut deskripsi serta contoh
penggunaannya.

Konfigurasi file Squid.conf


Dalam direktori /usr/local/squid/bin akan terdapat file-file sbb:
squid

program utama

dnsserver

server untuk melayani request pemetaan


ip <-> nama tiap child proses squid

cachemgr

program tambahan untuk memantau server

runchace

script untuk memulai squid

secara otomatis

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-Accelerator


Berikut 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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

tingkat pertama adalah 256. Dalam mode accelerator hal ini berkaitan dengan besar
dan jumlah file yang ingin di tampilkan pada webserver Apache.
emulate_httpd_log on

Jika option ini dibuat ON, Squid akan membuat format file log yang sama dengan
Webserver Apache. Hal ini berguna terutama jika kita ingin menggunakan program
seperti Webalizer.
redirect_rewrites_host_header off

Jika diset OFF, Squid tidak akan menulis ulang suatu host.
replacement_policy GDSF

Option replacement_policy menyatakan objek dalam cache yang akan dihapus


Squid saat proxy membutuhkan ruang disk yang lebih banyak.
acl all src 0.0.0.0/0.0.0.0 and http_access allow all

Options acl and http_access mengatur batasan akses terhadap Proxy server
Squid. Pada contoh di atas, kita berarti mengijinkan setiap orang terkoneksi lewat
proxy.
cache_mgr admin

Option cache_mgr menyatakan alamat e-mail administrator yang bertanggungjawab pada server.
cache_effective_user squid and cache_effective_group squid

Options ini menyatakan UID/GID dimana cache berjalan.


httpd_accel_host 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.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

log_icp_queries off

Jika kita tidak menggunakan ICP sebaiknya option ini diset OFF.
cachemgr_passwd my-secret-pass all

Option

cachemgr_passwd

menyatakan

password

yang

diperlukan

untuk

mengakses utilitas program cachemgr.cgi. Isilah <my-secret-pass> dengan


password yang diinginkan. Keyword <all> akan membuat password yang sama
untuk semua
buffered_logs on

Option buffered_logs yang diset

ON dapat menambah kecepatan penulisan

beberapa file log.

Konfigurasi Mode Proxy-Caching Mode


Pada proxy-caching server, semua user dalam network kita menggunakan Squid
untuk mengakses Internet. Tentu saja kita dapat menerapkan beberapa aturan dan
menghemat bandwith. Konfigurasi Squid sebagai proxy-caching mode tidak jauh
berbeda dengan mode sebelumnya, hanya mungkin ada beberapa option yang
diubah atau ditambahkan. Perbedaan utama dengan mode sebelumnya adalah
adanya access control list (ACL). ACL berguna untuk merestriksi akses berdasarkan
IP address asal (src), IP address tujuan (dst), domain asal, domain tujuan,
berdasarkan waktu akses, dsb. Konfigurasi ACL yang umum digunakan adalah
sebagai berikut :

Akses berdasarkan IP address asal

acl [alamat] src a.b.c.d/e.f.g.h

Akses berdasarkan IP address tujuan

acl [alamat] dst a.b.c.d/e.f.g.h

Akses berdasarkan domain asal

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 admin@nama.domain
cache_effective_user squid
cache_effective_group squid
log_icp_queries off

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

cachemgr_passwd my-secret-pass all


buffered_logs on

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

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Salah satu alasan kenapa email

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

pertukaran

email yang menggunakan TCP/IP

User di
terminal

User di
termina
l

Antrian yang akan


dikirim

User
agent

Mailbox penerima

User
agent

MTA
client

MTA
server

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)

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Meneruskan email yang akan keluar (outgoing)

Mengatur antrian bila ada email masuk, keluar dan yang tertunda pengirimannya

MTA yang umum dipakai adalah sendmail dan qmail untuk di unix serta untuk di Ms
Windows menggunakan Mdaemon.
Sedangkan MUA (Mail User Agent) adalah aplikasi yang berfungsi sebagai antar
muka (interface) antara email (dalam hal ini berhubungan dengan user yang
memiliki email tersebut) dengan MTA yang mendukungnya. Ia berfungsi :

Menulis email dan membaca email yang masuk.

Mengatur konfigurasi email sehingga sesuai dengan MTA yang mendukungnya.

Memberikan kenyamanan kepada user dalam menerima dan mengirim email.

Beberapa agen email yang populer saat ini adalah Pine, Eudora, Netscape, Outlook
dan Pegasus.
Dalam berkomunikasi email menggunakan protocol sendiri yaitu SMTP
(Simple Mail Transport Protocol) yang bekerja di port 25. Protokol ini hanya bekerja
untuk berkomunikasi dengan server mail remote, tidak untuk server lokal.

Bagaimana E-mail Terkirim ?


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

tersebut. Jawaban dari server ini harus dimulai dengan FQDN (fully quanlified
domain name ) dari server, misal .linux.net.
Selanjutnya clien memperkenalkan diri dengan perintah EHLO atau jika
server masih versi lama maka cara memperkenalkan diri dengan perintah HELO.
Perintah HELO adalah perintah primitif yang ada pada SMTP versi awal. Argumen
dibelakang perintah tersebut adalah FQDN dari client, misalkan students.linux.net.
Server merespon dengan memberikan identitas dirinya kepada client. Jika
komunikasi

sudah

terbentuk,

client

dapat

mengirimkan

lebih

dari

satu

pesan,mengakhiri hubungan, atau meminta server untuk mengirimkan aturan bagi


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

Komponen E-mail
Email terdiri dari tiga buah komponen, yaitu:

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Mail Exchanger (MX)


MX berfungsi sebagai tempat penyimpanan sementara jika sebuah mail
server yang sebenarnya lagi down atau mati. Hal ini sangat penting bagi sebuah
organisasi yang mempunyai jaringan yang cukup luas dan mempunyai banyak mail
server. Untuk supaya anda dapat melakukan hal ini , anda harus mengeset dalam
DNS server anda.
Contoh setting dalam DNS server adalah sebagai berikut (untuk menambahkan
record MX) :
students.linux.net

IN

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.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Selang pemilihan preference MX record

biasanya dibuat selisih sepuluh

angka. Selisih ini dibuat sedemikian hingga agar bila ada penambahan mail server,
kita dapat menambahkan record MX dari yang telah ada sebelumnya.
Sebuah host untuk dapat melihat record MX dari suatu server bisa dengan
mengetikkan perintah seperti dibawah ini
$ host students.linux.net
students.linux.net has address 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 Agent
Fungsi utama dari relay agent adalah untuk mengirimkan email dari user
agent. Jadi semua email yang akan dikirimkan ke jaringan luar akan dikirim dulu
oleh user agent ke relay agent, dan jika sudah sampai maka selanjutnya adalah
menjadi tanggung jawab dari mesin yang berfungsi sebagai relay agent untuk
mengirimkan email yang diberikan kepadanya.
Karena fungsinya sangat penting bagi pengiriman email, maka dalam sebuah
jaringan kita harus mempunyai mesin yang berfungsi sebagai relay agent lebih dari
satu (selain mesin mail server utama). Untuk dapat menghemat biaya mungkin
fungsinya bisa kita satukan dengan mesin yang berfungsi sebagai MX. Tapi jika
traffik mail sudah pada apalagi terdapat mailling list yang banyak sebaiknya kedua
fungsi tersebut dipisahkan ke mesin tersendiri.
Sebagai administrator anda harus bisa mengatur supaya mesin MX dan relay
agent ini tidak disalah gunakan oleh orang lain untuk melakukan hal-hal yang
merugikan. Salah satu contohnya jika kita melakukan pengesetan server mail
secara asal-asalan dan membolehkan semua orang untuk merelay ke mesin anda,
bisa jadi mesin anda nantinya akan digunakan orang untuk membuat SPAM mail.
Untuk menghindari hal ini anda harus membuat aturan atau mengeset dalam server

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

anda bahwa host-host yang boleh merelay ke mesin anda adalah host tertentu yang
anda kenal atau mungkin khusus untuk host-host yang ada dalam jaringan anda.

Qmail
Sebuah sistem UNIX biasanya langsung dibundel oleh MTA (Mail Transfer Agent)
bernama Sendmail, karena sebenarnya Sendmail adalah mail server paling popular
dan paling tua di Internet. Sendmail mempunyai konfigurasi default yang diletakkan
pada /etc/sendmail.cf yang dengan konfigurasi tersebut email sudah dapat keluar
masuk. Namun dari beberapa pengalaman ternyata Sendmail memiliki banyak
kelemahan, antara lain

file sendmail.cf yang berupa teks berukuran besar dan

terdiri atas banyak baris dengan kode-kode yang sulit dipelajari. Oleh karenanya
sendmail banyak memiliki bug.
Kemudian muncullah MTA bernama Qmail yang dibuat oleh seseorang yang
tidak puas atas kinerja dan buggy Sendmail. Qmail dikembangkan sekitar tahun 96
oleh seorang profesor matematika bernama Dan Bernstein. Qmail dikembangkan
karena terdapat banyak bugs yang terdapat di dalam Sendmail. Seperti yang
dituliskan dalam home page resmi Qmail di http://cr.yp.to/~djb/qmail.html , Qmail
merupakan pengganti dari Sendmail dan memang dalam instalasi default Qmail ada
beberapa hal yang tidak kompatibel dengan Sendmail. Sampai saat ini pemakai
Qmail terus berkembang.
Qmail tidak merepotkan sewaktu instalasi dan juga mempunyai file konfigurasi
yang sederhana yang terdiri atas beberapa file yang diletakkan pada direktori
/var/qmail/control. Keunggulan utama Qmail dibandingkan dengan Sendmail adalah
masalah keamanan. Berikut alasan bahwa Qmail memiliki keamanan yang lebih
baik:

Tidak memperlakukan program dan files sebagai alamat


Sendmail melihat program dan files sebagai sebuah alamat. Kelemahan dari
hal ini yaitu bila beberapa user tidak diizinkan untuk memakai program atau
menulis file (tidak mempunyai hak ) mengakibatkan Sendmail terus menerus
mencobanya. Berbeda dengan Qmail yang memperlakukan program sebagai

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

program dan file sebagai file. Qmail bisa disuruh untuk menjalankan program
tapi atas nama user tersebut.

Sesedikit mungkin menggunakan setuid dan login root


Sendmail ditulis sebagai setuid sehingga menyebabkan banyak eksploit dan
bug, sedangkan Qmail mempunyai satu program yang memakai setuid, yaitu
qmail-queue. Sendmail dijalankan di bawah user root, hal ini mengakibatkan
proteksi sistem terhadap sesuatu kesalahan menjadi tidak berlaku karena
root dapat melakukan semuanya. Hal ini bisa berakibat buruk. Qmail berjalan
atas namanya sendiri yang terdiri atas enam user. Sedangkan program Qmail
yan berjalan atas nama root adalah qmail-start dan qmail-lspawn.

Memisahkan beberapa fungsi menjadi beberapa program independent


Seperti yang telah disebutkan, Qmail terdiri atas enam user yang masigmasing user tersebut menjalankan program yang berbeda. Berbeda dengan
Sendmail yang hanya mempunyai sebuah file eksekusi, Qmail memisahkan
masing-masing fungsi seperti untuk menangani antrian, menangani deliveri
ke host remote, deliveri ke hostloakl dan sebagainya menjadi beberapa
program independent. Dan masing-masing program ini berjalan dengan nama
yang berbeda, misalnya qmail-send oleh qmaill dan qmail-queue oleh qmailq.

Sederhana dan kecil


Qmail dikatakan sederhana dan kecil karena Qmail memisahkan mekanisasi
untuk forwarding, aliasing dan mailing-list. Selain itu Qmail hanya mempunyai
satu mode pengiriman, yaitu fast+queued. Qmail-send yaitu program untuk
mengirimkan mail dipicu oleh adanya antrian baru. Sedangkan Sendmail
mempunyai beberapa mode, yaitu slow+queued dan fast+unsafe.

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Setiap email akan masuk ke qmail-queue direktori yang dikerjakan oleh


qmail-queue. Qmail-queue mempunyai direktori untuk mengerjakan antrain, yaitu
/var/qmail/queue. Qmail-queue akan ada bila ada permintaan yang biasanya
digenerate oleh qmail-inject untuk email-lokal, qmail-smtpd untuk message yang
diterima lewat SMTP, qmail-local untuk email yang diforward dan qmail-send untuk
message yang bouncing.
Setiap email diantarkan ke tempat tujuan oleh qmail-send dan bekerja sama
dengan qmail-rspawn untuk message remote dan qmail-lspawn untuk email lokal.
Qmail-clean juga ikut bekerja dalam proses pengantaran di atas. Keempat program
tadi adalah daemon yang terus-menerus idle dalam sistem yang memakai qmail.
Antrian didesain untuk bisa tahan crash dengan syarat file sistem yang dipakainya
juga harus tahan crash.
Setiap email dalam antrian diberikan nomor identifikasi, misalnya 23. Antrian
yang diatur qmail-queue dipecah lagi menjadi beberapa direktori yang setiap
direktori ada file yang berhubungan dengan email 23.
mess/23

: 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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

S3. +mess +intd todo info local remote -bounce


S4. +mess ?intd +todo ?info ?local ?remote bounce (queued)
S5. +mess intd todo +info ?local ?remote ?bounce (preprocessed)
Untuk memasukkan email ke dalam antrian, qmail-queue menciptakan file
dalam direktori terpisah, yaitu pid/ dengan nama yang unik. Lalu file sistem
memberikan nomor inode. Qmail-queue mencari nomor tersebut, misalnya 23. Pada
level ini message 23 mencapai keadaan S1.
Lalu qmail-queue mengubah nama pid/apa_saja menjadi mess/23 dan naik
ke keadaan S2 dan menulis pesan ke mess/23. Lalu qmail-queue membuat intd/23
dan keadaan berubah ke S3 dan menulis informasi amplop ke intd/23.
Pada tahap akhir qmail-queue membuat link baru, yaitu dari intd/23 ke todo/23 dan
keadaan naik ke S4. Pada saat ini email sudah sukses memasuki antrian dan untuk
selanjutnya qmail menyerahkan pekerjaan ke qmail-send.
Setelah

email

sukses

memasuki

antrian,

maka

qmail-send

harus

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Qmail-send akan mencoba mengantarkan email yang NOT DONE pada saat
proses tidak terlalu banyak. Bila email telah diantarkan dengan sukses, qmail-send
akan memberi tanda DONE. Sedangkan bila antaran menemui kegagalan permanen
maka qmail-send akan mengirimkan catatan ke biunce/23 dan email akan diberi
tanda DONE.
Qmail-send menangani email bnounce setiap saat dengan membuat pesan bounce
ke bounce/23 dan mess/23 dan meneruskan ke qmail-inject. Setelah selesai maka
bounce/23 akan dihapus.
Ketika semua alamat di local/23 ditandai DONE, maka qmail-send akan
menghapusnya, begitu pula untuk remote/23. Ketika local/23 dan remote dihapus,
maka qmail-send akan menghapus email dari antrian dengan menghapus
bounce/23 , info/23 dan secara berangsur-angsur keadaan untuk message 23 akan
berubah ke S2 dan S1.
Bila komputer crash sewaktu qmail-queue mencoba membuat antrian untuk
sebuah email, maka email akan ditingallkan dalam keadaan S atau S3. Lalu ketika
sistem memulai lagi, qmail-send akan melihat sebuah email dalam keadaan S2dan
S3 yang lebih dari 36 jam, maka mess/23 akan dihapus. Sama halnya seperti qmailsend melihat file dalam pid/ yang lebih dari 36 jam, maka akan dihapus.
Pembersihan tidak perlu dilakukan apabila qmail-send sedang dalam tahap
pengantaran. Kemungkinan terburuk email akan terkirimkan dua kali.
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 Qmail
Untuk mendapatkan informasi yang lebih lengkap tentang qmail dapat
diperoleh dari http://www.qmail.org

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Berikut langkah-langkah instalasi Qmail secara manual:

Ambil source dari situs yang menyediakan. Source ini masih berupa file
compress yang berekstension tar.gz. Versi terbaru sampai saat ini adalah
versi 1.03 .
Kemudian taruh source di direktori tertentu misalnya /tmp.

Extrack file qmail-1.03.tar.gz dengan command :


# tar zxvf qmail-1.03.tar.gz

Setelah itu file akan di ekstrak dan disimpan dalam direktori


/tmp/qmail-1.03
Buatlah direktori /var/qmail dengan command :
# mkdir /var/qmail

buat user dan group :


group
user

: nofiles dan qmail


: qmaill, qmails, qmaild, qmailr

Untuk membuatnya sudah ada perintahnya seperti yang ada pada


dokumentasi yaitu dengan command :
#
#
#
#
#
#
#
#

groupadd nofiles
useradd alias -g nofiles -d /var/qmail/qmaild
useradd qmaild -g nofiles -d /var/qmail qmaill
useradd qmaill -g nofiles -d /var/qmail qmailp
groupadd qmail
useradd g qmail -d /var/qmail qmailq
useradd -g qmail -d /var/qmail qmailr
useradd -g qmail d /var/qmail qmails

Kembali ke direktori dimana source qmail diletakkan. Lalu compile source


dengan command :
# make setup check

Lakukan perintah untuk mensetup file konfigurasi qmail dengan command :


# ./config

Atau dengan command minimal yang menyatakan nama internet host:


# ./ config-fast nama-host.domain.anda

Setelah perintah di atas, file configurasi yang tercipta diletakkan pada


direktori /var/qmail/control. Dapat dilihat terdapat beberapa file konfigurasi :
me, rcpthosts, locals dan yang lainnya, sedangkan yang minimal harus ada
adalah file me yang menyatakan nama internet host tersebut.

Dengan perintah config-fast nama domain ini, script config akan menuliskan
nama.domain.anda ke dalam file control/me, control/local dan control

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

/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
chmod
touch
chmod
touch
chmod

alias/qmail-postmaster
644 ~alias/qmail-postmaster
~alias /qmail-mailer-daemon
644 ~alias/qmail-mailer-daemon
~alias/qmail-root
644 ~alias/qmail-root

Kemudian seting Mailbox, umumnya MTA menggunakan dua format dalam


menangani e-mail, yakni format mbox, dan format maildir. Format mbox akan
menyimpan email dalam sebuah file yang akan menambahkan mail secara
otomatis ke dalam file yang bersangkutan. Sedangkan format maildir
merupakan format yang anti crash dan lebih reiable dibanding format mbox.

Setting mbox
Sendmail dalam mendistribusikan e-mail secara lokal

menggunakan binmail

yang secara default akan mengirimkan mail ke folder /var/spool/mail/nama_user


menggunakan qmail-local dan menyimpannya ke folder ~nama_user/Mailbox.

Pindahkan /var/spool/mail/nama_user ke ~nama-user/Mailbox ;

Buat link simbolik dari ~nama_user/Mailbox ke /var/spool/mail/nama_user :

# cd /var/spool/mail
# cp nama_user /home/nama_user/Mailbox
# rm 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 &

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Jika qmail sudah berjalan, maka dalam file log (umumnya /var/log/maillog)
akan memberikan pesan :
Qmail : status: local 0/10 remote 0/20

Untuk mengetahui program-program qmail yang sedang berjalan, lakukan


perintah :
# ps ax |grep qmail

Maka akan tampak daemon qmail yang sedang idle yaitu :


Qmail-send, dijalankan oleh qmails;
Qmail-lspawn, dijalankan oleh root;
Qmail-rspawn, dijalankan oleh qmailr;
Qmail-clean, ijalankan oleh qmailq;
Splogger, dijalankan oleh qmaill, untuk mencatat aktivitas qmail ke file log.

Untuk testing qmail maka dijalankan perintah pengiriman qmail untuk diri
sendiri :
# echo to: aku |

/var/qmail/bin/qmail-inject

File log akan mencatat kurang lebih sbb:


qmail: new msg 53
qmail: info msg 53: bytes 246 from admin@linux.net .qp20345 uid 666
qmail: starting delivery 2: msg 53 to local nama_user@linux.net
qmail: status: local 1/10 remote 0/20
qmail: delivery 1: success: did_1+0+0/
qmail: status : local 0/10 remote 0/20
qmail: end msg 53

Kemudian tes pengiriman mail ke user sembarang :


# echo to: nama_user | /var/qmail/bin/qmail-inject

Pada file log akan tampak sebagai berikut :


qmail: new msg 53
qmail: info msg 53: bytes 246 from admin@ linux.net qp 20351 uid 666
qmail: starting delivery 2: msg 53 to local nama_user@ linux.net
qmail: status: local 1/10 remote 0/20
qmail: delivery 2: failure: no_such_address._#5.1.1_/
qmail: status: local 0/10 remote 0/20
qmail: bounce msg 53
qmail: new msg 54
qmail: info msg 54: bytes 743 from <> qp 20357 uid 666
qmail: starting delivery 3: msg 54 to local admin@linux.net
qmail: status: local 1/10 remote 0/20
qmail: delivery 3: success: did_1+0+0/

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

qmail: status: local 0/10 remote 0/20


qmail: end msg 54
Maka setelah anda membuka mailbox akan terdapat mail yang balik lagi.

Selain lewat test qmail-inject, anda dapat langsung lewat smtp qmail.

Untuk memulai qmail bekerja di bawah inetd maka edit /etc/inetd.conf dengan

# telnet 192.168.0.101
Trying 192.168.0.101
Connected to 192.168.0.101.
Escape character is ^].
Mail admin@ linux.net
250 ok
data
354 go ahead
subject : tes
tes

menambahkan line :
smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env
/var/qmail/bin/qmail-smtpd

tcp-env

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 qmail

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Bila proses qmail sudah berjalan, maka akan keluar out put bila dilakukan ps
ax berupa 4 proses qmail yang sedang idle, yaitu :
qmail-send, qmail-lspawn, qmail-rspawn and qmail-clean.
Untuk melakukan testing, ada dua jenis tes yang perlu dilakukan yaitu delivery dan
receive. Dalam test ini, proses sendmail masih bisa berjalan dan test tidak akan
mengganggunya.

Untuk test yang pertama dapat dilakukan dengan mengrimkan mail kepada
user yang bernama udin :
# echo to: udin | /var/qmail/bin/qmail-inject

Lalu lihat apa yang telah dicatat syslogd (syslogd adalah sebuah daemon
yang melakukan logging terhadap sistem) dengan cara :
# tail -f /var/log/maillog

Maka akan terlihat output berupa proses kerja qmail untuk menyampaikan
message.

Untuk test selanjutnya dilakukan pengiriman ke remote host


# echo to : logic@l inux.net

| /var/qmail/bin/qmail-inject

Lalu kembali lakukan checking pada syslogd seperti di atas. Untuk


melakukan testing receive dapat dilakukan dari host lain dengan mengirimkan
mail ke host yang sedang di test. Pada level ini, apabila semua test berhasil
maka sendmail boleh dimatikan prosesnya dengan :
# kill -9 [pid sendmail]

Untuk melihat apakah qmail sudah bekerja pada port 25, maka dilakukan :
# telnet 192.168.0.97
Trying 192.168.0.97
Connected to 127.0.0.1.
Escape character is '^]'.
220 domain ESMTP
helo udin
250 domain
mail <udin@nama-host.domain.anda>
250 ok
rcpt <udin@nama-host.domain.anda>
250 ok
data
354 go ahead
Subject: test

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Ini cuma test.


.
250 ok 812345679 qp 12345
quit
221 domain
Connection closed by foreign host.

Setelah semua test dilakukan dan berhasil, maka perlu dilakukan


pembuangan sendmail. Hal ini harus dilakukan agar user tidak dapat
menggunakan sendmail untuk mengirimkan mail. Untuk itu dilakukan :
# mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
# chmod 0 /usr/sbin/sendmail.bak

Dan buat link untuk menghubungkan sendmail dengan "sendmail" kepunyaan


qmail. Hal ini dibutuhkan agar sistem tetap mengenali sendmail.
# ln -s /var/qmail/bin/sendmail

/usr/sbin/sendmail

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

Untuk mengubah konfigurasi MUA mail, file konfigurasi yang perlu diedit
adalah /etc/mail.conf.

Tambahkan line set sendmail=/var/qmail/bin/date-mail .

Setelah semua selesai, ada baiknya system dibooting ulang.

Lakukan test dan selama itu amati terus logging di /var/log/maillog dengan
perintah:
#tail -f /var/log/maillog

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

#wget
#wget
#wget
#wget

http://inter7.com/qmail/ezmlm-patches/ezmlm-idx-0.40.tar.gz
http://inter7.com/devel/autorespond-2.0.2.tar.gz
http://inter7.com/qmailadmin/qmailadmin-1.0.4.tar.gz
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
#tar
#tar
#tar
#tar

-xzvf
-xzvf
-xzvf
-xzvf
-xzvf

ezmlm-0.53.tar.gz
ezmlm-idx-0.40.tar.gz
autorespond-2.0.2.tar.gz
qmailadmin-1.0.4.tar.gz
quotafix-patch.1.0.4-03-LINUX.tar.gz

Install ezmlm+ezmlm-idx :
#mv ezmlm-idx-0.40/* ezmlm-0.53/
#cd ezmlm-0.53
# patch < idx.patch
# patch -p1 < ../ezmlm-idx-0.53.400.unified_41.patch

Kompile dan install ezmlm-(idx) :


# make
# make man
# make setup

Install autoresponder :
# cd ../autorespond-2.0.2
# make
# make install

Install qmailadmin :
# cd ../qmailadmin-1.0.4
# patch -p1 < ../quotafix-patch/quotafix-patch.diff
# ./configure \
--enable-htmldir=/usr/local/httpd/htdocs \
--enable-cgibindir=/usr/local/httpd/cgi-bin
# make
# make install

Jika sukses, maka akan terdapat file qmailadmin pada direktori /usr/local/httpd/cgibin :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# 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
#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/courierimap/etc/imapd
# cp /usr/lib/courier-imap/etc/imapd-ssl.dist \ /usr/lib/courierimap/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":

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Start daemon courier-imap :


# /usr/lib/courier-imap/libexec/imapd.rc start

Anda bisa memeriksa apakah servise courier-imap anda sudah berjalan semestinya,
kita gunakan perintah ps :
# ps ax | grep imap
2049 ? S 0:00 /usr/lib/courier-imap/libexec/couriertcpd -address=12
2052 ? S 0:00 /usr/lib/courier-imap/libexec/courierlogger imapd

Agar setiap reboot daemon courier-imap dijalankan secara otomatis :


# echo \ "/usr/lib/courier-imap/libexec/imapd.rc start" >>
/etc/rc.local

Instalasi Squirrelmail
Menurut file INSTALL dari distribusi Squirrelmail, software ini membutuhkan
php4 yang minimal dikompilasi dengan opsi --enable-track-vars --enable-force-cgiredirect --with-gettext serta membutuhkan register_global=On dan file_uploads =
On di php.
Download dan ekstrak paket squirrelmail yang paling baru :
#wget \ http://inter7.com/squirrelmail/squirrelmail-1.2.11.tar.gz

Perhatian : Perintah diatas diketik dalam satu baris


Lalu jalankan perintah tar untuk melakukan proses instalasi squirrelmail.
#tar -xzvf squirrelmail-1.2.11.tar.gz

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/

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Salin file konfigurasi standar ke file konfigurasi squirrelmail :


#cp /usr/local/httpd/htdocs/mail/config/config_default.php \
/usr/local/httpd/htdocs/mail/config/config.php

Edit file tersebut dari $imap_server_type = 'cyrus'; menjadi$imap_server_type =


'courier'; :
#vi /usr/local/httpd/htdocs/mail/config/config.php

Atau jika anda mengalami kesulitan anda bisa menggunakan script perl yang
disertakan oleh squirrelmail, pada direktori config :
#cd /usr/local/httpd/htdocs/mail/config
# ./conf.pl

Kemudian
silakan
dicoba
dengan
browser
anda,
misalnya
http://admin.linux.net/mail, kemudian masukkan user yang telah anda buat misalnya
admin@linux.net kemudian anda bisa mengganti Personal Information atau Folder
Preferences dari menu Options.

Memilih Script Qmail


Untuk memulai qmail diperlukan sebuah script. Ada beberapa pilihan yang dapat
dilihat pada /var/qmail/boot. Secara garis besar pilihan tersebut dibedakan menjadi:

Format mail Mailbox ke masing-masing home direktori

Format mail Binmail seperti layaknya pada sendmail yang meletakkan di


/var/mail/nama_user .

Format mail Maildir. Ini merupakan format mail yang terbaru dan baru ada
pada saat pembuatan Qmail. Selain Qmial , Postfix juga sudah support.
Format ini mempunyai keunggulan tahan terhadap crash, karena masingmasing mail dituliskan pada file yang berbeda.

Ketiga pilihan diatas harus dipertimbangkan secara matang. Berikut ini dijelaskan
pertimbangan untuk memilih salah satunya.

Apabila instalasi qmail dilakukan berbarengan dengan instalasi Linux lebih


baik dipilih mode Maildir. Sampai saat ini Mail User Agent (MUA) yang bisa
membaca format Maildir baru Mutt dan Mew. Walau pun begitu user masih
bisa membaca melalui mode pop.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Apabila system telah lama ada serta telah mempunyai user yang banyak,
lebih baik dipilih mode Binmail. Hal ini agar memudahkan penyesuaian dari
sendmail ke qmail. Ini adalah rekomendasi utama.

Setelah dicoba, Mutt ternyata masih terlalu sulit untuk digunakan maka dipilih
mode Mailbox. Dengan mode Mailbox, Pine bisa digunakan.

Mailing List Server


Untuk mengatur sebuah mailing-list diperlukan suatu aplikasi sederhana yang
mudah diimplementasikan. Selain itu diperlukan juga sebuah aplikasi untuk
mengotomasikan hal-hal yang berhubungan dengan mailling-list, yaitu :

Menambahkan anggota baru

Mengurangi anggota

Memberikan informasi tentang subjek pembicaraan mailling-list.

Mengarsipkan mail-mail yang datang ke sebuah mailling-list

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Opsi --enable-default-domain dibawah ini (pada saat kompilasi vpopmail)


digunakan untuk mengeset pada saat pengambilan email melalui protokol pop3, jika
memasukkan format user saja tanpa user@domain maka vpopmail akan
menganggap sebagai user@domain-default-tersebut , disini kita misalkan linux
sebagai default domain :
[root@wedus vpopmail-5.2.1]# ./configure --enable-default-domain=linux
Kompile dan install :
# make
# make install

Ganti direktori ke /home/vpopmail/bin untuk menambah virtual domain, ingat


password postmaster ini akan digunakan nantinya jika anda menggunakan
qmailadmin untuk administrasi sebuah virtualdomain menggunakan web browser :
# cd /home/vpopmail/bin
# ./vadddomain linux
Please enter password for postmaster:
enter password again:

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 :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# 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
#chown
#chmod
#chmod

/var/log/qmail/pop3d
qmaill /var/log/qmail/pop3d
755 /var/qmail/supervise/qmail-pop3d/run
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 :
#ln -s /var/qmail/supervise/qmail-pop3d /service

Untuk memeriksa apakah servise pop3 server sudah bekerja :


#ps ax | grep tcpserver
1057 ? S 0:00 tcpserver -H -R -v -x /etc/tcp.smtp.cdb -c 30 -u 503
1061 ? S 0:00 tcpserver -H -v -c 30 0 110 qmail-popup admin.linux

Untuk sekedar memastikan, anda bisa mencoba telnet ke localhost port 110 :
#telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK <5724.1035514277@admin.linux>

Download script untuk menjalankan qmail, anda bisa download di


http://www.lifewithqmail.org/qmailctl-script-dt70 namun anda harus menambahkan
untuk start/stop daemon pop3d nya, atau alternatif lain script yang sudah ditambah
start/stop daemon pop3d di http://people.cakraweb.com/~admin/qmailctl :
#
#
#
#

wget http://people.cakraweb.com/~admin/qmailctl
mv qmailctl /var/qmail/bin/qmailctl
chmod 755 /var/qmail/bin/qmailctl
ln -s /var/qmail/bin/qmailctl /usr/bin

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Jika anda tidak memakai SuSE based style, anda bisa langsung ke Start-Stop
qmail :
#
#
#
#
#
#
#
#

ln
ln
ln
ln
ln
ln
ln
ln

-s
-s
-s
-s
-s
-s
-s
-s

/var/qmail/bin/qmailctl /etc/rc.d/init.d/qmail
/etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc0.d/K30qmail
/etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc1.d/K30qmail
/etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc2.d/S80qmail
/etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc3.d/S80qmail
/etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc4.d/S80qmail
/etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc5.d/S80qmail
/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 admin@linux.net ,


dari perintah tail -f /var/log/qmail/current kita dapatkan log seperti berikut :
#tail -f /var/log/qmail/current
@403db6657501bc540c new msg 224662
@403db6657501bc6b7c info msg 224662: bytes 906 from
<admin@linux.net> qp 995 uid 503
@403db6657501e995fc starting delivery 1: msg 224662 to local linuxadmin@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 | tai64nlocal
2002-10-23 16:01:31.029119500 new msg 224662
2002-10-23 16:01:31.029125500 info msg 224662: bytes 906 from
<admin@linux.net> qp 995 uid 503
2002-10-23 16:01:31.032085500 starting delivery 1: msg 224662 to
local 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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Lalu kita periksa apakah email tersebut sudah masuk ke dalam mailbox
admin@linux, anda bisa menggunakan POP3 client, misalnya Eudora. Karena
domain linux merupakan default domain, anda bisa menggunakan user saja
misalnya admin atau format user@domain misalnya admin@linux sebagai
accoutname atau username untuk authentikasi ke server POP tersebut, atau anda
juga bisa melalui old-fashioned-way, telnet port 110 di localhost :
#telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK <5897.1035517402@admin.linux>
user admin@linux
+OK
pass 123
+OK
list
+OK
1 988
.
quit
+OK
Connection closed by foreign host.

Disitu kita lihat email sudah masuk dengan sukses ke alamat yang dituju.
Untuk menambahkan virtual domain yang lain (misalnya mail.net), anda tinggal
menuju ke /home/vpopmail/bin kemudian ./vadddomain mail.net misalnya :
# cd /home/vpopmail/bin
# ./vadddomain mail.net

Instalasi ezmlm
Berikut adalah tahapan-tahapan instalasi ezmlm secara manual :

Ambil paket aplikasi ezmlm yang dibutuhkan pada ftpserver yang tersedia,
misal ftp://ftp.linux.net dalam bentuk file ezmlm-0.53.tar.gz dan ezmlm-idx0.40.tar.gz

Ekstrak file sbb:


# tar zxvpf ezmlm-0.53.tar.gz
# tar xxvpf ezmlm-idx-0.40.tar.gz

Masuk ke file ezmlm-0.53 :

Kompilasi :

#cd ezmlm-0.53

# make
# make man

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# 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

Kompile program dan man pages-nya

Tambahkan PATH untuk mengakses binary command dengan mengedit file

# patch < idx.patch

# make clean
# make; make man

/root/.bashrc :
# vi /root/.bashrc

Tambahkan :
PATH = $PATH:/usr/local/bin/ezmlm
export PATH

Testing ezmlm
Pada tahap ini tidak perlu memakai login root, namun untuk memudahkan
perlu memakai user yang bernama alias. Alias ini adalah nama user yang tercipta
sewaktu menginstall qmail. Untuk membuat shell dan password alias, dilakukan
dengan :
# passwd alias

Pengujian menggunakan login alias :


$ login alias
Password : *****

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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 admin@linux.net

Tes pengiriman email ke mailling-list :


$ echo subject : test |qmail-inject test@linux.net

atau
$ mail test@linux.net
subject : tes
Ini lagi ngetes lho..

Lihat pada mailbox apakah ada mail yang masuk atau lihat pada file
logging /var/log/maillog sbb :
$ tail -f /var/log/maillog

Selain perintah perintah di atas terdapat options-options khusus dalam


membuat dan mengelola mailing list server ezmlm ini. Untuk lebih jelasnya bisa
dipelajari di manual ezmlm-nya.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Mekanisme SMB
Username dan Password
Untuk memahami hubungan antara Linux/Samba/Windows, kita harus mempelajari
sistem file, printer, dan user pada kedua operating sistem. Beberapa manajemen
pengaturan username dan password :

Linux Password Authentication Module (PAM), akan membuat autentikasi


user dengan PDC sehingga kita tetap mempunyai dua user, satu di lokal dan

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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 mengupdate daftar password PDC. Script Perl

pada sisi Linux dapat berkomunikasi

dengan script WinPerl untuk menjaga sinkrinisasi account.

Encrypted Password
Sejak Windows NT 4, Windows 98, dan Windows 95 OSR2, Windows
menggunakan password terenkripsi saat berkomunikasi menggunakan PDC dan
setiap server yang memerlukan autentikasi (termasuk Linux dan Samba). Alogoritma
enkripsi Windows berbeda dengan UNIX, sehingga tidak kompatibel. Untuk
menangani hal itu, kita dapat melakukan pilihan-pilihan sebagai berikut :

Mengedit Registry pada klien Windows untuk mendisable penggunaan password


terenkripsi. Bagian registry yang harus diubah terdapat pada direktori docs paket
Samba.

Mengkonfigurasi Samba agar menngunakan password terenkripsi Windows.


Pilihan pertama mempunyai kelebihan dengan tidak adanya pola password yang

lebih kompleks. Pada sisi lain, kita harus membuat registry yang tetap pada semua
klien. Untuk pilihan kedua sebaliknya, yakni sedikit lebih kompleks pada sisi server,
tapi kita tidak usah mengubah bagian klien.

Perbedaan smbd dengan nmbd


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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 Server


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

Instalasi Dalam Bentuk Tarball


Instalasi dalam bentuk tarball adalah instalasi dengan source dalam bentuk
file berekstensi tar.gz. Instalasi ini hanya bisa dilakukan dengan account root.
Berikut adalah langkah-langkah instalasinya :
Masukkan ke direktori tempat diletakkannya source Samba :
# cd /usr/local/src

Kemudian ekstrak file tersebut dengan perintah :


# tar zxvf samba-2.0.7.tar.gz

Setelah diekstark akan terbentuk direktori samba-2.0.7, masuklah ke direktori


tersebut, dan di sana akan terdapat direktori source, docs , dan sebagainya : l
# cd samba-2.0.7

Lalu masuklah ke direktori source dan jalankan script configure yang ada di sana.
Dalam konfigurasi ini, kita dapat menambahkan beberapa option, misalnya kita akan
menambahkan option sebagai berikut :
Option

Deskripsi

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Agar Samba dapat menggunakan Password


Authentication Module (PAM).
Agar mendukung MMAP untuk meningkatkan
performansi Samba.

--with-pam
--with-mmap

# ./configure -with-smbmount -with-pam --with-mmap

Kemudian install Samba dengan mengetikkan perintah make lalu make install:
# make all
# make install

Samba akan terinstall di direktori /usr/local/samba. Setelah perintah instalasi


di atas dieksekusi, akan terbentuk direktori bin yang berisi sejumlah file binary yang
berfungsi seperti untuk mengontrol Samba server seperti smbd, nmbd, dan
smbclient, dan lain-lain.
Samba akan terinstall di direktori /usr/local/samba.
# install m 755 script /mksmbpasswd.sh /usr/bin/

Perintah ini akan menginstall script mksmbpasswd.sh pada direktori


/usr/bin/. Script ini diperlukan untuk mensetup user Samba diijinkan terkoneksi ke
server via file smbpasswd.
Untuk mempelajari Samba secara lebih mendalam, kita dapat membaca
manualnya yang disertakana dalam paket. Manual Samba secara default terletak di
direktori /usr/local/samba/man. Agar manual Samba bisa dibaca (diakses) dengan
perintah man pada shell Linux, lakukan sebagai berikut :
#
#
#
#

cp
cp
cp
cp

/usr/local/samba/man/man1/*
/usr/local/samba/man/man5/*
/usr/local/samba/man/man7/*
/usr/local/samba/man/man8/*

/usr/man/man1
/usr/man/man5
/usr/man/man7
/usr/man/man8

Konfigurasi Samba Server


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

dengan

alamat:

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

Untuk

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

konfigurasi

utama

untuk

Samba

server

ini

adalah

/usr/local/samba/lib/smb.conf, dimana kita dapat menentukan direktori yang ingin


kita akses dari komputer Windows, IP address mana yang diijinkan, dsb. Pada file
ini juga terdapat banyak sekali option (pilihan). Untuk informasi lebih lanjut tentang
berbagai setting dan parameter dapat dilihat di dokumentasi Samba.
Konfigurasi yang akan kita bahas di bawah adalah file konfigurasi minimal Samba
yang mendukung password terenkripsi. Kita harus terlebih dahulu mengkopikan file
konfigurasi default lalu mengeditnya sesuai dengan yang kita inginkan :
#
#
#
#
#

cd /usr/local/samba/examples
cp smb.conf.default /usr/local/samba/lib
cd /usr/local/samba/lib
mv smb.conf.default smb.conf
pico smb.conf

workgroup= TUX

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

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

Jika option ini diset True, Samba akan menggunakan password terenkripsi
bukan menggunakan password berbentuk teks sederhana saat berhubungan
dengan klien. Password terenkripsi ini tidak akan bisa dideteksi dengan sniffer.
Untuk keamanan sebaiknya option ini diset True.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

security= user

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

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

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

Dengan option ini kita dapat menentukan paramater-parameter konfigurasi


Samba untuk meningkatkan performansi Samba. Secara default, koneksi untuk
jaringan lokal dibuat maksimal, dan meningkatkan performansi Samba server dalam
transfer file.
domain master= Yes

Option ini untuk mengeset Samba server daemon nmbd sebagai domain
master browser untuk group yang telah ditentukan. Option ini biasanya harus diset
Yes hanya dalam satu Samba server untuk keseluruhan Samba server yang lain
pada workgroup dan jaringan yang sama.
local master= Yes

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

Option preferred master akan menentukan dan mengontrol jika nmbd


dibuat sebagai master browser untuk workgroup yang bersangkutan.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

os level= 65

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

Bila diset yes , Samba server daemon nmbd ketika menjadi sebuah WINS
server dan nama Net BIOS belum teregistrasi, maka ia harus memperlakukan nama
Net BIOS kata demi kata sebagai nama DNS. Jika kita belum pernah
mengkonfigurasikan Samba sebagai WINS Server, kita tidak usah membuat option
ini Yes. Dengan memilih Yes juga akan dapat mengurangi performansi Samba.
name resolve order= lmhosts host bcast

Option ini menyatakan nama servis yang dipakai untuk mengubah hostname
ke IP address. Pilihan di atas akan menyebabkan file lmhosts lokal Samba akan
dituju terlebih dahulu.
bind interfaces only= True

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

Option di atas berguna untuk menentukan jenis interface yang digunakan


Samba server saat digunakan browsing dan registrasi nama, pada contoh di atas
yakni eth0 dengan IP address 192.168.1.1. Defaultnya, Samba akan mengecek
semua device pada kernel.
hosts deny= ALL

Kita dapat menentukan host-host yang tidak boleh mengakses Samba.


Secara default kita melarang akses dari seluruh host, dan mengijinkan akses untuk
host-host tertentu yang didefinisikan pada hosts allow di bawah ini.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

hosts allow= 192.168.1.4 127.0.0.1

Host-host yang diijinkan untuk mengakses Samba server didefinisikan pada


bagian ini, pada contoh di atas kita mengijinkan host dengan IP 192.168.1.4 dan
localhost 127.0.0.1.
debug level= 1

Di sini kita dapat menentukan level log pada file smb.conf.

Sebaiknya

debug level ini tidak lebih dari 2, karena server akan log file yang tidak perlu
setelah melakukan operasi sehingga akan menurunkan performansi.
create mask= 0644

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

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

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

Ini berguna untuk menentukan apakah Samba server akan mendukung


permintaan raw read SMB saat mentransfer data pada klien. Agar mapping memory
lebih efektif, sebaiknya option ini dibuat no.
write cache size= 262144

Option ini akan membuat Samba meningkatkan keandalan sistem jika terjadi
kemacetan disk subsystem. Nilai option ini dinyatakan dalam byte (262144=256k).
comment= Temporary File Space

Option ini untuk menyatakan komentar yang akan terlihat saat ada
permintaan klien ke server.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

path= /tmp

Kita dapat menentukan direktori mana user service ini diberikan akses.
read only= No

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

Option ini berisi daftar user yang diijinkan login. Pada contoh di atas user
admin diijinkan untuk akses.
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
Konfigurasi file /etc/Imhosts
File /etc/lmhosts adalah file untuk memetakan nama Net BIOS Samba ke IP
address. Format file ini mirip /etc/hosts, tapi komponen dari hostname harus sesuai
dengan format penamaan Net BIOS. Pertama-tama kita harus membuat file
/etc/lmhosts ini.
# touch /etc/lmhosts

Pada file ini, tambahkan host-host klien sbb:


# pico /etc/lmhosts
127.0.0.1
192.168.0.1
192.168.0.2
192.168.0.3

localhost
lab1
lab2
lab3

Teruskan pengisian file di atas untuk semua hosts yang ada dalam network kita.
Konfigurasi file /etc/pam.d/samba
File ini berguna untuk menjalankan autentikasi pam (untuk lebih jelasnya dapat
dilihat pada bagian security). Lakukan perintah berikut ini :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Tambahkan baris-baris berikut ini:


Auth
Account

required
required

/lib/security/pam_pwdb.so nullok shadow


/lib/security/pam_pwdb.so

Konfigurasi file /etc/logrotate.d/samba


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

Tambahkan baris-baris berikut ini :


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

Membuat password Clien Samba terenkripsi


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

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

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

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

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

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

Lalu buat simbolik link rc.d pada Samba dengan perintah :


# chkconfig -add smb

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

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

Samba dapat dijalankan dengan dua macam cara. Pertama dijalankan


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

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

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 :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

#!/bin/sh
/usr/local/samba/bin/smbd D
/usr/local/samba/bin/nmbd -D

Untuk menjalankan Samba kita tinggal mengeksekusi file startsmb tersebut.


# /usr/local/samba/bin/startsmb

Untuk mematikan Samba, kill proses smbd dengan cara sbb :


# ps ax|grep smbd

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Gambar Interaksi FTP (Parker, 1994:126)


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

karakter NEWLINE. Beberapa kode membutuhkan parameter setelah kode tersebut.


Keuntungan menggunakan karakter ASCII, adalah untuk memudahkan user melihat
aliran perintah dalam upaya pemeriksaan pentrasnferan file.. Juga memudahkan
untuk mengakses ftpserver tanpa menggunakan ftp client. FTP internal command
yang digunakan oleh protocol dapat dilihat pada Tabel.
PERINTAH
ABOR
ACCT
ALLO
APPE
CDUP
CWD
DELE
HELP
LIST
MKD
MODE
NLST
NOOP
PASS
PASV
PORT
PWD
QUIT
REIN
REST
RETR
RMD
RNFR
RNTO
SITE
SMNT
STAT
STOR
STOU
STRU
SYST
TYPE
USER

KETERANGAN
Abort previous command
User account ID
Allocate storage for forthcoming operation
Append incoming data to an existing file
Change to parent directory
Change working directory
Delete file
Retrieve information
Transfer list of directories
Make a directory
Set transfer mode
Transfer a directory listing
No operation
User Password
Request a passive open
Port address
Display current directory
Terminate the connection
Terminate and restart the connection
Restart marker (restart transfer)
Transfer a copy file
Remove a directory
Old pathname for rename command
New pathname for rename command
Provide service specifies
Mount a file system
Return status
Accept and store data
Accept data and store under different
name
File structure
Query to determine operating system
Type of Data
User ID

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

5.00

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

Digit
Kedua
0.00
1.00
2.00
3.00
4.00
6.00

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

Setelah melakukan koneksi dan login ke remore host dengan menggunakan


ftp, sebenarnya tidak benar-benar login ke mesin remote tersebut. Secara logikal

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

tetap login di mesin lokal, tetapi instruksi untuk transfer file dan perpindahan direktori
harus mengacu kepada mesin lokal.
Langkah-langkah ini dilakukan setiap kali melakukan koneksi. User dengan
menggunakan program FTP-CLient dapat mengontrol internal command ini.
Beberapa perintah pada tingkatan user ditunjukkan pada Tabel 5.4. Perintah ini
bergantung pada implementasi sistem.
FTP Command
ascii
binary
cd
close
del
dir

Keterangan
Mode transfer dengan menggunakan
ASCII
Mode transfer dengan menggunakan
Binary
Pindah direktori
Memutuskan hubungan
Menghapus file di Server
Menampilkan direktori yang di Server

Table 5.4. Perintah-perintah user untuk FTP


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

Instalasi server FTP

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

FTP Server di aktifkan dengan mengeksekusi program ftp daemon yang


kemudian akan sipa di background dan mendengarkan (listen) di port 21 (default)
untuk siap menerima request. Yang biasa digunakan adalah wu-ftpd yang di
kembangkan oleh Washington University. Seperti biasa jalankan perintah rpm
#rpm -ivh wu-ftpd-x.rpm

Konfigurasi server FTP


File-file konfigurasi untuk Wu-Ftpd terdapat di /etc sebagai berikut :
services
inetd.conf
ftpaccess
ftphosts
ftpusers
FTP Server ini dijalankan oleh internet super server yang disebut inetd, suatu file
yang akan menentukan cara penanganan port tertentu oleh program daemon.

/etc/services
Isi dari file services di /etc digunakan untuk mendefinisian port-port yang tersedia
dan dapat di gunakan.
ftp-data 20/tcp
ftp 21/tcp

Dua baris diatas yang mendefinisikan kepada inetd bahwa data dan command di
ftp server menggunakan port tersebut.

/etc/inetd.conf
Baris yang menjalankan perintah inisialisasi ftp daemon adalah :
ftp

stream

tcp

nowait

root

/usr/sbin/tcpd

in.ftpd -l -a

Keterangan dari baris diatas adalah :


ftp menerangkan nama service
stream menerangkan jenis soket yang digunakan
tcp menerangkan jenis protokol yang digunakan
nowait atau wait
root pengguna yang menjalankan daemon tersebut, hal ini akan berkaitan
dengan hak pengguna tersebut. Biasanya dituliskan dalam format
user[.group]
/usr/sbin/tcpd program daemon server yang dijalankan
in.ftpd -l -a argumen yang diberikan pada program server
/etc/ftpaccess
Hal-hal yang penting dalam konfigurasi akses ftp server adalah class, deny, limit,
noretrieve, loginfails, private, autogroup, dan guestgroup. Masing-masing fungsi
akan dijelaskan kemudian.
class
Syntax :
class <classname> typelist addrglobal
Keterangan :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

classname : adalah nama sebutan untuk sebuah class


typelist : daftar jenis user yang terdiri dari real, guest, anonymous
addrglobal : dapat berupa ip address ataupun host.domain.name dapat
menggunakan wildcard "*".
Misal :
class all real,guest,anonymous *

yang berarti ftp server menerima setiap request dari real user, guest, dan
anonymous dan dari mesin mana saja.
deny
Sintaksnya adalah :
deny addrglobal message_file
Misal :
deny *.planet.tzo.com /etc/nggak-boleh-masuk.txt

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Instalasi
Setting Komputer Server
Sebelum memulai mensetting komputer server, terlebih dahulu persiapkan file
RPMS dari ltsp yang dibutuhkan untuk setup pada Linux SuSE 9.1 system server.
File ltsp terdiri dari 3 bagian, yaitu :

Lts_core-1.03-1.i386.rpm

Paket core dari lts, termasuk file sistem root, didalamnya terdapat konfigurasi utility
dan dokumentasi untuk komoputer terminal. Dokumentasi akan terinstall dalam direktori /usr/doc/lts-1.03. Versi dari dokumentasi ini berupa file html, sgml, postscri
ript dan text.

Linux kernels

Pre-compiled kernel untuk booting tanpa harddisk/diskless dengan melalui lan card
di dalamnya.

X servers

File yang akan dibutuhkan untuk mengkonfigurasi X server video card yang sesuai
dengan komputer yang dipakai.
File DHCP
DHCP

atau

dynamic

host

configuration

program

adalah

program

yang

mendistribusikan alamat ip pada setiap mesin yang terhubung ke dalam jaringan.


Pemberian alamat ip secara dinamis ini memudahkan jaringan dengan user yang
banyak.
Perencanaan Untuk Alamat IP
Beberapa komputer dalam jaringan anda membutuhkan alamat ip yang ber beda
antara komputer satu dengan lainnya. Kami memberikan salah satu alternatif untuk
alamat ip dalam jaringan dimana alamat tersebut adalah bebas digunakan yai tu

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.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

# bootps

dgram wait root /usr/sbin/tcpd

in.tftpd

bootpd

/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

#any

akan

host

dijumpai
can

get

script
a

seperti
login

berikut

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

server. Pada baris 24 anda harus memberikan tanda # (comment out) untuk
mengaktifkannya.
DisplayManager.requestPort:

Menjadi
# DisplayManager.requestPort:

/etc/inittab
Server membutuhkan xdm yang harus bisa dijalankan. Hal ini dapat dijalankan dari
file /etc/inittab. Ada 3 jenis xdm yang terdapat dalam SuSE Linux sistem yaitu : gdm,
kdm dan xdm.
Untuk mengaktifkan xdm server perlu mengedit pada baris 18 dan baris 57 pada
/etc/inittab file.
X:5:respawn: /etc/X11/prefdm

-nodaemon

Menjadi
X:5:respawn: /usr/bin/X11/xdm -nodaemon

Pada kondisi normal, xdm akan berjalan jika sistem berjalan pada level 5. Sistem
anda sekarang mungkin berjalan pada level 3. Untuk merubahnya pada baris 18.
Id:3:initdefault:

Menjadi
Id:5:initdefault:

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

/tftpboot/lts/ltsroot/etc/lts.conf
Model dari hardware seperti mouse mungkin berbeda dengan type daripada server
dan lainnya. Untuk mematikan fungsi tersebut berikan tanda # pada awal baris.
Sebagai contoh :
[Default]
XSERVER

= XF86_SVGA

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

[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;

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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
fixed-address
filename

00:00:2D:C7:B6:D6;
192.168.0.1;
/tftpboot/lts/vmlinuz.all;

}
host ws002 {
hardware ethernet 00:2D:21:F4:B6:D6;
fixed-address
filename

192.168.0.2;
/tftpboot/lts/vmlinuz.all;

}
}

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

132.96.11.0

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

132.96.12.0

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

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

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

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

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

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

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

Gambar Jaringan TCP/IP


Gambar diatas memperlihatkan jaringan TCP/IP yang menggunakan
teknologi Ethernet. Pada jaringan tersebut host osiris mengirimkan data ke host
seth, alamat tujuan datagram adalah seth dan alamat sumber datagram adalah

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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.

132.96.11.2

132.96.11.1

132.96.11.3

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

Gambar Routing langsung


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

132.96.36.4

132.96.11.1

132.96.36.5

132.96.11.2

132.96.36.6

132.96.11.3

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

Gambar Routing tak langsung


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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
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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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
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)

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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.
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.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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
tujuan. Proses ini juga bagian dari routing, yaitu pada saat mengirimkan datagram IP
bagaimana menentukan alamat Ethernet host tujuan datagram tersebut?
ARP
Untuk keperluan mapping IP address ke Alamat Ethernet

maka di buat

protokol ARP (Address Resolution Protocol). Proses mapping ini dilakukan hanya
untuk datagram yaang dikirim host karena pada saat inilah host menambahkan
header Ethernet pada datagram. Penerjemahan dari IP address ke alamat Ethernet
dilakukan dengan melihat sebuah tabel yang disebut sebagai cache ARP, lihat tabel
Entri cache ARP berisi IP address host beserta alamat Ethernet untuk host
tersebut. Tabel ini diperlukan karena tidak ada hubungan sama sekali antara IP
address dengan alamat Ethernet. IP address suatu host bergantung pada IP
address jaringan tempat host tersebut berada, sementara alamat Ethernet sebuah
card bergantung pada alamat yang diberikan oleh pembuatnya.
Tabel Cache ARP
IP address
132.96.11.1
132.96.11.2
132.96.11.3

Alamat Ethernet
0:80:48:e3:d2:69
0:80:ad:17:96:34
0:20:4c:30:29:29

Mekanisme penterjemahan oleh ARP dapat dijelaskan sebagai berikut. Misal


suatu host A dengan IP address 132.96.11.1 baru dinyalakan, lihat Gambar 1. Pada
saat awal, host ini hanya mengetahui informasi mengenai interface-nya sendiri, yaitu
IP address, alamat network, alamat broadcast dan alamat ethernet. Dari informasi
awal ini, host A tidak mengetahui alamat ethernet host lain yang terletak satu
network dengannya (cache ARP hanya berisi satu entri, yaitu host A). Jika host
memiliki route default, maka entri yang pertama kali dicari oleh ARP adalah router
default tersebut.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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.

Alamat IP

Alamat Ethernet

132.96.11.1

0:80:48:e3:d2:69

132.96.11.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

132.96.11.1

132.96.11.2

132.96.11.3

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

Gambar Paket ARP request


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

132.96.11.1

132.96.11.2

132.96.11.3

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Alamat IP
132.96.11.1
132.96.11.2

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

132.96.11.1
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

Penjelasan
RIP kepanjangan dari Routing Information protocol. Pada setiap sistem unix
secara default sudah mendukung penggunaan RIP. Aplikasi RIP pada unix bernama
routed ( routing daemon ).
Cara Kerja
RIP bekerja dengan nilai metrik. Setiap router yang menjalankan RIP
membuat permintaan untuk update routing dari router atau host lainnya yang berada
satu network dengannya. Router yang mendengar adanya permintaan tadi akan
memberikan tabel routingnya kepada yang meminta. Update tabel routing tadi
memuat informasi alamat tujuan beserta metriknya. Sebagai contoh, untuk melihat
tabel routing pada unix , tinggal ketik perintah :
[radar] # netstat -nr
Routing tables
Internet:
Destination
default

Gateway
192.168.48.33

Flags
UGSc

127.0.0.1

127.0.0.1

UH

192.168.48.32/27 link#1
192.168.48.33
192.168.48.57

Refs
1

Use
734

Netif Expire
ed0

734

lo0

UC

ed0

0:80:ad:b7:9c:87

UHLW

ed0

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
Subnet 10

Subnet 13

Subnet 14

Router 4

Router 5

Subnet 11

Router 1

Subnet 15

Router 2

Router 3
Subnet 12

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

Subnet 11

Subnet 10

Subnet 13

Subnet 14

Router 4

Router 1

Router 5

Subnet 15

Router 2

Router 3
Subnet 12

Gambar Skema Jaringan


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Router 1
(0)

cost 10

Router 2
( 10 )

cost 10

Router 3
( 20 )

cost 10

cost 10

cost 10

Router 4
( 30 )

Router 5
( 30 )

cost 10

cost 10

Router 4
( 40 )

Router 5
( 40 )

Gambar Peta Jaringan


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Membentuk Routing Table


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

Gateway

Flags Refcnt

Use

UH

105

lo0

35

3075

ed0

127.0.0.1

127.0.0.1

192.168.20.0

192.168.20.3 U

Interface

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

127.0.0.1

127.0.0.1

UH

default

192.168.20.11 UG

192.168.20.0 192.168.20.3 U

105

35

3075

Interface
lo0
ed0
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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Routing table akan bertambah menjadi :


$ netstat -nr
Routing tables
Destination

Gateway

Flags Refcnt Use

Interface

127.0.0.1

127.0.0.1

UH

lo0

192.168.0.0 192.168.0.3
default

192.168.0.20 UG

105

28

9808

ed0

ed0

192.168.20.0 192.168.0.5

UG

ed0

44.132.1.0

UG

ed0

192.168.0.18

Agar routing table terbentuk pada saat start up komputer, perlu di set routing
statis dengan beberapa modifikasi sbb :

Tambahkan static routing yang diinginkan sesuai konfigurasi network

Non-aktifkan semua perintah dari file startup yang menjalankan protokol routing.
Untuk host di atas, edit file rc.local untuk menambahkan statement route sbb:
route -n add default 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 medium
2. PCI Card
3. PCMCIA Card
4. Kabel Coaxial + BNC Konektor
5. Pigtail
6. Antena Grid Parabolic

Gambar PC Router

Gambar PCI Card

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Gambar PCMCIA

Gambar Antena Parabolic

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 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 Security
Dalam mengamankan jaringan ada beberapa aspek yang harus kita perhatikan dan
dijaga, antara lain:

Kestabilan Sistem
Sistem yang kita buat harus stabil sejalan dengan waktu, dalam arti bila
sewaktu-waktu terjadi perubahan pada perilaku hardware maupun software
yang lain dari biasanya. Administrator harus mampu segera mengatasi masalahmasalah tersebut, seperti memperbaiki bug yang ada, melakukan upgrade, dan
mengganti device rusak.

Ketersediaan data dan kerahasiaan


Harus ada perlindungan terhadap informasi baik berupa data, program, dan
segala hal yang dianggap penting agar tidak dihapus atau dirubah oleh orang
lain yang tidak berhak. Selain itu harus ada jaminan terhadap informasi agar
tidak bisa diakses/diketahui atau diubah oleh orang lain yang tidak berhak

Ketersediaan service

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Servis-servis yang kita sediakan di dalam jaringan harus dijaga agar selalu
tersedia tanpa adanya gangguan

Kendali
Harus ada sistem pengendalian tertentu, seperti mengatur hak akses di dalam
sistem jaringan. Karena perilaku pemakai sulit ditebak maka pengguna harus
dibatasi dalam melakukan akses pada daerah dimana ia berwenang, sedangkan
bagi pengguna luar harus ditolak.

Monitoring
Administrator harus melakukan pemantauan terhadap sistem jaringan yang
dibangunnya, siapa yang telah mengakses dan menggunakan servis, aktivitas
apa yang telah dilakukan, mencari sela-sela sistem yang belum terlindungi,
memantau catatan logging sistem, mendeteksi penyusup yang masuk dll.

Sangat penting di sini untuk mengembangkan budaya memperhatikan aspek


keamanan

dalam

menggunakan

setiap

fasilitas

jaringan

kepada

seluruh

user/pengguna. Perlu diperhatikan bagi administrator jaringan agar para pengguna


jaringan ikut menjaga keamanan jaringan, misalnya dengan menerapkan disiplin
menggunakan login miliknya dan tidak memberikannya kepada siapa pun,
mengganti password secara berkala, dan hal-hal lain yang berguna untuk
membangun semangat untuk melindungi jaringan secara bersama.

Pengaturan Akses dalam Sistem Unix


Salah satu cara yang umum digunakan untuk mengamankan informasi adalah
dengan mengatur akses ke informasi melalui mekanisme access control.
Implementasi dari mekanisme ini antara lain dengan menggunakan password.
Di sistem Unix, untuk menggunakan sebuah sistem atau komputer, pemakai
diharuskan melalui proses authentication dengan menuliskan userid dan
password. Informasi yang diberikan ini dibandingkan dengan userid dan password
yang berada di sistem. Apabila keduanya valid, pemakai yang bersangkutan
diperbolehkan menggunakan sistem. Apabila ada yang salah, pemakai tidak dapat

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

menggunakan sistem. Informasi tentang kesalahan ini biasanya dicatat dalam


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

Password di Sistem Unix


Akses ke sistem UNIX menggunakan password yang biasanya disimpan di dalam
berkas /etc/passwd. Di dalam berkas ini disimpan nama, userid, password, dan
informasi-informasi lain yang digunakan oleh bermacam-macam program. Contoh isi
berkas password dapat dilihat di bawah ini (dapat dibuka juga dengan perintah
vipw):
root:fi3sED95ibqR7:0:1:System Operator:/:/sbin/sh
daemon:*:1:1::/tmp:
hakim:d98skjhj9l:72:98:Rahmat Hakim:/home/hakim:/bin/bash
Field
sandhy
d98skjhj9l
72
98
Sandhy Hasan
/home/sandhy
/bin/bash

Isi
Nama atau userid pemakai
password yang sudah terenkripsi (encrypted pass-word)
UID, user identification number
GID, group identification number
nama lengkap dari pemakai (sering juga disebut GECOS
a atau GCOS field)
home directory dari pemakai
shell dari pemakai.

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

satu

caranya

adalah

mengambil

kata

dari

kamus

(dictionary)

kemudian

mengenkripsinya. Apabila hasil enkripsi tersebut sama dengan password yang


sudah terenkripsi (encrypted password), maka kunci atau passwordnya ketemu.
Selain melakukan lookup dengan menggunakan kamus, biasanya program
password cracker tersebut memiliki beberapa

algoritma

heuristic seperti

menambahkan angka di belakangnya, atau membaca dari belakang (terbalik), dan


seterusnya. Semakin sederhana password yang digunakan

maka kemungkinan

terpecahnya password tersebut akan semakin tinggi dan semakin cepat selesainya.

Shadow Password
Salah satu cara untuk mempersulit mendapatkan berkas yang berisi password
(meskipun

terenkripsi)

adalah

dengan

menggunakan

shadow

password.

Mekanisme ini menggunakan berkas /etc/shadow untuk menyimpan encrypted


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

Pemilihan Password
Dengan adanya kemungkinan password ditebak, misalnya dengan menggunakan
program password cracker, maka memilih password memegang peranan yang

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

sangat penting dan memerlukan perhatian khusus. Berikut ini adalah daftar hal-hal
yang sebaiknya tidak digunakan sebagai password :

Nama orang, dan hewan.

Nama komputer, nomor telepon atau plat nomor kendaran.

Tanggal lahir, alamat rumah, nama tempat yang terkenal.

Kata-kata yang terdapat dalam kamus (misal : bahasa Indonesia, bahasa


Inggris).

Password dengan karakter yang sama diulang-ulang

Password yang mengurutkan penekanan tombol pada keyboard

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

Dasar-dasar Enkripsi
Enkripsi adalah proses pengubahan/konversi/penyandian suatu informasi ke bentuk
tertentu sehingga tidak dimengerti/tidak dapat dimanfaatkan oleh pihak yang tidak
berhak. Enkripsi digunakan untuk melindungi data. Dekripsi adalah kebalikan dari
proses enkripsi.
Data-data penting yang ada dan yang anda kirimkan bisa diubah sedemikian rupa
sehingga tidak mudah disadap. Jenis-jenis metode enkripsi ini banyak sekali, misal :
DES (Data Encryption System), PEM (Privacy Enhanced Mail), PGP (Pretty Good
Privacy), SSL (Secure Socket Layer), MD5 dll.
Banyak servis di Internet yang masih menggunakan plain text untuk authentication,
seperti telnet. Informasi ini dapat dilihat dengan mudah oleh program penyadap
(sniffer).

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Aplikasi-aplikasi yang sering digunakan untuk enkripsi antara lain :

SSH (Secure Shell), merupakan aplikasi enkripsi digunakan terutama untuk


remote akses sebagai pengganti telnet/rlogin.

Gpg

(Encryption

and

signing

Tool),

merupakan

aplikasi

enkripsi/dekripsi data.

Crypt, biasa terdapat pada sistem berbasis Unix.

SSL, aplikasi enkripsi data yang berbasis web.

PGP, aplikasi enkripsi data yang berbasis email.

Serangan Terhadap Sistem Keamanan


Serangan pada keamanan jaringan sangat banyak jenisnya. Bahkan mungkin
ditemukan cara-cara baru yang lebih mudah dan efektif serta tidak terlalu
membutuhkan kemampuan yang tinggi. Serangan-serangan ini ada yang bersifat
mengganggu, merusak, bahkan mengambil alih posisi superuser (root). Serangan
yang sering terjadi di internet di antaranya :

Scanning
Scan adalah probe dalam jumlah besar menggunakan tool secara otomatis
dengan tujuan tertentu (misal : mendeteksi kelemahan-kelemahan pada host
tujuan). Scanner biasanya bekerja dengan men-scan port TCP /IP dan servisservisnya dan mencatat respon dari komputer target. Dari scanner ini dapat
diperoleh informasi mengenai port-port mana saja yang terbuka. Kemudian
yang dilakukan adalah mencari tahu kelemahan-kelemahan yang mungkin
bisa dimanfaatkan berdasar port yang terbuka dan aplikasi serta versi aplikasi
yang digunakan.

Sniffing
Sniffer adalah device (software maupun hardware) yang digunakan untuk
mendengar informasi yang melewati jaringan dengan protokol apa saja. Host
dengan mode promiscuous mampu mendengar semua trafik di dalam
jaringan. Sniffer dapat menyadap password maupun informasi rahasia, dan
keberadaannya biasanya cukup sulit untuk dideteksi karena bersifat pasif.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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
worm. Trojan Horse adalah program yang menyamar dan melakukan aktifitas

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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 internet


Sudah menjadi kewajiban administrator tentunya, untuk senantiasa mengikuti
perkembangan keamanan jaringan sehingga tetap up to date. Kadang ditemukan
bug-bug terbaru yang dapat dieksploit, dan patch lebih sering datang terlambat dan
baru dikeluarkan setelah ditemukannya bug yang telah memakan korban.
Cukup banyak situs-situs di internet yang berisi informasi, script, maupun program
dunia underground ini, dari situs Indonesia sampai situs internasional. Yang cukup
terkenal antara lain :
http://www.cert.org
http://www.cert.or.id
http://www.rootshell.com
http://www.securityfocus.com
http://www.astalavista.box.sk
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 :

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Run
Level
0
1
2
3
4
5
6

Keterangan
Halt (komputer mati)
Mode User Tunggal (digunakan untuk adminstrasi sistem)
Multi user tanpa NFS (Network File System)
Mode multi user penuh
Tidak digunakan
X11, tampilan grafis
Reboot

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

Lalu diisi dengan linux s, atau linux single


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

syslogd (the system logging daemon), berfungsi merekam hampir semua


program yang dijalankan. Selain aktifitas dari internet daemon, syslog juga
mencatat kejadian-kejadian unusual atau kejadian yang seharusnya tidak
terjadi, misalnya kegagalan sebuah daemon dalam melakukan tugasnya,
dll. Dapat dikonfigurasi melalui file /etc/syslogd.conf

klogd, berfungsi merekam pesan kernel

3. /var/log/maillog, mencatat kejadian/aktifitas transaksi mail


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

Backup Menyeluruh Secara Rutin


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

KEAMANAN JARINGAN
(NETWORK SECURITY)

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

Pengenalan Keamanan Jaringan


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Service inetd (internet daemon)


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# inetd.conf This file describes the services that will be available


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

# The Internet UUCP service.


#
#uucp stream
tcp
nowait uucp /usr/sbin/tcpd/usr/lib/uucp/uucico -l
#
# Tftp service is provided primarily for booting. Most sites
# run this only on machines acting as "boot servers." Do not uncomment
# this unless you *need* it.
#
#tftp dgram udp wait root /usr/sbin/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
nowait nobody
/usr/sbin/tcpdin.fingerd
#cfinger stream
tcp
nowait root /usr/sbin/tcpdin.cfingerd
#systat
stream
tcp
nowait guest /usr/sbin/tcpd/bin/ps-auwwx
#netstat
stream
tcp
nowait guest /usr/sbin/tcpd/bin/netstat -f inet
#
# Authentication
#
# identd is run standalone now
#
#auth stream
tcp
wait root /usr/sbin/in.identd in.identd -e -o
#
# End of inetd.conf
smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmailsmtpd
#linuxconf stream tcp wait root /bin/linuxconf linuxconf --http
Terlihat pada file /etc/inetd.conf di atas ada beberapa servis yang didisable untuk
menghindari hal-hal yang tidak diinginkan. Di antaranya adalah linuxconf, finger,
rlogin, dll.

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Konfigurasi dari firewall bergantung kepada kebijaksanaan (policy) dari organisasi


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

Melewatkan paket data ke tujuannya (client atau server)

Memblok paket data

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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
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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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


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

dapat dilihat pada file /etc/inetd.conf. Dalam inetd.conf,

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

Daemon_list : client_host_list
Daemon List merupakan daftar daemon seperti telnetd, fingerd, ftpd, ssh, dll.
Client Host List merupakan daftar user/host/network dan mempuyai bentuk sbb :
ALL

: semua host

KNOWN

: host yang terdaftar pada DNS server

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

.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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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
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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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
file tersebut terdapat di dalam file database Tripwire yang default-nya bernama
tw.db_@. Karakter @ diganti dengan hostname komputer yang diinstal Tripwire.
Yang menjadi file inti dalam program Tripwire ini sebenarnya adalah kedua file
tersebut yaitu file konfigurasi tw.config dan file database tw.db_@.

Karena itu

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

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Logcheck adalah program yang berfungsi mencari pattern/bentuk tertentu


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

TELNET DAN SSH


Pendahuluan
Penggunaan

telnet

untuk

melakukan

login

jarak

jauh

(remote

login)

memungkinkan terjadinya pelanggaran privacy dan pencurian password. Hal ini


dimungkinkan karena telnet tidak menggunakan enkripsi. Penyadapan dapat
dilakukan dengan menggunakan aplikasi sniffer (misalnya snifit) dengan cara
mendengar informasi-informasi yang lewat. SSH dapat dipakai untuk mengatasi hal
ini karena SSH menggunakan enkripsi.

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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

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

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

Secure Shell (SSH)


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

putty,

SSH

untuk

Windows

dari

Data

Fellows

(komersial)

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

PUBLIC KEY CRYPTOGRAPHY (KRIPTOGRAPHI KUNCI PUBLIK)


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

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Public Key
A

netwo
rk

Gambar 1.
Lia mengambil public key milik Hakim

A
netwo
rk

Public Key B
+ Private Key A
+ Data
Data terenkripsi

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

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

netwo
rk

B
Data terenkripsi

Gambar
B mengirimkan data yang telah terenkripsi ke A

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

netwo
rk

B
Public Key

Gambar B mengirimkan Public Key miliknya ke A

Public Key milik B


+ Private Key milik A
+ Data terenkripsi

netwo
rk

= 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.

Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1

Anda mungkin juga menyukai