server linux

179
Server Linux Membangun Linux sebagai Internet/Intranet Server Pengarang : Ahmad Sofyan Tim Editor : KPLI Jakarta Versi Elektronis : I Made Wiryana Versi Cetak : Warsono, Muhammad Akbar Marwan, Prihantoosa, Purwanto, Rusmanto, Zuki Harahap Desain Sampul : Steve Pillar Setiabudi Pracetak : Ngadiyanto Diterbitkan pertama kali oleh Nurul Fikri Computer & Statistics ([email protected]) Bekerjasama dengan Yayasan Pengembangan Teknologi Elektro ([email protected]) Jakarta, Juli 2000 Copyright (c) 2000 by Ahmad Sofyan ISBN: 9796451549 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.

Upload: cantik218

Post on 29-Jun-2015

425 views

Category:

Documents


13 download

TRANSCRIPT

Page 1: Server Linux

Server Linux Membangun Linux sebagai Internet/Intranet Server

Pengarang : Ahmad Sofyan

Tim Editor : KPLI Jakarta

  Versi Elektronis : I Made Wiryana

 Versi Cetak : Warsono, Muhammad Akbar Marwan, Prihantoosa, Purwanto, Rusmanto, Zuki Harahap

Desain Sampul :

Steve Pillar Setiabudi

Pracetak : Ngadiyanto

Diterbitkan pertama kali oleh Nurul Fikri Computer & Statistics ([email protected]) Bekerjasama dengan Yayasan Pengembangan Teknologi Elektro ([email protected]) Jakarta, Juli 2000

Copyright (c) 2000 by Ahmad Sofyan ISBN: 9796451549

 

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.

Page 2: Server Linux

PRAKATA

Assalaamu'alaikum Wr. Wb.

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.

``Open Content !'' itulah sebabnya.

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 [email protected]. 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.

Wassalaamu'alaikum Wr. Wb. Jakarta 23 Juni 2000 H. Prihantoosa Soepradja S. Si. Ketua KPLI Jakarta 1999-2000 http://jakarta.linux.or.id  [email protected]

Page 3: Server Linux

Ucapan Terima Kasih Penulis mengucapkan puji syukur kehadirat Allah SWT atas rahmat-Nya buku ini dapat terselesaikan.

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 [email protected] serta rekan KPLI Jakarta yang tergabung dalam milis [email protected]. Kontribusi Anda semua memberikan banyak sumbangan terhadap ide penulisan buku ini.

Tambahan untuk Versi Elektronik

Terima kasih untuk Mas Made Wiryana, yang tak bosan mengedit buku ini, dan memberikan masukan-masukan untuk hasil akhir yang terbaik.

Pengarang Ahmad Sofyan

Page 4: Server Linux

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 :

Slackware Versi 7.0 Kernel 2.2.13 SuSE Versi 6.2 Kernel 2.2.13 RedHat Versi 6.2 Kernel 2.2.14-5.0

Pada setiap bab, dibahas konsep dan cara kerjanya secara umum, kemudian dilanjutkan penerapannya pada masing-masing distribusi.

Page 5: Server Linux

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

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

Page 6: Server Linux

Bagaimana buku ini disusun? Buku ini terdiri atas 8 Bab dan 3 Lampiran.

Bab I Pengenalan Linux

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 II Instalasi Linux

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 III Konfigurasi Sistem

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.

Bab IV Konektivitas dengan Windows

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 V Server DNS

Page 7: Server Linux

Bab ini membahas secara singkat konsep Domain Name System, membuat file konfigurasi untuk BIND versi 8 dengan penjelasan pada masing-masing file konfigurasi, serta perintah-perintah untuk administrasi name server.

Bab VI Server Web

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 VII Server Mail

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 VIII Keamanan Jaringan

Bab ini membahas komponen arsitektur keamanan di Linux yang terdiri atas :

o Account Pemakai (User Account) o Kontrol Akses secara Diskresi (Discretionary Access Control) o Kontrol Akses Jaringan (Network Access Control) o Enkripsi (Encryption) o Logging o Deteksi penyusupan (Intrusion Detection)

Page 8: Server Linux

Ringkasan Begitulah gambaran singkatnya. Semoga bermanfaat bagi pengembangan ilmu pengetahuan dan teknologi di tanah air. Dengan semangat open source, kita realisasikan kejayaan Indonesia di kancah TI dunia. Silakan kirim komentar dan kritik Anda ke [email protected]

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.

Apa Linux itu? Linux adalah sebuah program open source yang gratis di bawah lisensi GNU, sistem operasi 32-64 bit, yang merupakan turunan dari Unix dan dapat dijalankan pada berbagai macam platform perangkat keras mulai dari Intel (x86), hingga prosesor RISC. Linux sebagai program open source yang gratis Salah satu yang membuat Linux terkenal adalah karena gratis. Dengan lisensi GNU (Gnu Not Unix) Anda dapat memperoleh program, lengkap dengan kode sumbernya (source code). Tidak hanya itu, Anda diberikan hak untuk mengkopi sebanyak Anda mau, atau bahkan mengubah kode sumbernya.Dan itu semua legal dibawah lisensi. Meskipun gratis, lisensi GNU memperbolehkan pihak yang ingin menarik biaya untuk penggandaan maupun pengiriman program. Lisensi lengkap dari GNU, dapat Anda baca di Lampiran III. Penerjemahan lisensi GNU ke dalam Bahasa Indonesia, saat buku ini disusun masih dilakukan.

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.

Page 9: Server Linux

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.

Sebagai tambahan, Linux menyediakan bahasa pemrograman gratis, lengkap dengan kompilernya, maupun program pembantunya. Beberapa diantaranya adalah :

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.

Linux sebagai kloning UNIX

Page 10: Server Linux

Saat ini lisensi Linux dipegang oleh penyusun kernelnya pertama kali, LINUS TORVALDS. Untuk menelusuri asal mulanya, kembali ke tahun 1991. Di Suoen Tasavalta, Republik Finlandia, seorang mahasiswa bernama LINUS TORVALDS mengikuti mata kuliah Unix dan bahasa pemrograman C. Saat itu TORVALDS menggunakan sistem operasi mini berbasiskan Unix bernama Minix. Ia merasa bahwa Minix mempunyai banyak kelemahan, dan Ia berkeyakinan mampu untuk membuat lebih baik dari itu. Di usia 23, Ia mulai mengotak-atik kernel Minix dan menjalankannya di mesin Intel x86. Pada Oktober 1991, Torvalds mempublikasikan sistemnya yang baru dan relatif sudah stabil ke newsgroup. Dia menawarkan untuk mempublikasikan kode sumbernya dan mengundang para developer lain untuk mengembangkannya bersama-sama. Sejak saat itulah Linux berkembang, dan merubah wajah dunia komputasi hingga saat ini.

Beberapa fitur Linux yang patut dicatat diantaranya :

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

Page 11: Server Linux

Anda lihat di http://www.linuxdoc.org. Untuk proyek penejemahan dokumentasi ke dalam bahasa Indonesia dapat Anda lihat di http://ldp.linux.or.id.

Tux sebagai logo Ada cerita menarik yang menyebabkan TORVALDS menggunakan penguin sebagai logo

dari sistem operasi Linux. Saat itu TORVALDS sedang berjalan jalan bersama ANDREW TRIDGELL (Penyusun Sambatypeset@protect @@footnote SF@gobble@opt Samba adalah sebuah program yang memungkinkan mesin Unix (termasuk Linux) berkomunikasi dengan Windows dalam sebuah jaringan. Bahasan yang cukup detail tentang Samba dapat Anda temukan di bab IV) ) disebuah taman. Tiba tiba TORVALDS dipatok pinguin, dan semenjak itu Ia mengalami demam selama berhari hari. Dia pikir, karakter ini cocok untuk mewakili Linux. Ia ingin pemakainya menjadi demam alias tergila-gila untuk menggunakan dan mengotak atik Linux. Dan ternyata, apa yang dibayangkannya menjadi kenyataan. Hampir setiap pemakai saat pertama kali berkenalan dengan Linux menjadi susah tidur, dan menghabiskan waktunya berjam-jam didepan komputer untuk bermain main dengan Linux.

