Professional Documents
Culture Documents
Seluruh atau sebagian buku ini dapat direproduksi dan didistribusikan, dengan kriteria sebagai
berikut :
Hak cipta buku ini ada pada pengarang dan bukan ``public domain atau di luar
lindungan hak cipta.''
Pernyataan tentang hak cipta di atas dan penjelasan berikut ini harus disertakan
seluruhnya atau sebagian.
Setiap translasi dan turunannya terhadap buku ini harus memperoleh persetujuan
tertulis dari pengarang sebelum didistribusikan.
Bila buku ini didistribusikan sebagian, petunjuk untuk memperoleh versi yang lengkap
harus disertakan.
Sebagian isi buku ini dapat direproduksi sebagai ilustrasi untuk review atau acuan
dengan syarat memberikan kutipan yang benar.
Pernyataan GNU General Public License pada lampiran buku ini dapat direproduksi
sesuai dengan kriteria yang tercantum di dalamnya.
PRAKATA
Saat Anda memegang buku ini, maka saat itulah penantian yang sudah lama didambakan KPLI
Jakarta khususnya dan para pecinta Linux Indonesia umumnya. Keinginan untuk membuat
sebuah buku Linux termasuk obsesi yang pertama kali muncul waktu pertama kali KPLI Jakarta
didirikan, yaitu pada tanggal 31 Oktober 1998. Kesibukan di tempat kerja masing-masing dari
para anggota KPLI Jakarta merupakan kendala klasik yang sekaligus menjadi tantangan terhadap
terbitnya buku ini dan kehidupan organisasi non-profit ini pada umumnya.
Di sisi lain, boleh dikatakan bahwa buku ini merupakan bukti sejarah yang monumental, tidak
hanya bagi KPLI Jakarta dan KPLI seluruh Indonesia tetapi juga untuk dunia penerbitan
Indonesia.
Keputusan ini diambil dalam rangka ikut serta menggemakan konsep keterbukaan akan ilmu
pengetahuan yang terkandung dalam semangat ``Open Source''. Mungkin selama ini kita hanya
mendapati di setiap buku sebentuk tulisan yang klasik yaitu ``Copyright'' atau hak cipta dengan
ancaman yang menakutkan bagi yang melanggarnya. Dalam konsep Open Content yang dikenal
adalah ``Copyleft''. Artinya sekali buku ini sampai ke tangan Anda, maka sepenuhnya adalah hak
Anda. Anda bisa memperbanyak, dan memodifikasi buku ini serta mendistribusikan dan
mengambil keuntungan dari buku ini dengan bebas tanpa harus membayar royalti kepada
pengarang buku. Aturan mainnya hanyalah: Anda diminta tetap mencantumkan pengarang dan
penerbit asli buku ini. Dengan model inilah 'hak cipta pengarang' dihargai dengan cara yang
sangat ideal yang tidak dapat dihargai hanya dengan sejumlah rupiah. Harga hak cipta itu tidak
ada yang bisa menentukan nilainya kecuali dengan penghargaan yang tulus dari hati yang
terdalam.
Sofyan adalah anggota KPLI Jakarta yang cukup banyak berperan di milis
kpli@jakarta.linux.or.id. Sebuah milis yang cukup tinggi aktivitasnya dengan jumlah
anggota yang banyak. Milis ini dikelola oleh KPLI Jakarta bukan untuk para anggotanya saja,
tetapi untuk siapa saja yang berminat dengan Linux. Buku ini juga banyak memperoleh inspirasi
dari respon para anggota milis.
Akhir kata dengan segala harap, kiranya buku ini bisa menjadi salah satu bagian dari untaian
mutiara ilmu yang sedang dirajut oleh bangsa Indonesia tercinta dalam rangka mencerdaskan
bangsa untuk menuju masyarakat yang bermartabat, adil dan makmur.
Terima kasih kepada Ibunda atas do'anya, Atik, Mbak Nita & keluarga, Mas Rofik & keluarga
atas dukungannya, kepada YPTE dan NCS yang telah menerbitkan buku ini, terutama kepada
Bapak Rusmanto, atas kesediaan waktunya untuk mengecek dan review (dan juga CD SuSe 6.2-
nya), dan Mas Prihantoosa yang telah mengirimkan dan memperkenalkan draft pertama dari
buku ini kepada orang-orang yang kompeten. Terima kasih juga untuk Mas Warsono atas review
dan koreksinya, dan paling penting, artikel Sendmail dan DNS-nya yang memacu untuk
menggali lebih dalam lagi, Mas Purwanto untuk CD RedHat 6.2, dan Slackaware 7, serta
traktiran makan siangnya di Kenny Rogers.
Terima kasih pula terhadap rekan yang aktif di milis linux-admin@linux.or.id serta rekan KPLI
Jakarta yang tergabung dalam milis kpli@jakarta.linux.or.id. Kontribusi Anda semua
memberikan banyak sumbangan terhadap ide penulisan buku ini.
Terima kasih untuk Mas Made Wiryana, yang tak bosan mengedit buku ini, dan memberikan
masukan-masukan untuk hasil akhir yang terbaik.
Pengarang
Ahmad Sofyan
Pengantar
Selama beberapa tahun terakhir, Linux hanyalah sebagai kuda hitam buat siapa saja yang ingin
mencari alternatif selain Microsoft. Entah beranjak dari kebosanan, keluhan sistem yang tidak
stabil, harga yang terlalu mahal, atau idealisme, membuat Linux menjadi pilihan. Satu hal yang
cukup jelas, Linux terjangkau oleh rata-rata kantong orang Indonesia, dan dapat diperoleh
programnya yang lengkap tanpa dicap sebagai pengguna program bajakan. Satu contoh menarik
bahwa sejak India menerapkan hukum yang ketat terhadap pembajakan perangkat lunak, dunia
IT (Informasi Teknologi) di India berkembang pesat. Pelaku IT 'dipaksa' untuk mempelajari dan
mengembangkan perangkat lunaknya sendiri. Hasilnya bisa dilihat bahwa India saat ini
merupakan pemberi kontribusi yang cukup berarti dalam pengembangan IT dunia. Migrasi ke
Linux User Friendliness atau kemudahan untuk dipergunakan oleh pengguna, adalah isu yang
menarik dan sering muncul saat pengguna secara umum ingin bermigrasi dari Windows (atau
sebagian diantaranya dari Macintosh) ke Linux. Keragu-raguan muncul bisa jadi karena
absurditas dari istilah itu sendiri. Rekan saya yang bertahun-tahun menggunakan WS dan Lotus
menjadi gagap saat memakai Word atau Excel. Dalam hati kecil ia beranggapan bahwa Word
atau Excel lebih sulit, dan kurang user friendly.
Berkaitan dengan user friendliness, banyak pengguna komputer mengalami kesulitan pada saat
instalasi pertama kali. Kehilangan data, atau perangkat keras yang tidak dikenali sering kali
membuat pengguna baru menjadi surut. Selanjutnya, saat instalasi berjalan mulus, pengguna
dihadapkan pada prompt dengan perintah-perintah asing untuk dapat membuatnya bekerja.
Realita (atau mitos) semacam ini tampaknya disadari sepenuhnya oleh para pengembang Linux.
Beberapa distribusi terakhir telah mempergunakan modus grafik dalam instalasinya, dan
pengenalan perangkat keras yang terus membaik dari versi ke versi. Untuk pengguna UNIX,
tentu Linux bukanlah barang baru. Perintah-perintah yang ada di dalamnya sama dengan apa
yang mereka pergunakan sehari-hari. Program-program yang berjalan di dalamnya juga relatif
sama, membuat kelompok pengguna ini tidak terlalu terpengaruh dengan isu user friendliness.
Perbedaannya dengan UNIX, adalah bahwa Linux dapat diperoleh secara gratis.
Saat buku ini ditulis, literatur tentang Linux berbahasa Indonesia masih jarang ditemukan. Dalam mengisi
kekosongan, penulis mencoba menyajikan semacam manual yang berisi langkah-langkah praktis. Penyusunan
dilakukan sesistematis mungkin berdasarkan pengalaman mendesain beberapa jaringan berskala kecil. Bahasan yang
ada bukanlah kajian mendalam tentang sistem, tapi merupakan metode langkah demi langkah bagaimana membuat
sistem berjalan, diikuti dengan penjelasan singkat apa yang dilakukan oleh program pada saat dijalankan. Dengan
mengikuti apa yang tersaji dalam buku ini, Linux sudah bisa dijalankan sebagai server internet atau intranet yang
relatif tangguh.
Mengingat banyaknya distribusi yang ada di Linux, buku ini terfokus pada beberapa distribusi yang banyak
digunakan di Indonesia. Distribusi tersebut adalah Slackware, RedHat, dan SuSE. Versi yang dipakai sebagai
contoh merupakan versi akhir saat buku ini ditulis :
Pada setiap bab, dibahas konsep dan cara kerjanya secara umum, kemudian dilanjutkan
penerapannya pada masing-masing distribusi.
Bagaimana memanfaatkan buku ini ?
Administrator Jaringan
Untuk Administrator jaringan dengan sistem Unix/Linux, buku ini bermanfaat sebagai
pedoman untuk menerapkan layanan internet/intranet. Semua perintah yang ada disini
akan mudah diikuti. Dianjurkan untuk membaca semua bab, atau bisa langsung mulai
Bab IV jika Anda sudah menjalankan Linux dalam jaringan.
Untuk Administrator jaringan non Unix/Linux, buku ini dapat dipergunakan sebagai
perbandingan implementasi antara sistem jaringan yang sekarang dengan sistem Linux.
Dimulai dari Bab I dengan mengenal Linux, hingga aspek keamanannya yang dibahas di
Bab VIII. Atau jika berminat lebih jauh, buku ini dapat dijadikan acuan untuk uji coba
mendesain sebuah jaringan dengan Linux sebagai servernya.
Pengguna Linux
Untuk pengguna Linux secara umum, buku ini bermanfaat untuk mengembangkan
kemampuan Linux Anda. Bahasan yang ada disemua bab sudah menjurus ke penerapan
yang spesifik pada beberapa program, sehingga dapat dijadikan sebagai pemicu untuk
mengeksplorasi program-program lain yang sejenis. Silakan langsung mulai ke Bab III
untuk mengkonfigurasikan Linux ke dalam jaringan. Jika Linux masih dipergunakan
sebagai komputer pribadi, Anda bisa ke Bab II untuk sambungan ke internet, Bab VII
untuk mengkonfigurasikan program mail agar bisa mengirim dan menerima e-mail
dengan mail server sendiri, Bab VIII untuk melindungi diri saat terhubung ke Internet.
Meskipun demikian, tidak ada salahnya dibaca semua bab sebagai sumber pengetahuan.
Pengguna yang memakai sistem selain Linux, dan belum pernah bekerja di lingkungan
Linux/Unix akan sedikit kesulitan dalam mengikuti perintah-perintah yang dijalankan
dalam uji coba di buku ini. Meskipun demikian, konsep-konsep dasar yang dibahas dalam
tiap bab tentu akan memberikan pengetahuan baru. Untuk dapat memanfaatkan buku ini
secara maksimal, lebih baik jika terlebih dahulu membaca pengenalan tentang UNIX dan
turunannya. Jika Anda kesulitan menemukannya di toko buku, Anda bisa meminjam
rekan Anda yang kuliah bidang informatika. Atau, sebagai alternatifnya literatur
elektronis berbahasa Inggris akan banyak ditemukan di Internet. Situs-situs besar yang
menyediakan buku elektronik secara gratis, antara lain adalah
http://www.itknowledge.com dan http://www.mcp.com.
Untuk dapat mempraktekkan aplikasi-aplikasi yang dibahas dalam buku ini, dibutuhkan
sebuah jaringan dengan minimal dua komputer yang tersambung satu sama lain. Jika
Anda memiliki jaringan yang sudah berjalan, instalasi dapat dilakukan tanpa
mengganggu aktivitas yang ada (meskipun back-up data merupakan keharusan).
Bagaimana buku ini disusun?
Buku ini terdiri atas 8 Bab dan 3 Lampiran.
Bab ini terdiri atas pengenalan umum terhadap sistem operasi Linux, kemampuannya,
program-program yang berjalan di dalamnya, sekilas bahasan tentang logo, dan review
singkat terhadap distribusi Linux. Untuk Anda yang sudah terlalu sering membaca
tentang kemampuan Linux, Anda bisa lewatkan bab ini.
Bab ini membahas instalasi pada tiga buah distribusi, yakni Slackware, RedHat dan
SuSE. Pada bagian Slackware Anda akan temukan review paket-paket yang disertakan,
pembuatan disket boot dan disket root, partisi hardisk dengan menggunakan fdisk, dan
keterangan tentang menu instalasi di Slackware. Di bagian SuSE instalasi berisi langkah
berurutan (sebanyak 32 langkah), dimulai dari menjalankan skrip setup lewat prompt
Dos. Dibagian RedHat, berisi gambaran instalasi dan beberapa petunjuk dalam
menentukan pilihan-pilihan yang relevan dengan bahasan buku ini.
Bab ini membahas cara mengatur beberapa file konfigurasi agar mesin Linux dapat
berfungsi baik dalam jaringan. Beberapa konfigurasi yang dibahas mencakup pengaturan
program yang dijalankan saat booting Linux, instalasi kartu jaringan, koneksi ke Internet,
dan pengaturan IP Masquerade dengan aturan sederhana. IP Masquerade adalah program
yang memungkinkan mesin lain dalam satu jaringan dapat mengakses internet bersama-
sama dengan menggunakan satu sambungan telepon.
Samba adalah program yang memungkinkan mesin Linux dapat berinteraksi dengan
mesin Windows 9x dan atau Windows NT. Dengan Samba, mesin Linux Anda dapat
menggantikan tugas NT server, dan memungkinkan file atau printer Anda dishare kepada
pengguna lain dalam jaringan. Bab ini membahas bagaimana konsep Microsoft dalam
jaringannya, bagaimana Samba dapat ambil bagian di dalamnya, keterangan aplikasi-
aplikasi yang disertakan dalam paket Samba, instalasi SWAT (Samba Web
Administration Tool), pembahasan tentang level keamanan (Security level) di Samba,
serta instalasi Samba sebagai Server PDC (Primary Domain Controller) atau sebagai
anggota dalam domain NT.
Bab ini membahas tentang Apache secara umum, kompilasi dan instalasinya. Untuk
konfigurasi, dibahas juga dukungan Dynamic Shared Object (DSO), analisa file
httpd.conf, access.conf dan srm.conf, serta keterangan singkat atribut direktori
yang sering digunakan.
Bab ini membahas server mail yang cukup populer digunakan sebagai Mail Transfer
Agent (baca: mail server), yaitu sendmail dan qmail. Tentang sendmail membahas
konfigurasi sendmail.cf, administrasi sendmail, serta contoh sendmail.cf dengan
beberapa fitur. Bagian qmail membahas instalasi, mulai dari download file sumber yang
dikompres, kompilasi, instalasi, pengaturan dasar, hingga percobaan mengirim dan
menerima. Tercakup pula di dalamnya bagaimana user Windows 9x atau Windows NT
dapat mengambil surat elektronik (E-mail) di mesin Qmail yang baru saja
dikonfigurasikan.
Bab ini membahas komponen arsitektur keamanan di Linux yang terdiri atas :
Mengenal Linux
Buat sebagian besar masyarakat, tentu Linux merupakan benda asing yang tak dikenal. Lebih
spesifik lagi, untuk yang bergelut di dunia komputer, kata Linux hanyalah memberikan kesan
sistem operasi alternatif yang mencoba menggusur dominasi Microsoft dalam kancah teknologi
informasi. Bab berikut mencoba memberikan gambaran secara umum tentang Linux, dan
mencoba mengajak Anda untuk mengetahui lebih banyak dari masyarakat umum. Atau paling
tidak, meluruskan pemahaman yang selama ini tergambarkan kurang tepat di benak sebagian
masyarakat. Jika Anda merasa mual karena terlalu sering membaca pengenalan Linux, silakan
lanjut ke Bab II, Instalasi Linux.
Catatan :
Literatur lengkap tentang GNU dapat Anda baca di situs web mereka yaitu
http://www.gnu.org.
Dengan demikian, dapat dikatakan bahwa Anda dapat memperoleh Linux tanpa harus membayar
sama sekali. Jika Anda harus membayar tiap kali instal perangkat lunak di lain komputer, maka
dengan Linux Anda dapat menginstalnya dimana saja tanpa harus membayar lisensi.
Kebebasan yang paling penting dari Linux, terutama bagi programmer dan administrator
jaringan, adalah kebebasan memperoleh kode sumber (source code) dan kebebasan untuk
mengubahnya. Ini berimplikasi pada beberapa hal penting. Pertama keamanan, yang kedua
dinamika.
Jika perangkat lunak komersial tidak memperkenankan Anda untuk mengetahui kode sumbenya
maka Anda tidak akan pernah tahu apakah program yang Anda beli dari mereka itu aman atau
tidak (sering disebut security by obscurity). Hidup Anda di tangan para vendor. Dan jika ada
pemberitahuan tentang bug dari perangkat lunak komersial tersebut, seringkali sudah terlambat.
Dengan Linux, Anda dapat meneliti kode sumbernya langsung, bersama dengan pengguna Linux
lainnya. Berkembangnya pengguna Linux sebagai komunitas yang terbuka, membuat bug akan
cepat diketahui, dan secepat itu pula para programmer akan memperbaiki programnya. Anda
sendiri juga yang menentukan kode yang cocok sesuai dengan perangkat keras maupun
kebutuhan dasar perangkat lunak lainnya untuk dapat diimplementasikan. Ibarat sebuah mobil,
Anda bisa memodifikasi sesukanya, bahkan hingga mesin sekalipun, untuk memperoleh bentuk
yang diinginkan.
Keterbukaan kode sumber juga memungkinkan sistem operasi berkembang dengan pesat. Jika
sebuah program dengan sistem tertutup dan hanya dikembangkan oleh vendor tertentu, paling
banyak sekitar seribu hingga lima ribu orang. Sedangkan Linux, dengan keterbukaan kode
sumbernya, dikembangkan oleh sukarelawan seluruh dunia. Bug lebih cepat diketahui dan
program penambalnya (patch) lebih cepat tersedia. Pendekatan pengembangan sistem operasi ini
disebut Bazaar. Kebalikannya sistem Chatedraal sangat tertutup dan hanya berpusat pada satu
atau dua pengembang saja.
ADA
BASIC
C
C++
Expect
FORTRAN
GTK, untuk membuat aplikasi GUI di Linux
PASCAL
Phyton
Skrip Shell
TCL
Perl (The Practical Extraction and Report Language), sering dipakai untuk membuat
skrip CGI di web.
Multi tasking dan dukungan 32 bit; mampu menjalankan beberapa perintah secara
bersamaan, dan dengan memanfaatkan model terlindung (protected mode) dari Intel
80836 keatas, Linux merupakan sistem operasi 32 bit.
Multi user dan Multi session; Linux dapat melayani beberapa user yang login secara
bersamaan. Sistem filenya sendiri mempunyai keamanan yang ketat, dan dapat
dimodifikasi secara optimal untuk akses file kepada user atau group tertentu saja. -
Sebagian besar Linux ditulis dalam bahasa C
Dukungan Java; jika dikompilasi pada level kernel, Linux dapat menjalankan Java Applet
sebagai aplikasi.
Virtual Memory. Linux menggunakan sebagian dari hardisk Anda dan
memperlakukannya sebagai memory, sehingga meningkatkan memory Anda yang
sebenarnya.
Linux menawarkan sistem file yang hierarkis, dengan beberapa folder utama yang sudah
dibakukan (File System Standard/FSSTND)
Grafis antar muka pemakai (Graphical User Interface/GUI) yang dipergunakan Linux
adalah sistem X Window atau X dari MIT.
Dokumentasi Linux
Linux mempunyai dokumentasi yang sangat komprehensif untuk mendukung setiap
program yang diberikan. Hampir semua distribusi selalu menyediakan petunjuk
bagaimana menginstal, cara kerja hingga mengoperasikannya. File bantu ini sering
disebut sebagai HOW-TO. Misalnya Anda ingin mencari tahu bagaimana menggabungkan
Linux dengan Windows NT dalam satu mesin, dapat Anda ketahui informasinya di
Linux-WindowsNT-MINI-HOWTO, atau Linux-NTLoader-MINI-HOWTO. Jika Anda sudah
menginstal Linux, biasanya dokumen ini terletak di direktori /usr/doc
Catatan :
Mini-HOWTO adalah dokumen sejenis HOWTO yang lebih singkat. Biasanya
berisi petunjuk langsung untuk mengoperasikan sesuatu, tanpa bahasan yang
detail. Baik HOWTO maupun Mini-HOWTO dapat Anda temukan di /usr/doc
(yang secara default akan diinstal pada saat Anda menginstal Linux)
Seiring dengan pesatnya perkembangan Linux, dokumen-dokumen ini juga dirawat
dengan baik oleh pihak-pihak non profit berdedikasi tinggi yang bekerja dengan nama
The Linux Documentation Project (LDP). Perkembangan terakhir dari LDP ini dapat
Anda lihat di http://www.linuxdoc.org. Untuk proyek penejemahan dokumentasi ke
dalam bahasa Indonesia dapat Anda lihat di http://ldp.linux.or.id.
Kemampuan Linux
Sebagai standalone PC, atau komputer pribadi yang berdiri sendiri, Anda akan temukan bawa
Linux adalah sistem operasi yang dapat diandalkan. Tidak ada lagi gangguan virus, hang
ditengah jalan, atau reboot puluhan kali. Apalagi jika komputer Anda terhubung ke Internet,
Linux menjanjikan keamanan yang cukup memadai. Beberapa program untuk aplikasi sehari-
hari yang sudah berjalan di Linux diantaranya adalah :
Sebagian besar program di Linux berukuran relatif kecil, terutama yang berbasiskan console
(non GUI).Yang perlu Anda lakukan hanyalah mengambilnya dari sebuah situs (download), dan
instal di komputer Anda.
Catatan :
Peta perkembangan aplikasi Linux juga dirawat dengan baik oleh Jeff Kopmaniz, yang kemudian
diambil alih oleh LARS WIRZENIUS. Linux Software Map (LSM) ini menyajikan daftar yang
komprehensif, disertai komentar dan pembuatnya. Sebelum Anda download/instal programnya,
lebih baik jika melihat dulu reviewnya, di http://www.execpc.com/lsm/LSM. Program yang
terdaftar disini diupdate secara berkala. Filenya juga bisa Anda peroleh di
ftp://ftp.execpc.com/pub/lsm/lsm-current.gz
Selain tangguh sebagai komputer pribadi, Linux menawarkan kinerja optimal untuk dijadikan
sebagai server. Beberapa aplikasi server yang selalu disertakan hampir di setiap distribusi
diantaranya :
Selain itu, protokol-protokol standar sebagai platform dalam komunikasi jaringan, telah
terintegrasi pada level kernel, di antaranya :
Distribusi Linux
Saat ini banyak beredar distribusi linux yang namanya relatif sudah dikenal bagi pengguna
komputer. RedHat, SuSE, Mandrake, Slackware, dan Debian adalah beberapa dari distribusi
besar yang digunakan di Indonesia. Pada prinsipnya Linux itu satu, yakni kernel yang
dikembangkan oleh LINUS TORVALDS dan kawan-kawan.
1. Instalasi
Catatan :
Beberapa distribusi terkenal yang sudah mulai menggunakan modus grafis untuk
instalasi diantaranya RedHat, Caldera Open Linux, Corel Linux, WinLinux.
Program-program di Linux (atau sering disebut sebagai paket) jumlahnya saat ini banyak
sekali. Dan masing-masing distribusi, memberikan paket-paket alternatif yang berbeda di
samping paket standar yang dapat ditemui hampir di setiap distribusi.
3. Program bantu
Catatan:
Ringkasan
Dalam bab ini Anda telah baca beberapa kemampuan yang ditawarkan Linux. Dengan membaca
prediksi ke depan, kemungkinan besar Linux akan memperoleh pasar yang cukup dominan untuk
kelas sistem operasi. Hal ini menyehatkan iklim TI yang saat ini didominasi oleh satu produk
saja. Banyak sekali artikel yang mendiskusikan tentang penggunaan Linux sebagai pengganti
sistem operasi yang sudah ada. Sebagai literatur Anda dapat menyimak beberapa artikel menarik
tentang hal itu
Instalasi Linux
Bab ini memfokuskan instalasi pada tiga buah buah distribusi, yakni Slackware, SuSE dan
RedHat. Jika Anda memiliki distribusi lain, prinsip untuk instalasinya kurang lebih sama yakni :
Inisialisasi Kernel ke komputer, dan pengenalan perangkat keras (biasanya lewat disket
boot dan root, atau langsung dijalankan dari CD-ROM lewat loadlin).
Membuat partisi Linux, tempat program nanti akan disimpan, sekaligus pembuatan swap.
Swap adalah bagian dari hard disk yang dipergunakan sebagai virtual memory.
Menentukan letak sumber file Linux. Sumber file ini bisa berupa CD-ROM, komputer
lain dalam satu jaringan, bahkan lewat ftp langsung.
Pemilihan paket-paket yang diinstal
Instalasi dan konfigurasi dasar agar sistem bisa berjalan.
Slackware
Distribusi Slackware dapat diperoleh secara online di http://www.cdrom.com
Catatan :
Di Indonesia saat ini sudah ada beberapa online store yang menyediakan distribusi Linux yang
cukup lengkap. Anda bisa memesannya secara online, atau menghubungi lewat telepon. CD yang
akan Anda dapatkan dari beberapa online store di Indonesia biasanya merupakan hasil peleburan
ke CD dari download di Internet. Dari beberapa online store yang pernah penulis pesan, rata-rata
berkualitas bagus, dan ada garansi penggantian jika CD rusak atau tidak jalan. Perlu diingat
bahwa semua CD salinan tersebut adalah legal dan dilindungi lisensi GNU. Daftar online store
yang menyediakan distribusi Linux dapat Anda lihat di lampiran
Program Linux biasanya dipaket dalam dua CD:
1. Binary
2. Source
Berisi kode sumber (source code) program, dan Anda bisa mengkompilasinya sendiri
sesuai kebutuhan. Ditujukan untuk yang sudah terbiasa dengan lingkungan Linux. Jika
lebih dari dua CD, maka biasanya berisi program-program tambahan yang sifatnya
pilihan.
Instalasi Slackware
$ ls -al
total 849
Slakware; berisi program sumber instalasi. Isi direktori ini akan direview nanti
bootdsks.144; berisi file untuk membuat boot disk format 1.44
rootdsks; berisi image file root disk, termasuk di dalamnya skrip setup
kernels; berisi kumpulan precompiled kernel untuk berbagai macam jenis perangkat keras.
Direktori Slakware, berisi paket program yang dikelompokkan dalam beberapa kategori yang disebut
disk set.
Berisi program dasar untuk menjalankan Linux Slackware. Program disini cukup untuk
dimuat dalam Disket 1.22. Instal program dari sini saja cukup untuk menjalankan Linux,
dengan editor teks Elvis dan beberapa program komunikasi, serta sistem file standard
(file system standard /FSSTND). Disk Set A membutuhkan 25 MB.
2. Disk Set AP
Berisi aplikasi yang sering dijalankan di Linux. Di antaranya man pages, groff, ispell
(GNU and international versions), term, joe, jove, ghostscript, Midnight Commander
(seperti Norton Commander di DOS), bc, dan quota. Disk Set AP membutuhkan 20 MB.
3. Disk Set D
4. Disk Set E
Berisi program paket editor teks GNU emacs 20.3. Disk Set E membutuhkan 35 MB.
5. Disk Set F
Berisi koleksi FAQ, HOWTO, Mini-HOWTO, dan dokumentasi lainnya. Set ini berisi
banyak sekali informasi bermanfaat. Disk Set F membutuhkan 11 MB.
6. Disk Set K
Berisi kode sumber kernel (Kernel Source Code). Anda dapat mempergunakannya untuk
mengkompilasi ulang kernel. Disk Set K membutuhkan 27 MB.
7. Disk Set N
8. Disk Set N
membutuhkan 23 MB. Disk Set T Berisi program format teks TEX and LATEX2. TEX
merupakan program terkenal dan canggih dalam format teks, termasuk penggunaan
ekspresi matematis. Disk Set T membutuhkan 42 MB.
Berisi paket program pengembangan dari keluarga itcl, diantaranya Tcl dan Tk dapat
dipakai untuk menyusun program yang dijalankan dibawah sistem X Window. Disk Set
TCL membutuhkan 7 MB.
Catatan :
Di Linux dan sistem Unix lainnya, tampilan grafis dijalankan dengan sistem client server.
Sedangkan untuk tampilannya bisa dipilih bermacam macam, disebut Window Manager.
Beberapa Window Manager yang terkenal adalah Gnome, KDE (K Desktop Evironment), Window
Maker dan sebagainya. Jika tertarik Anda bisa mencarinya di http://www.freshmeat.net
Berisi berbagai macam aplikasi yang dijalankan di X, seperti Window Manager fvwm,
fvwm95, browser grafis (arena& Netscape) dan berbagai macam game X. Disk Set XAP
membutuhkan 65 MB.
Xview yang mendukung Open Look window Manager yang biasa dijalankan pada mesin
SUN. Termasuk pula di dalamnya program compiler Xview. Disk Set XV membutuhkan
11 MB.
Berisi berbagai macam game yang dijalankan di atas console (tidak membutuhkan
tampilan grafis). Disk Set Y membutuhkan 8 MB.
Minimal CPU dengan prosesor 80836 atau 80846 sudah bisa menjalankan Linux. Emulator
matematis juga tidak diharuskan meskipun akan sangat membantu jika Anda memilikinya.
Memori minimal 4 hingga 8 mega, dan paling tidak 16 Mega jika Anda berencana menjalankan
aplikasi X. Meskipun demikian, pada beberapa distribusi Anda cukup mempunyai memory 2
Mega. Cakram keras (hard disk), baik IDE maupun SCSI dan banyak jenis perangkat keras lain
telah didukung oleh Slackware 7.0. Spasi hard disk yang dibutuhkan minimal 20 mega untuk
menginstal aplikasi dasar Linux. Jika semua program diinstal paling tidak membutuhkan spasi
hard disk hingga 400 Megabyte
Pre Instalasi
Setelah mengenal sedikit mengenal beberapa aplikasi yang disertakan dalam distribusi Slackware
(dan semua distribusi Linux), lanjutkan dengan prosedur instalasi. Namun sebelum mulai
instalasi, ada beberapa hal yang perlu disiapkan :
1. Usahakan untuk mencatat perangkat keras yang Anda miliki. Perangkat keras tersebut meliputi
monitor, VGA card, Mouse, Hard disk dan CDROM (untuk yang SCSI), dan perangkat keras khusus
yang Anda punya. Di Windows, Anda dapat melihatnya dengan klik kanan My Computer pada
desktop, pilih Properties, klik Device.
2. Back up data-data yang penting. Meskipun penyusunan partisi dan format partisi di Linux dapat
dijalankan secara aman tanpa mengganggu data yang ada, namun bisa saja terjadi salah ketik
atau salah pilih yang membuat semua data hilang.
3. Siapkan partisi khusus untuk Linux. Jika sistem operasi yang ada tidak memungkinkan untuk
diinstal ulang, gunakan program penambahan partisi seperti Partition Magic (program
komersial) atau fips yang disertakan dalam CD. Program ini memungkinkan Anda untuk
menambah partisi dari sisa hard disk kosong, tanpa harus menghapus partisi yang sudah ada.
Lebih mudah jika Anda menghapus semua partisi dalam hard disk Anda, kemudian dipisah
menjadi tiga hingga empat partisi. Satu untuk instal Windows (jika perlu), sistem file Linux, dan
Swap Linux. Tentang partisi ini akan dibahas dalam tahapan instalasi.
Catatan :
Anda dapat menginstal Linux pada ruang yang tidak dipergunakan (free space) tanpa harus partisi ulang.
Linux menjalankannya di atas partisi umsdos. Kelemahan dari sistem file ini adalah aplikasi yang
dijalankan menjadi lebih lambat, dan manfaat Linux tidak dapat dirasakan secara maksimal.
C:\>
3. Masukkan disket kosong ke dalam drive disket Anda. Jalankan rawrite untuk menuliskan
program boot Linux kedalam disket. Pilih image sesuai dengan perangkat keras Anda
4. Setelah selesai, keluarkan disket Anda dan beri label boot disk. Pindah ke direktori root disk.
D:Bootdsks.144\>cd ../rootdsks D:rootdsks\>
VFS: Insert root floppy disk to be loaded into ramdisk and press enter
9. Keluarkan boot disk, dan ganti dengan root disk. Tekan Enter. Root disk akan dimuat dalam
memory. Anda bisa login sebagai root.
Anda sudah berhasil masuk ke prompt Linux Slackware dan siap untuk instalasi. Langkah berikutnya
adalah menyiapkan ruang untuk file Linux Anda. Partisi hard disk Diasumsikan Anda sudah menyiapkan
partisi kosong. Jika belum, maka Anda perlu melakukannya terlebih dahulu dengan program Partition
Magic yang harus dibeli secara terpisah atau Fips yang disertakan dalam CD.
Catatan :
Kemampuan Fips terbatas, dan tidak ada garansi jika Anda mengalami error dalam menjalankannya.
Untuk itu, back up data sangat diperlukan. Atau lebih mudah jika Anda partisi ulang semuanya dengan
menggunakan fdisk yang akan dibahas pada bagian berikutnya.
Partisi
Bahasan pertama adalah review sekilas tentang partisi. Hard disk untuk bisa diisi sistem operasi,
membutuhkan satu wadah, yang dinamakan partisi. Jika Anda terbiasa menggunakan Microsoft,
partisi disimbolkan dengan Drive. Misal, Drive C:(partisi pertama) Drive D:(partisi kedua) dan
seterusnya.
Dengan membagi hard disk ke dalam beberapa partisi Anda dapat menjalankan berbagai sistem
operasi secara bersamaan. Misalnya Linux - Windows 98 - Windows NT.
Gambar 3 Bentuk Hardisk, track, sector dan data (Sumber: Maximum Linux Security,
Anonymous)
Partisi dikategorikan dalam tiga jenis. Primary, Extended dan Logical Partition. Partisi utama,
disebut primary, dalam satu hard disk maksimal hanya 4 partisi. Jika Anda ingin lebih dari 4
partisi, maka perlu dibuat extended partition yang bisa memuat logical partition dengan jumlah
lebih banyak. Jadi data hanya terletak di partisi primary atau logical, sedangkan extended hanya
merupakan wadah dari partisi logical. Contoh pengaturan hard disk dan nama yang biasa
dipergunakan di Linux.
Gambar 4 Pengaturan Partisi dan Sistem File (Sumber: Maximum Linux Security, Anonymous)
Kembali ke prompt instalasi. Sebagai contoh, diasumsikan Anda mempunyai hard disk 2 Giga,
dan 1 Giga sudah terisi Windows NT (misalnya), sementara sisanya masih kosong (belum
dipartisi). Setelah berhasil masuk shell, jalankan fdisk guna pengaturan partisi.
# fdisk
Using /dev/hda as default device!
Command (m for help): m # ketik m dan tekan enter
Command (m for help): p # ketik p untuk mengetahui partisi dalam hard disk
Anda,lalu tekan enter
Command action
e extended
p primary partition (1-4)
Pada Partition Number atau nomor partisi, isi 2, karena partisi satu sudah terisi Ms DOS. First
cylinder adalah silinder pertama yang dipakai partisi ke dua ini. Last cylinder, Anda bisa isikan
nomor silinder, atau +xM, dimana x adalah jumlah Megabyte yang Anda inginkan, atau +xK,
dimana x adalah jumlah Kilobyte yang Anda inginkan.
Command action
e extended
p primary partition (1-4)
Lanjutkan dengan mengganti system ID atau format sistem file untuk menambahkan swap. Swap
adalah bagian dari Hard disk, baik berupa file atau satu partisi penuh yang dipakai sebagai virtual
memory. Swap sangat membantu jika Anda punya memory fisik yang terbatas.
Anda lihat bahwa /dev/hda3 telah berubah dari Linux native menjadi Linux swap. Langkah
berikutnya adalah menyimpan tabel partisi yang telah Anda buat.
Anda akan kembali ke shell prompt. Lanjutkan dengan instalasi. Pertama , aktifkan swap yang
telah dibuat sebelumnya
# mkswap /dev/hda3
# swapon
Setup
# setup
Perlu dicatat bahwa menu tersebut merupakan urutan instalasi yang harus dipilih satu demi satu. Untuk
memulai instalasi, Anda dapat abaikan dua menu pertama.
Swap
Secara default, Anda akan ditanya apakah akan memasukkan /dev/hda3 sebagai swap. Jika ya,
maka Slackware akan menjalankan perintah mkswap untuk memformat /dev/hda3 dengan file
sistem swap, kemudian mengaktifkannya dengan perintah swapon. Karena perintah ini telah
dilakukan sebelumnya, Anda dapat abaikan. Yang penting adalah memasukkan /dev/hda3 ke
dalam file fstab sehingga saat Linux boot dapat langsung menggunakan swap.
Catatan :
Linux menuliskan semua sistem file dan divais yang dipergunakan ke dalam file /etc/fstab. Saat akan
dipergunakan dengan perintah mount, Linux akan membaca file ini. Divais yang dipergunakan termasuk
semua hard disk dan partisinya, CDROM, floppy dan divais untuk back up. Untuk lebih jelasnya, ketikkan
man fstab pada shell prompt.
Instalasi SuSE
SuSE dapat langsung diinstal tanpa mempergunakan disket pada komputer yang sudah memiliki
sistem operasi Windows atau DOS. Untuk sistem operasi lainnya, instalasi membutuhkan disket
untuk inisialisasi kernel di komputer. Sebelum memulai instalasi, pastikan Anda mempersiapkan
hal-hal sebagaimana dibahas dalam tahapan pre instalasi di sub bab sebelumnya. Berikut
langkah-langkah instalasi SuSE :
E:/suse/images/initdisk.gz lang=english
Jika Anda pelajari instalasi Slackware pada bagian sebelumnya, maka disini ditemukan
metode yang serupa. Perintah pertama meminta loadlin untuk menjalankan
kernelEIDE01, yang terletak di direktori E:/suse/images, dan status read write.
Perintah kedua meminta initrd untuk menjalankan initdisk.gz dengan Bahasa Inggris
(tergantung pilihan bahasa sebelumnya) setelah kernel berhasil diinisialisasi. Pada
instalasi Slackware, tugas ini dijalankan oleh disk boot dan disk root. Perintah diatas
mengeluarkan pesan di monitor:
Load Linux now!
12. Dari perintah kedua, initrd akan menjalankan Linuxrc (Versi 0.91) ke dalam komputer
Anda. Pertama kali Anda harus memilih monitor. Anda dapat memilih monitor
monokrom (hitam putih) atau warna. Berikut menu utama (Main Menu) Linuxrc,
jalankan pengaturan dalam menu-menu berikut secara berurutan.
1. Settings, meliputi
Language; untuk pengaturan bahasa
Display; untuk pengaturan monitor
Keymap; untuk pengaturan keyboard
Debug; pilihan untuk pengguna Linux tingkat lanjut. Isinya berupa pilihan
Animation, Force rootimage, Enter rootimage, Instalation system,
Scripting NFS port. Jika tidak tahu, Anda dapat abaikan pilihan ini, dan
relatif tidak mengganggu proses instalasi secara keseluruhan.
2. System Information, meliputi
Kernel Messages; Seluruh pesan yang disampaikan kernel saat booting
(termasuk pengenalan perangkat keras). Dari pesan kernel ini Anda dapat
mengetahui perangkat mana yang sudah didukung oleh kernel dan mana
yang belum.
Hard disk /CD-ROMs; Catatan hard disk dan CD-ROM yang dikenali oleh
kernel.
Modules; Catatan tentang driver perangkat keras (di Linux disebut sebagai
modul) yang sudah diaktifkan
PCI; Catatan tentang kartu PCI yang dimiliki berdasarkan pengenalan oleh
kernel.
Memory; Catatan tentang memory yang dimiliki berdasarkan pengenalan
oleh kernel.
IO Port; Port Input Output
Interrupts; Catatan interrupts.
3. Kernel Modules, meliputi
Load SCSI module; mengaktifkan modul SCSI yang belum dikenal oleh
kernel. Hal ini diketahui dengan membaca pesan kernel pada bagian
sebelumnya.
Load CD-ROM module; Mengaktifkan modul CD-ROM
Load network card module; Mengaktifkan modul kartu jaringan.
Load PCMCIA module; Mengaktifkan modul PCMCIA.
Show Loaded modules; Melihat modul-modul yang telah diaktifkan.
Unload modules; Menon-aktifkan kembali modul-modul yang telah aktif.
Autoload modules; Mengaktifkan modul secara otomatis dengan
melakukan inspeksi (probing) terhadap semua perangkat keras yang ada.
4. Start Instalation System; meliputi
Start Instalation; Mulai instalasi
Boot Instalation; Selesai instalasi dan boot komputer
Start Rescue System
Start Live CD
13. Pada saat memilih Start Instalation, Linuxrc menanyakan media tempat di mana sumber
file SuSE yang akan diinstal. Pilihan tersebut meliputi CD-ROM, Network (NFS),
Network (FTP), Hard disk. Pilih sesuai kebutuhan Anda. Dalam contoh berikut instalasi
dilakukan lewat CD-ROM.
14. Setelah memilih media instalasi, segera muncul program YaST yang menawarkan tipe
instalasi. Tipe yang ditawarkan adalah :
1. Install Linux from scratch; Instal SuSE baru ke dalam komputer dengan metode
standar.
2. Update existing file system; Upgrade SuSE dari versi sebelumnya.
3. Instalation using expert mode; Instalasi dengan pilihan-pilihan khusus yang
menawarkan modifikasi penuh.
4. Abort; membatalkan instalasi.
Starting Cylinder :
Pada pilihan Starting Cylinder, biarkan kosong, langsung tekan enter. Selanjutnya
muncul End of Partition, masukkan jumlah megabyte yang Anda inginkan, diawali
dengan tanda plus. Contoh di atas adalah membuat partisi baru dengan ukuran 1 Gigabyte
(1000 Megabyte). Lakukan langkah ini hingga diperoleh daftar partisi yang diinginkan.
18. Selesai membuat partisi baru, lanjutkan dengan pemilihan partisi swap. Pilih
Continue, dan akan muncul pertanyaan Select Swap Partition. Pilih partisi swap
yang Anda tentukan sebelumnya. Anda akan dikonfirmasi, apakah Anda ingin melakukan
cek swap yang akan diaktifkan? Cek ini meliputi bad blocks dan cek permukaan piringan
hard disk yang akan digunakan. Pilih yes.
o Langkah selanjutnya adalah melakukan format terhadap sistem file Linux yang
baru saja Anda buat partisinya. Contoh sistem file yang sudah ada :
Pilih F6 untuk format partisi yang ada. Pilih Normal Format. Selanjutnya, tekan F4 untuk
menentukan mount point. Pilih /. Tekan Continue, dan partisi Anda akan diformat.
o Instalasi akan kembali ke prompt YaST untuk load configuration. Pilih default
SuSE. Anda bisa pilih secara manual paket-paket yang diinginkan. Bagian ini
memakan waktu yang cukup lama, sebab proses instalasi program yang dipilih
sedang berjalan.
o Selesai instalasi program, Anda diminta memilih kernel lewat menu Select
Kernel, dan pilih Standard (E)IDE kernel (jika hard disk atau CD-ROM Anda
IDE) atau SCSI kernel (jika hard disk atau CD-ROM Anda SCSI).
o Berikutnya Anda akan ditanyakan untuk membuat boot disk. Jawab ya jika Anda
memang menginginkan Linux di boot dari disket. Siapkan satu disket kosong.
Jika tidak, teruskan.
o Setelah itu muncul menu LILO Instalation. Jawab yes dan segera Anda dibawa ke
menu :
1. Pilihan berikut biarkan kosong
2. Pilih Master Boot Record untuk menempatkan LILO di MBR sehingga saat #
boot akan dijalankan.
On floppy disk
3. Boot delay adalah lama waktu dalam satuan detik pada saat memilih menu sistem
operasi yang akan dijalankan saat komputer dinyalakan.
Boot Delay :
o Proses selanjutnya penentuan time configuration. Ini adalah satuan waktu yang
digunakan oleh sistem operasi. Anda bisa memilih antara menggunakan GMT
atau waktu lokal.
o Setelah itu penentuan hostname dan domain name. Isian ini sangat penting untuk
memastikan program-program daemon yang membutuhkan nama mesin dan nama
domain seperti server web dan server mail berjalan dengan baik. Untuk pengisian,
misalnya:
Hostname : spawn
Pada bagian DHCP client, pilih no (kecuali jika Anda terhubung dalam jaringan dengan
DHCP). Dalam contoh berikut, pilih real network.
Catatan:
o Jika dipilih real network, menu berikutnya adalah memasukkan alamat jaringan :
1. type of network; piliheth0. Ini berarti dalam menghubungkan ke jaringan
menggunakan kartu jaringan. Jika pada boot sebelumnya kernel belum mengenal
kartu jaringan yang ada, Anda dapat mengkonfigurasikannya nanti. Lihat di Bab
III, Sub Bab konfigurasi kartu jaringan.
2. IP Address of your machine; isikan alamat IP misalnya 192.168.1.100
3. Netmask; Isikan netmask berdasarkan kelasnya. Misal 255.255.255.0
4. Gateway; Biarkan kosong. Gambaran tentang gateway dapat Anda baca di Bab III
sub bab IP Masquerade.
5. IP Address of PPP Partner; Isikan DNS server dari ISP Anda. Misalnya
202.158.3.7.
o Selanjutnya adalah mengkonfigurasikan sendmail lewat sendmail.cf. Menu
yang diberikan:
1. Host with permanent network connection; Jika Anda terhubung dalam jaringan
dengan sambungan yang permanen.
2. Single user machine without network connection; Jika komputer tidak terhubung
dalam jaringan (standalone)
3. Host with temporarily network connection; Jika dalam waktu-waktu tertentu
komputer Anda terhubung dalam jaringan (misalnya Internet).
4. Use UUCP to send mail; Jika mesin Anda terhubung dalam jaringan UNIX, dan
mempergunakan protokol UUCP (Unix to Unix Copy Protocol)
5. Do not install /etc/sendmail.cf; Melewati menu ini, dan jika perlu sendmail.cf
dapat dikonfigurasikan sendiri nantinya.
o Selesai konfigurasi sementara untuk sendmail, komputer akan direstart.
Selanjutnya adalah mengisikan password untuk root. Usahakan untuk mengisi
lebih dari 8 huruf.
o Langkah berikutnya membuat satu user sebagai contoh. Anda dapat menggunakan
user contoh ini untuk login pertama kali nantinya. Usahakan untuk menggunakan
user root seminimal mungkin.
o Langkah terakhir, mengkonfigurasikan beberapa peralatan tambahan seperti
modem, dan mouse. Selesai langkah ini, Anda bisa langsung masuk ke Linux
prompt, dan login dengan menggunakan account root atau user contoh yang telah
anda tentukan sebelumnya.
Welcome to SuSE 6.2 (i386) - kernel 2.2.10 (tty1)
Spawn login :
Instalasi RedHat
Sejak Versi 6.2, RedHat sudah mulai menggunakan modus grafis untuk instalasinya. Langkah
instalasi yang disampaikan berikut, mempergunakan modus teks. Hal ini berdasarkan
pertimbangan bahwa dengan penguasaan modus teks akan memudahkan Anda saat menjalankan
proses dengan modus grafis. Selain itu, untuk menjalankan administrasi server, perintah modus
teks akan menjembatani semua distribusi.
1. Jika Anda berada dalam lingkungan Windows, restart Computer ke dalam DOS mode,
dan lanjutkan ke langkah3.
2. Jika Anda telah menggunakan Linux sebelumnya, mount CD-ROM RedHat (atau media
lain yang berisi sumber file instalasi RedHat), dan buat boot disk.
$ cd /cdrom/images
$ dd if=boot.img of=/dev/fd0 bs=1440k
Boot komputer Anda dengan boot disk tersebut, dan lanjutkan ke langkah 4.
3. Jika Anda berada di DOS mode, jalankan program autoboot yang berada di CD-ROM
direktori Dosutils. Autoboot ini adalah file batch yang memanggil Loadlin untuk
menjalankan kernel boot.
D:\> cd dosutils
D:\dosutils> autoboot
Selain boot lewat CD-ROM, alternatif lainnya adalah lewat boot disket. Cara membuat
boot disket lewat DOS :
C:\> d:
D:\> cd\dosutils
D:\dosutils> rawrite
D:\dosutils>
4. Setelah kernel dijalankan, init akan berjalan di level 4 untuk instalasi modus grafis. Jika
Anda menginginkan modus teks, dapat ditambahkan boot=text setelah boot dengan
disket dan akan memulai instalasi.
5. Layar pertama yang muncul adalah Language Selection. PilihEnglish.
6. Selanjutnya Keyboad Configuration. Masukkan parameter berdasarkan keyboard Anda,
atau biarkan kosong.
7. Lalu akan beralih ke Mouse Configuration. Tentukan jenis Mouse dan port yang
dipergunakan. Misalnya tipe mouse 2 button mouse (serial), Port & Device : ttyS0 atau
/dev/ttyS0 (Com 1 under DOS)
8. Berikutnya akan masuk layar RedHat 6.2 System Installer. Pilihan model instalasi :
o GNOME Workstation Sebagai workstation dengan Window Manager GNOME
o KDE Workstation Sebagai workstation dengan Window Manager KDE
o Server
o Custom
Yang membedakan masing-masing pilihan tersebut adalah paket-paket program yang
disertakan. RedHat telah memberikan pilihan aplikasi dengan standar yang memadai,
baik sebagai workstation maupun server. Untuk fleksibilitas penuh dalam instalasi, dapat
memilih custom.
Selain instal program penuh, pada bagian ini juga ditawarkan upgrade sistem. Jika anda
sebelumnya telah menjalankan RedHat dan ingin mempertahankan konfigurasi yang telah
dibuat, anda bisa pilih upgrade. Perlu diingat bahwa back up merupakan keharusan untuk
anda yang memiliki data penting. Pada layar ini juga ada pilihan untuk menggunakan
fdisk (use fdisk) untuk partisi. Jika Anda telah membaca partisi program lewat fdisk
pada instalasi Slackware, Anda dapat memanfaatkannya disini.
aktifkan jika anda ingin partisi ini memanfaatkan sisa spasi yang belum dipergunakan.
Biasanya diaktifkan untuk swap.
12. Selesai dengan partisi, dilanjutkan dengan format partisi swap yang telah dibuat, dan
mengaktifkannya untuk membantu memory dalam proses instalasi.
13. Choose partitions to format; Pilih partisi yang telah dibuat untuk diformat. Jika anda
menentukan mount point lebih dari satu (misalnya: /, /usr, dan /home) di mana partisi
/home sudah berisi data, maka anda dapat memilih partisi/ dan /usr saja yang diformat.
14. Selanjutnya adalah instalasi LILO (Linux Loader). Pilihannya adalah :
Intal LILO di Master Boot Record, sehingga bisa langsung boot ke Linux pada
saat komputer dinyalakan. Perlu diingat, jika anda melindungi MBR dengan virus
protection lewat BIOS, maka akan muncul peringatan tentang virus yang
mencoba menulis di MBR. Abaikan peringatan ini, atau virus protection-nya
dinon-aktifkan sementara. Hal ini terjadi karena BIOS akan menganggap semua
usaha untuk menulis di MBR sebagai virus.
Instal LILO pada sektor pertama partisi root. Anda dapat menjalankan Linux
Loadlin, atau boot loader lainnya seperti Boot Loader Windows NT, atau System
Commander. Aktifkan create boot disk, jika anda ingin membuat disket boot.
Perlu diperhatikan, jika anda memilih tipe instalasi Workstation, pilihan di atas
tidak diberikan, dan RedHat secara otomatis menginstal LILO ke dalam MBR.
Jika anda memilih Workstation, silakan lanjut ke langkah 16.
Welcome to RedHat 6.2 i686 (Zoot)
Spawn login :
1. Usahakan untuk menginstal Windows NT lebih dahulu. Jika Anda menggunakan format
NTFS, perlu diingat bahwa saat buku ini ditulis, Linux hanya mampu membacanya
(read-only). Maksudnya adalah jika nanti Anda masuk lingkungan Linux dan akan
mengakses file-file yang berada di partisi windows NT dengan sistem file NTFS, Anda
hanya dapat membacanya.
2. Tidak disarankan utuk membuat partisi sistem file Linux dan swap lewat Disk
Administrator yang ada di NT. Gunakan fdisk dari Linux.
3. Saat pertama instalasi Linux, boot dari disket. Partisi NTFS biasanya dikenal sebagai
hpfs. Anda bisa kompilasi ulang kernel nantinya, agar partisi NTFS dapat dikenal
sebagai NTFS dan dapat diakses meskipun hanya bisa membacanya.
4. Saat konfigurasi LILO (Linux Loader), gunakan partisi Linux Anda untuk booting.
Jangan gunakan Master Boot Record terlebih dahulu karena sudah dimiliki oleh NT.
Misalnya, Linux Anda instal di partisi kedua primary, maka dalam lilo.conf Anda
harus masukkan parameter : Boot=/dev/hda2. Atau jika Anda instal Linux di partisi
extended, entri pada /etc/lilo.conf Boot=/dev/hda5 (atau 6,7, dan seterusnya). Jika
Anda boot ulang komputer, maka seharusnya NT Loader dapat berjalan sebagaimana
biasa. Namun jika saat boot ulang yang muncul adalah LILO, dipastikan Anda instal
LILO dalamMaster Boot Record. Anda perlu mengkonfigurasikan ulang LiLO Anda
sehingga boot sector-nya diletakkan di sektor pertama dari partisi Linux.
Windows NT memiliki program kecil, sebut saja boot loader yang diletakkan di Master Boot
Record. Boot loader ini membaca file boot.ini yang terletak di c:\ atau direktori root dari partisi
yang diset aktif. Berikut contoh boot.ini di c:\
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT [operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Server"
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Serve[vga mode]"
Atribut file tersebut adalah system, dan read-only. Keterangan entri pada boot loader tersebut :
Untuk menambahkan kernel Linux Anda pada boot loader sehingga dapat memasukkan menu
Linux dalam pilihannya, Anda harus menyalin kernel Anda ke partisi /drive Windows NT.
Caranya:
3. Salin file bootsect.lnx ke dalam partisi Windows NT. Jika Anda dapat mengaitkan
(mounting) partisi Windows NT di Linux Anda dapat menyalin langsung.
# cd /
# cp bootsect.lnx /mnt
# umount /dev/hda1
# cd /
# cp bootsect.lnx /mnt
# umount /dev/fd0
5. Selesai menyalin ke disket, jangan lupa untuk memindahkan ke Drive C:\ jika nanti
sudah berada pada lingkungan Windows NT.
6. Boot komputer Anda. Masuk ke lingkungan Windows NT. Jalankan DOS prompt.
7. Sebelum mengedit file boot.ini hilangkan dulu atributnya.
8. Lalu edit entri pada boot.ini guna menambahkan salinan kernel Linux Anda ke dalamnya.
Edit bisa menggunakan notepad atau program edit di DOS prompt.
[boot loader]
timeout=30
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Server"
c:\bootsect.lnx="Linux"
10. Boot komputer Anda dan lihat perbedaannya. Sekarang Anda memiliki menu Linux
untuk di jalankan.
OS Loader V4.00
Loadlin
Selain menambahkan entri pada boot loader, Anda bisa menjalankan Linux lewat loadlin (load
Linux). Pada distribusi Slackware, Anda bisa peroleh di diskset a8.
Loadlin adalah program yang menjalankan kernel Linux lewat DOS prompt. Paket Loadlin
(loadlin.tgz) setelah diekstrak pada direktori Windows, biasanya terdiri atas :
readme.1st file
readme
loadlin.exe
Loader
copying GPL dari Free Software Foundation
test.par contoh file parameter
linux.bat contoh file batch
initrd.tgz contoh yang sangat sederhana initrd (/linuxrc)
doc
doc/changes sejarah LOADLIN
doc/quicksta.rt manual
doc/params.doc penjelasan parameter perintah Linux
doc/announce.txt porting saat mengumumkan bzImage+initrd
doc/initrd.txt penjelasan initrd (sebagaimana linux/Documentation/*)
doc/lodlin16.lsm
src sumber
src/loadlin.asm
rc/loadlin.asm
src/loadlini.asm
src/loadlinj.asm
src/loadlinm.asm
src/makefile makefile untuk TASM
src/pgadjust.asm bagian 32-bit dari Loadlin, yang dihasilkan oleh /srclinux.tgz
src/srclinux.tgz sumber 32-bit (harus dikompilasi di Linux)
Paket loadlin tidak dibahas secara detail disini. Untuk dapat menjalankan Linux dengan Loadlin
dengan cepat :
1. Pastikan Anda sudah menginstal loadlin di Windows, dan salinan dari image kernel Anda
(Bzimage atau Vmlinuz). Catat pula pada partisi berapa Linux Anda berada (/dev/hdax).
2. Untuk menjalankan secara cepat, restart komputer Anda dan masuk dalam DOS Mode.
Menjalankan Loadlin dari prompt di Windows tidak akan berhasil.
3. Masuk ke direktori Loadlin. Diasumsikan bahwa Linux Anda berada di /dev/hda2 dan
kernel Anda sudah disalin ke dalam direktori loadlin dengan nama VmLinuz.
C:\cd loadlin
4. Untuk memudahkan Anda, buatlah sebuah batch file (misal: Linux.bat) yang berisi
perintah loadlin diatas.
5. Ringkasan
6. Pada bab ini, telah dipelajari bersama bagaimana instalasi Linux (khusus tiga distribusi).
Distribusi Slackware memberikan pilihan yang cukup beragam untuk metode
instalasinya. Selain metode standar di atas, Anda dapat pula menginstal Slackware
dengan disket. Pada direktori slakware, cukup dijalankan skrip makeflop, untuk
menyalin paket aplikasi ke dalam disket. Semua kernel yang ditawarkan Slackware
disini, merupakan kernel standar, dibuat dengan menyesuaikan perangkat keras. Jika
nantinya Anda sudah terbiasa dengan Linux, Anda perlu mengkompilasi ulang kernel
disesuaikan dengan kebutuhan dan perangkat keras yang Anda miliki. Hal demikian akan
membantu kinerja mesin Linux dalam melayani pengguna.
7. Distribusi SuSE memberikan modus instalasi yang cukup kompleks. Konfigurasi standar
pada saat instalasi sudah menyentuh beberapa program (misalnya sendmail), sehingga
begitu SuSE dijalankan dapat langsung menjalankan layanannya dengan baik. Sedangkan
RedHat yang sudah mulai menggunakan tampilan grafis, memberikan kemudahan bagi
pengguna. Pilihan model instalasi yang mencakup wokstation, Server, atau Custom
membuat pendatang baru akan lebih mudah dalam menjatuhkan pilihan tanpa perlu
memilih paket-paket program yang relatif belum dikenal. Kemampuan dalam
memberikan pilihan secara bebas bagi pengguna tingkat lanjut pun masih diwakili
dengan pilihan Custom.
8. Upgrade program dari tiap distribusi (misalnya dari Slackware 4.0 ke Slackware 7.0),
pada prinsipnya tidak diperlukan. Yang perlu dijalankan hanyalah upgrade dari kernel
yang Anda punyai. Semakin baru kernel Anda, semakin banyak fitur yang ditawarkan.
9. Konfigurasi Sistem
10. Bab ini membahas bagaimana mengkonfigurasi beberapa setting pada Linux secara
umum. Bahasan utama mempergunakan distribusi Slackware, dengan tambahan catatan
pada distribusi SuSE dan RedHat untuk seting mempergunakan program bantu. Pilihan
Slackware sebagai bahasan utama dilatarbelakangi oleh sebab bahwa seting di Slackware
sebagian besar manual (tidak memiliki program bantu) sehingga bisa diterapkan pada
Linux semua distribusi. Penambahan informasi dengan program bantu, pada prinsipnya
hanya mempermudah dalam konfigurasi, namun mempunyai keterbatasan hanya berlaku
di satu distribusi saja.
11. Konfigurasi dasar yang disampaikan di bab ini cukup untuk membuat Linux dapat
dimanfaatkan sebagai server ataupun workstation pada jaringan. Pertama adalah review
apa yang sebetulnya terjadi pada Linux saat komputer booting.
Booting
Pada saat komputer dinyalakan, bios akan mengecek integritas hardware mesin Anda. Jika semua
berjalan dengan baik, bios akan membaca sektor pertama dari disk yang ada. Biasanya dengan
urutan floppy kemudian hardisk. Hal ini tergantung dari seting bios komputer. Jika floppy tidak
ditemukan, proses dilanjutkan dengan membaca sektor pertama dari hardisk. Sektor ini disebut
sebagai boot sector atau MBR (Master Boot Record).
Boot sektor berisi satu program kecil yang akan membaca sistem operasi pada hardisk dan
menjalankannya pada memori. LILO merupakan program yang sering digunakan untuk
memanggil Linux, dan biasanya terletak di boot sector. Saat dijalankan, LILO akan membaca
tabel partisi yang telah ditentukan dalam konfigurasi sebelumnya (LILO dapat diatur sendiri
dengan mengedit file /etc/lilo.conf). Setelah menemukan partisi yang diset aktif, LILO akan
memanggil kernel untuk dijalankan pada memory.
Pada saat menemukan image kernel Linux, yang sebenarnya terjadi adalah :
1. Kernel diinstal dalam bentuk terkompress. Proses yang pertama kali dilakukan adalah
unkompress kernel. Ini dijalankan oleh program kecil yang terletak di awal kernel.
2. Kemudian kernel akan mencoba mengenali semua hardware yang Anda miliki. Semua
proses itu biasanya tergambar dalam monitor. Berikut contoh outputnya :
Linux version 2.2.6 (root@zap) (gcc version 2.7.2.3) #14 Tue Apr27
15:06:58 CDT 1999
Detected PS/2 Mouse Port. Serial driver version 4.27 with HUB-6
MANY_PORTS MULTIPORT SHARE_IRQ enabled
(scsi0) <Adaptec AIC-7860 Ultra SCSI host adapter> found at PCI 7/0
scsi : 1 host.
SCSI device sda: hdwr sector= 512 bytes. Sectors= 8330543 [4067 MB] [4.1
GB]
Partition check:
3. Kemudian kernel akan mengaitkan (mounting) sistem file root (root file system), biasanya
dengan status read only. Hal ini untuk memudahkan pengecekan terhadap integritas dari
sistem file yang dilakukan oleh program fsck. Jika proses mounting gagal, maka akan
muncul pesan kernel panic.
4. Proses selanjutnya adalah memuat modul-modul yang diperlukan untuk mengenali
hardware yang tidak didukung oleh kernel. Proses ini dijalankan dengan membaca file
/etc/rc.d/rc.modules atau /etc/conf.modules. Modul dapat diibaratkan sebagai
driver untuk hardware yang tidak didukung oleh kernel. Hal ini biasanya terjadi karena
saat kompilasi kernel, modul hardware tersebut tidak dimasukkan ke dalam kernel. Jika
Anda sudah mengkompilasi kernel sesuai dengan kebutuhan hardware Anda sendiri,
maka modul tidak perlu dijalankan karena sudah menyatu di dalam kernel.
Catatan :
Inisialisasi dari semua proses yang dijalankan kernel biasanya bersumber pada
skrip yang semuanya terletak pada direktori /etc/rc.d. Direktori ini standar
dipergunakan di tiap distribusi, hanya saja skrip-skrip yang berada di dalamnya
berbeda tergantung jenis init system-nya.
5. Selanjutya, kernel akan menjalankan program init, yang terletak di/sbin/init. Ada
beberapa level init yang dijalankan secara default. Anda dapat mengaturnya dengan
mengedit file /etc/inittab.
Dengan memasuki run level 3, init menjalankan beberapa daemon. Daemon adalah
program yang berjalan bersamaan dengan sistem, biasanya di belakang layar. Daemon
dapat berjalan dengan baik meskipun tanpa campur tangan pengguna. Daemon akan
memberikan reaksi tertentu jika ada permintaan. Contoh, http daemon, samba daemon,
mail daemon.
Selesai menjalankan beberapa daemon, init akan memanggil getty, untuk memulai virtual
console dan line serial. Dengan demikian, pengguna sudah dapat login ke mesin Linux,
dan bekerja secara normal.
Direktori Standar
Berikut susunan direktori standar yang ada pada Slackware (dan Linux secara umum).
1. /
Direktori root, yang menampung seluruh file yang ada dalam Linux. Pada direktori root
biasanya tidak menampung file, kecuali image dari kernel (vmlinuz).
2. /bin
Berisi file yang dapat dieksekusi/dijalankan (file dengan ekstension exe pada
DOS/Windows).
3. /boot
4. /dev
Linux memperlakukan semua sebagai file. Direktori ini merupakan file dari hardware
komputer Anda. Misal floppy disk menjadi file /dev/fd0, CD ROM menjadi /dev/hdb
bahkan hingga memory. Yang cukup terkenal adalah /dev/null, semua file yang dikopi
kesini akan dibuang.
5. /etc
Berisi file-file konfigurasi Linux. Biasanya berbentuk file text dan dapat diedit dengan
mudah.
6. /home
Berisi direktori dari masing-masing user.
7. /lib
Berisi kumpulan library yang diperlukan oleh program di root direktori. (file DLL pada
sistem operasi Windows).
8. /lost+found
9. /mnt
Direktori tempat mounting divais Anda. Misalnya /dev/fd0 (disket) akan dimount ke
/mnt/floppy, /dev/hda1 (partisi DOS) dimount ke /mnt/dos. Secara default direktori
ini kosong, dan Anda harus membuat direktori sendiri sebagai mount point-nya.
10. /proc
Sistem file semu yang ditulis di atas memory. Digunakan untuk menginformasikan sistem
(biasanya tentang proses yang sedang berjalan).
11. /root
Direktori home bagi root /sbin File eksekusi yang dijalankan oleh sistem atau root.
12. /tmp
13. /usr
Berisi file dan program yang berorientasi pada user. Hampir semua program yang
disertakan dalam distribusi diinstal di sini.
14. /var
Berisi data yang berubah pada saat Linux berjalan. Data ini biasanya hanya spesifik pada
satu komputer, dan tidak dibagi dengan komputer lain dalam jaringan.
YaST di SuSE
SuSE memiliki program bantu untuk mengkonfigurasikan Linux dengan menu interaktif yang
mudah dimengerti yakni yast (Yet another Setup Tool). Untuk menjalankannya, cukup ketikkan
yast dengan user root.
# yast
Segera akan muncul kotak dialog YaST v.1.01. Program bantu ini perlu disampaikan di awal
bahasan, sebab untuk sebagian besar bab ini, dikonfigurasikan dengan mengacu program bantu.
YaST mempunyai struktur menu konfigurasi :
File help yang berisi tentang tombol-tombol yang dipergunakan untuk navigasi YaST.
4. Update system
5. System Administration
Konfigurasi sistem, termasuk hardware, network dan user. Bagian ini terdiri dari :
7. CopyRight
8. Exit YaST
LinuxConf di RedHat
Sebagaimana SuSE dengan YaST, RedHat memiliki program bantu yang lebih kompleks dan
komprehensif, yakni LinuxConf. Selain dijalankan di basis teks, LinuxConf dapat dijalankan di
bawah X (tampilan grafis) untuk memudahkan pengguna. Dengan Window Manager Gnome,
Anda dapat mengaktifkan LinuxConf lewat panel Gnome - System - linuxconf. Jalankan X
server lewat user root.
Catatan :
Situs Resmi LinuxConf adalah http://www.solucorp.qc.ca/linuxconf. Jika Anda tertarik
untuk mengetahui lebih dalam tentang LinuxConf, dapat mengikuti mailing list yang
informasinya dapat diperoleh di
http://www.solucorp.qc.ca/linuxconf/mailinglist.html.
Guna menjalankan LinuxConf di konsol, dengan user root cukup ketikkan :
# linuxconf
Secara umum, LinuxConf (Versi 1.16 pada RedHat 6.2) menawarkan pilihan dalam
mengkonfigurasikan Linux dengan struktur sebagai berikut :
1. Config
1. Networking
1. Client Tasks
2. Server Tasks
2. User Accounts
1. Normal
2. Special Accounts
3. Email aliases
4. Policies
5. File Systems
6. Miscellaneous Service
7. Boot mode
2. Shutdown/Reboot
4. Mount/Umount
Mengatur mounting partisi dan divais lain (CD-ROM, disket, tape drive).
Mengatur, menambah dan mengurangi program user dan server yang bisa
dikonfigurasikan lewat LinuxConf. Biasanya setiap program server langsung
ditambahkan dalam menu LinuxConf.
3. Logs
4. Date/times
5. Features
1. Catat vendor dan seri dari kartu jaringan (ethernet card/network interface card) yang Anda
punyai
2. Cek apakah kernel waktu booting sudah mengenali kartu jaringan yang Anda miliki, dengan
perintah dmesg.
# tail dmesg
PPP: version 2.3.3 (demand dialling)
PPP line discipline registered.
eth0: OEM i82557/i82558 10/100 Ethernet at 0xf8e0, 00:A0:C9:99:5C:4C, IRQ 9.
Board assembly 690106-001, Physical connectors present: RJ45
Primary interface chip i82555 PHY #1.
General self-test: passed.
Serial sub-system self-test: passed.
Internal registers self-test: passed.
ROM checksum self-test: passed (0x49caa8d6).
Receiver lock-up workaround activated.
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:A0:C9:99:5C:4C
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4679 errors:0 dropped:0 overruns:0 frame:0
TX packets:3520 errors:0 dropped:0 overruns:83 carrier:0
collisions:2 txqueuelen:100
Interrupt:9 Base address:0xf8e0
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:96 errors:0 dropped:0 overruns:0 frame:0
TX packets:96 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
3. Jika kernel belum mengenal kartu jaringan Anda (outputnya hanya lo/loopback), maka Anda
dapat menjalankannya dengan mengaktifkan modul kartu jaringan yang Anda miliki. Caranya,
buka file /etc/rc.d/rc.modules. Cari di dalamnya modul dari ethernet sesuai catatan Anda.
Jika tidak terdaftar dalam listing yang ada, Anda harus mendownload kernel versi terbaru,
kemudian mengkompilasinya sesuai dengan hardware yang ada. Atau mencarinya di homepage
vendor kartu jaringan Anda.
4. Jika Anda tidak menemukan rc.modules (distribusi selain Slackware), maka Anda dapat
mencarinya langsung di /lib/modules atau di /etc/conf.modules untuk melihat
konfigurasi aktivasi modul-modul yang ada. Untuk mengaktifkannya cukup jalankan perintah
modprobe. Misalnya :
# modprobe ne2k-pci
5. Setelah Anda temukan dalam file rc.modules, hilangkan tanda pagar agar dieksekusi oleh kernel
pada saat booting. Berikut contoh potongan file /etc/rc.d/rc.modules
#/sbin/modprobe ne2k-pci
#/sbin/modprobe smc-ultra
#/sbin/modprobe smc-ultra32
#/sbin/modprobe wd
6. Misal, kartu jaringan Anda adalah NE 2000 kompatibel, Anda cukup hilangkan tanda pagar di
depan /sbin/modprobe ne2k-pci dengan editor teks, dan simpan.
/sbin/modprobe ne2k-pci
#/sbin/modprobe smc-ultra
#/sbin/modprobe smc-ultra32
#/sbin/modprobe wd
Catatan :
Selain kartu jaringan, Anda dapat memasukkan modul hardware lain yang belum dikenal oleh
kernel dengan menghilangkan tanda pagar di depan baris perintah yang akan mengenal
hardware Anda.
7. Setelah memasukkan modul kartu jaringan agar dieksekusi oleh kernel saat booting, lanjutkan
dengan memberikan nomor IP pada kartu jaringan. Caranya adalah dengan mengedit file
/etc/rc.d/rc.inet1. Jika file rc ini tidak ada, maka Anda dapat memasukkannya ke dalam
rc.local (ada di setiap distribusi), atau membuat sendiri skrip rc sejenis. Berikut contoh isi file
rc.inet1 yang telah diedit sesuai kebutuhan.
#!/bin/sh
#
# rc.inet1 This shell script boots up the base INET system.
#
# Version: @(#)/etc/rc.d/rc.inet1 1.01 05/27/93
#
HOSTNAME=`hostname`
# Attach the loopback device.
/sbin/ifconfig lo 127.0.0.1
/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo
# IF YOU HAVE AN ETHERNET CONNECTION, use these lines below to configure
the
# eth0 interface. If you're only using loopback or SLIP, don't include
the
# rest of the lines in this file.
# Edit for your setup.
IPADDR="192.168.1.1" # REPLACE with YOUR IP address!
NETMASK="255.255.255.0" # REPLACE with YOUR netmask!
#NETWORK="128.253.154.0" # REPLACE with YOUR network address!
#BROADCAST="128.253.154.255" # REPLACE with YOUR broadcast address, if
you
# have one. If not, leave blank and edit
below.
GATEWAY="192.168.1.1" # REPLACE with YOUR gateway address!
# Uncomment the line below to initialize the ethernet device.
/sbin/ifconfig eth0 ${IPADDR} broadcast ${BROADCAST} netmask ${NETMASK}
# Older kernel versions need this to set up the eth0 table:
#KVERSION=`uname -r | cut -f 1,2 -d .`
#if [ "$KVERSION" = "1.0" -o "$KVERSION" = "1.1"\
# -o "$KVERSION" = "1.2" -o "$KVERSION" = "2.0" -o "$KVERSION" = "" ];
then
# /sbin/route add -net ${NETWORK} netmask ${NETMASK} eth0
#fi
# Uncomment this to set up your gateway route:
/sbin/route add default gw ${GATEWAY} netmask 0.0.0.0 metric 1
# End of rc.inet1
Catatan :
Hanya baris yang telah dihilangkan pagarnya saja yang dieksekusi. Selain itu hanya berupa
komentar yang membantu untuk mengedit.
8. Saat booting berikutnya, kartu jaringan Anda akan dikenal oleh Kernel dan siap untuk dijalankan.
Untuk mengetesnya, Anda dapat menjalankan perintah dmesg atau ifconfig. Cara lain, jika mesin
Anda sudah tersambung ke dalam jaringan, Anda dapat mencoba ping nomor ip mesin lain
dalam jaringan.
# ping -c 5 192.168.1.2
# ifconfig
collisions:2 txqueuelen:100
collisions:0 txqueuelen:0
# ifconfig
collisions:2 txqueuelen:100
collisions:0 txqueuelen:0
Dengan demikian, kartu jaringan diganti dari nomor IP 192.168.1.1 menjadi 192.168.1.100.
Seting Kartu Jaringan melalui YaST
$ su
password:
# yast
Nama divais yang dipergunakan. Jika mampunyai kartu jaringan lebih dari satu,
dapat mengisikan secara berurutan, misal eth0, eth1 dan seterusnya.
Modul (driver) yang dipergunakan untuk kartu jaringan yang ada. Banyaknya
modul tergantung versi kernel yang dipergunakan. Jika pilihan modul tidak ada
yang sesuai dengan kartu jaringan yang Anda miliki, Anda dapat mengupgrade
kernel terbaru, atau mengunjungi situs web kartu jaringan Anda.
o Module Options
Paramater port input output yang dipergunakan. YaST akan mengisikan secara
otomatis berdasarkan modul yang dipilih.
3. Setelah disimpan, keluar dari YaST, dan cek file /etc/conf.modules untuk melihat apakah
modul kartu jaringan Anda sudah di-remark (dihilangkan karakter pagar di depan modulnya).
4. Jika modul yang dipilih sesuai dengan kartu jaringan yang dimiliki, maka kartu jaringan akan
otomatis aktif saat booting berikutnya. Untuk mengaktifkan kartu jaringan tanpa booting
(manual) jalankan perintah modprobe. Lihat seting kartu jaringan di Slackware langkah ke 4 yang
telah dibahas sebelumnya.
5. Lakukan pengetesan dengan menjalankan ping terhadap komputer lain dalam jaringan Anda.
Caranya dapat merujuk pada seting kartu jaringan sebelumnya.
$ su
password:
# linuxconf
2. Masuk ke bagian Config - Networking - Client tasks - Basic host
information.
3. Bagian hostname isikan nama host komputer Anda. Misalnya spawn.
4. Di bagian adapter 1 ;
o Klik enabled untuk mengaktifkan
o Config mode ; pilih manual.
o Primary name + domain ; isikan nama host dan domain Anda. Misalnya
spawn.heaven.or.id
o Aliases; biarkan kosong untuk seting pertama kali. Anda bisa menambahkan nantinya
jika kartu jaringan Anda sudah aktif.
o IP Address; isikan alamat IP komputer Anda. Misalnya 192.168.100.1
o Netmask; tentukan netmask berdasarkan kelas IP yang telah diisikan sebelumnya.
Biarkan kosong jika Anda tidak yakin.
o Net Device; Nama divais yang dipergunakan. Misalnya eth0
o Kernel Module; Nama modul kartu jaringan Anda. Pilih yang sesuai, misalnya ne2k-pci
untuk kartu kompatibel ne 2000.
5. Selesai dengan seting di atas klik Accept. Atau bisa ditambahkan ke pilihan Adapter 2 jika Anda
memiliki kartu jaringan lebih dari 1.
6. Saat booting berikutnya, jika modul yang dipilih sesuai maka kartu jaringan akan segera aktif.
Lakukan langkah pengetesan sebagaimana yang telah dijelaskan pada sub bab sebelumnya.
Koneksi ke Internet
Hubungan ke internet merupakah hal yang cukup esensial di Linux. Mengingat Linux tumbuh
dan berkembang lewat komunitas di Internet, maka sebagian besar fiturnya akan berjalan secara
baik jika tersambung ke internet (atau dalam skup kecil, LAN (Local Area Network). Sebut saja
layanan daemon dalam inetd, seperti telnet daemon (yang membuat mesin dapat ditelnet
mesin lain), finger daemon (memberikan informasi user kepada pihak-pihak yang dikehendaki),
ftp daemon (file transfer protocol daemon, memberikan layanan kepada komputer lain untuk
mengirimkan file ke komputer) dan sebagainya.
Keamanan juga akan terasa di Linux, saat mesin tersambung ke Internet. Aplikasi TCP
Wrapper yang memfilter setiap host yang akan mengakses komputer, lebih terasa manfaatnya
saat tersambung ke internet. Apalagi keamanan terhadap serangan virus yang bertebaran di
Internet, discretionary access control (baca di bab terakhir) di Linux memberikan perasaan aman
saat menerima sisipan email atau saat berjalan jalan di web site favorit.
Koneksi ke internet yang dibahas di sini adalah sambungan Point to Point Protocol (PPP). Lebih
sering disebut sambungan dial up. Koneksi untuk menghubungkan ke ISP. Sambungan lewat
leased line, ISDN, VSAT dan sebagainya tidak akan dibahas, sebab cakupannya terlalu luas.
Banyak program dialer yang ada di Linux. Untuk basis teks yang banyak digunakan adalah
wvdial. Sedangkan basis GUI dengan Window Manager KDE, ada KPP. Di sini yang akan
dibahas adalah prinsip menyambungkan ke internet, seting secara manual, seting untuk dial
dengan menggunakan pppsetup (skrip dialer khas Slackware), dan seting mempergunakan YaST
(WvDial) & LinuxConf. Seting dengan basis GUI tidak akan dibahas, karena setingnya
tergantung Window Manager yang dipergunakan. Untuk Anda yang sudah terbiasa
menggunakan Windows tentu akan familiar mengkonfigurasikannya meskipun tanpa bimbingan.
1. Dukungan kernel untuk ppp. Hampir semua binary kernel pada tiap distribusi
menyertakannya
2. Skrip ppp, skrip yang akan dipergunakan untuk otomatisasi koneksi.
3. Modem. Anda harus mengetahui berapa kecepatan modemnya (misal 33,6 kbps, 56,6
kbps dan sebagainya). Selain itu perlu Anda catat pada port berapa modem Anda
disambungkan ke komputer. COM1 pada DOS/Windows, adalah /dev/Cua0 atau
/dev/Tty0 di Linux. COM2 pada DOS/Windows, adalah /dev/Cua1 atau /dev/Tty1 di
Linux. Pengetahuan ini akan bermanfaat pada saat seting dialer nanti.
4. Dan tentu saja Anda membutuhkan sambungan telepon dengan account yang masih aktif
di ISP.
Koneksi Manual
1. Seting modem
Pastikan modem yang Anda miliki bukan winmodem, dan terpasang dengan baik.
Winmodem adalah modem yang beberapa fungsinya digantikan oleh software
(Windows). Modem ini biasanya jauh lebih murah dari modem biasa. Sebagian besar
internal modem adalah winmodem. Catat terlebih dahulu port modem Anda misalnya :
Pastikan /etc/hosts telah berisi nama domain Anda. Selain itu, edit file /etc/resolv.conf
Anda :
domain nama.isp.Anda
multi on
3. Buka folder/etc/ppp.
Edit file option yang ada disitu, sehingga menjadi seperti berikut (setelah pagar adalah
komentar, dan tidak dijalankan):
# /etc/ppp/options
-detach
# menggunakan modem
modem
device
lock
crtscts
defaultroute
asyncmap 0
mtu 552
552 bytes
mru 552
# memaksa pppd untuk menggunakan user name ISP sebagai 'host name'
# saat proses autentikasi.
4. Buat file/etc/ppp/pap-secret yang berisi nama user dan password Anda di ISP.
Pastikan file ini mempunyai atribut yang ketat, sehingga tidak dapat dilihat oleh user lain.
chmod file berikut ke 700
fade * linuxispower
# ping -c 5 sunsite.unc.edu
# ppp-off
Koneksi dengan menggunakan pppsetup (Slackware)
Skrip ppp setup merupakan skrip yang dibuat oleh ROBERT S. LIESENFELD dan disertakan
hampir di setiap distribusi Slackware. Untuk memanggilnya cukup ketikkan pppsetup dengan
account root.
Segera akan muncul layar pppsetup Versi 1.98, informasi pembuatnya dan kegunaannya. Tekan
Enter. Pertama kali adalah permintaan untuk mengetikkan nomor telepon ISP yang akan
dihubungi. Misalnya :
Jawab no. Call back adalah fasilitas yang memungkinkan server untuk menelepon kembali
beberapa saat setelah login. Pertanyaan selanjutnya adalah tentang init string dari modem. Tekan
enter langsung dan biarkan pppsetup memasukkan nilai standar.
Konfigurasi selanjutnya adalah nama domain dari ISP. Misal; indosat.net.id, telkom.net.id
dan sebagainya. Isikan nama domain ini, diikuti dengan nomor IP dari DNS Name Server ISP.
Jika Anda tidak yakin, tanyakanlah pada ISP Anda. Lalu akan ditanyakan metode autentikasi,
pilih PAP. Dua konfigurasi terakhir adalah username dan password Anda untuk login ke ISP.
Semua input yang diisikan selama setup ini akan disimpan dalam satu file yang berada di
/etc/ppp/pppsetup.txt (minus username dan password untuk login ke ISP). Berikut contoh
filenya :
===============================================================
You should get these docs if you don't already have them:
ftp://metalab.unc.edu/pub/Linux/docs/howto/PPP-HOWTO
ftp://metalab.unc.edu/pub/Linux/docs/faqs/PPP-FAQ
===============================================================
===============================================================
TIMEOUT 60
ABORT ERROR
ABORT BUSY
"" "AT&FH0"
OK "atdt3524001"
TIMEOUT 75
CONNECT
# This is your /etc/ppp/options file.
lock
defaultroute
noipdefault
modem
/dev/ttyS1
57600
crtscts
#debug
# If you have a default route already, pppd may require the other side
# to authenticate itself, which most ISPs will not do. To work around this,
# uncomment the line below. Note that this may have negative side effects
# on system security if you allow PPP dialins. See the docs in /usr/doc/ppp*
#noauth
passive
asyncmap 0
name "fade"
lock
defaultroute
noipdefault
modem
/dev/ttyS1
57600
crtscts
#debug
# If you have a default route already, pppd may require the other side
# to authenticate itself, which most ISPs will not do. To work around this,
# uncomment the line below. Note that this may have negative side effects
# on system security if you allow PPP dialins. See the docs in /usr/doc/ppp*
#noauth
passive
asyncmap 0
name "fade"
ipcp-accept-local
ipcp-accept-remote
0.0.0.0:10.10.10.10
demand
search cbn.net.id
nameserver 202.158.3.7
202.158.3.7 <-IMPORTANT: This should be the IP address of
Look at /etc/ppp/pap-secrets.
===============================================================
===============================================================
You'll hear and see the modem dialing then once connected,
If they use PAP or CHAP you'll just see CONNECT - got it.
if you have syslogd running, you can see the output messages
spawn # startx
spawn # ppp-go
===============================================================
===============================================================
End...
Jika saat instalasi menggunakan pilihan SuSE default, seharusnya wvdial telah terinstal. Untuk
memanggilnya lewat dua cara (keduanya dengan user root) :
Lewat yast -system administration -configure PPP network
Langsung mengetikkan wvdial.lxdialog di prompt shell.
# wvdial.lxdialog
Segera akan muncul layar WvDial V 1.20 Configuration. Berikut review dari menu yang ada :
Memilih bahasa konfigurasi WvDial. Bahasa yang tersedia adalah Bahasa Inggris,
Jerman dan Spanyol.
d. Automatic DNS (Pilih ini jika ISP Anda mendukung DNS otomatis.
Jika tidak, Anda bisa isi langsung /etc/resolv.conf lewat YaST
atau manual)
e. Dial method (Metode menelepon, menggunakan tone dial atau pulse dial)
3. Autodetectmodem
WvDial akan mencoba deteksi semua port serial untuk menemukan modem.
Jika pada pilihan sebelumnya Anda tidak mengaktifkan DNS (dalam kasus ISP tidak
mendukung DNS secara otomatis), maka Anda dapat mengkonfigurasikan di sini. Intinya
adalah menuliskan name server pada file /etc/resolv.conf
5. Run WvDial
Pernyataan dan beberapa petunjuk ringkas dari SuSE tentang penggunaan WvDial for
SuSE.
Skrip PPP di RedHat dapat dibuat secara otomatis oleh LinuxConf. Berikut cara
mengkonfigurasikannya :
1. Aktifkan LinuxConf
# linuxconf
o Hardware:
Non-aktifkan kontrol line di sini jika Anda mempunyai dua komputer dengan
sambungan langsung.
Mengganti ijin akses file dari skrip if-up dan if-down sehingga dapat dijalankan
oleh user (tidak harus root).
o Line speed:
Dengan asumsi16550 UARTS, untuk modem berkecepatan 14.4 kbps harus diset
57600 dan modem berkecepatan 28.8kbps atau lebih harus diset ke 115200.
o Modem port:
Port untuk modem. Biasanya /dev/modem, atau pada distribusi Linux yang lama
diset ke /dev/cua1 or /dev/cua2. Pada distribusi baru, diset ke /dev/ttyS0 or
/dev/ttyS1.
o PPP options:
Menambahkan parameter ekstra untuk pppd. Untuk keterangan lebih lanjut bisa
baca manual pppd. Sebagai gambaran bagaimana skrip ini dijalankan dan
memanggil pppd, dapat Anda baca pada bagian koneksi ke internet secara
manual.
o Communication:
Modem String: Biarkan kosong.
Modem dial command: ATDT untuk model tone, ATDP untuk model pulse.
Phone Number: Nomor ISP yang akan dihubungi
Debug Connection: Biarkan kosong
o Chat:
Perintah yang dijalankan lewat skrip chat. Biasanya berisi username dan
password atau keterangan konfigurasi.
o Networking:
activate interface at boot time:
Dijalankan saat boot. Aktifkan ini jika Anda memiliki sambungan yang
permanen.
set default route:
Alamat IP lokal dan remote yang diberikan secara otomatis oleh ISP.
o PAP:
4. Untuk mengatur user yang bisa menjalankan dialing, diatur lewat LinuxConf di bagian Config -
User Account- Special Accounts
5. Untuk menjalankan koneksi, jalankan skrip ifup diikuti konfigurasi PPP yang sudah ditentukan
sebelumnya. Dan untuk memutuskan, jalankan skrip ifdown. Semua konfigurasi ini disimpan di
/etc/ppp. Untuk menjalankan dengan user selain root, pastikan memakai user yang telah
diseting lewat LinuxConf - User Accounts - Special Accounts.
$ ifup ppp0
$ ifdown ppp0
IP Masquerade
IP Masquerade adalah salah satu fasilitas di Linux yang memungkinkan komputer yang tidak
memiliki nomor IP resmi dapat tersambung ke internet melewati komputer Linux. IP
Masquerade dibutuhkan jika jaringan Anda mempunyai nomor IP resmi yang lebih sedikit
daripada jumlah komputer yang ada. Selain menjembatani kekurangan nomor IP, IP
Masquerading dengan digabungkan ipchains atau ipfwadm juga dapat menjadi filter paket-paket
yang keluar masuk. Dapat diibaratkan, mesin Linux berfungsi sebagai gateway.
Untuk menjalankan IP Masquerade pada mesin Linux dengan Kernel 2.2.x, Anda
membutuhkan :
Sebelum melakukan seting IP Masquerade, pastikan bahwa mesin Linux Anda tidak berisi data-
data penting. Mesin Linux ini akan jadikan gateway, yang merupakan mesin terdepan yang
terkena sasaran jika ada penyusupan atau serangan ke dalam jaringan Anda (Baca Bab VII
tentang Keamanan Linux). Jika Anda berencanan menjadikan Linux sebagai file server, mail
server, web server atau aplikasi server yang penting lainnya, dianjurkan untuk menginstal IP
Masquerade pada mesin Linux lainnya. Anda dapat memanfaatkan mesin-mesin 486 lama yang
mungkin sekarang tersimpan di gudang.
Kompilasi Kernel
Untuk seting IP Masquerade, langkah standar pertama yang harus dilakukan adalah kompilasi
ulang kernel Anda untuk mendukung IP Masquerade. Pada binary Slackware SuSE dan RedHat
yang dipergunakan di buku ini, kompilasi kernel tidak diperlukan karena sudah otomatis
mendukung IP Masquerade.
Pilihan yang perlu dikompilasi, dengan menjawab YES pada pilihan berikut :
CONFIG_EXPERIMENTAL
CONFIG_MODULES
CONFIG_NET
CONFIG_FIREWALL
CONFIG_INET
CONFIG_IP_FORWARD
CONFIG_IP_FIREWALL
CONFIG_IP_MASQUERADE
CONFIG_IP_MASQUERADE_IPPORTFW
CONFIG_IP_MASQUERADE_IPAUTOFW
CONFIG_IP_MASQUERADE_ICMP
CONFIG_IP_ALWAYS_DEFRAG
CONFIG_DUMMY
CONFIG_IP_MASQUERADE_MFW
# make modules
# make modules_install
Catatan :
Di semua distribusi yang dibahas di buku ini, binary kernelnya sudah mendukung IP Masquerade tanpa
harus kompilasi ulang. Pedoman tentang kompilasi ini berguna saat akan memperbarui kernel yang
dimiliki. Kernel terbaru dapat diperoleh di http://www.kernel.org.
Menjalankan modul
Selesai kompilasi ulang kernel Anda, maka jalankan modul pada saat booting. Caranya,
masukkan perintah-perintah berikut ke dalam file rc.local atau skrip lainnya yang dieksekusi
saat booting. Perintah ini bergungsi untuk menjalankan modul yang tersimpan di
/var/lib/2.2.x/ipv4 atau /var/lib/2.0.x/ipv4.
/sbin/depmod -a
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_raudio
/sbin/modprobe ip_masq_irc
Setelah proses ini selesai, jalankan booting pada mesin Linux Anda, dan IP Masquerading siap
untuk dimanfaatkan.
Konfigurasi Klien
Agar klien dapat memanfaatkan Linux sebagai gateway ke internet, ada beberapa hal yang perlu
dikonfigurasikan. Berdasarkan Dokumen Linux IP Masquerade Mini HOWTO, berikut cara
mengkonfigurasikan beberapa klien dari beberapa sistem operasi. Cara ini berasumsi bahwa
mesin Linux Anda mempunyai nomor IP 192.168.1.1, Subnet 255.255.255.0.
Windows 9x
1. Instal terlebih dahulu kartu jaringan di mesin Windows 95 yang akan disetup
2. Masuk ke 'Control Panel'/'Network'.
3. Tambahkan 'TCP/IP protocol' jika Anda belum menggunakannya.
4. Di 'TCP/IP properties', klik tab 'IP Address', tentukan nomor IP 192.168.1.x, (1 < x < 255), dan
tentukan pula Subnet Mask-nya dengan nomor 255.255.255.0
5. Tambahkan 192.168.1.1 sebagai gateway di bawah tab 'Gateway'.
6. Di bawah tab 'DNS Configuration'/'DNS Server search order' tambahkan DNS yang dipergunakan
Linux (biasanya ditemukan dalam file/etc/resolv.conf). Masukkan sama persis.
7. Sebagai tambahan, Anda dapat menambahkan domain search suffix yang cocok. Tapi ini tidak
harus, kecuali Anda mempunyai seting khusus, dan Anda yakin dengan isiannya.
8. Klik 'OK' dan boot ulang komputer Anda.
9. Saat menyala kembali, ping komputer Linux Anda untuk menjalankan test terhadap sambungan
dalam jaringan. 'Start/Run', ketik: ping 192.168.1.1 (Ini adalah tes sambungan LAN, dan belum
bisa ping komputer di Internet/luar jaringan).
10. Sebagai tambahan, Anda dapat membuat file HOSTS dalam direktori Windows sehingga Anda
dapat mengunakan nama host atas komputer dalam jaringan. Sebagai contoh, bisa dilihat file
HOSTS.SAM dalam direktori Windows.
1. Install terlebih dahulu kartu jaringan pada mesin Windows For Workgroup yang akan disetup.
2. Install paket TCP/IP 32b jika Anda belum memilikinya.
3. Dalam kotak 'Main'/'Windows Setup'/'Network Setup', klik 'Drivers'.
4. Pilih 'Microsoft TCP/IP-32 3.11b' pada tab 'Network Drivers' dan klik 'Setup'.
5. Bari nomor IP 192.168.1.x (1 < x < 255), dan Subnet Mask 255.255.255.0 serta Gateway
192.168.1.1
6. Jangan pilih 'Automatic DHCP Configuration' dan tambahkan 'WINS Server' jika ada Server
Windows NT (atau mesin Samba yang berperan sebagai Windows NT. Lihat Bab tentang Samba).
7. Klik 'DNS', isikan informasi yang perlu, dan klik 'OK' jika sudah selesai.
8. Klik 'Advanced', beri tanda pada pilihan 'Enable DNS for Windows Name Resolution' dan 'Enable
LMHOSTS lookup' jika Anda menggunakan file host
9. Klik 'OK' dan boot ulang komputer Anda.
10. Saat menyala kembali, ping komputer Linux Anda untuk menjalankan test terhadap sambungan
dalam jaringan. 'Start/Run', ketik: ping 192.168.1.1 (Ini adalah tes sambungan LAN, dan belum
bisa ping komputer di Internet/luar jaringan).
Gambar 5
TCP/IP Properties di windows 9x
Windows NT
1. Install terlebih dahulu kartu jaringan pada mesin Windows NT yang akan disetup.
2. Masuk ke 'Main'/'Control Panel'/'Network'
3. Tambahkan protokol TCP/IP Protocol dan komponen lainnya dari menu 'Add Software' jika Anda
belum menggunakan protokol TCP/IP.
4. Di bawah bagian 'Network Software and Adapter Cards', pilih 'Installed Network Software' dan
klik 'TCP/IP Protocol'.
5. Pada bagian 'TCP/IP Configuration', pilih kartu jaringan yang sesuai, misalnya.[1]Novell NE2000
Adapter. Kemudian beri nomor IP 192.168.1.x (1 < x < 255), Subnet Mask to 255.255.255.0 dan
Default Gateway 192.168.1.1
6. Jangan aktifkan 'Automatic DHCP Configuration' dan berikan isian yang sesuai pada 'WINS
Server' jika Anda tergabung dalam domain Windows NT, dan Anda tahu persis apa yang Anda
kerjakan.
7. Klik 'DNS', isikan informasi yang perlu, dan klik 'OK' jika sudah selesai.
8. Klik 'Advanced', beri tanda pada pilihan 'Enable DNS for Windows Name Resolution' dan 'Enable
LMHOSTS lookup' jika Anda menggunakan file host
9. Klik 'OK' dan boot ulang komputer Anda.
10. Saat menyala kembali, ping komputer Linux Anda untuk menjalankan test terhadap sambungan
dalam jaringan. 'Start/Run', ketik: ping 192.168.1.1 (Ini adalah tes sambungan LAN, dan belum
bisa ping komputer di Internet/luar jaringan).
Sistem UNIX
1. Jika kartu jaringan belum terinstal, jalankan kompilasi ulang pada kernel, dan masukkan driver
yang sesuai (atau ikuti petunjuk pada bab sebelumnya, tentang seting kartu jaringan).
2. Install TCP/IP sebagai bagian dari perangkat jaringan jika Anda belum melakukannya.
3. Set IPADDR ke 192.168.1.x (1 < x < 255), NETMASK 255.255.255.0, GATEWAY 192.168.1.1, dan
BROADCAST 192.168.1.255. Sebagai contoh pada distribusi RedHat, Anda dapat mengedit file
/etc/sysconfig/network-scripts/ifcfg-eth0 atau langsung lewat Control Panel. (Pada
distribusi Slackware, seting nomor IP bisa dilihat pada sub bab sebelumnya, tentang kartu
jaringan).
4. Tambahkan domain name service (DNS) dan domain search suffix pada file
/etc/resolv.conf. (Jika Anda menggunakan sambungan PPP ke Penyedia Jasa Internet (PJI),
Anda dapat isikan DNS PJI Anda di sini.)
5. Update beberapa bagian pada direktori /etc/networks jika perlu. (Pada distribusi Slackware,
seting sebelumnya sudah mencukupi).
6. Restart beberapa service yang barkaitan, atau langsung boot ulang komputer Anda.
7. Saat menyala kembali, ping komputer Linux Anda untuk menjalankan test terhadap sambungan
dalam jaringan. 'Start/Run', ketik: ping 192.168.1.1 (Ini adalah tes sambungan LAN, dan belum
bisa ping komputer di Internet/luar jaringan).
1. Install terlebih dahulu kartu jaringan pada mesin DOS yang akan disetup
2. Jalankan driver yang cocok dengan kartu jaringan Anda. Misalnya kartu NE2000, ketikkan nwpd
0x60 10 0x300, jika kartu Anda diset pada IRQ 10 dan hardware address di 0x300
3. Bikin direktori baru, kemudian ekstrak paket Telnet NCSA;
pkunzip tel2308b.zip
4. Edit file config.tel dengan editor teks
5. Set myip=192.168.1.x (1 < x < 255), dan netmask=255.255.255.0
6. Dalam contoh ini, Anda harus set hardware=packet, interrupt=10, ioaddr=60
7. Minimal Anda harus mempunyai satu mesin khusus yang dipergunakan sebagai gateway,
misalnya mesin Linux:
name=default
host=namamesinlinuxAnda
hostip=192.168.1.1
gateway=1
Catatan :
Ganti isian DNS sesuai dengan yang dipergunakan Linux gateway Anda
telnet 192.168.1.1
MacOS yang menjalankan MacTCP
1. Instal terlebih dahulu kartu jaringan pada mesin MacOS yang akan disetup
2. Buka MacTCP control panel. Pilih network driver yang cocok (Ethernet, BUKAN EtherTalk) dan
klik tombol 'More...'.
3. Di bawah 'Obtain Address:', klik 'Manually'.
4. Di bawah 'IP Address:', pilih class C dari menu pop up yang muncul. Abaikan sisanya.
5. Isikan informasi yang sesuai di bawah 'Domain Name Server Information:'.
6. Di bawah 'Gateway Address:', ketikkan 192.168.1.1
7. Klik 'OK' untuk menyimpan seting. Pada menu utama Control Panel MacTCP, isikan nomor IP dari
mesin Mac Anda (192.168.1.x, 1 < x < 255) pada kotak 'IP Address:'
8. Tutup control panel MacTCP. Jika muncul kotak dialog untuk merestart komputer, jalankan.
9. Anda bisa melakukan tes sambungan jaringan dengan menjalankan ping. Jika Anda mempunyai
program freeware MacTCP Watcher, klik tombol 'Ping', dan masukkan nomor IP dari mesin Linux
gateway Anda (192.168.1.1) pada kotak dialog yang muncul (Ini adalah tes sambungan LAN, dan
belum bisa ping komputer di Internet/luar jaringan).
10. Bila perlu, Anda dapat menambahkan file Hosts dalam System Folder untuk dapat menggunakan
nama host dalam jarigan. File harus sudah ada dalam System Folder, dan terdiri atas contoh
entri yang dapat dimodifikasi tergantung kebutuhan Anda.
1. Install terlebih dahulu kartu jaringan pada mesin MacOS yang akan disetup
2. Buka TCP/IP Control Panel dan pilih 'User Mode ...' dari menu Edit. Pastikan user mode minimal
diset 'Advanced' dan klik tombol 'OK'
3. Dari menu File, pilih 'Configurations...'. Pilih konfigurasi 'Default' Anda dan klik tombol
'Duplicate...'. Tekan 'IP Masq' (atau sesuatu untuk memberitahu Anda bahwa ini adalah
konfigurasi khusus) pada kotak dialog 'Duplicate Configuration' dialog, semacam 'Default copy'.
Lalu klik tombol 'OK', dan tombol 'Make Active'
4. Pilih 'Ethernet' dari menu pop up 'Connect via:'.
5. Pilih bagian yag cocok dari menu pop up 'Configure:'. Jika Anda tidak tahu pilihan yang harus
Anda ambil, mungkin Anda harus memilih ulang konfigurasi 'Default' Anda dan berhenti. Saya
menggunakan 'Manually'.
6. Masukkan nomor IP dari mesin Mac Anda (192.168.1.x, 1 < x < 255) ke dalam kotak 'IP Address:'.
7. Ketikkan 255.255.255.0 ke dalam kotak 'Subnet mask:'.
8. Ketikkan 192.168.1.1 ke dalam kotak 'Router address:'
9. Masukkan nomor IP domain name server pada kotak 'Name server addr.'
10. Masukan nama domain Internet Anda (Misal 'microsoft.com') dalam kotak 'Starting domain
name' di bawah 'Implicit Search Path:'.
11. Prosedur berikutnya tidak harus Anda jalankan. Jika nilai yang dimasukkan tidak benar, bisa
menimbulkan perilaku aneh pada mesin Anda. Jika Anda tidak yakin, lebih baik tinggalkan saja.
12. Klik tombol 'Options...' untuk meyakinkan bahwa TCP/IP telah aktif. Bila perlu gunakan pilihan
'Load only when needed'. Jika Anda sering menjalankan aplikasi TCP/IP tanpa menyalakan ulang
komputer Anda, mungkin Anda akan temukan bahwa pilihan 'Load only when needed' dibiarkan
kosong (unchecked) akan mencegah/mengurangi akibat manajemen memori dari mesin Anda.
Dengan membiarkan pilihan tersebut kosong, protokol TCP/IP akan selalu dipergunakan dan
tersedia jika dibutuhkan. Jika dipilih, maka TCP/IP otomatis dimuat (loaded) jika dibutuhkan, dan
dihapus (un-loaded) kembali jika tidak. Proses memuat dan menghapus ini dapat menimbulkan
fragmentasi pada memori mesin.
13. Anda bisa melakukan tes sambungan jaringan dengan menjalankan ping. Jika Anda mempunyai
program freeware MacTCP Watcher, klik tombol 'Ping', dan masukkan nomor IP dari mesin Linux
gateway Anda (192.168.1.1) pada kotak dialog yang muncul (Ini adalah tes sambungan LAN, dan
belum bisa ping komputer di Internet/luar jaringan).
14. Bila perlu, Anda dapat menambahkan file Hosts dalam System Folder untuk dapat menggunakan
nama host dalam jarigan. File harus sudah ada dalam System Folder, dan terdiri atas contoh
entri yang dapat dimodifikasi tergantung kebutuhan Anda. Jika tidak, Anda dapat memperoleh
kopi file dari sistem yang menjalankan MacTCP, atau membuat sendiri (dengan mengikuti
format file /etc/hosts di Unix, sebagaimana digambarkan dalam RFC 952). Selesai Anda
membuat file tersebut, buka control panel TCP/IP, klik tombol 'Select Hosts File...' dan buka file
Hosts.
15. Klik tombol close atau pilih 'Quit' dari menu File, dan klik tombol 'Save' untuk menyimpan semua
perubahan yang telah dibuat.
16. Semua perubahan akan segera terlihat bedanya, namun lebih baik jika komputer diboot ulang.
1. Install terlebih dahulu kartu jaringan pada mesin Novell yang akan disetup.
2. Download file tcpip16.exe dari ftp.novell.com/pub/updates/unixconn/lwp5
3. edit c:\nwclient\startnet.bat
SET NWLANGUAGE=ENGLISH
LH LSL.COM
LH KTC2000.COM
LH IPXODI.COM
LH tcpip
LH VLM.EXE
F:
4. edit c:\nwclient\net.cfg
Frame ETHERNET_802.3
Frame Ethernet_II
FRAME Ethernet_802.2
VLM = CONN.VLM
VLM = IPXNCP.VLM
VLM = TRAN.VLM
VLM = SECURITY.VLM
VLM = NDS.VLM
VLM = BIND.VLM
VLM = NWP.VLM
VLM = FIO.VLM
VLM = GENERAL.VLM
VLM = REDIR.VLM
VLM = PRINT.VLM
VLM = NETX.VLM
Link Support
Buffers 8 1500
MemPool 4096
Protocol TCPIP
ip_router 192.168.1.1
5. buat file c:\bin\resolv.cfg. Isi dengan domain name server Anda. Misal :
NAMESERVER 202.158.3.7
NAMESERVER 192.168.1.2
6. Proses ini dapat dijalankan pada Novell Netware 3.1x atau 4.x.
OS/2 Warp
1. Install terlebih dahulu kartu jaringan pada mesin OS/2 Warp yang akan disetup.
2. Install protokol TCP/IP jika Anda belum melakukannya.
3. Masuk ke Program/TCP/IP (LAN) / TCP/IP Settings
4. Pada bagian 'Network' tambahkan nomor IP dan tentukan Netmask (255.255.255).
5. Di bawah 'Routing' tekan 'Add'. Set ke tipe 'default' dan ketikkan nomor IP dari mesin Linux
Gateway Anda pada kolom 'Router Address'(192.168.1.1).
6. Masukkan alamat DNS (Nameserver) yang dipergunakan Linux sebagaimana yang tercantum
dalam file 'Hosts'.
7. Tutup control panel TCP/IP. Jawab 'Yes' jika ada pertanyaan pada saat Anda menutupnya.
8. Reboot komputer Anda.
9. Jalankan ping ke komputer Linux untuk tes konfigurasi jaringan.
Untuk melakukan seting pada sistem lain, dapat menggunakan logika yang sama. Seting TCP/IP
untuk mesin yang bersangkutan, seting DNS sesuai dengan yang tertera di Linux gateway-nya
(di file /etc/resolv.conf) dan menunjuk mesin Linux sebagai gatewaynya.
Administrasi forwarding
Secara default, IP Masquerade akan meneruskan setiap permintaan dari user. Hal ini membuka
kemungkinan, semua user akan bisa memanfaatkannya tanpa batasan yang jelas. Implikasi ini
juga memudahkan pihak-pihak yang tidak dikehendaki untuk memanfaatkan IP Masquerade ini.
Untuk itu ditetapkan perlu ditetapkan kebijakan, host-host yang mana saja yang boleh
menjalankan fasilitas masquerading ini.
Dalam contoh berikut, diasumsikan nomor IP mesin Linux Anda adalah 192.168.1.1 dan
menggunakan Subnet Mask 255.255.255.0.
Netmask x Subnet
255.0.0.0 8 Kelas A
255.255.0.0 16 Kelas B
255.255.255.0 24 Kelas C
Contoh :
Rule set ini akan meneruskan setiap permintaan dari seluruh host dengan nomor ip 192.168.1.x
dan subnet mask 255.255.255.0.
Rule set di atas hanya memperbolehkan mesin dengan nomor IP 192.168.1.2 dan 192.168.1.3
yang bisa memanfaatkan IP Masquerading. Angka 24 dan subnet 255.255.255.0 mempunyai
nilai yang sama.
Anda bisa meletakkan semua kebijakan lewat IP Chains ini kedalam skrip yang dijalankan pada
saat memulai komputer (dalam /etc/rc.d atau /etc/init.d) atau meletakkannya di dalam
skrip ip-up (/etc/ppp/ip-up). Sebab semua perintah di atas jika dijalankan langsung lewat
shell, maka akan hilang begitu komputer dinyalakan kembali.
Untuk test penggunaan, sambungkan mesin Linux Anda ke internet. Jika sudah, coba buka lewat
klien beberapa layanan seperti http, smtp, pop3, irc dan sebagainya. Untuk ujicoba pertama kali,
usahakan memakai nomor IP terlebih dahulu. Misal http://202.154.1.3 dan seterusnya. Jika
berhasil, maka Anda bisa mengganti permintaan dengan Domain Name System (DNS). Misalnya
memanggil langsung http://www.yahoo.com.
Ringkasan
Dalam bab ini telah Anda pelajari, beberapa konfigurasi dasar untuk memanfaatkan Linux ke
dalam jaringan. Meskipun pengenalan hardware lain, seperti kartu suara, kartu VGA tidak
dibahas disini, namun Anda bisa menggunakan prinsip yang sama dalam pengenalannya. Kenali
hardware yang dimiliki (seperti nomor seri dan jenisnya), cari modul yang tepat, dan jalankan
modul tersebut untuk mengenali hardware.
Dapat Anda rasakan sendiri bahwa Linux memotivasi penggunanya untuk mengenali hampir
setiap hardware yang dimiliki. Hal ini akan memudahkan untuk mengetahui bagaimana sistem
bekerja, dan bagaimana mengadministrasi Linux secara maksimal.
Samba merupakan aplikasi Unix yang memanfaatkan protokol SMB (Server Message Block).
Sebagian sistem operasi memanfaatkan SMB dalam komunikasi client-server-nya, termasuk
Windows dan OS/2. Samba memungkinkan mesin Linux berkomunikasi dengan mesin
Windows/Dos atau OS/2. Dengan Samba Anda dapat menggunakannya untuk :
Oleh sebab itu lewat Samba, Anda dapat membuat server dengan klien produk Microsoft
Windows, dengan layanan :
Samba dibuat dan disusun pertama kali olehANDREW TRIDGELL. Pada bulan Desember 1991 Ia
menerima program eXcursion dari Digital. Sayangnya program tersebut hanya bekerja dengan
'pathworks' ke mesin VMS atau ultrix, yang memaksanya untuk mempelajari bagaimana file
dikomunikasikan. Setelah sekian lama mencoba, akhirnya Ia berhasil memasukkan salah satu
direktori dari mesin Digital ke dalam 'pathworks' DOS di rumahnya. Setahun kemudian Andrew
telah memasuki komunitas Linux (atas ajakan DAN SHEARER), dan pada Desember 1993 Ia
mengeluarkan "NetBIOS for Unix". Dengan menggunakan mailing list, program ini
dikembangkan bersama-sama hingga menjadi Samba Team sebagaimana sekarang.
Saat ini Samba dikembangkan sebagai bagian dari Open Source Software (Software yang
memberikan kode sumbernya) dan didistribusikan dibawah lisensi GNU. Proyek
pengembangannya masih tetap berjalan hingga sekarang dikoordinasikan oleh ANDREW
TRIDGELL dari rumahnya di Canberra dengan tim tersebar di seluruh dunia.
Catatan :
Protokol adalah bahasa standar yang dipergunakan komputer untuk dapat berkomunikasi satu
sama lain.
Aplikasi Samba biasanya dijalankan sebagai daemon. Dua aplikasi utamanya adalah :
1. smbd
Daemon yang memberikan layanan berbagi file dan printer dalam sebuah jaringan yang
menggunakan protokol SMB. Smbd juga memberikan otentikasi dan otorisasi bagi
kliennya.
2. nmbd
Daemon yang memanfaatkan Windows Internet Name Service (WINS), dan membantu
klien untuk browsing di network neighborhood.
Domain Controller
Seperti yang telah disinggung di awal bab ini, Microsoft menerapkan protokol SMB. Mereka
memberinya nama CIFS (Common Internet File System). Dalam membatasi lingkungannya,
dipergunakan konsep Windows domain, yakni kumpulan workstation yang menjalankan protokol
SMB. Dalam satu domain ada sebuah Domain Controller. Tiap Domain Controller
menggunakan Security Account Manager (SAM) untuk menyimpan daftar kombinasi username
dan password.
Dalam sebuah domain, domain controller bisa lebih dari satu. Primary Domain Controller
(PDC) adalah domain controller yang memberikan layanan sehari hari. Sebagai cadangannya,
dipasang sebuah Back up Domain Controller (BDC). Secara periodik, PDC dan BDC akan
melakukan sinkronisasi Security Account Manager (SAM). Tiap saat PDC mengalami crash,
BDC sudah siap mengambil alih. Jaringan akan tetap berjalan seperti biasa.
Saat sebuah komputer dalam domain dinyalakan, maka mesin tersebut mengirimkan pesan secara
broadcast (kepada seluruh komputer yang ada dalam jaringan) dan mendeklarasikan dirinya
dengan nama dari NetBIOS. Proses ini dinamakan name registration. Jika tidak ada bentrok
dengan mesin yang lain, maka nama tersebut dipergunakan. Nama inilah yang muncul pada saat
user browsing di network neighborhood.
Pada saat mendeklarasikan namanya dalam sebuah jaringan, mesin juga melayani name
resolution. Name resolution adalah sebuah proses yang menerjemahkan nama NetBIOS ke dalam
nomor IP tertentu. Baik name resolution maupun name registration bekerja berdasarkan
standarisasi yang dibuat oleh IETF (Internet Engineering Task Force) tahun 1987. Semuanya
dituangkan dalam RFC (Request For Comments) 1001 dan 1002. Standarisasi ini dikenal dengan
NetBIOS over TCP/IP, atau NBT. Pada prinsipnya, NBT memberikan tiga layanan :
Datagram dan session merupakan protokol komunikasi kedua yang dipergunakan untuk transmisi data
antar mesin dalam sebuah jaringan.
Name Resolution, dan Name Registration, selain dijalankan secara broadcast, juga dapat
dideklarasikan secara terpusat. Dalam hal ini dibuat sebuah NetBIOS Name Server (NBNS). Saat
mesin dinyalakan, langsung mendaftarkan dirinya ke NBNS nama dan nomor IP. Ketika
komputer lain mencari nama mesin dari sebuah IP, maka permintaan tidak dilakukan secara
broadcast melainkan langsung ke NBNS. NBNS akan mencocokkan dengan nama mesin yang
telah terdaftar, kemudian memberikan jawaban. Proses ini tentu lebih mengurangi lalu lintas data
dalam jaringan, dibandingkan dengan proses broadcast.
WINS adalah penerapan NBNS oleh Microsoft. Jika dalam domain ada server WINS, maka
komputer tersebut tidak mengirimkan atau menerima sinyal secara broadcast, melainkan
mendaftarkan nama NetBIOS-nya ke server WINS. Server ini akan menyimpan nama semua
mesin yang telah mendaftarkan mesinnya, dan membantu user saat browsing di network
neighborhood.
Master Browser
Jika Anda memakai Windows 95/98, dan membuka network neighborhood, maka di situ terlihat
daftar nama komputer, dan beberapa direktori yang dishare. Daftar ini dibuat dan dipelihara oleh
master browser. Sebagaimana yang telah dipelajari sebelumnya, saat komputer dinyalakan, maka
akan mengirimkan pesan secara broadcast ke dalam jaringan. Saat itulah, akan terjadi pemilihan
komputer mana yang akan menjadi master bowser. Pemilihan ini disebut browsing election.
Kemudian, master browser akan memberikan daftar nama mesin dan resource share-nya kepada
setiap komputer yang meminta.
Master browser dalam satu subnet disebut local master browser. Pendukungnya disebut backup
local master. Mengingat browsing election dapat terjadi setiap saat, maka backup local master
dapat beralih fungsi sebagai local master browser kapan saja. Ini bisa terjadi jika misalnya mesin
local master browser sebelumnya diboot atau mati.
Selain memberikan daftar nama komputer yang bisa diakses (browse list) dalam satu subnet,
master browser juga melayani browse list pada lingkup domain, bahkan antar domain. Ini
disebut Domain Master Browser. Pada saat-saat tertentu, Domain Master Browser dan Local
Master Browser melakukan sinkronisasi daftarnya. Hal ini memungkinkan user memperoleh
daftar nama komputer dan share resources terbaru.
Otentikasi
Model otentikasi di sistem Windows berbeda dengan sistem Unix. Di Windows (sejak Windows
95 SMB Update dan Windows NT 4.0 setelah Service Pack 3), password dikirimkan dalam
bentuk enkripsi, sedangkan Unix mengirimkannya dalam bentuk teks biasa. Selain itu, Windows
menyimpan passwordnya ke dalam sebuah file, sedangkan Unix tidak.
Untuk lebih jelasnya, bagaimana otentikasi di Windows berjalan, digambarkan dalam langkah
berikut :
1. Komputer mencoba menegosiasikan sebuah session lewat satu protokol kepada server
2. Server memberikan respon sebagai tanda bahwa server tersebut mendukung sistem password
terenkripsi.
3. Server mengirimkan 8 byte string yang dibuat secara acak.
4. Komputer menggunakan string tersebut sebagai kunci untuk mengenkripsikan password yang
sudah terenkripsi dengan algoritma yang telah didefinisikan sebelumnya pada saat negosiasi
protokol. Hasilnya dikirim ke server.
5. Server juga menggunakan string tersebut untuk menenkripsi password yang disimpan dalam
database. Jika hasilnya sama dengan yang dikirimkan user, maka user tersebut memperoleh
otentikasi, dan sebaliknya.
6. Samba
Fasilitas Samba
Samba dapat dimanfaatkan untuk menjalankan semua fasilitas dari Microsoft sebagaimana yang
telah disampaikan di atas. Samba dapat berfungsi sebagai Master Browser, baik Local Master
Browser maupun Domain Master Browser. Samba juga dapat berfungsi sebagai Primary
Domain Controller. WINS Server juga sudah didukung oleh Samba. Sedangkan untuk otentikasi,
Samba mendukung teks biasa (plain text) password maupun password terenkripsi (encrypted
passwod)
File Server Ya
Printer Server Ya
Distribusi Samba
Samba yang disertakan dalam tiap distribusi Linux, biasanya berbentuk binary, merupakan
kumpulan aplikasi yang bergantung satu sama lain. Suite Samba tersebut adalah :
1. smbd
Daemon yang memberikan layanan berbagi file dan printer dalam sebuah jaringan yang
menggunakan protokol SMB. Smbd bertanggung jawab terhadap seluruh aktifitas antara
Samba Server dan klien dalam jaringan. Hal ini termasuk memberikan otentikasi dan
otorisasi bagi kliennya.
2. nmbd
Daemon yang memanfaatkan Windows Internet Name Service (WINS), dan membantu
klien untuk browsing di network neighborhood. Daemon ini melayani permintaan name
server dan memberikan respon yang sesuai.
3. smbclient
Klien dengan tampilan mirip ftp untuk mengakses SMB resource share (mengakses share
files)
4. smbtar
5. nmblookup
Program yang membantu mencari nama (names lookup) dengan memanfaatkan NetBIOS
over TCP/IP. Nmblookup dapat digunakan untuk meresolve dari nama komputer ke
nomor IP dan sebaliknya.
6. smbpasswd
7. smbstatus
Program yang memonitor status terakhir dari share resources yang diberikan oleh Server
Samba.
8. testparm
Program kecil untuk melakukan proses debug (memeriksa parameter) terhadap file
konfigurasi Samba (smb.conf)
9. swat
Samba Web Administration Tool, program bantu yang memberikan interface model web
untuk mengadministrasi Samba. SWAT mempermudah edit smb.conf (file konfigurasi
Samba) mengatur resource share, melihat status Samba terakhir, dengan dukungan file
help yang sangat bermanfaat.
Instalasi Samba
Instalasi Samba dari kode sumber
Untuk Slackware, Binary Samba Versi 2.6 secara default sudah diinstal pada saat instalasi awal.
Untuk mengecek apakah Slackware Anda sudah ada Samba atau belum, bisa dilakukan dengan
cara :
$ whereis smbd
$ whereis nmbd
Atau cek file rc yang menginisialisasi Samba (rc.samba) pada saat booting :
$ cd /etc/rc.d
etc/rc.d $ ls -l
Jika tidak ditemukan, Anda dapat menginstall lewat CD dengan pkgtool. Beberapa catatan
tentang Binary Samba yang disertakan dalam distribusi Slackware, akan dibahas pada akhir
bagian intstalasi. Untuk instalasi secara umum, dapat dilakukan dengan cara sebagai berikut :
Daftar server yang menyediakan distribusi Samba dapat dilihat di ftp.samba.org atau
http://www.samba.org. Mirror server tersedia hampir seluruh dunia dan Anda dapat
memilih yang terdekat. File yang harus didownload adalah :
samba-versi-terakhir.tar.gz
Saat buku ini ditulis versi terakhir dari Samba adalah 2.0.7 (samba-2.7.0.tar.gz).
2. Ekstraksi file
File yang Anda download masih berupa tar ball yang dikompress. Untuk
mengekstraknya, Anda dapat jalankan langkah :
$ mkdir /usr/local/src
$ cp samba*.tar.gz /usr/local/src
Pengguna Linux pada umumnya menggunakan direktori /usr/local untuk menyimpan semua
pogram baru. Direktori ini biasanya mempunyai struktur direktori root seperti
/usr/local/bin, /usr/local/etc, /usr/local/docs. Dalam lingkungan jaringan,
direktori ini biasanya diset untuk dapat ditulis oleh beberapa user dan dieksekusi oleh semua
user.
3. Baca Dokumentasi
README
WHATSNEW.txt
Docs/textdocs/UNIX_INSTALL.txt
4. Konfigurasi Samba
Sebagaimana proses standar dalam instalasi aplikasi berbentuk source di Linux, mulai
dengan configure. Jalankan semua proses instalasi sebagai root, atau Anda akan terima
pesan :
Menjalankan proses instalasi dengan user root akan lebih memastikan aplikasi Samba
terinstal dengan baik.
/usr/local/src$ su -
password :
/usr/local/src/samba-2.0.7# ./configure
/usr/local/src/samba-2.0.7# make
Selesai proses instalasi, Samba akan menyimpan filenya dalam beberapa direktori di
dalam direktori utama /usr/local/samba
Table: Direktori Samba
Direktori Keterangan
/usr/local/samba/man Dokumentasi
Instal SWAT
Selesai kompilasi dan instal program, Aktifkan SWAT untuk membantu dalam administrasi
Samba. Fitur SWAT yang dapat dimanfaatkan dalam administrasi mencakup :
ing untuk diingat jika Anda mengakses SWAT secara remote, password untuk mengadministrasi Samba
dikirim dengan format teks biasa. Jika host yang dilewati memasang sniffer, maka hal ini akan
membahayakan jaringan Anda. Gunakan administrasi SWAT secara remote seminimal mungkin.
2. Tambahkan baris berikut kedalam file /etc/inetd.conf. Terlebih dahulu cek manual untuk
inetd.conf ini guna melihat format yang benar untuk memastikan baris berikut dapat berjalan
Precompiled binary Samba yang ada pada distribusi Slackware mempunyai direktori yang
berbeda dari sumber yang didownload atau Samba yang masih berbentuk kode sumber.
Perbedaan ini terletak pada direktori di mana Samba disimpan. Berikut perbandingannya :
Tabel l 7
Perbandingan letak Binary Samba hasil kompilasi sendiri dengan paket default yang disertakan pada
masing-masing distribusi.
Dengan demikian, jika Anda menginstal Samba langsung pada saat instalasi awal atau instal di kemudian
hari dengan menggunakan binary dari masing-masing distribusi, Anda harus menyesuaikan diri dengan
direktori tersebut.
Administrasi Samba
Konfigurasi Samba
Samba memiliki banyak sekali parameter yang yang harus disetup untuk dapat menjalankannya
secara maksimal. File konfigurasi tersebut adalahsmb.conf. Biasanya terletak di :
/etc atau
/usr/local/samba/lib
Jika Anda belum melakukan sesuatu pada file smb.conf, maka file tersebut biasanya bernama
smb.conf-default. Anda harus tetap menyimpan file ini, sehingga jika nantinya ada kekeliruan dalam
konfigurasi, Anda masih punya backup yang menyimpan semua parameter standar.
# cd /etc
# pico smb.conf-default
Tekan Ctrl-O dan ketik smb.conf untuk menyimpan file default kedalam file konfigurasi. Tekan Ctrl-
X untuk keluar dari pico. Untuk mensetup Samba, Anda dapat mengedit file smb.conf lewat dua cara :
1. Dengan akses root, edit langsung dengan teks editor, atau;
2. Lewat SWAT. Anda cukup memanggilnya dengan browser ke http://localhost:901
Catatan :
Administrasi samba secara remote lewat SWAT dilakukan dengan memanggil nomor IP mesin Samba
yang bersangkutan di port 901. Misal http://192.168.11.1:901
Perlu diingat bahwa mengedit file smb.conf lewat SWAT akan menghilangkan komentar komentar yang
ada di dalamnya. Berikut contoh perbandingannya.
# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options (perhaps too
# many!) most of which are not shown in this example
# Any line which starts with a ; (semi-colon) or a # (hash)
# is a comment and is ignored. In this example we will use a #
# for commentry and a ; for parts of the config file that you
# may wish to enable
# NOTE: Whenever you modify this file you should run the command "testparm"
# to check that you have not many any basic syntactic errors.
#================== Global Settings ========================
[global]
# workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2
workgroup = MYGROUP
# server string is the equivalent of the NT Description field
server string = Samba Server
# This option is important for security. It allows you to restrict
# connections to machines which are on your local network. The
# following example restricts access to two C class networks and
# the "loopback" interface. For more examples of the syntax see
# the smb.conf man page
; hosts allow = 192.168.1. 192.168.2. 127.
# If you want to automatically load your printer list rather
# than setting them up individually then you'll need this
load printers = yes
# you may wish to override the location of the printcap file
; printcap name = /etc/printcap
# on SystemV system setting printcap name to lpstat should allow
# you to automatically obtain a printer list from the SystemV spool
# system
; printcap name = lpstat
# It should not be necessary to specify the print system type unless
# it is non-standard. Currently supported print systems include:
# bsd, sysv, plp, lprng, aix, hpux, qnx
; printing = bsd
# Uncomment this if you want a guest account, you must add this to /etc/passwd
# otherwise the user "nobody" is used
; guest account = pcguest
# this tells Samba to use a separate log file for each machine
# that connects
log file = /var/log/samba.%m
# Put a capping on the size of the log files (in Kb).
max log size = 50
# Security mode. Most people will want user level security. See
# security_level.txt for details. NOTE: To get the behaviour of
# Samba-1.9.18, you'll need to use "security = share".
security = user
# Use password server option only with security = server
; password server = <NT-Server-Name>
# You may wish to use password encryption. Please read
# ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba documentation.
# Do not enable this option unless you have read those documents
; encrypt passwords = yes
# Using the following line enables you to customise your configuration
# on a per machine basis. The %m gets replaced with the netbios name
# of the machine that is connecting
; include = /usr/local/samba/lib/smb.conf.%m
# Most people will find that this option gives better performance.
# See speed.txt and the manual pages for details
socket options = TCP_NODELAY
# Configure Samba to use multiple interfaces
# If you have multiple network interfaces then you must list them
# here. See the man page for details.
; interfaces = 192.168.12.2/24 192.168.13.2/24
# Browser Control Options:
# set local master to no if you don't want Samba to become a master
# browser on your network. Otherwise the normal election rules apply
; local master = no
# OS Level determines the precedence of this server in master browser
# elections. The default value should be reasonable
; os level = 33
# Domain Master specifies Samba to be the Domain Master Browser. This
# allows Samba to collate browse lists between subnets. Don't use this
# if you already have a Windows NT domain controller doing this job
; domain master = yes
# Preferred Master causes Samba to force a local browser election on startup
# and gives it a slightly higher chance of winning the election
; preferred master = yes
# Use only if you have an NT server on your network that has been
# configured at install time to be a primary domain controller.
; domain controller = <NT-Domain-Controller-SMBName>
# Enable this if you want Samba to be a domain logon server for
# Windows95 workstations.
; domain logons = yes
# if you enable domain logons then you may want a per-machine or
# per user logon script
# run a specific logon batch file per workstation (machine)
; logon script = %m.bat
# run a specific logon batch file per username
; logon script = %U.bat
# Where to store roving profiles (only for Win95 and WinNT)
# %L substitutes for this servers netbios name, %U is username
# You must uncomment the [Profiles] share below
; logon path =\\%L\Profiles\%U
# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server
; wins support = yes
# WINS Server - Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
; wins server = w.x.y.z
# WINS Proxy - Tells Samba to answer name resolution queries on
# behalf of a non WINS capable client, for this to work there must be
# at least one WINS Server on the network. The default is NO.
; wins proxy = yes
# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
# via DNS nslookups. The built-in default for versions 1.9.17 is yes,
# this has been changed in version 1.9.18 to no.
dns proxy = no
#====================== Share Definitions ================
[homes]
comment = Home Directories
browseable = no
writable = yes
# Un-comment the following and create the netlogon directory for Domain Logons
; [netlogon]
; comment = Network Logon Service
; path = /usr/local/samba/lib/netlogon
; guest ok = yes
; writable = no
; share modes = no
# Un-comment the following to provide a specific roving profile share
# the default is to use the user's home directory
;[Profiles]
; path = /usr/local/samba/profiles
; browseable = no
; guest ok = yes
# NOTE: If you have a BSD-style print system there is no need to
# specifically define each individual printer
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
# Set public = yes to allow user 'guest account' to print
guest ok = no
writable = no
printable = yes
# This one is useful for people to share files
;[tmp]
; comment = Temporary file space
; path = /tmp
; read only = no
; public = yes
# A publicly accessible directory, but read only, except for people in
# the "staff" group
;[public]
; comment = Public Stuff
; path = /home/samba
; public = yes
; writable = yes
; printable = no
; write list = @staff
# Other examples.
#
# A private printer, usable only by fred. Spool data will be placed in fred's
# home directory. Note that fred must have write access to the spool directory,
# wherever it is.
;[fredsprn]
; comment = Fred's Printer
; valid users = fred
; path = /homes/fred
; printer = freds_printer
; public = no
; writable = no
; printable = yes
# A private directory, usable only by fred. Note that fred requires write
# access to the directory.
;[fredsdir]
; comment = Fred's Service
; path = /usr/somewhere/private
; valid users = fred
; public = no
; writable = yes
; printable = no
# a service which has a different directory for each machine that connects
# this allows you to tailor configurations to incoming machines. You could
# also use the %U option to tailor it by user name.
# The %m gets replaced with the machine name that is connecting.
;[pchome]
; comment = PC Directories
; path = /usr/pc/%m
; public = no
; writable = yes
# A publicly accessible directory, read/write to all users. Note that all files
# created in the directory by users will be owned by the default user, so
# any user with access can delete any other user's files. Obviously this
# directory must be writable by the default user. Another user could of course
# be specified, in which case all files would be owned by that user instead.
;[public]
; path = /usr/somewhere/else/public
; public = yes
; only guest = yes
; writable = yes
; printable = no
# The following two entries demonstrate how to share a directory so that two
# users can place files there that will be owned by the specific users. In this
# setup, the directory should be writable by both users and should have the
# sticky bit set on it to prevent abuse. Obviously this could be extended to
# as many users as required.
;[myshare]
; comment = Mary's and Fred's stuff
; path = /usr/somewhere/shared
; valid users = mary fred
; public = no
; writable = yes
; printable = no
; create mask = 0765
# Samba config file created using SWAT
# from localhost (127.0.0.1)
# Date: 2000/02/28 11:50:17
# Global parameters
workgroup = SURGA
netbios name = SPAWN
server string = Mail Server Gateway
encrypt passwords = Yes
map to guest = Bad User
log file = /var/log/samba.%m
max log size = 50
socket options = TCP_NODELAY
local master = Yes
dns proxy = No
[printers]
comment = All Printers
path = /var/spool/samba
print ok = Yes
browseable = No
[test]
comment = testing doang neh...
path = /win
read only = No
guest ok = Yes
LinuxConf pada RedHat memasukkan Samba sebagai bagian server yang dapat diadministrasi
olehnya. Konfigurasi Samba lewat LinuxConf dapat dilakukan dengan cara sebagai berikut :
# testparm
5. Jika semua sintaks dan parameter diset dengan benar, dan testparm tidak menyampaikan pesan
kesalahan, Anda dapat restart ulang smbd lewat skrip samba.
# /sbin/samba restart
Level Keamanan (Security Level)
Keamanan merupakan isu yang penting dalam Samba. Perlu diingat bahwa UNIX mempunya
atribut file yang berbeda dengan Windows. Selain itu perlakuan untuk tiap user yang ketat dalam
Unix membuat Samba harus menerjemahkannya dalam pilihan-pilihan yang dapat ditentukan
oleh administrator secara fleksibel.
Pembahasan tentang struktur dan atribut file terlalu teknis untuk dicakup dalam buku ini. Namun
ada bagian penting dari file smb.conf yang harus diketahui sebelum melakukan konfigurasi,
yakni tingkat keamanan (security level).
Level keamanan ini membedakan bagaimana Samba memperlakukan pemakai pada saat
otentikasi. Pilihan tingkat keamanan di Samba terdiri dari tiga :
1. Share-level security
Setiap file yang dibagi (share) ke dalam workgroup memiliki password sendiri-sendiri.
Hak akses tergantung masing-masing password, dan hanya pemakai yang tahu
passwordnya saja yang dapat mengakses file bersangkutan.
2. User-level security
Setiap file yang dibagi (share) ke dalam workgroup ditentukan berdasarkan nama
pemakai atau group. Jika ada user yang akan mengakses suatu file yang dibagi, maka
Samba akan melakukan pencocokan terhadap username dan passwordnya.
3. Server-level security
Hampir sama dengan user level security, kecuali bahwa Samba menggunakan SMB
server yang berbeda sebelum memberikan hak akses. Misalnya dalam satu domain ada
satu mesin Windows NT dan satu mesin Samba, dengan server level security, Samba
akan meneruskan verifikasi kepada mesin NT sebelum memberikan otentikasi.
4. Domain-level security
Samba menjadi anggota dalam sebuah domain Windows dan menggunakan PDC
(Primary Domain Controller) untuk memberikan otentikasi. Setelah satu kali otentikasi,
Samba akan memberikan ijin untuk akses terhadap semua direktori/file yang dibagi
dengan hak akses sesuai dengan yang telah ditentukan. Dalam arti bahwa Samba tidak
harus verifikasi ulang tiap kali pemakai membuka file yang berbeda.
1. Tambahkan nama mesin Samba ke dalam database SAM di Windows NT. Penambahan
dilakukan lewat Server Manager (atau lengkapnya Windows NT Server Manager for
Domains). Saat ditanyakan tipe komputer, pilih 'Windows NT Workstation or Server' dan
berikan NetBIOS Name dari Samba Server. NetBIOS name ini dapat Anda tentukan
secara bebas pada smb.conf. Proses ini membuat Samba terdaftar dalam server NT.
2. Langkah kedua, membuat password dalam format Microsoft. Sebagai contoh nama mesin
PDC Windows NT adalah spawn, dengan domain surga, ketikkan baris berikut :
[global]
security = domain
workgroup = SURGA
Catatan :
Pastikan semua user yang telah terdaftar di PDC, tercatat semua sebagai user Linux. Buat
sebagai dumb account jika Anda memang tidak menginginkannya sebagai user mesin Linux
Anda. Jika tidak, maka semua user tidak akan bisa login (meskipun telah terdaftar di Windows
NT lewat 'User Manager for Domain'), kecuali user yang telah terdaftar di Linux.
Ada beberapa klien Windows, tapi tidak ada Mesin Windows NT sebagai server.
Ada beberapa klien Windows, dan ada mesin Windows NT yang sebelumnya sebagai
server, tapi Anda sebagai network administrator ingin menggantinya.
Perlu diingat bahwa fungsi utama keberadaan server sebagai domain logon bagi klien Windows,
hanyalah memberikan batasan atas sumber daya yang dibagi (share resources) dengan
menentukan siapa-siapa saja yang boleh mengakses (user level access control).
Untuk mengkonfigurasikan Samba sebagai domain logon (domain controller) Anda harus
pastikan terlebih dahulu bahwa :
[global]
workgroup = SURGA
security = user
os level = 34
Setelah itu buat satu direktori yang akan dibagi dengan nama [ netlogon ]. Direktori ini harus
diset non-writable, non-public, dan non-browseable. Pada bagian share (yang akan dibahas lebih
detail pada bagian berikut), tambahkan :
[netlogon]
path = /usr/local/share/logon
public = no
writable = no
browsable = no
Setelah itu klien diseting sebagaimana klien dari Windows NT. Pada Network Neighborhood,
klik kanan, pilih properties dan pada Client for Microsoft Network Properties, aktifkan Log on to
Windows Domain, dan sebagai Nama Domainnya isikan Workgroup name yang ditentukan
dalam file smb.conf.
Untuk Windows NT, diset lewat properties Network configuration pada Control Panel. Pada Tab
pertama yang berisi identifikasi nama komputer, tekan tombol change. Pilih member of domain
dan ketikkan nama domainnya. Misal SURGA.
1. Global
2. Share
Menentukan sumber daya yang akan dibagi. Pembagian folder untuk bisa diakses oleh
user lain dalam Samba kaya akan pilihan.
Untuk seting file yang akan dibagi, dilakukan di bagian share. Secara umum, bentuk pilihan file
yang akan dibagi adalah :
[ nama share ]
guest ok = dapat diakses oleh user yang tidak dikenal atau tidak (boolean)
path = /win
read only = No
guest ok = Yes
Selain direktori, Samba juga memberikan sumber dayanya untuk dibagi. Misalnya printer.
[printers]
path = /var/spool/samba
print ok = Yes
browseable = No
Selain pilihan default diatas, Samba meberikan banyak sekali pilihan-pilihan dalam membagi file
dan sumber daya. Jika Anda mengkonfigurasikan lewat SWAT, pada bagian share, and bisa pilih
advance share untuk mencoba pilihan-pilihan yang ada.
Ringkasan
Samba merupakan program bermanfaat yang mampu menembus sebuah sistem tertutup,
memanfaatkannya dan dikeluarkan dalam sebuah program stabil yang terbuka untuk semua
orang. Sebagai program yang gratis, Samba merupakan pilihan bagi perusahaan-perusahaan kecil
yang ingin membangun jaringan yang cukup handal dengan biaya murah.
Server DNS
DNS (Domain Name System) pada prinsipnya merupakan sebuah database yang berisi daftar
informasi host. Pada awalnya, di tahun 1970, ARPAnet (proyek eksperimental dari Advanced
Research Projects Agency untuk komunitas jaringan komputer, merupakan cikal bakal dari
Internet yang ada sekarang), mempunyai sebuah file HOSTS.TXT (semacam file /etc/hosts).
File tersebut berisi daftar seluruh nama komputer yang menjadi anggota komunitas. Dengan
semakin berkembangnya jumlah komputer yang tersambung, daftar ini menjadi semakin besar
dan sulit untuk diadministrasikan. Lalu pada tahun 1984, PAUL MOCKAPETRIS mengusulkan
sistem penamaan domain (DNS) yang dituangkan dalam RFC 882 dan RFC 883.
Struktur database DNS mempunyai kemiripan dengan sistem file yang ada di UNIX/Linux. Jika
dalam sistem file UNIX memiliki direktori root (/) kemudian dibawahnya ada direktori usr
(/usr), bin (/bin) dan seterusnya, maka dalam struktur database DNS juga memiliki root (.),
kemudian com (com.), net (net.) dan seterusnya.
Untuk memahami bagaimana DNS bekerja, misalkan dengan browser anda buka
http://spawn.heaven.or.id. Pertama kali yang dilihat adalah file /etc/resolv.conf untuk
mencari alamat name server komputer yang bersangkutan. Setelah terhubung, name server akan
meneruskan ke database root (.) untuk mencari server yang bertanggung jawab terhadap
domain id.. Dari name server yang mengadministrasi domain id, pencarian dilanjutkan dengan
mencari nama server untuk or. Seterusnya dari database name server untuk or, mencari alamat
nama server untuk domain heaven. Dan akhirnya name server heaven akan memberikan
informasi mesin yang menggunakan nama spawn dalam domainnya. Semuanya dilakukan dalam
waktu yang relatif cepat, tergantung jenis koneksinya.
browser
Komponen DNS
DNS ini mempunyai beberapa komponen, yaitu :
Resolver
ialah bagian aplikasi klien yang mengakses name server. Semua program yang membutuhkan
DNS, memakai resolver. Proses resolving :
Resolver akan menjawab dengan dua cara yaitu melihat isi dari cache yang pernah ditanyakan
sebelumnya, serta menanyakan kepada DNS Server untuk mendapatkan hasilnya. Resolver yang biasa
dipergunakan untuk mencari informasi tentang DNS adalah nslookup.
Resolution
Dalam menjawab permintaan terhadap sebuah domain, name server akan mencari name server
yang bertanggung jawab terhadap domain yang diminta (lihat sub bagian sebelumnya tentang
bagaimana DNS bekerja). Selain mencari, name server juga memberikan informasi tentang
server yang bersangkutan. Proses ini disebut name resolution, atau disingkat resolution.
Caching
Setiap permintaan terhadap sebuah domain, memaksa name server untuk mengakses
databasenya, dan mencari name server yang bertanggung jawab. Untuk itu name server
melakukan caching terhadap domain-domain yang pernah diminta. Karena tidak bisa dicaching
untuk selamanya, maka name server mendefinisikannya dengan Time to Live (TTL).
Konfigurasi Domain Name Server
Software untuk implementasi DNS yang banyak digunakan adalah BIND (Berkeley Internet
Name Domain) yang pertama kali disebut dengan JEEVES dibuat oleh PAUL MOCKAPETRIS.
Terakhir implementasi BIND untuk Operating sistem Unix Berkeley 4.3BSD, oleh KEVIN
DUNLAP. Versi terakhir saat buku ini ditulis adalah BIND versi 8.1.2.
Pada sebagian distribusi besar, BIND telah diinstal bersamaan dengan instalasi awal. Yang
dibutuhkan hanyalah mengkonfigurasikan dan mengaktifkannya. Untuk BIND versi terbaru
dapat diperoleh di
http://www.isc.org atau ftp.isc.org dalam direktori /isc/bind/src.
Konfigurasi BIND v8
Pertama kali yang dilakukan adalah seting data untuk DNS. Dalam contoh berikut kita
menggunakan nama ut. Anda bisa mendefinisikan sendiri untuk penamaan yang mudah diingat.
Berikut contoh nama file yang dibutuhkan :
1. /etc/resolv.conf
2. /etc/named.conf
3. File DNS resource record, yang terdiri
o /var/named/root.cache
o /var/named/named.local
o /var/named/ut.zone
o /var/named/ut.rev
DNS resource record adalah file database yang dibutuhkan oleh name server dalam menjalankan
tugasnya. File ini dapat dibuat sesuai dengan kebutuhan. Hal yang perlu diingat adalah urutan
kebutuhan resource record, yakni :
SOA record
NS Record
Other records,
Adalah file yang berisi informasi alamat domain atau alamat IP dari name server. File ini diakses
pertama kali oleh resolver pada saat mengajukan permintaan terhadap sebuah domain.
domain ut.astra.co.id
nameserver 10.2.6.5
Keterangan contoh diatas, domain menunjukan nama domain yaitu ut.astra.co.id dan name server
adalah IP address dengan nomor: 10.2.6.5
/etc/named.conf
File konfigurasi utama yang dibaca oleh BIND pada saat dijalankan. Dalam file ini berisi
keterengan letak dan jenis file-file database yang dibutuhkan oleh BIND. Untuk membuat file ini
dapat menggunakan skrip bantu yang disusun lewat perl. File ini bernama named-bootconf.pl,
dan termasuk dalam paket aplikasi BIND. Atau jika ingin seting manual dapat menggunakan
editor teks biasa. Berikut contoh filenya :
// generated by named-bootconf.pl
options {
directory "/var/named";
};
//
//
zone "." {
type hint;
file "root.cache";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};
zone "ut.astra.co.id" {
type master;
file "ut.zone";
};
zone "6.2.10.in-addr.arpa" {
type master;
file "ut.rev";
};
Dari sini anda ketahui, untuk contoh yang diberikan, mempunyai resource record yang
didefinisikan semuanya berada dalam direktori /var/named. Hal ini bisa dilihat di baris:
options {
directory "/var/named";
};
Untuk option ini bebas dimana saja selama direktori tersebut disediakan hanya untuk sistem seperti
/etc atau /var. Selain itu jumlah dan nama filenya sangat kondisional tergantung jumlah zone yang
ditangani.
/var/named/root.cache
Berisi informasi data yang berada dalam domain root (non lokal). Catatan ini yang dipergunakan
name server jika ada resolver yang meminta nama domain di luar domain lokal.
; file /domain/named.root
; on server FTP.RS.INTERNIC.NET
; file named.root
; formerly NS.INTERNIC.NET
. 3600000 IN NS A.ROOT-SERVERS.NET.
; formerly NS1.ISI.EDU
. 3600000 NS B.ROOT-SERVERS.NET.
; formerly C.PSI.NET
. 3600000 NS C.ROOT-SERVERS.NET.
; formerly TERP.UMD.EDU
;
. 3600000 NS D.ROOT-SERVERS.NET.
; formerly NS.NASA.GOV
. 3600000 NS E.ROOT-SERVERS.NET.
; formerly NS.ISC.ORG
. 3600000 NS F.ROOT-SERVERS.NET.
; formerly NS.NIC.DDN.MIL
. 3600000 NS G.ROOT-SERVERS.NET.
; formerly AOS.ARL.ARMY.MIL
. 3600000 NS H.ROOT-SERVERS.NET.
; formerly NIC.NORDU.NET
;
. 3600000 NS I.ROOT-SERVERS.NET.
. 3600000 NS J.ROOT-SERVERS.NET.
. 3600000 NS K.ROOT-SERVERS.NET.
. 3600000 NS L.ROOT-SERVERS.NET.
. 3600000 NS M.ROOT-SERVERS.NET.
; End of File
Untuk mendapatkan file root.cache/named.root ini dapat melakukan perintah dig dengan user
root.
File ini digunakan untuk alamat loopback untuk alamat ke diri sendiri, dan selalu dengan alamat
IP 127.0.0.1. Isi filenya adalah sebagai berikut :
$TTL 86400
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
File ini berisi SOA (start of authority) resource record, NS record, MX record dan CNAME
record. Seluruh host dalam jaringan didefinisikan di sini.
$TTL 86400
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS netcom.ut.astra.co.id.
IN MX 10 netcom.ut.astra.co.id.
netcom IN A 10.2.6.5
/var/named/ut.rev
File ini berisi PTR Records, untuk pemetaan dari alamat ke nama. Karena di file sebelumnya
(ut.zone) sudah didefinisikan lewat A record, bahwa netcom.ut.astra.co.id mempunyai
alamat 10.2.6.5, maka dalam file berikut cukup dituliskan nomor hostnya (field terakhir) yakni 5.
$TTL 86400
@ IN SOA netcom.ut.astra.co.id. root.netcom.ut.astra.co.id. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS netcom.ut.astra.co.id.
5 IN PTR netcom.ut.astra.co.id.
MX Records
Salah satu keuntungan DNS adalah untuk routing e-mail. Untuk itu, DNS menggunakan
resource record tunggal yakni MX records. MX berarti Mail Exchanger, sebuah host yang akan
memproses (process) atau meneruskan (forward) e-mail. Memproses berarti mengirim langsung
ke individu atau melewati transport agent lainnya seperti UUCP. Meneruskan berarti
mengirimkan ke tujuan akhir atau ke mail exchanger terdekat dengan melewati SMTP (Simple
Mail Transfer Protocol).
IN MX 10 netcom.ut.astra.co.id.
heaven.or.id. IN MX 1 spawn.heaven.or.id.
heaven.or.id IN MX 2 crow.heaven.or.id
Dalam contoh tersebut jika ada e-mail dari heaven.or.id., maka Ia akan coba mengirimkannya
terlebih dahulu lewat spawn.heaven.or.id. Jika gagal, maka dicoba crow.heaven.or.id. Begitu
seterusnya hingga e-mail berhasil diproses atau diteruskan.
Untuk penerapannya, masukkan MX records jadi satu bersama records lainnya di file zone
domain.
Administrasi BIND
Untuk mengadministrasikan BIND (named), cukup jalankan program ndc, diikuti perintah yang
diinginkan. Perintah yang tersedia adalah :
status
dumpdb
reload
Menyebabkan named mengecek semua nomor serial zone primary dan secondary, dan
menampilkan kembali setiap perubahan.
stats
trace
Meningkatkan satu level tracing atau pelacakan. Semakin tinggi level pelacakannya,
semakin banyak hal-hal yang dicatat. Semua dituliskan dalam file /var/tmp/named.run
notrace
Mengembalikan nilai atau level pelacakan menjadi nol. Perintah ini juga menghapus file
querylog
Berpindah ke model querylog, yang menyebabkan pencatatan ke dalam syslog setiap
permintaan yang masuk. Perlu diperhatikan bahwa perintah ini akan mencetak file log
dengan ukuran besar. Model ini juga dapat dijalankan dengan perintah qrylog.
start
Menjalankan named
stop
restart
# mkdir /var/named
# linuxconf
Config
Configure Domain;Mendefinisikan domain yang ditangani oleh name server yang
bersangkutan.
Configure IP Reverse Mapping; Mendefinisikan domain alias yang dipergunakan
untuk konversi dari nama domain ke alamat IP
Configure Secondaries;Menginstruksikan name server sebagai cadangan terhadap
domain-domain tertentu.
Configure Forwarders;Menginstruksikan name server untuk menggunakan name
server lainnya. Konfigurasi ini dijalankan biasanya jika name server yang bersangkutan
berada di belakang firewall.
Configure Features; Mengkonfigurasikan beberapa layanan tambahan.
Configure IP Allocation Spaces;Mendefinisikan rentang IP yang diperlukan.
Add/Edit
Add/Edit host information by domain;Menambahkan atau mengedit domain
beserta informasi host yang bertanggung jawab terhadap domain yang bersangkutan.
Add/Edit; Fungsinya hampir sama dengan menu di atas. Bedanya, anda bisa
memasukkan domain yang memenuhi kualifikasi secara langsung tanpa harus memilih
domainnya terlebih dahulu.
Security
Configure Access Control List
Configure Access Control
Ringkasan
Pada Bab ini telah kita pelajari secara singkat bagaimana cara kerja dan menjalankan
DNS Server. Bagian-bagian tingkat lanjut tentang DNS, seperti parenting (Bagaimana
mengadministrasi domain yang memiliki sub-sub domain), kemudian DNS Notify
(Pemberitahuan terhadap perubahan zona), pembatasan query, dan sebagainya, tidak
dibahas di sini. Tujuan dari bab ini adalah memungkinkan akses dengan nama untuk
komunikasi antar user, serta bantuan seting untuk pengiriman dan penerimaan e-mail.
Paling tidak hal ini menjadi rangsangan bagi anda untuk mengembangkan lebih lanjut
tentang DNS ini, terutama untuk penerapan jaringan skala besar.
Untuk lebih lanjut tentang DNS, anda bisa baca DNS and BIND, terbitan O'Reilly,
karangan PAUL ALBIRTZ & CRICKET LIU. Literatur elektronis yang bisa dijadikan acuan
dan tersedia di sebagian besar distribusi Linux adalah DNS HOWTO v.22 karangan
NICOLAI LANGFELDT. Dokumen ini tersedia di /usr/doc/HOWTO.
Server Web
Pendahuluan
Apache merupakan web server yang paling banyak dipergunakan di Internet. Program ini
pertama kali didesain untuk sistem operasi lingkungan UNIX. Namun demikian, pada beberapa
versi berikutnya Apache mengeluarkan programnya yang dapat dijalankan di Windows NT.
Berdasarkan sejarahnya, Apache dimulai oleh veteran developer NCSA httpd (National Center
for Supercomputing Application). Saat itu pengembangan NCSA httpd sebagai web server
mengalami stagnasi. ROB MC COOL meninggalkan NCSA dan memulai sebuah proyek baru bersama
para webmaster lainnya, menambal bug, dan menambahkan fitur pada NCSA httpd. Mereka
mengembangkan program ini lewat mailing list. Dengan berpijak pada NCSA httpd versi 1.3,
Team Apache mengeluarkan rilis pertama kali secara resmi Apache versi 0.6.2. Tim inti
pengembang Apache waktu itu :
1. BRIAN BEHLENDORF
2. ROY T. FIELDING
3. ROB HARTILL
4. DAVID ROBINSON
5. CLIFF SKOLNICK
6. RANDY TERBUSH
7. ROBERT S. THAU
8. ANDREW WILSON
1. ERIC HAGBERG
2. FRANK PETERS
3. NICOLAS PIOCH
Nama Apache diambil dari kata "A Patchy Server", server perbaikan yang penuh dengan
tambalan (patch). Tambalan yang dimaksud adalah penambahan fitur dan penambalan bug dari
NCSA httpd Versi 1.3.
Saat ini Apache dipergunakan secara luas. Hal ini disebabkan karena programnya yang gratis,
dengan kinerja relatif stabil. Dalam pengembangannya pun mempergunakan sistem Bazaar,
yakni tiap orang dibuka kesempatan seluas-luasnya untuk dapat memberikan kontribusi dalam
mengembangkan program. Kontribusi dikomunikasikan lewat mailing list. Tim Apache
mempunyai mailing list yang terbuka untuk siapa saja yang ingin ambil bagian. Untuk mendaftar
cukup kirim email ke majordomo@apache.org dengan baris pertama dari email bertuliskan
"subscribe new-httpd". Perlu dicatat bahwa proyek pengembangan Apache ini mempunyai sistem
meritokrasi. Semakin banyak yang Anda sumbangkan, semakin banyak yang boleh dikerjakan.
Apache mempunyai program pendukung yang cukup banyak. Hal ini memberikan layanan yang
cukup lengkap bagi penggunanya. Beberapa dukungan Apache :
1. Kontrol Akses.
yang paling terkenal untuk digunakan adalah perl (Practical Extraction and Report
Language), didukung oleh Apache dengan menempatkannya sebagai modul (mod_perl)
Instalasi
Instalasi yang dibahas berikut adalah modus instalasi standar (default). Metode instalasi Apache
(sejak Versi 1.3) ada dua macam, yakni dengan metode APACI (Apache 1.3 Autoconf-style
Interface) atau dengan cara pada versi sebelumnya. Sebelum mulai instalasi, pastikan mesin
Anda memenuhi beberapa hal :
1. Linux
2. SunOS
3. UnixWare
4. FreeBSD
5. Solaris
6. AIX
7. OpenBSD
8. IRIX
9. SCO
10. NetBSD
11. HPUX
12. BSDI
13. Digital Unix
Setelah mengecek beberapa syarat yang harus dipenuhi, lanjutkan dengan instalasi. Berikut
prosedur instalasi, dengan asumsi bahwa Anda sudah memperoleh file sumber Apache:
$ make
$ su -
password:
# make install
Modul Apache
Apache dikompilasi dengan memasukkan modul-modulnya sebagai bagian dari file binary.
Modul-modul tersebut yang mendukung fitur-fitur yang ditawarkan oleh Apache. Misalnya
mod_auth yang mendukung otentikasi teks murni. Modul yang disediakan oleh Apache secara
default adalah :
1. Pembuatan environment
2. Pengaturan direktori
4. Pencatatan akses
o [(+)mod_log_config]Pencatatan akses yang dapat diatur sesuai keinginan
o [(-)mod_log_agent]Pencatatan HTTP User-Agent khusus (deprecated)
o [(-)mod_log_refer]Pencatatan HTTP Referrer khusus(deprecated)
o [(-)mod_usertrack]Pencatatan atas user click-trails lewat cookie HTTP
5. Lain-lain
o [(+)mod_imap]Dukungan Server-side Image Map
o [(-)mod_proxy]Caching Modul Proxy (HTTP, HTTPS, FTP)
o [(-)mod_so]Dynamic Shared Object (DSO) bootstrapping
6. Experimental
o [(-)mod_mmap_static]Caching halaman yang sering diminta lewat mmap()
7. Pengembangan
o [(-)mod_example]Demonstrasi Apache API demonstration (developers only)
# ./configure -enable-shared=all
Dua modul apache yang tidak bisa ditempatkan dalam DSO (dikompilasi langsung) adalah
http_core.c danmod_so.c (yang merupakan modul DSO).
Jika nanti Anda akan menambahkan modul (misal modul php), Anda bisa jalankan lewat
perintah configure :
# ./configure -add-module=/path/to/module/mod_php.c
-enable-shared=php
# make install
Konfigurasi
File konfigurasi Apache terletak di direktori /var/apache/conf (atau PREFIX/conf, tergantung
direktori yang Anda set saat configure Apache ditahap instalasi) atau /var/lib/apache/conf
jika Anda instal lewat binary Slackware. Nama filenya adalah httpd.conf, srm.conf dan
access.conf.
httpd.conf merupakan file yang dieksekusi pertama kali saat Apache dijalankan. Didalamnya
berisi konfigurasi secara umum. srm.conf adalah file konfigurasi yang dieksekusi setelah
httpd.conf. Disarankan untuk membiarkan file konfigurasi ini tetap kosong. Dan access.conf
merupakan konfigurasi untuk memfilter host-host yang boleh mengakses layanan Apache.
File Konfigurasi Apache
Secara default, Apache memisahkan file konfigurasinya menjadi 3 bagian, yakni httpd.conf,
srm.conf dan access.conf. Namun semua binary program pada distribusi yang dicobakan
(Slackware 7.0) menyatukannya dalam satu file yakni httpd.conf. File ini dibagi menjadi 3
bagian utama :
1. Global environment
Berisi konfigurasi Apache secara umum, seperti berapa banyak user dapat mengakses
pada saat yang bersamaan.
Konfigurasi utama yang tidak termasuk dalam virtual host. Bagian ini juga termasuk
seting default untuk virtual host.
3. Virtual host
Konfigurasi untuk virtual host, yakni memanggil nomor IP dan DNS yang berbeda
meskipun masih dalam satu administrasi oleh Apache.
Berikut pembahasan beberapa contoh pilihan konfigurasi file httpd.conf. Pilihan yang disampaikan di
sini mengacu pada file httpd.conf yang diberikan secara default oleh Apache selesai instalasi.
Global Environment
ServerType [standalone/inetd]
Pilihan untuk menentukan apakah menjalankan Apache sebagai http daemon sendiri atau lewat inetd.
Pilihan inetd hanya untuk platform Unix.
ServerRoot "/var/lib/apache"
LockFile /var/run/httpd.lock
PidFile /var/run/httpd.pid
File yang dipergunakan server untuk merekam nomor identifikasi proses (pid) saat apache dijalankan.
ScoreBoardFile /var/run/httpd.scoreboard
File yang dipergunakan untuk merekam informasi internal dari proses server.
ResourceConfig conf/srm.conf
AccessConfig conf/access.conf
Pilihan untuk membaca file srm.conf dan access.conf secara berurutan. Anda dapat membiarkannya
ditandai pagar, karena Apache secara default telah memproses kedua file tersebut secara berurutan.
Anda dapat mengisinya dengan /dev/null jika ingin Apache mengabaikan dua file tersebut.
Timeout 300
KeepAlive On
Untuk menentukan apakah server memperbolehkan lebih dari satu permintaan dalam satu koneksi.
Untuk non-aktif, isikan Off.
MaxKeepAliveRequests 100
Jumlah maksimum permintaan yang diperbolehkan dalam satu koneksi yang bersamaan. Nilai 0 bernilai
tak terhingga.
KeepAliveTimeout 15
Jumlah detik untuk menunggu permintaan berikutnya dari klien yang sama dan koneksi yang
bersamaan.
MinSpareServers 5
MaxSpareServers 10
Pilihan ini untuk mengatur proses yang dijalankan oleh apache. Apache secara dinamis mengatur
prosesnya untuk mencapai kinerja yang maksimal. Jika nilai server yang menganggur lebih kecil dari nilai
MinspareServer, maka apache akan membuat spare baru. Begitu pula sebaliknya, jika lebih besar dari
nilai MaxSpareServer maka beberapa spare akan dimatikan. Nilai default sudah cukup memadai untuk
kebanyakan server.
StartServers 5
MaxClients 150
Jumlah maksimal server yang dijalankan. Misalnya nilai ini mencerminkan jumlah maksimal klien
mengakses secara simultan. Jika nilai ini terpenuhi, maka klien akan 'terkunci'. Disarankan untuk tidak
memberikan nilai yang rendah.
MaxRequestsPerChild 30
Catatan :
Child process adalah proses yang muncul karena ada proses di atasnya. Jika proses di atasnya mati, maka
child process ikut mati. Di sistem Unix, proses dijalankan dengan berjenjang, dan puncak segala proses
adalah init.
Listen 3000
Listen 12.34.56.78:80
Mengikat Apache untuk melayani port spesifik dan atau alamat IP yang spesifik pula. Konfigurasi ini
bermanfaat jika ingin menggunakan satu mesin dengan beberapa nomor IP dan atau beberapa nama
DNS samaran (Canonical DNS address).
BindAddress *
Dukungan Virtual hosts dengan memerintahkan Apache untuk mengikat beberapa alamat. Pilihan ini
bisa diisi * , alamat IP atau nama domain internet yang memenuhi syarat.
LoadModule env_module libexec/mod_env.so
LoadModule config_log_module libexec/mod_log_config.so
LoadModule mime_module libexec/mod_mime.so
LoadModule negotiation_module libexec/mod_negotiation.so
LoadModule status_module libexec/mod_status.so
LoadModule includes_module libexec/mod_include.so
LoadModule autoindex_module libexec/mod_autoindex.so
LoadModule dir_module libexec/mod_dir.so
LoadModule cgi_module libexec/mod_cgi.so
LoadModule asis_module libexec/mod_asis.so
LoadModule imap_module libexec/mod_imap.so
LoadModule action_module libexec/mod_actions.so
LoadModule userdir_module libexec/mod_userdir.so
LoadModule alias_module libexec/mod_alias.so
LoadModule access_module libexec/mod_access.so
LoadModule auth_module libexec/mod_auth.so
LoadModule setenvif_module libexec/mod_setenvif.so
Agar DSO dapat berjalan dengan maksimal (Baca tentang Dynamic Shared Object di sub bab
sebelumnya), Anda harus tempatkan modul sehingga mereka dijalankan secara urut.
ClearModuleList
Bagian ini merupakan rekonstruksi dari modul yang dijalankan sebelumnya. Jika Anda mengganti urutan
atau entri pada bagian sebelumnya, Anda juga harus mengupdate bagian ini.
AddModule mod_env.c
AddModule mod_log_config.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
AddModule mod_userdir.c
AddModule mod_alias.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_so.c
AddModule mod_setenvif.c
ExtendedStatus On
Pilihan untuk menampilkan informasi status server lebih banyak. Jika diset Off, maka informasi status
menjadi standar.
'Main' server configuration
Bagian ini dipergunakan untuk menentukan nilai-nilai yang dipergunakan oleh server, dan semua
permintaan yang tidak dapat ditangani oleh 'virtual host'. Bagian ini juga berisi nilai default yang
nantinya akan dipergunakan di bagian 'virtual host'.
Beberapa konfigurasi dari bagian berikut tidak akan berpengaruh jika Anda tentukan sebelumnya
Apache berjalan dengan model inetd. Jika memang demikian, lompati beberapa bagian berikut,
dan langsung menuju ke parameter ServerAdmin.
Port 80
Port yang dipergunakan oleh server. Jika menggunakan port 1023, jalankan httpd sebagai root.
User nobody
Group nogroup
Nama user dan group yang menjalankan httpd. Perlu dicatat di mesin HPUX, user nobody tidak ada
akses ke memori, dan disaranakan untuk membuat user dan grup khususu untuk menjalankan httpd.
ServerAdmin root@domain.Anda.com
ServerName domain.anda.com
Dipergunakan untuk seting nama yang akan diberikan kepada user. Anda dapat pergunakan nama lain
selain nama host Anda. Untuk pemberian nama, harus nama DNS yang valid, sesuai dengan seting name
server yang mencatat mesin Anda. Lihat bahasan tentang server DNS. Jika tidak yakin, isikan nomor IP.
Misal ServerName 192.168.1.2
DocumentRoot "/var/lib/apache/htdocs"
Direktori utama yang dipergunakan untuk menyimpan file html. Anda bisa membuat link simbolik jika
ingin meletakkannya dalam direktori lain.
Pilihan ini biasanya diikuti beberapa atribut yang memastikan bahwa direktori tersebut diakses
secara benar oleh user, dengan kontrol tertentu tanpa mengganggu keamanan dari direktori yang
dilayankan pada publik. Untuk keterangan singkat dari atribut yang ada pada tiap direktori, Anda
bisa baca sub bagian yang lain, yakni 'Atribut Direktori'. Berikut atribut yang diberikan secara
default oleh Apache terhadap DocumentRoot.
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory "/var/lib/apache/htdocs">
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
</Directory>
UserDir public_html
Nama direktori yang ditambahkan ke dalam direktori home dari user, jika ada permintaan user. Misal,
permintaan http://nama.domain.anda/fade akan membuat direktori public_html di direktori
home untuk user fade. Anda dapat memberikan seting secara default dari direktori tersebut, misalnya :
<Directory /*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOC
K>
Order deny,allow
Deny from all
</Limit>
</Directory>
Kesulitan dalam penerapan direktori ini biasanya adalah Access Forbidden atau User not Found. Untuk
itu pastikan bahwa :
DirectoryIndex index.html index.htm default.htm
Nama file yang dijalankan secara otomatis pada saat membuka indeks direktori. Anda dapat
memasukkan nama lain dengan spasi, sebagaimana contoh di atas.
AccessFileName .htaccess
Nama file yang dilihat saat mengakses masing-masing direktori. File ini untuk informasi kontrol akses.
Hal ini berkaitan dengan pilihan berikut :
<Files .htaccess>
Order allow,deny
Deny from all
</Files>
Pilihan tersebut menghindarkan file .htaccess untuk dibaca user lewat web. File ini perlu dilindungi
karena berisi informasi host-host yang punya hak akses atau tidak. Pastikan Anda mengubah file di sini
jika Anda mengubah AccessFileName yang telah didefinisikan sebelumnya.
CacheNegotiatedDocs
Memungkinkan proxy untuk menyimpan cache web dari server. Jika Anda menghilangkan pilihan ini
(dengan memberi tanda pagar di depannya, maka Apache akan mengirim 'Pragma: no-cache' pada
setiap dokumen yang diakses. Hal ini berarti jika user mengakses lewat proxy, maka Apache meminta
proxy tersebut untuk tidak melakukan caching terhadap halamannya.
UseCanonicalName On
Jika diset off maka server akan mengembalikan response hostname:port jika canonical name diakses.
Jika diset on, maka Apache akan menggunakan ServerName dan port untuk membentuk canonical
name.
TypesConfig /var/lib/apache/conf/mime.types
DefaultType text/plain
Default MIME types yang digunakan jika sebuah dokumen tidak dikenal. Disarankan untuk
menggunakan 'text/plain' jika mayoritas file html atau teks. Jika mayoritas gambar atau aplikasi,
disarankan untuk menggunakan 'application/octet-stream'
<IfModule mod_mime_magic.c>
MIMEMagicFile /var/lib/apache/conf/magic
</IfModule>
modul mod_mime_magic memungkinkan server menggunakan petunjuk dari isi filenya untuk
menentukan tipenya. MIME MagicFile menentukan di direktori mana definisi dari petunjuk tipe tersebut
berada. Pilihan ini menggunakan if, sebab modul mod_mime_magic tidak secara default menjadi bagian
kompilasi. Anda harus menambahkan sendiri (lihat bagian DSO, Dynamic Shared Object) dan
mengkompilasi ulang. Jika modul tersebut tidak ada, maka MIMEMagicFile tidak akan memproses
pilihan ini.
HostnameLookups Off
Log dari nama klien yang mengakses atau alamat IP-nya saja. Jika diset on maka log akan mencatat
misalnya www.apache.org, jika off, log hanya mencatat 204.62.129.132. Secara default diset off sebab
akan meringankan bandwith internet secara global. Bayangkan jika diset on, maka setiap kali klien
mengakses halaman, akan ada minimal sekali permintaan resolve name ke name server.
ErrorLog /var/log/error_log
Letak file log error. Untuk <VirtualHost> jika Anda tidak mendefinisikan file log error, maka setiap
error di <VirtualHost> tersebut akan dilog di sini juga.
LogLevel warn
Jumlah pesan kesalahan yang dicatat di error_log. Nilai yang dimasukkan adalah debug, info, notice,
warn, error, crit, aler, emerg
LogFormat "%h %l %u %t\"%r\" %>s %b" common
CustomLog /var/log/access_log common
Letak file log akses. Jika dalam <VirtualHost> Anda tidak mendefinisikan letak file log akses, maka
aktivitas akses dari <VirtualHost> akan dicatat di sini pula.
CustomLog /var/log/referer_log referer
CustomLog /var/log/agent_log agent
CustomLog /var/log/access_log combined
Dipergunakan untuk menentukan file log yang berbeda. Combined berarti kombinasi antara log referer
dan log user agent.
ServerSignature On
Menambahkan satu baris yang berisi versi Apache server yang digunakan dan nama virtual host pada
setiap halaman yang dibuat oleh server. Misalnya dokumen error, daftar direktori FTP, dll). Pilihan yang
berlaku di sini adalah On, Off atau Email untuk mengirim email kepada ServerAdmin.
Alias /icons/ "/var/lib/apache/icons/"
Alias namasamaran namaasli
Jika diberikan tanda / setelah nama samaran sebagaimana contoh di atas, maka Anda perlu
menuliskannya dalam URL jika ingin mengaksesnya. Alias dengan bentuk seperti itu hanya dipakai untuk
membantu linking pada saat menyusun file html. Untuk contoh alias ayng biasa dipergunakan :
Alias /fade "/home/fade/publik"
<Directory "/home/fade/publik">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Disarankan pula untuk mengeset alias terhadap direktori cgi-bin, direktori yang memiliki atribut execute
dan memungkinkan sebuah skrip cri dieksekusi. Contoh pemberian alias terhadap direktori cgi-bin :
ScriptAlias /cgi-bin/ "/var/lib/apache/cgi-bin/"
<Directory "/var/lib/apache/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
Redirect nama.domain.lama nama.domain.baru
Pilihan di atas untuk mengarahkan klien yang mengakses file atau direktori yang sebelumnya ada di
server, namun dihapus atau dipindahkan.
IndexOptions FancyIndexing
Pilihan ini untuk menentukan tampilan pada saat indeks direktori diakses oleh user. Pilihan yang ada
adalah FancyIndexing dan StandardIndexing.
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
Pilihan di atas untuk menentukan file icon terhadap jenis file yang ada dalam daftar direktori. Ini hanya
berlaku terhadap pilihan FancyIndexing. Anda bisa membuat variasi sebanyak mungkin dari tipe file
yang ada dalam direktori Anda.
DefaultIcon /icons/unknown.gif
Dipergunakan untuk icon tipe file yang tidak dikenal, atau tidak didefinisikan sebelumnya.
AddDescription "GZIP compressed document" .gz
Memberikan deskripsi dari masing masing tipe file yang ditampilkan. Pilihan ini hanya berlaku untuk
FancyIndexing.
ReadmeName README
Nama file README yang dimasukkan terhadap semua direktori yang diindeks.
HeaderName HEADER
Nama file yang dimasukkan pula dalam direktori yang diindeks. Server pertama kali akan membaca
HEADER.html, jika tidak ditemukan, maka akan mencari HEADER.txt, dan memasukkannya dalam
format plaintext.
IndexIgnore .??* * *# HEADER* README* RCS CVS *,v *,t
Nama file yang diabaikan pada saat listing direktori. Penggunaan wildcard diperbolehkan. File-file ini
tidak akan terlihat saat direktorinya diindeks/dilisting.
AddEncoding x-gzip gz
Memungkinkan browser tertentu (Mosaic/X 2.1+) melakukan dekompresi langsung lewat browser.
AddLanguage en .en
Menentukan bahasa dari dokumen. Anda dapat memberikan browser file dengan bahasa yang
dimengerti oleh browser. Sebagai catatan, bahwa Anda dapat mendefinisikan sendiri bahasa yang
dipergunakan. Misal : AddLanguage id .in
LanguagePriority en fr de
AddType application/x-httpd-php3 .php3
Dipergunakan untuk membuka file dengan memasukkan dalam mime.types tanpa harus mengeditnya.
Yang sering digunakan misalnya untuk memproses modul php, sebagaimana contoh diatas.
AddHandler cgi-script .cgi
Dipergunakan untuk memetakan 'handlers' yang dipergunakan dan perintah yang dijalankan pada file
dengan ekstensi tertentu. Contoh di atas untuk menjalankan skrip dengan ekstensi .cgi. Contoh
lainnya adalah :
AddHandler server-parsed .shtml
AddHandler send-as-is asis
AddHandler imap-file map
AddHandler type-map var
Action handler-name /cgi-script/location
Dipergunakan untuk mendefinisikan 'handler' yang dipergunakan atau perintah yang dijalankan untuk
memproses pada ekstensi file yang didefinisikan sebelumnya. Biasanya digunakan untuk skrip cgi.
Bentuk lain dari pilihan ini :
Action media/type /cgi-script/location
MetaDir .web
Direktori di mana server dapat menemukan file-file informasi meta. Informasi ini akan dilampirkan
sebagai header pada setiap dokumen yang dikirimkan. Pilihan di atas biasanya diikuti MetaSuffix
untuk mendefinisikan file meta yang akan dilampirkan. Contoh :
MetaSuffix .meta
ErrorDocument 404 /missing.html
Dipergunakan untuk membuat file error response sendiri. Respon ini mempunyai tiga bentuk :
BrowserMatch "Mozilla/2" nokeepalive
Pilihan BrowserMatch memberikan environment khusus berdasarkan header browser yang mengakses.
Dalam contoh di atas, jika browser yang digunakan adalah Netscape 2.x akan dimatikan fasilitas
keepalive-nya.
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from 192.168.1.1
</Location>
Pilihan ini memungkinkan laporan status server dapat dilihat melalui browser. Dalam contoh di atas
mesin dengan alamat IP 192.168.1.2 dapat melihat laporan status server dengan mengetikkan :
http://nama.server/server-status.
Dengan fasilitas sejenis, Anda dapat mengaktifkan laporan konfigurasi server dengan memasukkan
pilihan di bawah ini :
<Location /server-info>
SetHandler server-info
Order deny,allow
Deny from all
Allow from .your_domain.com
</Location>
<Location /cgi-bin/phf*>
Deny from all
ErrorDocument 403 http://nama.domain.Anda/phf_abuse_log.cgi
</Location>
Ada beberapa laporan bahwa sekelompok orang memanfaatkan bug lama dari versi pre-1.1 dengan
memanfaatkan skrip cgi yang menjadi bagian dari Apache. Pilihan di atas ini dapat digunakan untuk
menjebak dengan menggunakan file support/phf_abuse_log.cgi dengan mencatat setiap klien
yang mencoba skrip bug tersebut.
Apache dapat dimanfaatkan sebagai proxy, berdasarkan modul mod_proxy.c yang dikompilasi
saat instalasi. Untuk mengaktifkannya masukkan pilihan berikut:
<IfModule mod_proxy.c>
ProxyRequests On
<Directory proxy:*>
Order deny,allow
Deny from all
Allow from .nama.domain.Anda
</Directory>
Untuk mengaktifkan atau memblok klien yang menggunakan proxy dengan header HTTP/1.1 "Via:"
ProxyVia On
Pilihannya adalah Off | On | Full | Block. Selain itu, Apache juga mendukung caching terhadap
halaman-halaman yang diakses lewat proxynya. Untuk mengaktifkan dan mengkonfigurasikan,
tambahkan pilihan berikut :
CacheRoot "/var/lib/apache/proxy"
CacheSize 5
CacheGcInterval 4
CacheMaxExpire 24
CacheLastModifiedFactor 0.1
CacheDefaultExpire 1
NoCache nama.domain.lain domain.lainnya.lagi 192.168.1.1
</IfModule>
Virtual Hosts
Bagian ini berisi pilihan jika Anda akan menggunakan domain atau hostnames lebih dari satu
dalam satu server.
Untuk dapat memanfaatkan Virtual Hosts, pertama Anda harus mendefinisikan dulu nomor IP
dan port yang dipergunakan, minimal satu. Contoh :
NameVirtualHost 192.168.1.2:80
NameVirtualHost 192.168.1.3
<VirtualHost 192.168.1.2>
ServerAdmin webmaster@domain.virtual.Anda
DocumentRoot /www/docs/domain.virtual.Anda
ServerName domain.virtual.Anda
ErrorLog logs/domain.virtual.Anda-error_log
CustomLog logs/domain.virtual.Anda-access_log common
</VirtualHost>
Atribut Direktori
AllowOverride
Dalam mengakses setiap file dalam direktori, apache membaca file akses yang telah ditentukan
sebelumnya. File akses tersebut berada dalam tiap direktori. Atribut AllowOverride
mengesampingkan hal itu.
1. AllowOverride
diikuti dengan None (berarti mengesampingkan semua file akses) atau All (menggunakan semua
parameter) atau parameter pilihan berikut :
2. AuthConfig
Memungkinkan penggunaan parameter-parameter lain yang berkaitan dengan autentikasi.
Misalnya; AuthName, AuthType dll.
3. FileInfo
Memungkinkan penggunaan parameter-parameter lain yang berkaitan dengan kontrol terhadap
tipe dokumen. Misalnya; AddType, DefaultType dll.
4. Indexing
Memungkinkan penggunaan parameter-parameter lain yang berkaitan dengan indeks direktori.
Misal; DefaultIcon, FancyIndexing dll.
5. Limit
Memungkinkan penggunaan parameter-parameter tentang akses file (allow, deny dan
order)
6. Options
Memungkinkan penggunaan parameter yang mengontrol direktori khusus. Misal; Options.
Options
Atribut ini mengontrol fitur yang ditawarkan tiap direktori. Atribut option diikuti oleh :
1. All
Semua pilihan, kecuali untuk MultiView.
2. ExecCGI
Diperbolehkan mengeksekusi CGI.
3. FollowSymLinks
Server akan mengikuti link simbolik pada direktori yang bersangkutan. Mengikuti link simbolik
tidak akan merubah nama tujuan (path name) URL-nya.
4. Includes
Diperbolehkan Server-side includes. Misalnya eksekusi skrip perl.
5. IncludesNOEXEC
Server-side includes diperbolehkan, tapi perintah #exec dan #include atas skrip CGI tidak
diperbolehkan.
6. Indexes
Jika sebuah file mengakses sebuah direktori yang tidak mempunyai DirectoryIndex (misalnya,
index.html) maka server akan menampilkan listing file dalam direktori yang bersangkutan.
7. MultiViews
MultiViews terhadap isi diperbolehkan.
8. SymLinksIfOwnerMatch
Server hanya akan mengikuti Symlinks jika yang mengakses adalah pemilik direktori atau file
yang bersangkutan.
Adalah program bantu untuk membangun dan menginstal modul-modul tambahan untuk apache
HTTP server. Apxs melakukannya dengan membangun Dynamic Shared Object (DSO) dari satu
sumber atau lebih sehingga dapat dimuatkan pada Apache server lewat paramater LoadModule
dari modul mod_so (lihat bagian modul Apache yang telah dibahas sebelumnya). Misalnya untuk
menambahkan modul foo (mod_foo.c), cukup ketikkan :
$ apxs -i -a -c mod_foo.c
Pilihan -i berarti menginstal, -a adalah otomatis menjalankan modul, -c berarti kompilasi pada
saat instalasi. Untuk pilihan-pilihannya secara lengkap, tersedia dalam manual apxs.
$ man apxs
Adalah program bantu untuk melakukan benchmarking terhadap Hyper Text Transfer Protocol
(HTTP) server. Program ini terutama menunjukkan berapa banyak permintaan yang dapat
dilayani oleh apache pada satu waktu. Contoh :
Pilihan -k berarti mengaktifkan fitur KeepAlive (misal satu PID diakses oleh beberapa
permintaan), -n adalah jumlah permintaan yang akan ditest, -w menuliskan output ke dalam
sebuah file html, dan http://localhost:80 menunjukkan alamat site yang akan ditest dan port
yang dipergunakan.