Visualisasi logonya dikompetisikan kepada umum lewat diskusi pada mailing list Linux Kernel. Pencetusnya adalah ALAN COX, dan logo terpilih diberi nama Tux, dibuat oleh LARRY EWING (http://www.isc.tamu.edu/lewing/linux).

Gambar 1 Tux, penguin logo Linux Catatan : Perspektif Torvalds tentang logo Linux dapat Anda baca di

http://www.linux.org/info/penguin.html. Visualisasi logo lainnya dapat dilihat di http://www.solluna.org/higgins/linuxlogo/linux.html.

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 :

Program Database Case, CodeBase, DBMS, Informix, LEAP, Postgresql, MySql. Progam Bisnis Star Office, Apllixware, Koffice, Xspreadsheet, Abiword, WordPerfect 8,

TEX. Aplikasi Grafis Blender, Gimp, ME10, Megahedron, OCRShop, PostShop, ScanShip,

Sketch, VariCAD Aplikasi Jaringan SAINT, Nmap, MRTG, Tripwire, SSH (Secure Shell), VisualRoute,

SQUID

Page 12: Server Linux

Di Linux, semua program (yang berada dibawah lisensi GNU) dapat Anda peroleh secara cuma-cuma dan legal dengan mendownloadnya dari internet. Hampir setiap hari bermunculan program-program baru yang dikembangkan oleh para sukarelawan maupun organisasi non profit diseluruh dunia. Beberapa situs terkenal yang menyajikan informasi program baru di Linux diantaranya http://www.freshmeat.net, http://www.linuxberg.com, http://linux.davecentral.com.

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 :

Web Server (httpd) FTP Server (ftpd) Mail Server (smtp, pop 3, LDAP, IMAP) Name Server Daemon standar (telnetd, fingerd, identd, syslogd dsb) DHCP Server

Selain itu, protokol-protokol standar sebagai platform dalam komunikasi jaringan, telah terintegrasi pada level kernel, di antaranya :

File Transfer Protocol (FTP) Gopher Protocol Hypertext Transfer Protocol (HTTP) Post Office Protocol (POP) Point to Point Protocol (PPP) Serial Line Internet Protocol (PLIP) Simple Mail Transfer Protocol (SMTP) Telnet Protocol Transmission Control Protocol/Internet Protocol (TCP/IP)

Distribusi Linux

Page 13: Server 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.

Yang membedakan antar distribusi biasanya berkisar tentang :

1. Instalasi

Masing-masing distribusi menggunakan metode dan antar muka sendiri-sendiri untuk instalasinya. Bahkan pada beberapa distribusi, sudah mulai menggunakan antar muka grafis untuk membimbing proses instalasinya.

Gambar 2 Instalasi Grafis RedHat 6.2

Catatan :

Beberapa distribusi terkenal yang sudah mulai menggunakan modus grafis untuk instalasi diantaranya RedHat, Caldera Open Linux, Corel Linux, WinLinux.

2. Aplikasi yang disertakan

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

Hampir di setiap distribusi mempunyai program bantu yang memudahkan pemakai. Misalnya distribusi RedHat, menyertakan programrpm (RedHat Package Manager) yang memudahkan pengguna untuk menginstall dan menghapus program binary. SuSE menyertakan YaST (Yet Another Setup Tool) untuk manajemen program dan sistem danSaX (SuSE advanced X-Configuration) untuk membantu instalasi X Window. Slackware menyertakan paket pkgtool untuk instal dan menghapus program, sementara Debian menyertakan dpkg untuk fungsi yang sama. Namun semakin lama menggunakan Linux, pada akhirnya akan terasa sama saja antara masing-masing distribusi.

Catatan:

Review berbahasa Indonesia tentang masing-masing distribusi dapat Anda temukan di http://linindo.cakraweb.org

Ringkasan

Page 14: Server Linux

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

http://adhi.linux-smg.or.id/unix-vs-nt.html ; Artikel komprehensif yang membahas perbandingan antara NT dengan Unix. Versi bahasa Inggrisnya dapat dibaca di http://www.unix-vs-nt.org/kirch

http://jakarta.linux.or.id/sumber_linux/artikel/metode.htm ; Kajian menarik berbahasa Indonesia, tentang metode pengembangan sistem operasi yang paradoksal : Katedral vs Bazaar.

http://nakula.rvs.uni-biefeld.de/made/artikel/abad21 ; Platform terbaik abad 21, artikel menarik tentang perkembangan dan prediksi bidang TI.

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:

Page 15: Server Linux

1. Binary

Berisi program-program yang sudah dikompilasi oleh distributor/pengemas distribusi (Precompiled Binary). Yang Anda lakukan dengan program-program ini adalah menyalinnya ke dalam PC.Precompiled binary termasuk kernel.

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

Sebelumnya, dimulai dengan mereview isi CD ROM Slackwareprecompiled binary.

$ ls -al

total 849

drwxr-xr-x 13 root root 4096 Oct 26 1999 ./

drwxr-xr-x 19 root root 4096 Apr 22 07:14 ../

drwxr-xr-x 2 root root 2048 Oct 26 1999 .eltorito/

-r-r-r- 1 root root 1185 Oct 26 1999 00_TRANS.TBL

-rw-r-r- 1 root root 18605 Jun 29 1996 BOOTING.TXT

-rw-r-r- 1 root root 2659 Oct 23 1999 CDROM.TXT

-rw-r-r- 1 root root 17976 Jun 10 1994 COPYING

-rw-r-r- 1 root root 10445 Oct 23 1999 COPYRIGHT.TXT

-rw-r-r- 1 root root 204041 Oct 26 1999 ChangeLog.txt

-rw-r-r- 1 root root 32145 Oct 11 1999 FAQ.TXT

-rw-r-r- 1 root root 303391 Oct 26 1999 FILELIST.TXT

-rw-r-r- 1 root root 155 Oct 22 1999 GLIBC_WARNING

-rw-r-r- 1 root root 5846 Oct 23 1999 LOWMEM.TXT

-rw-r-r- 1 root root 8137 Oct 23 1999 MIRRORS.TXT

Page 16: Server Linux

-rw-r-r- 1 root root 152883 Oct 26 1999 PACKAGES.TXT

-rw-r-r- 1 root root 3682 Oct 23 1999 README.TXT

-rw-r-r- 1 root root 18756 Oct 26 1999 README7.TXT

-rw-r-r- 1 root root 7868 Oct 23 1999 UPGRADE.TXT

drwxr-xr-x 2 root root 2048 Oct 26 1999 bootdsks.12/

drwxr-xr-x 2 root root 10240 Oct 26 1999 bootdsks.144/

drwxr-xr-x 6 root root 8192 Oct 26 1999 contrib/

drwxr-xr-x 8 root root 2048 Oct 23 1999 docs/

drwxr-xr-x 64 root root 10240 Oct 22 1999 kernels/

drwxr-xr-x 3 root root 2048 Oct 23 1999 live/

drwxr-xr-x 3 root root 4096 Oct 23 1999 modules/

drwxr-xr-x 2 root root 2048 Oct 23 1999 rootdsks/

drwxr-xr-x 3 root root 2048 Oct 25 1999 slaktest/

drwxr-xr-x 40 root root 6144 Oct 26 1999 slakware/

Beberapa direktori yang penting adalah:

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.

1. Paket Aplikasi Disk Set A

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

Page 17: Server Linux

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

Berisi program pengembangan. Beberapa diantaranya GCC/G++/Objective C compiler make (GNU and BSD), byacc dan GNU bison, flex, library C libraries, gdb debugger, Fortran, ncurses, clisp, f2c, p2c, Pascal, perl, dan rcs. Disk Set D membutuhkan 48 MB.

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

Berisi aplikasi pendukung jaringan. Termasuk di dalamnya dukungan TCP/UUCP, SLIP, PPP untuk koneksi ke Internet. Program pendukungnya adalah browser Lynx basis teks, Apache Web Server, Pine, Elm, Trn dan aplikasi Internet lainnya.

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.

9. Disk Set TCL

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.

10. Disk Set X

Page 18: Server Linux

Berisi program dasar sistem Xfree86 3.3.2 dari MIT. Di dalamnya termasuk Library dan grafis antar muka pemakai yang dapat dijalankan di sistem Slackware. Disk Set X membutuhkan 70 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

11. Disk Set XAP

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.

12. Disk Set XD

Berisi program pengembangan X. Termasuk di dalamnya X11 libraries, server linkkit, dan PEX support. Disk Set XD membutuhkan 14 MB.

13. Disk Set XV

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.

14. Disk Set Y

Berisi berbagai macam game yang dijalankan di atas console (tidak membutuhkan tampilan grafis). Disk Set Y membutuhkan 8 MB.

Kebutuhan Perangkat keras

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

Page 19: Server Linux

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.

Instalasi dengan Boot Disk

1. Masuk ke lingkungan DOS prompt

C:\>

2. Pindah ke direktori Bootdsks.144

C:\>cd d:\Bootdsks.144 D:Bootdsks.144\>

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

D:Bootdsks.144\>rawrite bare.I a:\ #untuk perangkat keras IDE secara umum

D:Bootdsks.144\>rawrite scsi.s a:\ #untuk perangkat keras SCSI secara umum

4. Setelah selesai, keluarkan disket Anda dan beri label boot disk. Pindah ke direktori root disk.

Page 20: Server Linux

D:Bootdsks.144\>cd ../rootdsks D:rootdsks\>

5. Jalankan kembali rawrite untuk menuliskan root disk ke dalam disket.

D:rootdsks\>rawrite color.gz a: # untuk monitor color

D:rootdsks\>rawrite text.gz a: # untuk monitor monokrom

D:rootdsks\>rawrite pcmcia.gz a: # untuk instalasi pada laptop

dengan dukungan pcmcia

D:rootdsks\>rawrite rescue.gz a: # untuk membuat disket rescue  D:rootdsks\>rawrite umsdos.gz a: # untuk menginstal Slackware pada

partisi UMSDOS

6. Setelah selesai, keluarkan disket, dan beri label root disk. 7. Masukkan boot disk ke drive a, kemudian booting komputer Anda. 8. Akan terlihat tulisan LILO, dan tampil pesan dari boot linux. Anda tinggal tekan Enter. Kernel

akan mencoba mengenali perangkat keras Anda. Perhatikan hingga sampai pada teks :

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.

Slackware login : 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.

Page 21: Server Linux

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

a toggle bootable flag   b edit bsd dick label   c toggle the DOS compatibility flag   d delete a partition   l list of known partition types   m print this menu   n add new partition   o create a new empty DOS partition table   q quit without saving changes   t change partition system ID   u change display /entry units   v verify partition table   w write table to disk and exit   x extra functionality (expert only)

Command (m for help): p # ketik p untuk mengetahui partisi dalam hard disk Anda,lalu tekan enter

Disk /dev/hda: 16 heads, 63 sectors, 1024 cylinders   Units = cylinders of 1008 * 512 bytes   Device Boot Begin Start End Blocks Id System   /dev/hda1 * 2 2 126 63000 6 DOS 16-bit>=32M

Page 22: Server Linux

Dari tampilan partisi di atas, hard disk Anda, diwakili dengan /dev/hda, hanya mempunyai satu partisi, yakni /dev/hda1. Di MSDOS ataupun windows Anda biasa melihatnya sebagai Drive C. Partisi tersebut mempunyai sistem file DOS 16-bit, dan menempati silinder 2 hingga 204. Lanjutkan dengan pembuatan partisi baru.

Command (m for help): n

Command action

e extended   p primary partition (1-4)

p

Partition number (1-4): 2

First cylinder (204-683): 204   Last cylinder or +size or +sizeM or +sizeK (204-683): +80M

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 (m for help): n

Command action   e extended   p primary partition (1-4)

p

Partition number (1-4): 3

First cylinder (474-683): 474   Last cylinder or +size or +sizeM or +sizeK (474-683): +10M

Command (m for help): p

Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders Units = cylinders of 608 *

512 bytes   Device Boot Begin Start End Blocks Id System

/dev/hda1 * 1 1 203 61693 6 DOS 16-bit >=32M   /dev/hda2 204 204 473 82080 83 Linux native   /dev/hda3 474 474 507 10336 83 Linux native

Page 23: Server Linux

Dari tampilan di atas, tabel 3 partisi yang kesemuanya primary sudah berhasil dibuat. Untuk partisi extended biasanya dimulai dari angka 5 ke atas. Misalnya /dev/hda5, /dev/hda6 dan seterusnya.

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.

Command (m for help): t

Partition number (1-4): 3

Hex code (type L to list codes): L

0 Empty 9 AIX bootable 75 PC/IX b7 BSDI fs   1 DOS 12-bit FAT a OS/2 Boot Manag 80 Old MINIX b8 BSDI swap   2 XENIX root 40 Venix 80286 81 Linux/MINIX c7 Syrinx   3 XENIX usr 51 Novell? 82 Linux swap db CP/M   4 DOS 16-bit <32M 52 Microport 83 Linux native e1 DOS access   5 Extended 63 GNU HURD 93 Amoeba e3 DOS R/O   6 DOS 16-bit>=32 64 Novell Netware 94 Amoeba BBT f2 DOS secondary   7 OS/2 HPFS 65 Novell Netware a5 BSD/386 ff BBT   8 AIX

Command (m for help): t

Partition number (1-4): 3

Hex code (type L to list codes): 82

Command (m for help): p

Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders   Units = cylinders of 608 * 512 bytes   Device Boot Begin Start End Blocks Id System

/dev/hda1 * 1 1 203 61693 6 DOS 16-bit >=32M   /dev/hda2 204 204 473 82080 83 Linux native   /dev/hda3 474 474 507 10336 82 Linux swap

Anda lihat bahwa /dev/hda3 telah berubah dari Linux native menjadi Linux swap. Langkah berikutnya adalah menyimpan tabel partisi yang telah Anda buat.

Command (m for help): w

Anda akan kembali ke shell prompt. Lanjutkan dengan instalasi. Pertama , aktifkan swap yang telah dibuat sebelumnya

Page 24: Server Linux

# mkswap /dev/hda3   # swapon

Hal ini membantu jika Anda hanya memiliki sedikit memory.

Setup

Setelah mengaktifkan swap, jalankan skrip setup dari Slackware.

# setup

Akan muncul menu :

Help ; File help dari slackware, menyangkut instalasi Key Map ; Memetakan keyboard, jika menggunakan keyboard non english Swap ; Membuat dan mengaktifkan swap file Target; Menentukan direktori tempt Linux akan diinstal Source ; Menentukan direktori sumber file yang akan diinstal Select ; Memilih perangkat lunak yang akan diinstal Instal; Memulai instalasi dari paket program yang telah dipilih sebelumnya Configure ; Mengkonfigurasikan Linux sebelum di restart Exit ; Selesai instalasi dan keluar

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.

Page 25: Server Linux

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 :

1. Masukkan CD-ROM SuSE 2. Jika Anda masih berada di Microsoft Windows, restart komputer ke dalam MSDOS

mode. 3. Pindah ke drive dimana CD-ROM SuSE berada (misalnya D:\). 4. Saat berada di drive CD-ROM, jalankan program setup. D:\> setup 5. Pertama kali muncul adalah pilihan bahasa. Anda bisa pilih Bahasa Indonesia atau

Inggris. Contoh dalam langkah instalasi berikut menggunakan pilihan Bahasa Inggris. 6. Kemudian muncul pertanyaan drive tempat CD-ROM berada. Ketikkan D:\ atau E:\ ,

tergantung komputer Anda. 7. Berikutnya adalah metode instalasi. Pilihan yang ada adalah :

1. CD; jika Linux sudah mendukung CD-ROM yang Anda miliki. 2. Hard disk; jika Linux sudah disalin dari CD-ROM ke hard disk.

8. Selanjutnya adalah pemilihan kernel. Kernel adalah program utama Linux, inti dari sistem operasinya. SuSE menyediakan beberapa pilihan kernel yang sudah dikompilasi sebelumnya untuk mendukung perangkat keras secara spesifik. Misalnya kernelEIDE01 untuk perangkat keras(E)IDE secara umum, atau kernelSCSI01 untuk SCSI Adapter Aic 7xxx (Adaptec 274x). Pemilihan kernel ini tergantung konfigurasi komputer masing-masing.

9. Masukkan parameter kernel. Jika Anda tidak mengetahuinya, langsung tekan enter. 10. Berikutnya SuSE akan menanyakan apakah Anda menginginkan untuk instal Loadlin

sekarang? Loadlin adalah program yang dijalankan di DOS untuk menginisialisikan kernel (menjalankan Linux) lewat MSDOS. Jawab ya jika Anda belum memilikinya, dan sebaliknya.

11. Selesai proses instalasi Loadlin, kernel akan langsung dijalankan. Untuk inisialisasi kernel, secara otomatis dijalankan perintah :

LOADLIN E:/suse/images/EIDE01 root=200 rw 2 Initrd

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:

Page 26: Server Linux

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

Page 27: Server Linux

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 :

o Install Linux from scratch; Instal SuSE baru ke dalam komputer dengan metode standar.

o Update existing file system; Upgrade SuSE dari versi sebelumnya. o Instalation using expert mode; Instalasi dengan pilihan-pilihan khusus yang

menawarkan modifikasi penuh. o Abort; membatalkan instalasi.

Pilih install Linux from scratch

15. Langkah selanjutnya adalah penentuan partisi. Sebelum melanjutkan, silakan baca tentang partisi pada sub bab instalasi Slackware. Pilihan pertama adalah partitioning hardware; ada dua pilihan :

o partitioning; SuSE akan melakukan partisi otomatis sisa spasi hard disk yang masih kosong. Partisi otomatis ini meliputi partisi Linux sekaligus swap.

o Do not partitioning; Untuk langkah partisi normal. Untuk belajar melakukan partisi, pilih do not partitioning.

16. Setelah dipilih do not partitioning, akan muncul pilihan lagi, yakni : o Whole hard disk; SuSE akan mempartisi seluruh hard disk. Hindarkan pilihan ini. o Partitioning; melakukan partisi secara manual. Pilih partitioning untuk

menjalankan partisi hard disk secara manual. 17. Langkah selanjutnya adalah mengedit tabel partisi. Jalankan langkah ini secara hati-hati

terutama jika Anda memiliki data dalam hard disk Anda. Berikut contoh tabel partisi yang sudah ada :

Device Name From To Blocks Partition Type

/dev/hda1 1 319 2562336 b Win 95 Fat 32  /dev/hda2 320 1048 5855692 5 extended  /dev/hda5 320 447 1028128 83 Linux Native  /dev/hda6 448 463 128488 82 Linux Swap

18. Tampilan tabel partisi bisa bermacam-macam, tergantung pengaturan di komputer Anda sebelumnya. Untuk membuat partisi baru, tekan F5.

Starting Cylinder :

End of partition: +1000M

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

Page 28: Server Linux

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

19. Langkah selanjutnya adalah melakukan format terhadap sistem file Linux yang baru saja Anda buat partisinya. Contoh sistem file yang sudah ada :

List of existing hard drive

Device Blocks     Inodes Format fstype mountpoint partition

/dev/hda5 1028128 4096   No     ext2              Linux

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.

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

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

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

23. Setelah itu muncul menu LILO Instalation. Jawab yes dan segera Anda dibawa ke menu : o Pilihan berikut biarkan kosong

Append line for hardware parameter :

o Pilih Master Boot Record untuk menempatkan LILO di MBR sehingga saat # boot akan dijalankan.

Where do you want install LILO :

Master Boot Record

Boot sector of root partition

Boot sector of boot partition

On floppy disk

o Boot delay adalah lama waktu dalam satuan detik pada saat memilih menu sistem operasi yang akan dijalankan saat komputer dinyalakan.

Page 29: Server Linux

Boot Delay :

24. Proses selanjutnya penentuan time configuration. Ini adalah satuan waktu yang digunakan oleh sistem operasi. Anda bisa memilih antara menggunakan GMT atau waktu lokal.

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

Domain Name : heaven.or.id

26. Menu berikutnya adalah konfirmasi peran komputer Anda. Pilihannya adalah : o IP Loopback only; untuk mesin yang berjalan sendiri dan tidak terhubung ke

jaringan o Real network; untuk mesin yang terhubung dalam jaringan.

Pada bagian DHCP client, pilih no (kecuali jika Anda terhubung dalam jaringan dengan DHCP). Dalam contoh berikut, pilih real network.

Catatan:

DHCP atauDynamic Host Configuration Programadalah program yang mendistribusikan alamat IP pada setiap mesin yang terhubung ke dalam jaringan. Pemberian alamat IP secara dinamis ini memudahkan jaringan dengan user yang banyak, dan alamat IP tidak perlu diset satu per satu di tiap mesin. Cukup DHCP yang membagikannya secara acak. Program ini biasa dipergunakan di ISP (Internet Service Provider), di mana setiap user yang tersambung lewat modem, memperoleh alamat IP berubah-ubah pada tiap koneksi.

27. Jika dipilih real network, menu berikutnya adalah memasukkan alamat jaringan : o 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.

o IP Address of your machine; isikan alamat IP misalnya 192.168.1.100 o Netmask; Isikan netmask berdasarkan kelasnya. Misal 255.255.255.0 o Gateway; Biarkan kosong. Gambaran tentang gateway dapat Anda baca di Bab III

sub bab IP Masquerade. o IP Address of PPP Partner; Isikan DNS server dari ISP Anda. Misalnya

202.158.3.7. 28. Selanjutnya adalah mengkonfigurasikan sendmail lewat sendmail.cf. Menu yang

diberikan:

Page 30: Server Linux

o Host with permanent network connection; Jika Anda terhubung dalam jaringan dengan sambungan yang permanen.

o Single user machine without network connection; Jika komputer tidak terhubung dalam jaringan (standalone)

o Host with temporarily network connection; Jika dalam waktu-waktu tertentu komputer Anda terhubung dalam jaringan (misalnya Internet).

o Use UUCP to send mail; Jika mesin Anda terhubung dalam jaringan UNIX, dan mempergunakan protokol UUCP (Unix to Unix Copy Protocol)

o Do not install /etc/sendmail.cf; Melewati menu ini, dan jika perlu sendmail.cf dapat dikonfigurasikan sendiri nantinya.

29. Selesai konfigurasi sementara untuk sendmail, komputer akan direstart. Selanjutnya adalah mengisikan password untuk root. Usahakan untuk mengisi lebih dari 8 huruf.

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

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

Langkah instalasi RedHat :

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.

$ mount /dev/cdrom /cdrom

$ cd /cdrom/images

$ dd if=boot.img of=/dev/fd0 bs=1440k

Page 31: Server Linux

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.

C:\> d: (di mana d adalah direktori CD-ROM )

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

Enter disk image source file name: ..\images\boot.img

Enter target diskette drive: a:

Please insert a formatted diskette into drive A: and press -ENTER- :

Enter

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,

Page 32: Server Linux

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.

9. Selanjutnya tentang partisi, RedHat menawarkan automatic partition dan manually partition. Pilihan Automatic Partition akan membuat data-data yang ada menjadi hilang, karena RedHat mempartisi ulang semuanya dengan model standar. Pilih manually partition.

10. Diasumsikan Anda tidak menggunakan program fdisk, maka RedHat akan menjalankan program diskdruid. Layar partisi dengan diskdruid menampilkan jumlah partisi yang ada, sisa spasi yang masih ada, serta ringkasan informasi hardisk. Menu yang ada untuk partisi adalah :

o add; untuk menambah partisi o edit; untuk mengedit partisi yang telah dibuat o delete; menghapus partisi tertentu o reset; menghapus seluruh partisi

11. Pilih add untuk menambah partisi. Misalnya :

Add - Mount Point : /

Grow to fill disk :

aktifkan jika anda ingin partisi ini memanfaatkan sisa spasi yang belum dipergunakan. Biasanya diaktifkan untuk swap.

Partition type : Linux Native

Size : 850 (membuat partisi sebesar 850 Megabyte)

Add - Mount Point : (biarkan kosong)

Grow to fill disk : aktifkan

Partition type : Linux Swap

Size : 150 (membuat partisi memory swap sebesar 150 Megabyte)

12. Selesai dengan partisi, dilanjutkan dengan format partisi swap yang telah dibuat, dan mengaktifkannya untuk membantu memory dalam proses instalasi.

Page 33: Server Linux

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 :

1. Master Boot Record (MBR)

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.

2. First Sector of Boot partition

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.

15. Selanjutnya adalah konfigurasi jaringan (Network Configuration). Pada divais eth0 (baca: kartu jaringan pertama), tersedia pilihan :

o Configure using DHCP; memanfaatkan DHCP (Dynamic Host Configuration Protocol) atau penomoran IP terhadap host secara dinamis. Biarkan kosong kecuali anda terhubung ke DHCP server.

o Activate on boot; kartu jaringan akan diaktifkan saat booting. o IP Address ; misalnya 192.168.100.1 o Netmask; misalnya 255.255.255.0 o Network; biarkan kosong, atau misalnya 192.168.100.254 o Broadcast; biarkan kosong, atau misalnya 192.168.100.255 o Hostname; misalnya spawn.heaven.id o Gateway; biarkan kosong, atau misalnya 192.168.100.1. Gambaran tentang

implementasi gateway bisa anda baca nanti di Bab III Konfigurasi Sistem sub bab IP Masquerade.

o Primary DNS; isikan Name Server dari ISP anda, atau biarkan kosong dulu. 16. Berikutnya konfigurasi Time Zone, dan user. Isikan password root, dan jika perlu

tambahkan beberapa user untuk meminimalkan penggunaan account root. User ini dapat dipergunakan untuk login saat booting pertama kali ke RedHat.

17. Authentication Configuration, pilih MD5 Password dan Shadow Password. MD5 password memungkinkan pemberian password hingga 256 karakter. Sedangkan shadow adalah metode penyimpanan password dari file password (/etc/passwd) ke dalam file

Page 34: Server Linux

lain (/etc/shadow) yang hanya bisa dibaca oleh root. Lebih lanjut baca Bab VII tentang keamanan jaringan.

18. Selanjutnya adalah pemilihan paket program. Pilih paket program yang diperlukan. Untuk pemilihan masing masing program (Bukan berdasarkan paket), klik Select Individual Packages.

19. Configuration; mengkonfigurasikan X Window untuk aplikasi grafis. Dimulai dengan pemilihan server berdasarkan kartu VGA yang ada. Misalnya S3 3D Trio, dengan jumlah memory 8 Megabyte (8192k). Aktifkan Use Graphical Login jika nanti menginginkan langsung masuk ke modus grafis (init 5) saat booting. Skip X Configuration, jika Anda tidak membutuhkan tampilan grafis, atau anda dapat konfigurasikan X belakangan.

20. Setelah ini proses instalasi dilakukan. Ujicoba pada buku ini memakan waktu kurang lebih 10 menit. 21. Selesai instalasi, proses dilanjutkan dengan membuat bootdisk. Siapkan floppy jika anda menginginkannya, atau skip create boot disk jika anda tidak menginginkan pembuatan boot disk.

21. Instalasi selesai. Booting komputer, dan masuk ke dalam prompt Linux RedHat. Jangan lupa untuk memasukkan boot disk jika anda instal LILO di sektor pertama partisi root.

Welcome to RedHat 6.2 i686 (Zoot)

Spawn login :

Boot Loader Windows NT Dalam masa transisi, biasanya ada keengganan untuk melepaskan sistem operasi yang sudah jalan dengan baik di komputer. Linux menyediakan pemecahan dengan menginstal Windows NT dan Linux berbarengan dalam satu komputer dan memilih antar keduanya saat komputer menyala. Intinya adalah mengkonfigurasikan boot start up sehingga nanti dapat memilih antara Linux atau NT. Sebelumnya, ketahui dulu tips dalam menginstal dua sistem operasi ini, berdasarkan Linux-NT Loader Mini HOW-TO v1.11:

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

Page 35: Server Linux

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 :

Timeout sebelum pengguna memilih salah satu menu adalah 30 detik Default kursornya berada pada entri multi(0)disk(0)rdisk(0)partition(1)\WINNT Dibawah sub bagian [operating systems] adalah pilihan sistem operasi yang akan

diboot.

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:

1. Masuk ke lingkungan Linux. Siapkan disket jika perlu. 2. Dengan asumsi Linux Anda berada pada/dev/hda2 jalankan perintah berikut dengan

account root :

# dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1

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 /

# mount -t ntfs /dev/hda1 /mnt

# cp bootsect.lnx /mnt

# umount /dev/hda1

4. Atau dengan cara menyalin ke disket.

Page 36: Server Linux

# cd /

# mount -t msDOS /dev/fd0 /mnt

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

C:\ attrib -r -s boot.ini

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

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 Server[vga mode]"

c:\bootsect.lnx="Linux"

9. Berikutnya, kembalikan lagi atribut filenya.

C:\ attrib +r +s boot.ini

10. Boot komputer Anda dan lihat perbedaannya. Sekarang Anda memiliki menu Linux untuk di jalankan.

OS Loader V4.00

Please select the operating system to start:

Windows NT Server Version 4.0

Windows NT Server Version 4.0 [VGA mode]

Linux

Loadlin

Page 37: Server Linux

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

Page 38: Server Linux

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

C:loadlin\> loadlin c:\loadlin/Vmlinuz root=/dev/hda2 ro

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.

Page 39: Server Linux

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 266320422 Hz processor.

Console: colour VGA+ 80x25

Calibrating delay loop... 265.42 BogoMIPS

Page 40: Server Linux

Memory: 127752k/131072k available (1280k kernel code, 408k reserved,

1576k data, 56k init)

VFS: Diskquotas version dquot_6.4.0 initialized

CPU: Intel Pentium II (Klamath) stepping 04 Checking 386/387 coupling...

OK, FPU using exception 16 error reporting.

Checking 'hlt' instruction... OK.

Checking for popad bug... OK.

POSIX conformance testing by UNIFIX

mtrr: v1.26 (19981001) Richard Gooch ([email protected])

PCI: PCI BIOS revision 2.10 entry at 0xf6930

PCI: Using configuration type 1

PCI: Probing PCI hardware

PCI: 00:00 [8086/1237]: Passive release enable (00)

Linux NET4.0 for Linux 2.2

Based upon Swansea University Computer Society NET3.039

NET4: Unix domain sockets 1.0 for Linux NET4.0.

NET4: Linux TCP/IP 1.0 for NET4.0

IP Protocols: ICMP, UDP, TCP, IGMP

Initializing RT netlink socket Starting kswapd v 1.5

Detected PS/2 Mouse Port. Serial driver version 4.27 with HUB-6

MANY_PORTS MULTIPORT SHARE_IRQ enabled

ttyS00 at 0x03f8 (irq = 4) is a 16550A

ttyS01 at 0x02f8 (irq = 3) is a 16550A

Real Time Clock Driver v1.09

RAM disk driver initialized: 16 RAM disks of 4096K size

loop: registered device at major 7

PIIX3: IDE controller on PCI bus 00 dev 21

Page 41: Server Linux

PIIX3: not 100% native mode: will probe irqs later

ide0: BM-DMA at 0x0500-0x0507, BIOS settings: hda:pio, hdb:pio

ide1: BM-DMA at 0x0508-0x050f, BIOS settings: hdc:DMA, hdd:pio

hdc: HITACHI CDR-8330, ATAPI CDROM drive

ide1 at 0x170-0x177,0x376 on irq 15

hdc: ATAPI 24X CD-ROM drive, 128kB Cache

Uniform CDROM driver Revision: 2.54

Floppy drive(s): fd0 is 1.44M FDC 0 is a National Semiconductor PC87306

md driver 0.36.6 MAX_MD_DEV=4, MAX_REAL=8

linear personality registered

raid0 personality registered

(scsi0) <Adaptec AIC-7860 Ultra SCSI host adapter> found at PCI 7/0

(scsi0) Narrow Channel, SCSI ID=7, 3/255 SCBs

(scsi0) Warning - detected auto-termination

(scsi0) Please verify driver detected settings are correct.

(scsi0) If not, then please properly set the device termination

(scsi0) in the Adaptec SCSI BIOS by hitting CTRL-A when prompted

(scsi0) during machine bootup.

(scsi0) Cables present (Int-50 YES, Ext-50 NO)

(scsi0) Downloading sequencer code... 419 instructions downloaded

scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.1.10/3.2.4

<Adaptec AIC-7860 Ultra SCSI host adapter>

scsi : 1 host.

Vendor: HP       Model: 4.26GB A 50-S65A Rev: S65A

Type:  Direct-Access                ANSI SCSI revision: 02

Page 42: Server Linux

Detected scsi disk sda at scsi0, channel 0, id 0, lun 0   scsi : detected 1 SCSI disk total.

(scsi0:0:0:0) Synchronous at 20.0 Mbyte/sec, offset 15.

SCSI device sda: hdwr sector= 512 bytes. Sectors= 8330543 [4067 MB] [4.1

GB]

Partition check:

sda: sda1 sda2 sda3 sda4 < sda5 sda6 >

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.

Berikut level init default yang dijalankan di masing-masing distribusi :

Table: Init Level Slackware

Run Level Keterangan

0 Mematikan komputer (halt)

1 Modus user tunggal. Biasanya dipergunakan root untuk administrasi sistem

2 Tidak dipergunakan (tapi dikonfigurasikan sama dengan level 3)

Page 43: Server Linux

3 Modus multi user (default yang dijalankan Slackware saat booting)

4 X11 dengan xdm, inisialisasi dengan tampilang grafis (GUI)

5 Tidak dipergunakan (tapi dikonfigurasikan sama dengan level 3)

6 Reboot

Table: Init Level SuSE

Run Level Keterangan

0 Mematikan komputer (halt)

S Modus user tunggal. Biasa dipakai root untuk administrasi sistem

1 Multi user tanpa network

2 Multi user dengan network

3 X11 dengan xdm, inisialisasi denga tampilang grafis

6 Reboot

Table: Init Level RedHat

Run Level Keterangan

0 Mematikan komputer (halt)

1 Modus user tunggal, biasa dipergunakan untuk administrasi sistem

2 Multi user tanpa NFS

3 Multi user penuh (default yang dijalankan RedHat)

4 Tidak dipergunakan

5 X11, inisialisasi tampilan grafis

6 Reboot

   

Page 44: Server Linux

Dalam hal ini, init dijalankan dengan run level 3 (multi user).

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

Direktori berisi file yang dieksekusi saat Linux booting.

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.

Page 45: Server Linux

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

Berisi file-file sementara

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 :

Page 46: Server Linux

1. General help for installation

File help yang berisi tentang tombol-tombol yang dipergunakan untuk navigasi YaST.

2. Adjustments of installation Bagian untuk instalasi atau update instalasi. 1. Select Language 2. Select Keymap 3. Select Installation Medium 4. Configure harddisk partitions 5. Set target partitions/filesystems 6. Installation to a directory

3. Choose/Install packages

Penambahan atau pengurangan (uninstall) paket aplikasi.

4. Update system

Pengecekan terhadap perubahan program-program lain serta sistem yang terpengaruh dengan instalasi program yang baru.

5. System Administration

Konfigurasi sistem, termasuk hardware, network dan user. Bagian ini terdiri dari :

1. Integrate hardware into system 1. Mouse configuration 2. Modem 3. CD-ROM 4. Configure printers 5. Configure ISDN hardware 6. Configure your scanner 7. Configure networking device

2. Kernel and boot configuration 1. Select boot kernel 2. Create a boot disk 3. Create a rescue disk 4. LILO Configuration

3. Network configuration 4. Network base configuration

1. Change hostname 2. Configure network services 3. Configure name server 4. Configure YP Client 5. DHCP client 6. Configure sendmail 7. Configure ISDN parameters

Page 47: Server Linux

8. Configure a PPP network 9. Administer remote printers 10. Connect to printer via Samba 11. Connect to printer via novell network

5. Login configuration 1. Settings of SuSE WM 2. User Administration 3. Group Administration 4. Create backups 5. Set the console font 6. Set Time Zone

6. Configure XFREE86 (tm) 7. Configure GPM 8. Security Settings 9. Change Configuration file

6. Show README file for installation media

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

Page 48: Server Linux

Konfigurasi standar untuk mesin, diantaranya hosts.conf, DNS (Domain Name System), NIS (Network Information Server), PPP (Point to Point Protocol, biasanya untuk koneksi ke internet) dan konfigurasi umum lainnya.

2. Server Tasks

Konfigurasi server yang dijalankan oleh Linux. Misalnya Apache, Mail Delivery system, Samba dan aplikasi server lainnya. Misc

3. Information about other hosts

Edit pemetaan nama mesin lain dalam file /etc/hosts

4. Information about other networks

Edit pemetaan jaringan dalam file /etc/networks

5. LinuxConf net access

Mengaktifkan LinuxConf untuk dapat diakses lewat browser dengan memanggilhttp://nama_mesin_linux:98

2. User Accounts 1. Normal

Mengambah, mengurangi dan mengatur user Linux.

2. Special Accounts

Menambah, mengurangi dan mengatur user khusus seperti PPP, SLIP, POP, dan VPOP (untuk mail).

3. Email aliases 4. Policies 5. File Systems 6. Miscellaneous Service

Mengatur user untuk layanan lainnya.

7. Boot mode

Mengatur default init yang dijalankan saat Linux dijalankan.

2. Control 1. Control Panel

Page 49: Server Linux

1. Activate Configuration

Mengaktifkan LinuxConf yang telah diperbarui

2. Shutdown/Reboot

Pilihan untuk mematikan atau reboot komputer.

3. Control Service Activity

Mengatur layanan yang dijalankan lewat inetd.

4. Mount/Umount

Mengatur mounting partisi dan divais lain (CD-ROM, disket, tape drive).

2. Control Files and systems

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

Seting manual di Slackware

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.

Page 50: Server Linux

Serial sub-system self-test: passed.

Internal registers self-test: passed.

ROM checksum self-test: passed (0x49caa8d6).

Receiver lock-up workaround activated.

Atau cara kedua, dengan perintah ifconfig.

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

Page 51: Server Linux

# 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

# PCI NE2000 clone support:

#/sbin/modprobe ne2k-pci

# SMC Ultra support:

#/sbin/modprobe smc-ultra

# SMC Ultra32 EISA support:

#/sbin/modprobe smc-ultra32

# Western Digital WD80*3 (and clones) support:

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

# PCI NE2000 clone support:

/sbin/modprobe ne2k-pci

# SMC Ultra support:

#/sbin/modprobe smc-ultra

# SMC Ultra32 EISA support:

#/sbin/modprobe smc-ultra32

# Western Digital WD80*3 (and clones) support:

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

Page 52: Server Linux

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.

Page 53: Server Linux

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

PING 192.168.1.2 (192.168.1.2): 56 data bytes

64 bytes from 192.168.1.2: icmp_seq=0 ttl=128 time=0.6 ms

64 bytes from 192.168.1.2: icmp_seq=1 ttl=128 time=0.4 ms

64 bytes from 192.168.1.2: icmp_seq=2 ttl=128 time=0.4 ms

64 bytes from 192.168.1.2: icmp_seq=3 ttl=128 time=0.5 ms

64 bytes from 192.168.1.2: icmp_seq=4 ttl=128 time=0.4 ms

-- 192.168.1.2 ping statistics --

5 packets transmitted, 5 packets received, 0% packet loss

round-trip min/avg/max = 0.4/0.4/0.6 ms

Selain menentukan nomor IP dengan memasukkannya ke dalam skrip yang dijalankan pada saat booting, pemberian nomor IP juga bisa dilakukan jika sudah berada dalam lingkungan shell. Hal ini bermanfaat jika suatu saat akan mengganti nomor IP mesin (atau tepatnya nomor IP kartu jaringan).

# 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

Page 54: Server Linux

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

#ifconfig eth0 down # nonaktifkan dulu kartu jaringannya

#ifconfig eth0 ip=192.168.1.100 netmask=255.255.255.0

#ifconfig eth0 up # aktifkan kembali

# ifconfig

eth0 Link encap:Ethernet HWaddr 00:A0:C9:99:5C:4C

inet addr:192.168.1.100 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

Dengan demikian, kartu jaringan diganti dari nomor IP 192.168.1.1 menjadi 192.168.1.100.

Seting Kartu Jaringan melalui YaST

1. Masuk sebagai user root, dan jalankan yast

$ su

Page 55: Server Linux

password:

# yast

2. Segera muncul yast, masuk ke bagian System administration - Integrate hardware into system - Configure networking device.

o Networking type : eth0

Nama divais yang dipergunakan. Jika mampunyai kartu jaringan lebih dari satu, dapat mengisikan secara berurutan, misal eth0, eth1 dan seterusnya.

o Networking Device Type : ne2k-pci

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.

Seting Kartu Jaringan melalui LinuxConf

1. Masuk sebagai user root, dan jalankan linuxconf.

$ 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

Page 56: Server Linux

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.

Pada prinsipnya, dial ke internet membutuhkan :

Page 57: Server Linux

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.

Autentikasi di ISP biasanya menggunakan metode PAP (Password Authentication Protocol). Jika Anda harus memasukkan user name dan password langsung dengan menuliskan teksnya, berarti tidak menggunakan metode PAP (Biasanya untuk account shell).

Koneksi Manual

Untuk koneksi ke ISP secara manual, jalankan langkah berikut :

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 :

Com1 pada DOS -> /dev/cua0 atau /dev/ttys0

Com2 pada DOS -> /dev/cua1 atau /dev/ttys1 dan seterusnya.

2. Seting Nama dan DNS

Pastikan /etc/hosts telah berisi nama domain Anda. Selain itu, edit file /etc/resolv.conf Anda :

domain nama.isp.Anda

nameserver 10.25.0.1 # nomor IP DNS ISP Anda.

nameserver 10.25.1.2 #Bisa diisi lebih dari 1

Dan cek pula file /etc/host.conf, seharusnya berisi :

order hosts,bind

multi on

Page 58: Server Linux

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

#

# Melindungi pppd untuk berjalan dibackground.

-detach

#

# menggunakan modem

modem

# memastikan modem tidak dipakai program lain saat digunakan

device

lock

crtscts

# membuat defaultroute untuk koneksi ini kedalam routing table

defaultroute

asyncmap 0

# Maksimum transmisi paket 552 bytes

mtu 552

# Maksimum penerimaan paket

552 bytes

mru 552

#

# memaksa pppd untuk menggunakan user name ISP sebagai 'host name'

# saat proses autentikasi.

name <nama isp Anda>

Page 59: Server Linux

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

# Secrets for authentication using PAP

# client server secret acceptable local IP addresses

fade * linuxispower

5. Test koneksi ke ISP.

Jalankan perintah berikut dengan user root :

# pppd -d -detach /dev/ttySx 3524001 &

6. Untuk mengetes koneksi Anda, cobalah ping ke website terkenal.

# ping -c 5 sunsite.unc.edu

PING sunsite.unc.edu (152.2.254.81): 56 data bytes

64 bytes from 152.2.254.81: icmp_seq=0 ttl=254 time=190.1 ms

64 bytes from 152.2.254.81: icmp_seq=1 ttl=254 time=180.6 ms

64 bytes from 152.2.254.81: icmp_seq=2 ttl=254 time=169.8 ms

64 bytes from 152.2.254.81: icmp_seq=3 ttl=254 time=170.6 ms

64 bytes from 152.2.254.81: icmp_seq=4 ttl=254 time=170.6 ms

-- sunsite.unc.edu ping statistics --

5 packets transmitted, 5 packets received, 0% packet loss

round-trip min/avg/max = 169.8/176.3/190.1 ms

7. Untuk mematikan koneksi Anda, cukup jalankan ppp-off.

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

Page 60: Server Linux

$ su #pindah ke account root  password:  # pppsetup

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 :

atdt3524001 <- untuk menelpon dengan tone  atdp3524001 <- untuk menelpon denga pulse

Selanjutnya tekan enter, dan masuk ke penentuan modem.

Pilih ttys0 jika modem Anda disambungkan ke port Com1  Pilih ttys1 jika modem Anda disambungkan ke port Com2  Pilih ttys2 jika modem Anda disambungkan ke port Com3  Pilih ttys3 jika modem Anda disambungkan ke port Com4

Setelah menentukan modem, dilanjutkan dengan menentukan baudrate dari modem.

460800 untuk modem dengan kecepatan 460KBps - Modem ISDN  230400 untuk modem dengan kecepatan 230KBps - Modem 56KBps atau ISDN  115200 untuk modem dengan kecepatan 115KBps - Modem 56KBps atau 33.6 atau

28.8  57600 untuk modem dengan kecepatan 57.6KBps - Modem 56KBps atau 33.6 atau

28.8  38400 untuk modem dengan kecepatan 38.4KBps - Modem 56KBps atau 33.6 atau

28.8  19200 untuk modem dengan kecepatan 19.2KBps - Modem ISDN  57600 untuk modem dengan kecepatan 9.6KBps - Modem ISDN

Pilih sesuai konfigurasi modem Anda. Selanjutnya akan muncul pertanyaan :

Does your service provider provide call back?

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 :

Page 61: Server Linux

===============================================================

PPPSETUP 1.98 on SLACKWARE.

Written by Robert S. Liesenfeld <[email protected]> <IRC:Xunil>

Changes for 1.98 by Kent Robotti <[email protected]>

Patched for Slackware by Patrick Volkerding <[email protected]>

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

Press [Enter] to continue with pppsetup...

===============================================================

These are your PPP configuration files and instructions...

===============================================================

# This is your /etc/ppp/pppscript.

TIMEOUT 60

ABORT ERROR

ABORT BUSY

ABORT "NO CARRIER"

ABORT "NO DIALTONE"

"" "AT&FH0"

OK "atdt3524001"

TIMEOUT 75

CONNECT

# This is your /etc/ppp/options file.

# General configuration options for PPPD:

lock

defaultroute

Page 62: Server Linux

noipdefault

modem

/dev/ttyS1

57600

crtscts

# Uncomment the line below for more verbose error reporting:

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

# for more information.

#noauth

passive

asyncmap 0

name "fade"

I created the symbolic link: /dev/modem -> /dev/ttyS1

# This is your /etc/ppp/options.demand dialing file.

# General configuration options for PPPD:

lock

defaultroute

noipdefault

modem

/dev/ttyS1

57600

crtscts

Page 63: Server Linux

# Uncomment the line below for more verbose error reporting:

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

# for more information.

#noauth

passive

asyncmap 0

name "fade"

ipcp-accept-local

ipcp-accept-remote

0.0.0.0:10.10.10.10

demand

connect "/usr/sbin/chat -v -f /etc/ppp/pppscript"

If you have a ethernet connection you should change the local:remote

IP addresses in the options.demand file, to your actual local and

remote address. Example: 215.346.117.89:312.217.187.96

# This in your /etc/resolv.conf file.

search cbn.net.id

nameserver 202.158.3.7

202.158.3.7 <-IMPORTANT: This should be the IP address of

your service providers nameserver.

# This is your /etc/ppp/pap-secrets file.

Look at /etc/ppp/pap-secrets.

Page 64: Server Linux

Does everything look correct? if not, run 'pppsetup' again...

===============================================================

To connect to your service provider.

===============================================================

# ppp-go <-Make PPP connection.)

You'll hear and see the modem dialing then once connected,

logging you in Username: or Login: and Password: etc.

You won't see a Username or Login: and Password: prompt

if they're using PAP or CHAP to authenticate you.

If they use PAP or CHAP you'll just see CONNECT - got it.

If the connection was successful you'll see the Local IP and

Remote IP address printed to the screen, you can press [Enter].

If you run ppp-go in X windows you probably won't see a Local

and Remote IP address printed to the screen, you'll just see

the connection process come to a end, wait a few seconds and

press [Enter] at that point.

If you don't connect for whatever reason e.g. Failed No

Dialtone, Busy, No Carrier, Whatever, Exit, just press

[Enter] at that point.

if you have syslogd running, you can see the output messages

from pppd and chat in the /var/log/messages and or debug file.

Sample /var/log/messages file.

spawn pppd[562]: Serial connection established.

spawn pppd[562]: Using interface ppp0

spawn pppd[562]: Connect: ppp0 <-> /dev/modem

Page 65: Server Linux

spawn pppd[562]: local IP address 215.87.78.18

spawn pppd[562]: remote IP address 205.94.97.35

You don't have a successful PPP connection until you

receive a local & remote IP address like above.

If you have the X window system, you could connect in a Xterm.

spawn # startx

spawn # ppp-go

spawn # netscape mosaic etc.

# ppp-off <-To end the ppp connection.)

# ppp-go -h <-For help.)

There is no support in linux for "WinModems", if you have a

WinModem you will not be able to use it in linux.

There is support for plug n play modems, if you have a pnp

modem you may need "isapnptools" to get it recognized.

===============================================================

#### Look at the /usr/doc/pppsetup/pppsetup-1.98.README. ####

#### A copy of this text can be found in: /etc/ppp/pppsetup.txt ####

===============================================================

Done... You can exit now...

End...

Koneksi dengan Wvdial (SuSE)

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

Page 66: Server Linux

Segera akan muncul layar WvDial V 1.20 Configuration. Berikut review dari menu yang ada :

1. Change the language of SuSE WvDial

Memilih bahasa konfigurasi WvDial. Bahasa yang tersedia adalah Bahasa Inggris, Jerman dan Spanyol.

2. Configure the current profile

Seting utama untuk melakukan hubungan ke ISP. Terdiri atas :

a. Phone number : 1234567 (isikan nomor telepon Anda)

b. Account Name : fade (user name di ISP)

c. Password : linuxispower (password untuk menghubungi ISP)

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)

f. PAP/CHAP authentification (Metode otentikasi. Pilihan lainnya adalah

   Compuserve, Germany T-online dan Non Standard Login untuk ISP      yang tidak mendukung model PAP/CHAP).

3. Autodetectmodem

WvDial akan mencoba deteksi semua port serial untuk menemukan modem.

4. Configure DNS with YaST

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

Menghubungi internet untuk mencoba konfigurasi yang baru saja dibuat.

Sebagai tambahan, SuSE WvDial menyertakan beberapa dokumentasi yang dapat dibaca langsung lewat menunya :

1. Show the README.SuSE for WvDial

Page 67: Server Linux

Pernyataan dan beberapa petunjuk ringkas dari SuSE tentang penggunaan WvDial for SuSE.

2. Show the trouble shooting file

Beberapa contoh kemungkinan pesan kesalahan / error message

3. Show the original WvDial README

README asli yang disertakan dalam file sumber WvDial.

4. Load an alternatif profile

Memanfaatkan wvdial.conf yang sudah diseting oleh pihak lain

Koneksi dengan skrip if-up (RedHat)

Skrip PPP di RedHat dapat dibuat secara otomatis oleh LinuxConf. Berikut cara mengkonfigurasikannya :

1. Aktifkan LinuxConf

# linuxconf

2. Masuk ke bagian Config - Networking - Routing and Gateways - PPP/SLIP/PLIP 3. Pilih Add - PPP, dan masukkan konfigurasi Anda :

o phone number : 1234567 (isi nomor ISP yang akan dihubungi) o modem port : /dev/ttyS1 (Port Com2 pada DOS, port yang akan

dipergunakan oleh modem) o Aktifkan Use PAP Authentication o Password : linuxispower (isikan password koneksi ke ISP)

Untuk konfigurasi lebih detail, tekan customize (bila perlu) :

o Hardware:

Non-aktifkan kontrol line di sini jika Anda mempunyai dua komputer dengan sambungan langsung.

o Escape control characters:

Biasanya dipergunakan untuk negosiasi secara otomatis dengan server. Biarkan kosong.

o Abort connection on well-known errors:

Page 68: Server Linux

Pemutusan hubungan jika muncul pesan kesalahan/terjadi kesalahan umum.

o Allow any user to (de)activate the interface:

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:

Semua paket dikirimkan lewat ppp. Jika Anda sebelumnya sudah menentukan gateway secara default, maka pilihan ini tidak akan berfungsi.

Page 69: Server Linux

Restart link when connection fails:

Skrip akan melakukan koneksi ulang (redial) jika hubungan terputus.

Time out value in seconds:

Tenggang waktu PPP akan memutuskan sambungan jika nomor yang dikontak tidak memberikan respons.

Maximum packet size:

Ukuran maksimum paket yang dikirim. Semakin besar nilainya, akan semakin cepat koneksinya. Tapi pada sambungan yang berisik (sudah mengalami induksi, justru akan memperlambat akses).

o Infrequently used options:

Alamat IP lokal dan remote yang diberikan secara otomatis oleh ISP.

o PAP:

Password dan username yang diberikan oleh ISP

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.

Cara kerja IP Masquerade dapat digambarkan sebagai berikut :

1. Mesin klien diseting dengan menempatkan mesin Linux sebagai gatewaynya.

Page 70: Server Linux

2. Jika ada paket dari klien ke mesin Linux, IP Masquerade akan membuat nomor port baru, header IP baru berdasarkan IP mesin Linux, dan menyimpan paket aslinya. Paket tersebut kemudian diteruskan ke internet lewat koneksi PPP atau SLIP.

3. Jika ada paket baru dari Internet, IP Masquerade akan mencocokkan dengan nomor port. Jika sesuai dengan nomor port yang telah dibuat sebelumnya, maka paket tersebut dibungkus kembali dengan header yang telah disimpan sebelumnya, dan diteruskan kepada klien.

4. Baik klien maupun host di Internet yang mengirimkan paket tidak pernah merasakan perbedaannya.

Untuk menjalankan IP Masquerade pada mesin Linux dengan Kernel 2.2.x, Anda membutuhkan :

1. Kernel 2.2.x atau berikutnya 2. Modul kernel yang dapat dijalankan, minimal versi 2.1.121 atau berikutnya 3. Jaringan dengan menggunakan TCP/IP yang telah berjalan dengan baik. 4. Koneksi ke internet untuk mesin Linux 5. IP Chains versi 1.3.8 atau berikutnya

Sedangkan pada Kernel versi 2.0.x Anda membutuhkan :

1. Kernel 2.0.x atau berikutnya 2. Modul kernel yang dapat dijalankan, minimal versi 2.0.0 atau berikutnya 3. Jaringan dengan menggunakan TCP/IP yang telah berjalan dengan baik. 4. Koneksi ke internet untuk mesin Linux 5. Ipfwadm versi 2.3 atau berikutnya

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

Page 71: Server Linux

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

Setelah itu ikuti dengan kompilasi modul.

# 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

Page 72: Server Linux

/sbin/modprobe ip_masq_raudio

/sbin/modprobe ip_masq_irc

(dan modul lain yang tersedia)

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.

Windows for Workgroup 3.11

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.

Page 73: Server Linux

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

Page 74: Server Linux

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

DOS dengan paket NCSA Telnet

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

8. Tambahkan spesifikasi lain untuk DNS (Domain Name Service):

name=dns.domain.com ; hostip=123.123.123.123; nameserver=1

Catatan :

Ganti isian DNS sesuai dengan yang dipergunakan Linux gateway Anda

9. Simpan file Config.tel yang baru saja diedit 10. Telnet mesin Linux Anda untuk melakukan tes terhadap sambungan jaringan:

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

Page 75: Server Linux

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.

MacOS yang menjalankan Open Transport

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

Page 76: Server Linux

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.

Novell network dengan DNS

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

Link Driver KTC2000

Protocol IPX 0 ETHERNET_802.3

Frame ETHERNET_802.3

Frame Ethernet_II

FRAME Ethernet_802.2

NetWare DOS Requester

FIRST NETWORK DRIVE = F

USE DEFAULTS = OFF

Page 77: Server Linux

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

PATH SCRIPT C:\NET\SCRIPT

PATH PROFILE C:\NET\PROFILE

PATH LWP_CFG C:\NET\HSTACC

PATH TCP_CFG C:\NET\TCP

ip_address 192.168.1.xxx #(isi no IP mesin)

ip_router 192.168.1.1

5. buat file c:\bin\resolv.cfg. Isi dengan domain name server Anda. Misal :

SEARCH DNS HOSTS SEQUENTIAL

NAMESERVER 202.158.3.7

NAMESERVER 192.168.1.2

Page 78: Server Linux

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.

Konfigurasi Sistem Lain

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.

Penetapan kebijakan dalam masquerading, mempergunakan program ipchains atau ipfwadm. Ipchais dipergunakan pada Kernel 2.2.x, sedangkan ipfwadm dipergunakan pada Kernel 2.0.x.

Dalam contoh berikut, diasumsikan nomor IP mesin Linux Anda adalah 192.168.1.1 dan menggunakan Subnet Mask 255.255.255.0.

ipchains -P forward DENY

ipchains -A forward -s yyy.yyy.yyy.yyy/x -j MASQ

yyy.yyy.yyy.yyy dapat Anda isi nomor IP per mesin, atau dibuat secara umum satu kelas. x merupakan nomor yang ditentukan berdasarkan kelas subnetnya.

Table: Angka dan Subnet

Page 79: Server Linux

Netmask x Subnet

255.0.0.0 8 Kelas A

255.255.0.0 16 Kelas B

255.255.255.0 24 Kelas C

255.255.255.255 32 Point to Point

T

Contoh :

ipchains -P forward DENY

ipchains -A forward -s 192.168.1.0/24 -j MASQ

Rule set ini akan meneruskan setiap permintaan dari seluruh host dengan nomor ip 192.168.1.x dan subnet mask 255.255.255.0.

ipchains -P forward DENY

ipchains -A forward -s 192.168.1.2/24 -j MASQ

ipchains -A forward -s 192.168.1.3/255.255.255.0 -j MASQ

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.

Page 80: Server Linux

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.

Beberapa contoh konfigurasi di atas dapat diimplementasikan langsung untuk memanfaatkan koneksi yang terbatas ke internet secara maksimal. Skenario ini biasanya dipergunakan oleh penyedia jasa koneksi ke Internet (warnet). Hanya dengan menjalankan IP masquerade, dan mengaktifkan IP chains, semua user dapat terhubung ke Internet

Konektivitas dengan Windows Jika dalam satu jaringan ada berbagai macam sistem dengan berbagai macam platform, maka dibutuhkan sebuah program yang menjembatani sehingga semua mesin dapat saling berhubungan satu sama lain. Salah satu program yang menjembatani Linux (dan UNIX pada umumnya) dengan mesin Windows yang cukup terkenal adalah Samba.

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 :

Menghubungkan setiap mesin Unix (termasuk Linux) dengan mesin Dos/Windows Menempatkan mesin Unix (Linux) sebagai Primary Domain Controller sebagaimana

yang dilakukan NT.

Oleh sebab itu lewat Samba, Anda dapat membuat server dengan klien produk Microsoft Windows, dengan layanan :

1. Berbagi (share) file dan printer. 2. Membantu pengguna browsing di network neighborhood 3. Memberikan otentikasi kepada tiap klien yang login ke dalam domain 4. Memberikan atau membantu dengan WINS name server resolution.

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

Page 81: Server Linux

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.

Implementasi Microsoft dalam Jaringan Sebelum mulai instalasi Samba, atau sebelum melakukan konfigurasi jika Samba Anda sudah terinstall, berikut akan dipelajari secara ringkas, bagaimana Microsoft menerapkan komunikasi dalam jaringannya.

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,

Page 82: Server Linux

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.

WINS (Windows Internet Name Service)

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 :

Name Service ; untuk name registration dan name resolution Datagram Session

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.

Gambar 5 Pendaftaran nama dengan Broadcast

Gambar 6 Pendaftaran nama dengan NetBIOS Name Server (NBNS)

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.

Page 83: Server Linux

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

Page 84: Server Linux

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)

Table: Kemampuan Samba

Tugas Dukungan (ya/tidak)

File Server Ya

Printer Server Ya

Primary Domain Controller Ya (Versi 2.1 keatas)

Otentikasi Windows 95/98 Ya

Local Master Browser Ya

Backup Local Master Tidak

Domain Master Browser Ya

Primary WINS Server Ya

Secondary WINS Server Tidak

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

Page 85: Server Linux

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

Program yang memback up data yang dishare. Mirip tar di Linux.

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

Program yang memungkinkan administrator mengatur password yang terenkripsi yang dipergunakan oleh Samba Server.

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

Page 86: Server Linux

Samba) mengatur resource share, melihat status Samba terakhir, dengan dukungan file help yang sangat bermanfaat.

Instalasi SambaInstalasi 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 :

1. Download Distribusi Samba

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

$ gzip samba*.tar.gz | tar xvf -

Page 87: Server Linux

Catatan :

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

Sebelum memulai instalasi, biasakan untuk membaca dokumentasi terlebih dahulu. Setelah Anda ekstrak Samba, dokumentasi dapat dilihat di direktori utama Samba. Beberapa file yang perlu dibaca :

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 :

Configure: warning: running as non-root will disable some test

Menjalankan proses instalasi dengan user root akan lebih memastikan aplikasi Samba terinstal dengan baik.

/usr/local/src$ su -

password :

/usr/local/src # cd samba-2.0.7 (direktori utama hasil ekstraksi)

/usr/local/src/samba-2.0.7# ./configure

/usr/local/src/samba-2.0.7# make

/usr/local/src/samba-2.0.7# make install

Selesai proses instalasi, Samba akan menyimpan filenya dalam beberapa direktori di dalam direktori utama /usr/local/samba

Page 88: Server Linux

Table: Direktori Samba

Direktori Keterangan

/usr/local/samba Direktori utama

/usr/local/samba/bin File Binari yang dapat dieksekusi

/usr/local/samba/lib File konfigurasi Samba

/usr/local/samba/man Dokumentasi

/usr/local/samba/private Password Samba yang terenkripsi

/usr/local/samba/SWAT File SWAT

/usr/local/samba/varFile sementara yang selalu berubah saat Samba berjalan. Misal file log, file shared memory dsb.

Instal SWAT

Selesai kompilasi dan instal program, Aktifkan SWAT untuk membantu dalam administrasi Samba. Fitur SWAT yang dapat dimanfaatkan dalam administrasi mencakup :

Mengedit konfigurasi Samba Dokumentasi lengkap dengan hyperlink Melihat status file yang dishare Mematikan, start dan restart Samba Daemon, smbd dan nmbd Mengatur resource yang akan dishare

juga memungkinkan Anda melakukan administrasi secara remote. Catatan :

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.

SWAT dijalankan secara daemon lewat /etc/inetd dan/etc/servies. Untuk mengkonfigurasikan dalam kedua file tersebut :

1. Tambahkan baris ini ke dalam file /etc/services

Page 89: Server Linux

SWAT 901/tcp

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

SWAT stream tcp nowait.400 /usr/local/samba/SWAT SWAT

Binary Samba pada Distribusi Linux

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

Page 90: Server Linux

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.

File smb.conf secara default :

# 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

Page 91: Server Linux

# 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

Page 92: Server Linux

;  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

Page 93: Server Linux

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

Page 94: Server Linux

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

Page 95: Server Linux

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

Page 96: Server Linux

   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.

Page 97: Server Linux

#

# 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

Page 98: Server Linux

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

Page 99: Server Linux

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

Setelah diedit dengan SWAT, akan menjadi seperti ini:

# 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

Page 100: Server Linux

[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

Konfigurasi Samba lewat LinuxConf (RedHat)

LinuxConf pada RedHat memasukkan Samba sebagai bagian server yang dapat diadministrasi olehnya. Konfigurasi Samba lewat LinuxConf dapat dilakukan dengan cara sebagai berikut :

1. Masuk ke bagian Config - Networking - Server Tasks - Samba File Server. 2. Pilihan konfigurasi Samba adalah :

o Default; Konfigurasi utama (dalam file smb.conf masuk dalam kategori [global]). Pilihan disini termasuk Base Config, Passwords, Access, Networking, Auto Accounts dan Features.

o Default Setup for user's home; Direktori home bagi tiap user yang dibagi secara default.

o Default setup for printers; Seting untuk membagi printer. o Netlogon setup; Direktori untuk net logon yang dibagi. File batch bagi tiap user yang

login ke Samba dapat ditempatkan di sini. o Disk share; Mendefinisikan direktori-direktori lain yang akan dibagi ke dalam

jaringan. 3. Selesai mengisi pilihan-pilihan tersebut sesuai dengan kebutuhan Anda, tutup LinuxConf. Klik

Accept untuk menyimpan semua perubahan. 4. Jalankan testparm dari prompt (console) .

# 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

Page 101: Server Linux

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.

Menggabungkan Samba dengan NT

Page 102: Server Linux

Jika dalam jaringan Anda sudah ada Windows NT, Anda dapat menyisipkan Samba ke dalam jaringan dengan cara sebagai berikut :

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 :

# smbpasswd -j SURGA -r spawn

3. Sebagai langkah terakhir, masukkan pilihan berikut dalam file smb.conf

[global]

security = domain

domain logins = yes

workgroup = SURGA

password server = spawn

Samba sudah dikonfigurasikan dalam bentuk domain-level security. Penggabungan Samba ke dalam domain NT dengan cara demikian membawa beberapa konsekuensi terutama dalam otentikasi user. Jika sebelumnya NT langsung melakukan otentikasi, maka mulai Anda jalankan Samba, otentikasi dilakukan oleh Samba dengan mencocokkan password yang ada dalam database NT. Bila digambarkan dalam dialog kurang lebih sebagai berikut :

1. Pemakai memasukkan username dan password. Komputer akan menanyakannya kepada PDC.

2. Sebelum sampai PDC, Samba mengambil alih pertanyaan komputer. Kemudian Samba akan menanyakan kepada NT, apakah username dan password yang diberikan cocok.

3. Jika cocok, Samba akan mengembalikan response pada user otentikasi untuk login ke dalam jaringan.

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.

Samba sebagai Domain Logon

Page 103: Server Linux

Skenario ini dapat diterapkan jika jaringan Anda berada dalam kondisi seperti berikut :

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 :

Samba merupakan satu-satunya primary domain controller pada workgroup yang bersangkutan

Ada WINS Server dalam jaringan, baik mesin samba sendiri atau mesin Windows NT Samba diset menggunakan user level security (tidak memberikan otentikasi password

kepada komputer lain).

Pilihan yang perlu ditambahkan dalam file smb.conf adalah :

[global]

workgroup = SURGA

domain logons = yes

# Pastikan untuk menggunakan user level security

security = user

# Pastikan sebagai domain controller

os level = 34

local master = yes

preferred master = yes

domain master = yes

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]

  comment = Service untuk domain logons

Page 104: Server Linux

  # Buat terlebih dahulu direktori sebagai path dari pilihan berikut

  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.

Berbagi printer dan file File konfigurasi Samba, yakni smb.conf, secara garis besar dibagi dua bagian.

1. Global

Menyangkut konfigurasi umum, pilihan-pilihan yang dijalankan atau dimatikan terhadap smbd (Samba Daemon) dan nmbd (Name Server Daemon).

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 ]

path = tujuan dari direktori yang akan dibagi

browseable = bisa dibrowse oleh user atau tidak (boolean)

guest ok = dapat diakses oleh user yang tidak dikenal atau tidak (boolean)

writable = dapat ditulisi atau hanya bisa dibaca saja (boolean)

Contoh konfigurasi sebuah direktori yang dibagi :

Page 105: Server Linux

[test]

comment = testing doang neh...

path = /win

read only = No

guest ok = Yes

Selain direktori, Samba juga memberikan sumber dayanya untuk dibagi. Misalnya printer.

[printers]

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

Dengan adanya SWAT, semakin memudahkan administrator dalam mengkonfigurasikannya. Antar muka web yang bermanfaat (dan sudah pasti indah, sebab kata orang bijak semua yang bermanfaat itu indah), kemampuan untuk diakses secara remote, membuat Samba sangat fleksibel untuk diadministrasi.

Untuk mengikuti perkembangan terakhir Samba, dapat anda cek di http://www.samba.org. Samba juga membuka peluang bagi siapa saja yang ingin bergabung bersama dalam Tim Samba untuk mengembangkan program ini. Mailing list Samba saat ini beranggotakan lebih dari 3000 orang.

Server DNS

Page 106: Server Linux

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.

Bagaimana DNS bekerja? DNS bekerja dalam modus klien server. Dalam arti ada klien yang mencari nama atau alamat IP, kemudian ada server yang memberikan informasi dimana nama atau alamat IP tersebut diakses. Server DNS yang paling banyak digunakan di lingkungan UNIX adalah BIND.

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

 

  name server lokal

   

   name server root (.)

    

    name server id (id.)

Page 107: Server Linux

     

     name server or (or.id.)

      

      name server heaven (heaven.or.id)

       

       host spawn (spawn.heaven.or.id) 

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 :

Mengajukan permintaan terhadap name server Menginterpretasikan permintaan (resolve), dan memberikan response Mengembalikan informasi kepada program yang memintanya.

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

Page 108: Server Linux

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

Mengindikasikan authority untuk zone yang bersangkutan.

NS Record

Daftar name server untuk zone yang bersangkutan

Other records,

catatan lainnya seperti :

A; Pemetaan dari nama domain ke alamat IP PTR; Pemetaan dari alamat IP ke nama domain CNAME; Nama alias (Canonical Name)

Page 109: Server Linux

/etc/resolv.conf

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

};

//

// a caching only nameserver config

//

zone "." {

type hint;

file "root.cache";

};

zone "0.0.127.in-addr.arpa" {

type master;

file "named.local";

};

Page 110: Server Linux

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.

; This file holds the information on root name servers needed to

; initialize cache of Internet domain name servers

; (e.g. reference this file in the "cache . <file>"

; configuration file of BIND domain name servers).

;

; This file is made available by InterNIC registration services

; under anonymous FTP as

; file /domain/named.root

Page 111: Server Linux

; on server FTP.RS.INTERNIC.NET

; -OR- under Gopher at RS.INTERNIC.NET

; under menu InterNIC Registration Services (NSI)

; submenu InterNIC Registration Archives

; file named.root

;

; last update: Aug 22, 1997

; related version of root zone: 1997082200

;

;

; formerly NS.INTERNIC.NET

;

. 3600000 IN NS A.ROOT-SERVERS.NET.

A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4

;

; formerly NS1.ISI.EDU

;

. 3600000 NS B.ROOT-SERVERS.NET.

B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107

;

; formerly C.PSI.NET

;

. 3600000 NS C.ROOT-SERVERS.NET.

C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12

;

; formerly TERP.UMD.EDU

Page 112: Server Linux

;

. 3600000 NS D.ROOT-SERVERS.NET.

D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90

;

; formerly NS.NASA.GOV

;

. 3600000 NS E.ROOT-SERVERS.NET.

E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10

;

; formerly NS.ISC.ORG

;

. 3600000 NS F.ROOT-SERVERS.NET.

F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241

;

; formerly NS.NIC.DDN.MIL

;

. 3600000 NS G.ROOT-SERVERS.NET.

G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4

;

; formerly AOS.ARL.ARMY.MIL

;

. 3600000 NS H.ROOT-SERVERS.NET.

H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53

;

; formerly NIC.NORDU.NET

;

Page 113: Server Linux

. 3600000 NS I.ROOT-SERVERS.NET.

I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17

;

; temporarily housed at NSI (InterNIC)

;

. 3600000 NS J.ROOT-SERVERS.NET.

J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10

;

; housed in LINX, operated by RIPE NCC

;

. 3600000 NS K.ROOT-SERVERS.NET.

K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129

;

; temporarily housed at ISI (IANA)

;

. 3600000 NS L.ROOT-SERVERS.NET.

L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12

;

; housed in Japan, operated by WIDE

;

. 3600000 NS M.ROOT-SERVERS.NET.

M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33

; End of File

Untuk mendapatkan file root.cache/named.root ini dapat melakukan perintah dig dengan user root.

# dig @rs.internic.net > /var/named/root.cache.new

Page 114: Server Linux

/var/named/named.local

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

@ IN SOA localhost. root.localhost. (

1997022700 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Minimum

IN NS localhost.

1 IN PTR localhost.

/var/named/ut.zone ( file zone domain )

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

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

IN MX 10 netcom.ut.astra.co.id.

netcom IN A 10.2.6.5

www IN CNAME netcom

Page 115: Server Linux

ftp IN CNAME netcom

mail IN CNAME netcom

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

Untuk menghindarkan pengulangan dalam pengiriman, MX records mempunyai parameter tambahan yakni nilai keinginan (preference value), antara 0 hingga 65535. Kita ambil contoh dengan merujuk pada file /var/named/ut.zone.

IN MX 10 netcom.ut.astra.co.id.

Baris di atas menunjukkan bahwa netcom.ut.astra.co.id punya preference value 10 untuk menjadi relay dari domain ut.astra.co.id. Lebih jelas lagi contoh berikut :

heaven.or.id. IN MX 1 spawn.heaven.or.id.

Page 116: Server Linux

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

Menunjukkan status named sebagaimana ditampilkan dengan perintah ps.

dumpdb

Membuang database dan cache dari named ke /var/tmp/named_dump.db

reload

Menyebabkan named mengecek semua nomor serial zone primary dan secondary, dan menampilkan kembali setiap perubahan.

stats

Membuang statistik ke dalam file /var/tmp/named.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  

/var/tmp/named.run jika masih ada.

querylog

Page 117: Server Linux

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

Menghentikan named jika masih berjalan

restart

Menghentikan named dan menjalankannya kembali.

Misalnya untuk mulai menjalankan name server : # ndc restart

Seting DNS lewat LinuxConf (RedHat) DNS di LinuxConf dapat dikonfigurasikan lewat Config - Networking - Domain Name Server. Sebelum mulai konfigurasi, buatlah terlebih dahulu direktori /var/named untuk meletakkan file resource record yang akan dihasilkan oleh Linuxconf. Setelah itu jalankan LinuxConf.

# mkdir /var/named

# linuxconf

Domain Name Server di LinuxConf terdiri dari beberapa bagian :

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

Page 118: Server Linux

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

Seting DNS di SuSE Untuk seting name server di SuSE, bisa dilakukan secara manual sebagaimana telah

dibahas sebelumnya. YaST menyediakan menu konfigurasi untuk name server, namun itu hanya sebatas menuliskan nama dan alamat IP dari name server ke dalam file /etc/resolv.conf. Menu tersebut bisa diakses lewat System Administration - Network - Configuration Name Server.

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,

Page 119: Server Linux

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

Dengan tambahan kontribusi dari :

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 [email protected] 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.

Kontrol ini dapat dijalankan berdasarkan nama host atau nomor IP

2. CGI (Common Gateway Interface),

yang paling terkenal untuk digunakan adalah perl (Practical Extraction and Report Language), didukung oleh Apache dengan menempatkannya sebagai modul (mod_perl)

3. PHP (Personal Home Page/PHP Hypertext Processor);

Page 120: Server Linux

program dengan metode semacam CGI, yang memproses teks dan bekerja di server. Apache mendukung PHP dengan menempatkannya sebagai salah satu modulnya (mod_php). Hal ini membuat kinerja PHP menjadi lebih baik

4. SSI (Server Side Includes)

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 :

Ruang hardisk kosong sebanyak 12 Megabyte. Sebagai tambahan kurang lebih 3 Megabyte untuk modul-modul yang akan dipasang.

Pastikan mesin Anda memiliki ANSI-C Compiler. Untuk Linux yang paling ideal adalah gcc (GNU C Compiler).

Perl interpreter (tidak harus) untuk menjalankan beberapa skrip konfigurasi. Jika tidak ada tidak akan mengganggu instalasi secara keseluruhan. Hanya saja beberapa skrip tidak akan dijalankan.

Dukungan Dynamic Share Object (DSO) (tidak harus), yang memungkinkan Apache menjalankan modul sebagai bagian dari run time-nya.

Platform yang didukung oleh Apache saat ini :

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

Yang belum didukung sama sekali adalah ultrix.

Setelah mengecek beberapa syarat yang harus dipenuhi, lanjutkan dengan instalasi. Berikut prosedur instalasi, dengan asumsi bahwa Anda sudah memperoleh file sumber Apache:

$ tar -zxvf apache_1.3.X.tar.gz

Page 121: Server Linux

$ ./configure -prefix=PREFIX

$ 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

(+)mod_env Pembuatan variabel environment untuk skrip CGI/SSI

(+)mod_setenvif Pembuatan variabel environment berdasarkan header HTTP

(-)mod_unique_id Pembuatan pengenal khusus untuk permintaan Content Type Decision

(+)mod_mimePenentuan tipe isi/encoding (configured)

(-)mod_mime_magic Penentuan tipe isi (otomatis)

(+)mod_negotiation Penentuan pemilihan berdasarkan the HTTP Accept* headers URL mapping

(+)mod_alias Penerjemahan dan penerusan URL sederhana

(-)mod_rewrite Penerjemahan dan penerusan URL tingkat lanjut

(+)mod_userdir Pemilihan direktori sumber berdasarkan nama user

(-)mod_speling Mengoreksi URL salah eja.

2. Pengaturan direktori

(+)mod_dir Pengaturan direktori dan direktori default file

Page 122: Server Linux

(+)mod_autoindex Kontrol akses terhadap pembuatan direktori file indeks secara otomatis.

(+)mod_access Kontrol akses (user, host, jaringan)

(+)mod_auth Autentikasi dasar HTTP (user, passwd)

(-)mod_auth_dbm Autentikasi dasar HTTP lewat file Unix NDBM.

(-)mod_auth_db Autentikasi dasar HTTP lewat file Berkeley-DB

(-)mod_auth_anon Autentikasi dasar HTTP untuk user anonymous

(-)mod_digest Autentikasi HTTP Digest Autentikasi HTTP response

(-)mod_headers Respon header HTTP secara acak (configured)

(-)mod_cern_meta Respon header HTTP secara acak (CERN-style files)

(-)mod_expires Respon HTTP yang lewat jangka waktu

(+)mod_asis Skripting respon HTTP mentah

(+)mod_include Dukungan Server Side Includes (SSI)

(+)mod_cgi Dukungan Common Gateway Interface (CGI)

(+)mod_actions Memetakan skrip CGI untuk berjalan sebagai internal 'handlers'

3. Pengaturan content internal

(+)mod_status Pengaturan content untuk status server run-time

(-)mod_info Pengaturan content untuk info singkat konfigurasi server

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

Page 123: Server Linux

7. Pengembangan o [(-)mod_example]Demonstrasi Apache API demonstration (developers only)

(+) = tersedia secara default [menghilangkannya dengan -disable-module]

(-) = tidak tersedia secara default [mengaktifkannya dengan -enable-module]

Dynamic Shared Object Untuk mengaktifkan semua modul, cukup tambahkan -enable-shared=all pada saat kompilasi.

# ./configure -enable-shared=all

Penggunaan parameter -enabled-shared memungkinkan modul dijalankan dengan metode DSO (Dynamic Shared Object), yakni menjalankan modul lewat program yang inheren di Apache. Di sistem Unix, modul dijalankan lewat dua cara, yakni lewat program ld.so yang merupakan bagian dari keseluruhan sistem, atau lewat DSO, loader-nya dari program itu sendiri.

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.

Page 124: Server Linux

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.

2. Section (Main) Configuration

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"

Direktori utama di mana file konfigurasi, dan log diletakkan.

LockFile /var/run/httpd.lock

Direktori untuk lock file. Disarankan menyimpannya dalam direktori lokal.

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.

Page 125: Server Linux

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

Jumlah detik sebelum server mengeluarkan pesan time out.

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

Jumlah server yang berjalan saat diaktifkan.

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.

Page 126: Server Linux

MaxRequestsPerChild 30

Jumlah permintaan maksimal untuk mempergunakan child process.

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

Page 127: Server Linux

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

Page 128: Server Linux

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 [email protected]

Alamat yang dipergunakan untuk mengirim/memberitahukan halaman-halaman yang dibuat secara otomatis oleh server. Misalnya, pesan-pesan kesalahan.

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

Page 129: Server Linux

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

Page 130: Server Linux

       Allow from all

   </Limit>

   <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>

       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 :

1. User yang bersangkutan terdaftar dalam sistem 2. Pemilik daemon httpd punya hak baca terhadap direktori tersebut. 3. Perhatikan konfigurasi file .htaccess yang ada di tiap direktori.

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

Page 131: Server Linux

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

Direktori tempat menyimpan file 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.

Page 132: Server Linux

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

Format dari pesan yang dicatat dalam file log.

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

Memberikan alias sebanyak mungkin yang Anda inginkan. Formatnya adalah :

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"

Maka user bisa mengaksesnya dengan alamat http://nama.domain.anda/fade dan langsung menuju direktori /home/fade/publik. Setiap alias yang didefinisikan harus diberikan atribut terhadap direktorinya. Misalnya untuk alias di atas diberikan atribut :

<Directory "/home/fade/publik">

Page 133: Server Linux

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

Page 134: Server Linux

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

Prioritas bahasa yang dipergunakan.

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

Page 135: Server Linux

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 :

Teks murni; misal

ErrorDocument 404 "File yang Anda akses tidak tersedia.

Menunjuk file lokal; misal

ErrorDocument 404 /cgi-bin/missing_handler.pl

Menunjuk file eksternal

Page 136: Server Linux

ErrorDocument 402 http://server.lain.com/info_daftar.html

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

Page 137: Server Linux

    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

Page 138: Server Linux

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

Contoh konfigurasi Virtual Hosts dapat dilihat sebagai berikut :

<VirtualHost 192.168.1.2>

    ServerAdmin [email protected]

    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.

Page 139: Server Linux

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.

9. Program Bantu Apache 10. Selain binary httpd, apache memiliki 2 program bantu :

apxs (Apache Extension Tool)

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

Page 140: Server Linux

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

ab (Apache HTTP Server Benchmarking Tools)

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 :

$ ab -k -n 900 -w benchmark.html http://localhost:80

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.