Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Buku-linux

BAB I Sejarah linux 1.1 APAKAH DIA UNIX DAN SEJARAHNYA UNIX adalah sebuah sistem operasi yang matang, satu perisian yang mengawal komputer, menjadi orang tengah antara anda dan komputer dan menyediakan alatan daripada segi perisian dalam membantu kerja-kerja anda. Ia direka supaya mudah dikendali, cekap dan mempunyai pelbagai suasana komputer. Beberapa jenis UNIX yang ada dipasaran: SunOS/Solaris (SunMicrosystem) HP-UX (Hewlett-Packard) IRIX (Silicon Graphics) AIX (IBM) ULTRIX (Digital Equipment Corporation) 1.1.a Sejarah Unix Pada tahun 1965, Bell Telephone Laboratories (Bell Labs, a division of AT&T) berkerjasama dengan General Electric dan Project MAC of MIT untuk menulis sebuah sistem operasi yang dipanggil Multic. Tidak lama kemudian, menyedari projek itu tidak ke mana Bell Labs membuat keputusan untuk keluar daripada kumpulan itu. Ini meninggalkan Bell Labs tanpa sebarang sistem operasi. Ken Thompson dan Dennis Ritchie kemudian merangka sebuah sistem operasi yang sesuai dengan keperluan Bell Labs. Pada tahun 1969, Dennis Ritchie dan Ken Thompson menulis semula sebuah permainan komputer "SPACE TRAVEL" daripada GE-645 ke DEC PDP-11/20 dan UNIX pun dilahirkan. Seorang penyelidik Bell Labs, Brian Kernighan, memberikan nama sistem ini UNIX. Untuk layak dipanggil sebagai sistem operasi yang sebenar, sesebuah sistem operasi sekurang-kurangnya mempunyai dua kelayakan. Lebih daripada seorang pengguna dapat menggunakan sistem operasi tersebut dalam satu masa dan ia mampu menjalankan lebih daripada sebuah perisian pada waktu yang sama (multi-user dan multi-tasking) sejak tahun 1970 UNIX telah memenuhi keperluan ini. Dengan UNIX, setiap penggunanya mempunyai nama kemasukan (login name) mereka sendiri dan sebaiknya setiap pengguna akan mempunyai kata lepas (password). Dengan penggunaan nama kemasukan dan kata lepas, pengguna dapat dikenal pasti sebagai apa yang mereka kenalkan diri mereka kepada sistem (login dan password). Setiap komputer UNIX, pengguna yang memasuki sistem tersebut mempunyai identitinya tersendiri. Sama saja daripada nama komputer dan sekiranya ia disambungkan kepada rangkaian ia akan mempunyai nomor IP dan nama domain. Tahun yang paling penting bagi UNIX adalah pada tahun 1973, apabila UNIX ditulis semula dalam bahasa C.  Dengan bahasa ini, ia memudahkan UNIX dialihkan kepada berbagai jenis peralatan komputer. Kini UNIX telah dijalankan dan dibangunkan kepada hampir kesemua peralatan komputer yang anda miliki. Daripada Intel, SPARC, Motorola, ARM dan banyak lagi. Berbagai vendor telah membeli kod asal UNIX dan kemudiannya membangunkan  UNIX sesuai dengan keperluan dan perkakas yang mereka keluarkan. IBM dengan UNIX yang dipanggil AIX, HP dengan UNIX yang dipanggil HP-UX, SUN dengan UNIX yang dipanggil Sun Solaris dan pelbagai lagi. Malang sekali tiada pemusatan daripada segi pembangunan. UNIX yang mengakibatkan terdapat pelbagai perbezaan  di antara UNIX yang dikeluarkan oleh pelbagai vendor. Sehinggalah tahun 1990, apabila sebuah standard untuk UNIX dipersetujui. Pada tahun itu Standard IEEE POSIX.1 diperkenalkan. Sekitar tahun 1975, Thompson telah membawa kod-kod UNIX ke Universiti California di Berkeley dan menggalakkan pembangunan UNIX di unversiti itu, Di sini lahirlah Unix BSD atau Berkely Software Distribution. Pada masa ini sistem operasi UNIX mempunyai tiga keluarga yang besar, yang berasaskan kod-kod UNIX keluarga Sistem V (kod-kod yang dibeli daripada AT&T dan kemudiannya milik Unix System Laboratories) dan keluarga BSD (kod-kod berasaskan UNIX yang dibangunkan daripada BSD). Keluarga UNIX yang terakhir, yang kod-kod tiada kaitan dengan kod-kod asal UNIX adalah klon UNIX,  Linux. UNIX kini adalah tanda niaga milik The Open Group. Kelemahan utama UNIX adalah ia kod-kodnya adalah besar (ia dijalankan di dalam  sistem-sistem mahal dan mempunyai sumber sistem yang tinggi) dan harganya terlalu mahal. Disinilah Linux memainkan peranannya. Linux dibangunkan agar ia kecil, pantas dan murah. Setakat ini pembina Linux masih mengekalkan konsep ini. Linux mampu dijalankan dalam keadaan paling minimum seperti komputer Intel 286, 386 dan 486, komputer yang mungkin akan dibuang jika ia masih mahu menjalankan sistem operasi berasaskan Windows. 1.2 Apakah LINUX ? Linux, sebuah kata yang makin hari makin populer di dunia komputer tetapi masih sangat asing di telinga banyak orang. Kalimat "Linux adalah salah satu sistem operasi komputer" bukanlah merupakan jawaban yang tepat bagi masyarakat awam. Sistem operasi komputer adalah perangkat lunak yang memungkinkan terjadinya komunikasi antara manusia dan komputer serta memungkinkan aplikasi untuk berjalan di komputer. Untuk lebih mudahnya dapat dikatakan bahwa: Windows™ adalah salah satu sistem operasi sehingga Linux adalah merupakan pilihan dan alternatif lain bagi yang menginginkan sistem operasi selain Windows™. 1.2.a Sejarah Linux Segalanya bermula pada Ogos 1991, seorang student dari Finland mengepos (email la!)  pada comp.os.minix newsgroup yg berbunyi:   “Hello everybody out there using minix - I'm doing a (free)operating system (just a hobby,  won't be big and professional like GNU) for 386 (486) AT clones.” Linux dikembangkan oleh sejumlah pemrogram terbaik diseluruh dunia mencakup profesor, mahasiswa ilmu komputer, adminstrator sistem komputer sampai perusahaan besar. Pakar-pakar yang pertama kali mengembangkan unix adalah Ken Thomson, Dennis Ritchie, Brian Kerningham, dkk. Thomson sendiri sebelumnya telah mengembangkan sistem operasi multics (Multiplexed information and computing system). Pada perkembangan selanjutnya copyan Multics ini didistribusikan ke universitas-universitas dan lembaga-lembaga penelitian. Berawal dari sinilah, kemudian dilakukan pengembangan versi Unix dan selanjutnya muncullah varian-varian dari unix diantaranya : Linux, BSD, Sun Solaris, SCO Open Server, SCO Unix Ware, dll. Linux adalah Unix…Linux merupakan varian Unix. Linux sangat mirip dengan sistem-sistem UNIX, hal ini dikarenakan kompatibilitas dengan UNIX merupakan tujuan utama desain dari proyek Linux.Pada awalnya Linux adalah sebuah kernel untuk prosesor 80386, prosesor 32-bit pertama dalam kumpulan CPU intel yang cocok untuk PC. Kernel Linux perlu dibedakan dari sebuah sistem Linux: kernel Linux merupakan sebuah perangkat lunak orisinil yang dibuat oleh komunitas Linux sedangkan sistem Linux, yang diketahui saat ini, mengandung banyak komponen yang dibuat sendiri atau dipinjam dari proyek lain.Inti dari Linux itu sendiri adalah KERNEL(bagian inti dari suatu operating system) yang dikembangkan pada tahun 1991 oleh seorang mahasiswa universitas Helsinki di Finlandia bernama Linus Torvalds. yang pada awalnya dikembangkan sebagai proyek hobinya Linus untuk mewujudkan keinginannya akan suatu operating system pada komputer di rumahnya yang dapat bekerja seperti sistem unix di kampusnya. Selanjutnya Linus meluncurkan Source Code Linux Dibawah GNU Public Lisence (GPL) dimana setiap orang bebas untuk menggunakan dan mengembangkan linux. GPL sendiri merupakan pernyataan tentang lisensi untuk melindungi distribusi Free Software dan open source yang dikeluarkan oleh FSF (Free Software Foundation). FSF muncul setelah terjadi gerakan open source dan free software yang dipelopori oleh Richard Stallman bersamaan dengan promosi proyek GNU nya. Pada tahun 1991 itulah Linus mengumumkan tentang Linux di newsgroup dan sejak tahun itu jugalah orang-orang yang tertarik untuk mengembangkan Linux di seluruh dunia mulai memulai proyek pengembangan Linux. Pada awal perkembangannya, source code Linux disediakan secara bebas melalui Internet. Hasilnya, sejarah Linux merupakan kolaborasi banyak user dari seluruh dunia, semuanya dilakukan secara eksklusif melalui Internet. Dari kernel awal yang hanya mengimplementasikan subset kecil dari sistem UNIX, sistem Linux telah bertumbuh dimana sudah mampu memasukkan banyak fungsi UNIX. Mengapa orang tertarik untuk mengembangkan dan menggunakan Linux? Jawabannya sederhana: Linux dapat diperoleh dengan tanpa atau sedikit biaya, merupakan perangkat lunak open-source dan terbukti dapat diandalkan. Linux dilisensi dengan GNU Public Licence (GPL) yang mengharuskan source code atau 'cara membuat/ memprogramnya' dilepaskan untuk umum. Hal ini membuat Linux dapat didistribusikan dan dimodifikasi sesuai kebutuhan selama cara modifikasinya pun dilepaskan untuk umum. Tux: Logo Linux Gambar 7-1. Logo Linux. Sumber: . . . Logo Linux adalah sebuah pinguin. Tidak seperti produk komersil sistem operasi lainnya, Linux tidak memiliki simbol yang terlihat hebat. Melainkan Tux, nama pinguin tersebut, memperlihatkan sikap santai dari gerakan Linux. Logo yang lucu ini memiliki sejarah yang unik. Awalnya, tidak ada logo yang dipilih untuk Linux, namun pada waktu Linus (pencipta Linux) berlibur, ia pergi ke daerah selatan. Disanalah dia bertemu seekor pinguin yang pendek cerita menggigit jarinya. Kejadian yang lucu ini merupakan awal terpilihnya pinguin sebagai logo Linux. Tux adalah hasil karya seniman Larry Ewing pada waktu para pengembang merasa bahwa Linux sudah memerlukan sebuah logo (1996), dan nama yang terpilih adalah dari usulan James Hughes yaitu "(T)orvalds (U)ni(X) -- TUX!". Lengkaplah sudah logo dari Linux, yaitu seekor pinguin bernama Tux. Hingga sekarang logo Linux yaitu Tux sudah terkenal ke berbagai penjuru dunia. Orang lebih mudah mengenal segala produk yang berbau Linux hanya dengan melihat logo yang unik nan lucu hasil kerjasama seluruh komunitas Linux di seluruh dunia. 1.2.b Kelebihan Linux Sebuah paket distribusi Linux mempunyai banyak aplikasi dan dapat diperoleh dengan harga murah bahkan dapat diduplikat dan masih tetap legal . Mengambil contoh distribusi RedHat 5.2 dapat diperoleh dengan harga resmi $49.95 atau versi GPL-nya di Indonesia dengan harga Rp. 30.000 - Rp. 50.000 tergantung penjualnya. Aplikasinya antara lain adalah utilitas untuk bahasa program populer seperti C, C++, Pascal dan lainnya, tampilan grafis (GUI) dengan X windows dan beberapa window manager, perangkat server seperti Apache web server, wu-ftp ftp server, sendmail mail server dan lainnya, Netscape Communicator, perangkat image processing dan lain-lain. Dengan sebuah CD distribusi kita bahkan dapat membuat servis internet atau intranet tergantung kebutuhan kita karena hampir semua aplikasi jaringan ada dalam Linux termasuk TCP/IP bahkan Appletalk, Ethernet, Novell IPX sampai jaringan radio paket.Untuk jaringan berbasis Windows™, Linux pun menyediakan fasilitas Samba untuk menghubungkan dan mengemulasikan servis-servis Windows™. Sekedar tambahan Linux didesain dari awal sebagai sebuah sistem operasi yang stabil. Oleh karena itu jarang sekali Linux mengalami kondisi crash dan apabila itu terjadi maka penyebab utamanya adalah aplikasi yang berjalan di Linux atau perangkat keras yang rusak. Kestabilan Linux sudah teruji dan pengukuran masa hidupnya didasari oleh minggu atau bulan dan bukan lagi jam atau hari. Kemungkinan untuk kebocoran memori atau "Press OK to crash" hampir tidak ditemui ketika mengoperasikan Linux. 1.2.c Kekurangan Linux Citra yang telah beredar adalah hingga saat ini Linux masih belum terlalu sempurna untuk pengguna biasa dengan pola "memakai saja, kalau ada masalah, sekecil apapun, hubungi bagian dukungan teknis" yang sayang sekali sangat mendominasi penggunaan komputer pada umumnya. Menggunakan Linux membutuhkan waktu, usaha dan pikiran yang lebih dari sekedar menggunakan komputer. Tetapi hal diatas telah berubah dengan cepat karena sudah banyak usaha untuk mempermudah penggunaan Linux seperti yang dikembangkan oleh KDE dengan tampilan 'ala Windows-nya, GNOME yang memungkinkan tampilan GUI Linux yang indah dan dapat diubah sesuai kehendak penggunanya. Salah satu citra lain dari Linux adalah minimnya dukungan teknis yang baik serta terpercaya. Ini adalah citra masa lalu dan tetap menghantui perkembangan Linux. Dengan semakin diterimanya Linux di kalangan pengembang komputer maka semakin banyak pula perusahaan ataupun jasa-jasa dukungan teknis untuk Linux. Kuatnya mitos "Makin mahal harganya makin bagus produknya" sangat memojokkan Linux sebagai sebuah sistem operasi yang murah (dari segi harga) dan dapat diandalkan. Tetapi dengan terjunnya perusahaan perangkat lunak dan keras terkenal seperti Netscape, Oracle, Informix bahkan Intel dalam pengembangan Linux dan aplikasinya maka dapat dipastikan dalam waktu dekat Linux dapat menduduki posisi yang sangat diperhitungkan untuk diinvestasikan dan digunakan sebagai tulang punggung perusahaan. 1.2.d Lisensi Linux Kernel Linux terdistribusi dibawah Lisensi Publik Umum GNU (GPL), dimana peraturannya disusun oleh Free Software Foundation. Linux bukanlah perangkat lunak domain publik (public domain): Public Domain berarti bahwa pengarang telah memberikan copyright terhadap perangkat lunak mereka, tetapi copyright terhadap kode Linux masih dipegang oleh pengarang-pengarang kode tersebut. Linux adalah perangkat lunak bebas, namun: bebas dalam arti bahwa siapa saja dapat mengkopi, modifikasi, memakainya dengan cara apa pun, dan memberikan kopi mereka kepada siapa pun tanpa larangan atau halangan. Implikasi utama peraturan lisensi Linux adalah bahwa siapa saja yang menggunakan Linux, atau membuat modifikasi dari Linux, tidak boleh membuatnya menjadi hak milik sendiri. Jika sebuah perangkat lunak dirilis berdasarkan lisensi GPL, produk tersebut tidak boleh didistribusi hanya sebagai produk biner (binary-only). Perangkat lunak yang dirilis atau akan dirilis tersebut harus disediakan sumber kodenya bersamaan dengan distribusi binernya. 1.2.e Linux Saat Ini Saat ini, Linux merupakan salah satu sistem operasi yang perkembangannya paling cepat. Kehadiran sejumlah kelompok pengembang, tersebar di seluruh dunia, yang selalu memperbaiki segala fiturnya, ikut membantu kemajuan sistem operasi Linux. Bersamaan dengan itu, banyak pengembang yang sedang bekerja untuk memindahkan berbagai aplikasi ke Linux (dapat berjalan di Linux). Masalah utama yang dihadapi Linux dahulu adalah interface yang berupa teks (text based interface). Ini membuat orang awam tidak tertarik menggunakan Linux karena harus dipelajari terlebih dahulu untuk dapat dimengerti cara penggunaannya (tidak user-friendly). Tetapi keadaan ini sudah mulai berubah dengan kehadiran KDE dan GNOME. Keduanya memiliki tampilan desktop yang menarik sehingga mengubah persepsi dunia tentang Linux. Linux di negara-negara berkembang mengalami kemajuan yang sangat pesat. Harga perangkat lunak (misalkan sebuah sistem operasi) bisa mencapai US $100 atau lebih. Di negara yang rata-rata penghasilan per tahun adalah US $200-300, US $100 sangatlah besar. Dengan adanya Linux, semua berubah. Karena Linux dapat digunakan pada komputer yang kuno, dia menjadi alternatif cocok bagi komputer beranggaran kecil. Di negara-negara Asia, Afrika, dan Amerika Latin, Linux adalah jalan keluar bagi penggemar komputer. Pemanfaatan Linux juga sudah diterapkan pada supercomputer. Diberikan beberapa contoh: The Tetragrid, sebuah mega computer dari Amerika yang dapat menghitung lebih dari 13 trilyun kalkulasi per detik (13.6 TeraFLOPS). Tetragrid dapat dimanfaatkan untuk mencari solusi dari masalah matematika kompleks dan simulasi, dari astronomi dan riset kanker hingga ramalan cuaca. Evolocity, juga dari Amerika, dapat berjalan dengan kecepatan maksimum 9.2 TeraFLOPS(FLoating Operations Per Second), menjadikannya sebagai salah satu dari lima supercomputer tercepat di dunia. Jika melihat ke depan, kemungkinan Linux akan menjadi sistem operasi yang paling dominan bukanlah suatu hal yang mustahil. Karena semua kelebihan yang dimilikinya, setiap hari semakin banyak orang di dunia yang mulai berpaling ke Linux. Distribusi Linux Jenis2 Distribution LINUX RedHat LINUX Debian LINUX Slackware LINUX Mandrake LINUX Caldera OpenLinux SuSE Linux Corel LINUX dan banyak lagi... seperti Stampede, VA Linux, Black Cat, RedFlag..hanya saja yang disebutkan diatas disebut "orang2 lama" kecuali Corel. kebanyakan yang disebutkan diatas dibina berasaskan UNIX SystemV kecuali Slackware yang berasaskan BSD UNIX (tetapi kernelnya tetap linux). Siapa pun dapat menginstall sistem Linux, ia hanya perlu mengambil revisi terakhir dari komponen sistem yang diperlukan melalui situs ftp lalu di-compile. Pada awal keberadaan Linux, operasi seperti di atas persis seperti yang dilaksanakan oleh pengguna Linux. Namun, dengan semakin dewasanya Linux, berbagai individu dan kelompok berusaha membuat pekerjaan tersebut lebih mudah dengan cara menyediakan sebuah set bingkisan yang standar dan sudah di-compile terlebih dahulu supaya dapat diinstall secara mudah. Koleksi atau distribusi ini, mengandung lebih dari sistem Linux dasar. Mereka mengandung instalasi sistem ekstra dan utilitas manajemen, juga paket yang sudah di compile dan siap diinstall dari banyak alat UNIX yang biasa, seperti news servers, web browsers, text-processing dan alat mengedit, termasuk juga games. Distribusi pertama mengatur paket-paket ini secara sederhana menyediakan sebuah sarana untuk memindahkan seluruh file ke tempat yang sesuai. Salah satu kontribusi yang penting dari distribusi modern adalah manajemen/ pengaturan paket-paket yang lebih baik. Distribusi Linux pada saat sekarang ini melibatkan database packet tracking yang memperbolehkan suatu paket agar dapat diinstal, di upgrade, atau dihilangkan tanpa susah payah. Distribusi SLS (Soft Landing System adalah koleksi pertama dari bingkisan Linux yang dikenal sebagai distribusi komplit. Walau pun SLS dapat diinstall sebagai entitas tersendiri, dia tidak memiliki alat-alat manajemen bingkisan yang sekarang diharapkan dari distribusi Linux. Distribusi Slackware adalah peningkatan yang besar dalam kualitas keseluruhan (walau pun masih memiliki manajemen bingkisan yang buruk); Slackware masih merupakan salah satu distribusi yang paling sering diinstall dalam komunitas Linux. Sejak dirilisnya Slackware, sejumlah besar distribusi komersil dan non-komersil Linux telah tersedia. Red Hat dan Debian adalah distribusi yang terkenal dari perusahaan pendukung Linux komersil dan perangkat lunak bebas komunitas Linux. Pendukung Linux komersil lainnya termasuk distribusi dari Caldera, Craftworks, dan Work- Group Solutions. Contoh distribusi lain adalah SuSE dan Unifix yang berasal dari German. 1.2.f Perbedaan LINUX dan WinNT Perbedaan? satu persoalan yang menarik! kebanyakan pihak (terutama dari Microsoft) berpendapat sistem server NT adalah bagus dan multiuser/ multitasking tetapi sebenarnya fakta ini tidak benar. Sebenarnya dalam NT, memang ada berbagai user dan anda boleh mengakses ke sistem server tersebut. Apa yang dapat anda lakukan apabila mengakses ke sistem server tersebut? Cuma  share file dan print saja.. Bagaimana dengan software / install dan lain2? Berbeda dengan LINUX, jika anda add account shell, anda boleh install, copy,  delete, uninstall , execute dan lain-lain ( kecuali root sebagai system admin yg berhak 100% pada sistem ). Mampukah sebuah mesin dengan processor 486 dengan 8MB RAM menjalankan  tugas server web dengan WinNT? Tapi dengan LINUX tentu mampu (minimum requirement adalah i386  tetapi fikir logika, takkan bisa jalan sampai memakai 386/486 untuk server tapi kalau mau memakai Windows sanggup membeli Pentium4 dengan 256MB RAM, Itu pun Cuma untuk main game saja. INSTALASI LINUX Konfigurasi minimal yang dibutuhkan : Pentium processor atau yang kompatibel CDROM drive RAM paling tidak sebanyak 32 MB, atau disarankan 64 MB VESA 2.0 compliant graphics card A. Instalasi RedHat 9.0 A. 1. Langkah Awal Sebelum Instalasi Persiapkan komputer dengan harddisk, floppy drive atau CD-ROM; Buat dua atau lebih partisi kosong di harddisk (atau harddisk yang belum terformat); Sediakan satu disket kosong untuk boot disk (tidak diperlukan jika Anda mempunyai CD distribusi dan CD-ROM Anda dapat di-boot); Installer Red Hat Linux ( berupa CD atau komputer server yang memiliki fasilitas penginstalan RedHat ). RedHat Linux dapat diinstal lewat berbagai cara selain dari CD distribusi: dari harddisk (IDE, SCSI) dan dari network (NFS, FTP, HTTP). Artinya, CD distribusi RH dapat disalin dulu ke salah satu partisi harddisk di komputer sendiri maupun di komputer lain yang tersambung lewat jaringan. Prosedur instalasi untuk semua cara ini pada dasarnya sama, bedanya hanyalah di langkah penyiapan media (misalnya, untuk instalasi lewat jaringan, Anda memberikan dulu nomor IP dan netmask). Partisi Terlebih dahulu akan dijelaskan sekilas mengenai partisi di harddisk. Pembaca diharapkan telah mengerti tentang istilah geometri harddisk (silinder/track, side, dan sektor). Misalkan ini sebuah harddisk (gambar 1). Gambar 1 - Harddisk kosong Dengan partisi, dimungkinkan untuk menaruh sistem operasi yang berbeda di dalam satu harddisk. Sistem operasi tunggal pun dapat memanfaatkan partisi, misalnya dengan menaruh program dan file-file sistem operasi di satu partisi dan data di partisi lain. Jika sistem operasi di-upgrade misalnya, tidak perlu mengganggu data di lain partisi (gambar 2). Sebabnya adalah, karena tiap partisi diformat terpisah dan masing-masing dapat diformat dengan filesystem berbeda (partisi DOS/Windows dengan FAT, NT dengan NTFS, Linux dengan ext2fs). Gambar 2 - Harddisk dengan partisi Sektor pertama tiap partisi biasa disebut boot sector atau boot record. Dalam proses booting, BIOS akan membaca boot record dan menjalankan program kecil yang ada di sana. Program tersebut kemudian akan memuat sistem operasi di partisi yang bersangkutan (jika ada). Di sektor pertama harddisk terdapat pula boot record yang disebut Master Boot Record (MBR). Program boot loader (seperti LILO milik Linux) dapat ditaruh di sektor ini. MBR adalah sektor yang dibaca pertama sebelum boot sector manapun, sehingga boot loader dapat menampilkan menu agar kita dapat memilih sistem operasi mana yang akan dijalankan. Boot loader kemudian akan menunjuk ke boot sector di partisi yang sesuai (gambar 3). Gambar 3 - Boot record dan master boot record Jumlah partisi dalam satu harddisk maksimum 4 buah. Untuk kebutuhan tertentu jumlah ini tidaklah cukup. Karena itu ada trik yang disebut extended partition: menaruh partisi di dalam partisi. Partisi-dalam-partisi ini disebut partisi logis, sementara partisi ``biasa'' (termasuk partisi extended yang menampung partisi lain) disebut partisi fisik. Partisi fisik dinomori 1 s.d. 4, sementara logis 5 dst. Lihat gambar 4. Perlu diingat lagi bahwa jumlah partisi fisik, termasuk partisi extended, maksimum empat. Jadi Anda hanya dapat membuat paling banyak 3 partisi primary (partisi fisik yang bukan extended). Di lain pihak, jumlah partisi logis dapat lebih dari empat. Gambar 4 - Partisi primary dan extended Informasi tentang ukuran dan letak tiap partisi dalam sebuah harddisk diletakkan di tabel partisi di sektor pertama (MBR). Program untuk memanipulasi tabel partisi disebut FDISK (di DOS), atau fdisk dan cfdisk (di Linux). Program ini dapat membuat, menghapus partisi, serta menandai suatu partisi dapat di-boot atau tidak. Terdapat pula utilitas seperti Partition Magic dan fips yang dapat Anda gunakan untuk mengubah-ubah dan memindahkan letak partisi tanpa harus menghapusnya dulu. DOS/Windows/WinNT dapat menaruh drive logis dalam partisi extended sebagai partisi logis, tapi partisi utama (yang akan dipakai booting) haruslah partisi primary. Jadi, sistem DOS/Windows hanya dapat ditaruh di partisi 1 s.d. 4. Sistem Linux, di lain pihak, dapat dipasang di partisi primary maupun logis. Ketentuan ini perlu diingat apabila Anda hendak memasang kedua sistem operasi, atau bahkan lebih, dalam harddisk yang sama. Untuk instalasi Red Hat, diperlukan minimal dua partisi. Satu partisi untuk root filesystem, sementara satu partisi untuk swap. Linux dapat pula menaruh swap di file (seperti halnya win386.swp di Win95/98 atau c:\pagefile.sys di WinNT), tapi instalasi Red Hat mewajibkan kita menaruh swap di partisi kosong. Hal ini dapat diubah setelah instalasi. Partisi tambahan dapat pula dibuat, misalnya untuk direktori /home, tempat user menyimpan data, dibuatkan partisi terpisah. Strategi membuat partisi dapat Anda baca di install-guide. Red Hat memberikan pilihan default yaitu instalasi Server (4 + 1 swap) dan Workstation (2 + 1 swap). Lihat manual Red Hat untuk jelasnya, dan juga untuk keterangan berapa besar kira-kira partisi swap yang dibutuhkan. Jika Anda hendak menginstalasi juga DOS/Win95/NT/FreeBSD/OS/2, bacalah beberapa dokumen mini HOWTO seperti Linux+Win95 atau Linux+FreeBSD. HOWTO tersedia di direktori doc/howto di CD distribusi. 2. Instalasi RedHat Melalui Jaringan Ada beberapa metode yang dapat Anda gunakan untuk menginstall Linux dengan menggunakan fasilitas jaringan, diantaranya adalah dengan menggunakan File Transfer Protokol (FTP), Hypertxt Transfer Protokol (HTTP), atau dengan menggunakan Network File System (NFS). Untuk melakukannya, tentunya komputer Anda harus sudah terhubung dengan suatu server yang juga telah memiliki fasilitas penginstalan minimal salah satu dari ketiga metode diatas. Hal yang perlu dilakukan sebelum melakukan penginstalan : Membuat disket booting dan disket driver kartu jaringan. Set bios agar booting pertama kali lewat disket, dan masukkan disket booting, kemudian masukkan disket driver setelah diminta. Tuliskan NFS server dan NFS direktori sesuai dengan server di baris Anda. Selanjutnya proses penginstalan sama seperti menggunakan CD. 3. Instalasi RedHat dengan Menggunakan Boot Disk Jika sebelumnya Anda telah menggunakan sistem operasi Windows, Anda dapat membuat sendiri startup disk / boot disk dengan langkah – langkah sebagai berikut : Jalankan DOS atau prompt di Windows ( mis : A:\ ), lalu masukkan CD-1 Linux RedHat 9 ke drive CD-ROM ( mis : D:\ ). Masuk kedalam direktori dosutils pada drive CD-ROM (mis : D:\ cd dosutils). Setelah masuk kedalam direktori dosutils kemudian ketik rawrite, lalu tekan ENTER (mis : D:\ dosutils \ rawrite ). Kemudian akan muncul tulisan : Enter disk image source file name : ..\images\bootdisk.img Enter target diskette drive : a :_ Please insert a formatted diskette into drive A: and press -ENTER- : [ENTER] Ketika muncul tulisan “Enter disk image...” ketikkan bootdisk.img atau nama image yang telah Anda pilih, lalu tekan ENTER. Pada saat muncul tulisan “Enter target disk...” masukkan disket, lalu ketik a: Linux akan melakukan proses instalasi. Tahapan proses instalasi dapat Anda lihat pada bagian instalasi dengan menggunakan CD-ROM. 4. Instalasi RedHat dengan Menggunakan CD-ROM Tahap awal dalam yan perlu Anda lakukan dalam instalasi ini adalah mengaktifkan BIOS pada komputer Anda agar dapat melakukan booting pertama melalui CD-ROM. Kemudian masukkan CD 1 RedHat, setelah itu nyalakan komputer Anda hingga akan tampil tulisan boot :_ Lalu tekanlah [Enter] untuk segera memulai program instalasi. Selanjutnya silahkan Anda mengikuti langkah-langkah sebagai berikut : Langkah Awal Saat komputer Anda melakukan booting dengan menggunakan CD-ROM, maka pada layar monitor Anda akan tampil “ Welcome Screen ” program instalasi. Jika ada masalah dengan VGA Card yang Anda miliki sehingga menu grafis tidak dapat ditampilkan, maka Anda dapat ulangi (reboot) kembali dengan memilih mode teks, yaitu dengan mengetik text, lalu tekan [Enter]. boot : text_ Tetapi selanjutnya dalam bab ini akan dibahas mengenai mode grafis penginstalan. 2. Language Selection Langkah pertama prosedur instalasi adalah pemilihan bahasa. Anda dapat memilih bahasa yang akan Anda gunakan dalam proses penginstalan. Pilihan defaultnya adalah English. Pilihan ini juga akan membantu Anda untuk menentukan Time Zone yang akan Anda gunakan nantinya. Kemudian klik / tekan “Next”. 3. Keyboard Configuration Dalam tahap ini Anda dapat memilih tipe keyboard yang Anda gunakan pada komputer Anda. Untuk pilihan ini defaultnya adalah : U.S. English. Pilihan ini akan menentukan penerjemahan tombol-tombol keyboard Anda. Setelah memilih tekanlah “Next”. Mouse Configuration Pilihlah tipe mouse yang cocok untuk sistem Anda. Sebagai petunjuk, jenis mouse yang ada antara lain : Tipe serial USB PS/2 Mouse model lama jenis AT mouse Jika Anda tidak menemukan tipe yang tepat, pilihlah tipe mouse yang Anda yakin kompatibel dengan sistem Anda. Jika inipun Anda tidak yakin, gunakan pilihan Generic berdasarkan jumlah tombol dan jenbis mouse yang Anda gunakan. Jika menggunakan mouse jenis serial, Anda harus menentukan di port mana yang diletakkan mouse. Biasanya terdapat dua interface serial di komputer pada umumnya. Sebagian besar komputer juga dilengkapi mouse PS/2 dan USB. Interface serial ini di Linux diwakili dengan file : /dev/ttyS0 untuk serial yang pertama (COM1 di DOS / Windows). /dev/ttyS1 untuk serial yang kedua (COM2 di DOS / Windows). Tentukan juga apakah Anda akan menggunakan emulasi mouse tiga tombol, maksudnya jika mouse Anda hanya mempunyai dua tombol, Anda bisa menekan kedua tombol mouse pada saat bersamaan untuk mewakili tombol yang ketiga. Tombol ketiga ini terletak di tengah untuk mouse yang mempunyai tiga tombol. Upgrade atau Install Secara otomatis program instalasi Linux RedHat akan mendeteksi ada tidaknya instalasi Linux RedHat di sistem Anda sebelumnya. Jika sudah terdapat instalasi Linux Redhat versi-versi sebelumnya, maka akan tampil pilihan upgrade. Disinilah Anda diminta untuk memutuskan apakah akan melakukan upgrade terhadap sistem yang sudah ada atau Anda akan melakukan instalasi Linux RedHat yang baru. Jika Anda menginginkan untuk melakukan upgrade, tentukan sistem yang mana yang akan diupgrade dari drop down menu. Dan jika Anda menginginkan memilih aplikasi tertentu saja yang akan diupgrade jangan lupa untuk mengklik pilihan customize packages to be upgrated. Setelah menentukan pilihan, selanjutnya klik tombol “Next”. Installation Type Linux Redhat 9 menyediakan beberapa tipe instalasi, yaitu : - Personal Desktop Tipe ini sangat cocok bagi Anda yang baru mengenal Linux dan ingin mencoba-coba terlebih dahulu. Rekomendasi untuk instalasi jenis ini adalah ruang media penyimpanan (harddisk) sebesar 1,7 – 1,8 GB. Tetapi untuk instalasi yang lengkap Anda akan memerlukan ruang sampai sebesar 5 GB atau lebih. - Workstation Tipe ini dapat Anda pilih jika Anda menginginkan komputer Anda akan Anda fungsikan sebagai workstation pada suatu sistem jaringan. Rekomendasi untuk jenis instalasi ini adalah ruang sebesar 2,1 sampai 2,2 GB. - Server Tipe ini dapat Anda pilih jika komputer Anda ingin Anda fungsikan sebagai server pada suatu sistem jaringan tanpa harus melakukan konfigurasi yang berlebihan. Instalasi ini memerlukan ruang penyimpanan antara 850 MB sampai dengan 1,5 GB. - Custom Anda dapat memilih tipe ini jika komputer Anda akan Anda fungsikan sebagai server, karena pada tipe ini Anda dapat memilih paket-paket yang akan Anda install. Namun demikian jika Anda belum pernah menggunakan Linux sebelumnya, Anda dianjurkan untuk memilih tipe workstation karena paket-paket pada pilihan tersebut dapat juga Anda gunakan jika Anda hanya sebagai pengguna biasa, “personal atau home PC. Tentang paket-paket yang akan diinstall ini dapat Anda lihat pada Package Selection. Sedangkan jika Anda menggunakan Custom sebagai tipe pilihan, maka Anda akan dihadapkan pada proses pemilihan paket, yang tentu tidak semua paket tersebut berguna dan mungkin justru akan memberatkan sistem Linux Anda. - Upgrade Tipe ini dapat Anda gunakan jika Anda ingin mengupgrade (memperbaiki / mengubah) sistem Linux yang ada pada komputer Anda. Untuk selanjutnya tekan tombol “Next”. Disk Partitioning Setup Linux menyediakan 2 pilihan yang dapat Anda gunakan dalam proses pembentukan partisi untuk Linux, yaitu “Automatically partition” untuk pembagian partisi secara otomatis dan “Manually partition with disk druid” untuk pembagian partisi secara manual. Tetapi untuk lebih memudahkan Anda dalam melakukan penginstalan, kami menyarankan agar Anda memilih pembagian partisi secara otomatis. Setelah memilih, kemudian tekan tombol “Next”. Automatic Partitioning Partisi secara otomatis memperbolehkan Anda untuk melakukan beberapa kontrol berkaitan dengan data yang akan dihapus dari sistem Anda. Pilihan yang tersedia antara lain : Remove all Linux partitions on this system Pilihan ini untuk menghapus hanya partisi Linux saja. Pilihan ini tidak akan menghapus partisi jenis lain yang mungkin ada di sistem komputer Anda. Remove all partitions on this system Pilihan ini untuk menghapus semua partisi yang ada di harddisk sistem Anda tanpa terkecuali, termasuk data DOS / WINDOWS. Untuk itu kami sarankan lakukan back-up data sebelum menjalankan instalasi dengan pilihan ini demi untuk keamanan. Keep all partitions and use existing free space Gunakan pilihan ini untuk melakukan partisi dan instalasi pada sisa harddisk yang Anda miliki. Artinya, proses instalasi tidak akan menghapus partisi yang sudah ada, kan tetapi akan membuat partisi yang baru di sisa harddisk Anda yang belum terpakai. Pilihan ini tidak dapat Anda gunakan jika Anda sudah memakai keseluruhan isi harddisk atau dengan kata lain bahwa harddisk Anda sudah tidak memiliki ruang untuk tempat penginstalan. Jika memilih partisi secara otomatis dan memilih “Review”, Anda bisa menerima setting partisi yang ditawarkan dengan memilih tombol “Next” atau melakukan perubahan dengan menggunakan Disk Driud. Pada bagian ini, Anda harus memberitahukan kepada program instalasi dimana Linux RedHat akan diletakkan. Hal tersebut bisa dilakukan dengan mendefinisikan “Mount Point” di harddisk yang telah tersedia partisi untuk instalasi Linux RedHat. Adapun yang diperlukan sebagai syarat minimal dalam pembutan partisi ini adalah Anda diharuskan untuk menyediakan dua buah partisi, yaitu partisi swap dan partisi Linux Native. Dimana partisi swap adalah partisi yang akan digunakan sebagaimana layaknya virtual memory di platform Windows, yaitu sebagai media penyimpanan data pengganti RAM dengan menggunakan harddisk. Sedangkan partisi Linux Native adalah yang akan digunakan sebagai tempat direktori akar atau root directory ( / ) pada hirarki direktori Linux. Didalam partisi Linux Native yang tekah terbentuk akan dibuat file system yang kompatibel dengan sistem Linux pada umumnya. Linux RedHat secara default akan memilih file system ext3 sebagai file sistem pilihannya. Boot Loader Configuration Untuk menjalankan sistem tanpa menggunakan disket boot perlu didinstalasi sebuah Boot Loader kedalam harddisk. Boot Loader adalah program yang akan dimuat oleh BIOS komputer dan bertanggung jawab untuk membaca kernel sistem operasi dan memberikan kendali jalannya sistem kepada kernel tersebut, yang pada akhirnya kernel akan melakukan inisiasi terhadap sistem dan mengendalikannya. Program instalasi Linux sudah menyediakan dua pilihan boot loader yang bisa Anda pilih, yaitu LILO dan GRUB. GRUB ( GRand Unified Bootloader ), dijadikan boot loader default pada Linux RedHat versi 9. GRUB mampu memuat berbagai sistem operasi, baik yang proprietary maupun yang bebas, seperti Linux. Untuk sistem propietary digunakan proses yang disebut dengan chain-loading, yaitu proses startup dengan memuat boot loader yang lain. LILO ( LInux LOader ) adalah boot loader yang semula dikembangkan memang untuk Linux. Tidak bergantung kepada file sistem tertentu dan dapat memuat kernel dari floppy disk maupun harddisk. Apabila GRUB bukan pilihan yang akan dipilih, Anda dapat menggantinya melalui tombol “Change boot loader”. Kemudian pilihlah LILO atau Anda dapat memilih pilihan Do not install a boot loader jika Anda tidak ingin menginstal boot loader sama sekali, biasanya pilihan ini dipakai untuk sistem yang sudah memiliki sebuah boot loader dan Anda tidak ingin mengganti boot loader tersebut. Untuk lebih memudahkan, kami sarankan Anda untuk menggunakan pilihan default, yaitu GRUB. Selanjutnya, program instalasi akan mendeteksi semua sistem operasi yang terdapat dalam harddisk dan akan menambahkan pada konfigurasi boot loader. Untuk mengedit, menghapus, dan menambahkan sistem operasi yang lain, maka gunakanlah tombol yang bersesuaian pada bagian kanan. Tentukan sistem operasi mana yang akan dipakai sebagai default, dengan mengklik checkbox disebelah kiri label masing-masing sistem operasi. Untuk sementara kosongi dulu pilihan “Use a boot loader password”, meskipun Anda sangat peduli dengan keamanan sistem. Karena nanti setelah proses instalasi selesai, dapat diatur kemudian. Jika Anda mengisi pilihan “Configure advanced boot loader options” sebelum mengklik tombol “Next”, maka akan muncul menu baru. Kemungkinan yang ada adalah : /dev/hda Master Boot Record (MBR) Ini adalah tempat yang direkomendasikan untuk menginstalasi boot loader kecuali Anda sudah mempunyai boot loader yang lain sebelumnya. MBR adalh bagian terpenting dari sebuah harddisk. Apapun data yang terdapat di bagian ini akan dimuat oleh BIOS komputer ketika urutan startup terjadi. Sehingga disinilah titik awal dimana boot loader mengambil alih jalannya sistem. /dev/hda1 First sector of boot partition Silahkan memilih pilihan ini jika Anda masih ingin mempertahankan boot loader Anda yang lama. Kemudian konfigurasi boot loader Anda untuk memuat GRUB atau LILO, yang kemudian akan menjalankan Linux. Gunakan pilihan Force LBA32 (not normally required), jika Anda ingin menginstalasi partisi yang memuat direktori /boot diatas silinder 1024 harddisk Anda. Untuk mengakhiri menu ini tekanlah “Next”. Choose Partitioning to Format Pada bagian ini Anda cukup memilih OK saja karena Linux telah memilih partisi-partisi yang perlu diformat demi kestabilan sistem. Network Configuration Dalam tahap ini, Anda akan dituntun untuk mengkonfigurasi kartu jaringan Anda. Menu ini tidak akan muncul jika Anda tdak memiliki kartu jaringan. Program instalasi akan mendeteksi kartu jaringan dan menampilkannya dalam daftar jaringan. Pilih salah satu kartu jaringan dari daftar dan klik tombol “Edit” untuk mengatur parameter jaringan pada kartu tersebut. Jika terdapat server DHCP di jaringan Anda pilih saja “Configure using DHCP”. Akan tetapi, jika tidak terpaksa Anda harus memberikan nomor IP kartu jaringan tersebut secara manual di text box di bawah, aktifkan pilihan “Activate on boot” agar kartu jaringan diaktifkan ketika proses boot terjadi. Tentukan nama host (hostname) komputer Anda secara manual jika tidak ada aturan khusus yang berlaku pada jaringan Anda. Tetapi jika sebaliknya, Anda harus menggunakan protokol DHCP untuk memperoleh nomor IP dan nama host komputer Anda dari server DHCP secara otomatis. Hostname nantinya juga akan digunakan sebagai alamat dari web server, jika Anda menginstal Linux sebagai server. Terakhir, jika Anda mengkonfigurasi secara manual nomor IP dan netmask kartu jaringan, maka Anda juga harus menentukan nomor IP Gateway dan Domain Name Server dari jaringan Anda. Untuk ke menu berikutnya klik “Next”. Firewall Configuration Firewall adalah sebuah sistem keamanan yang diperlukan jika Anda ingin menginstal komputer Anda sebagai sebuah server yang terhubung dengan internet. Firewall melingkupi sistem keamanan untuk DHCP, SSH, TELNET, WWW (HTTP), MAIL dan FTP. Menu konfigurasi menyediakan tiga pilihan utama untuk firewall, yaitu : High, dengan pilihan ini komputer tidak akan melayani semua koneksi kecuali koneksi DHCP dan DNS. Pilih pilihan ini jika komputer Anda terhubung ke internet, tetapi tidak menjalankan server tertentu. Medium, pilihan ini tidak akan mengizinkan akses terhadap port-port di bawah 1023, yaitu port-port standar yang dipakai sistem untuk menjalankan server FTP, SSH, HTTP, NIS dan sebagainya. NFS, Server X Window, dan X font server juga tidak akan dilayani dengan konfigurasi firewall ini. No Firewall, pilihan ini tidak akan menjalankan firewall sama sekali. Gunakan pilihan ini jika komputer Anda terhubung ke jaringan yang bisa dipercaya, tentu saja ini tidak termasuk internet yang jelas tidak aman. Untuk mengatur lebih rinci lagi keamanan sistem Anda gunakan pilihan “Customize”. Ada tiga cara yang bisa Anda gunakan untuk mengkonfigurasi firewall : Menurut peranti yang terhubung ke jaringan. Jika Anda ingin menggunakan pilihan ini, tentukan kartu jaringan yang mana yang bisa dipercaya. Semua lalu-lintas data melewati peranti ini akan dilewatkan. Menurut layanan atau service. Layanan-layanan yang diperbolehkan diakses pilihlah pada pilihan “Allow Incoming”. Penjelasan singkat masing-masing pilihan yang ada : DHCP, digunakan untuk protokol komunikasi penentuan nomor IP dan parameter jaringan lainnya. SSH, alternatif dari remote login atau telnet, berfungsi untuk menjalankan perintah-perintah di mesin lain. Telnet, program untuk melakukan login ke mesin lain dan menjalankan perintah di mesin tersebut. Berbeda dengan SSH yang mengacak data yang dikirimkan dari dan keluar sistem, layanan ini tidak melakukannya. Sebaiknya service ini tidak diaktifkan. WWW (HTTP), adalah layanan yang memakai protokol HTTP atau lebih populer disebut dengan web server. Mail (SMTP), memungkinkan komputer lain mengakses komputer Anda untuk mengirimkan e-mail. FTP, adalah protokol untuk mengirim atau mengambil file. Menurut nomor port. Tentu saja Anda bisa mengatur akses terhadap layanan lain yang tidak terdaftar menggunakan pilihan ini. Formatnya adalah sbb : port : protokol, port : protokol, ... Additional Language Support Anda dapat memilih bahasa yang akan Anda gunakan dalam sistem Linux Anda. Defaultnya adalah English. Setelah Anda men-setting bahasa yang sesuai, selanjutnya klik “Next”. Time Zone Selection Disini Anda dapat memilih daerah waktu yang berlaku di daerah Anda dengan cara menggerakkan kursor dalam peta yang ada atau gunakan pilihan yang terdapat pada daftar lokasi dibawahnya. Jika Anda lebih menyukai mengatur time zone berdasarkan Universal Time Coordinated (UTC), gunakan tab UTC Offset. Aktifkan pilihan “System Clock uses UTC”, jika jam mesin Anda diset sesuai dengan UTC. Setelah itu Anda dapat menekan tombol “Next”. Set Root Password Pada bagian ini Anda harus memasukkan password Root sistem Linux pada kolom isian password dan ulangi sekali lagi dengan password yang persis sama. Root adalah user yang mempunyai akses tak terbatas pada sistem Anda. Oleh karena itu, sebaiknya Anda tidak menggunakan untuk pekerjaan sehari-hari kecuali untuk melakukan pemeliharaan dan pengaturan sistem. Karena bisa saja Anda melakukan kesalahan ketik yang akan berakibat fatal bagi sistem Anda secara keseluruhan. Gunakan password yang mudah diingat tetapi sulit untuk ditebak. Buatlah password yang mempunyai jumlah karakter enam atau lebih. Linux membedakan huruf besar dan huruf kecil yang Anda gunakan. Bila telah selesai mengisi password, kemudian lanjut ke menu berikutnya. Authentication Configuration Authentication Configuratin ini adalah sebuah konfigurasi yang digunakan untuk jaringan, baik itu Network Information System (NIS) serta Domain dan Servernya. Untuk penggunaan umum Anda dapat melewatkan konfigurasi ini. Akan tetapi, jika Anda ingin melakukan proses otentifikasi lewat jaringan Anda harus mengatur pilihan ini. Pilihan-pilihan yang ada antara lain : Enable MDS passwords Mengizinkan Anda memakai password sampai 256 karakter, tidak terbatas 8 karakter saja. Enable shadow passwords Dengan menggunakan pilihan ini password akan disimpan dalam file /etc/passwd yang hanya bisa diakses oleh root. Ini akan meningkatkan keamanan sistem komputer Anda. Enable NIS Mengizinkan beberapa komputer untuk mengatur proses otentifikasi dengan menggunakan file password yang diletakkan di server. Anda harus menentukan domain dan server dimana akan dilakukan proses otentifikasi. Sebagi pemula, sebaiknya pilih pertama dan kedua saja. Untuk tingkat lanjut, selain menggunakan NIS proses otentifikasi juga bisa dilakukan dengan menggunakan LDAP, Kerberos, dan SMB. Sekali lagi proses otentifikasi lewat jaringan jarang sekali digunakan, kecuali untuk sistem dalam jaringan yang sudah terintegrasi. Personal Desktop Defaults Kecuali Anda memilih instalasi jenis Custom, program instalasi akan memilihkan secara default program aplikasi yang akan diinstalasi. Apabila Anda menginginkan paket yang lebih rinci lagi, Anda dapat memilih pilihan checkbox “Customize the set of packages to be installed”. Selanjutnya tekan tombol “Next”. Package Group Selection Anda bisa memilih paket-paket software berdasarkan grup, masing-masing software, atau kombinasi dari keduanya. Pilih grup software dengan cara mengklik checkbox dengan label Everything yang terdapat diakhir daftar. Untuk melihat dan mengatur paket software yang lebih rinci lagi, klik pada link “Detail”. Jika Anda ingin memilih lebih rinci lagi dalam mengatur pilihan terhadap software, gunakan pilihan “Select Individual Packages”, kemudian klik “Next”. Dalam menu dialog untuk paket software individual ada dua jenis view yang bisa digunakan, yaitu Tree View atau Flat View. Yang pertama, paket didaftar sesuai tipe grup aplikasi. Sedangkan yang kedua, paket didaftar berurutan sesuai dengan hurufnya atau ukurannya. Gunakan tombol “Select all in group” untuk memilih semua software dalam paket yang sedang disorot di sebelah kiri. Dan gunakan tombol “Unselect all in group” untuk tidak memilih semua software dalam paket yang sedang disorot. Untuk memilih software yang akan diinstalasi, klik pada checkbox didepan label software yang terletak pada daftar paket disebelah kanan. Text box dibawah berisi penjelasan singkat software yang disorot. Terkadang software yang kita pilih memrlukan paket yang lain agar berfungsi. Program instalasi secara otomatis akan memeriksa semua ketergantungan ini. Dan apabila terdapat paket yang diperlukan oleh paket lain dan ditandai tidak diinstalasi, maka akan ditampilkan window dialog Unresolved Dependencies. Gunakan pilihan yang berada dibawah window sbb : Install packages to satisfy dependencies, akan menginstalasi paket yang diperlukan untuk memenuhi kebergantungan Do not install packages that have dependencies, tidak menginstalasi paket yang bergantung kepada paket yang lain. Ignore package dependencies, tetap akan menginstalasi paket yang dipilih dan mengabaikan kebergantungan dengan risiko paket tersebut tidak berfungsi sebagaimana mestinya. Installing Packages Pada layar komputer Anda akan ditampilkan proses instalasi Linux, termasuk paket-paket yang telah Anda pilih sebelumnya. Waktu yang diperlukan dalam proses penginstalan ini bergantung kepada jumlah paket yang diinstalasi dan kecepatan komputer yang Anda pakai. Boot Diskette Creation Setelah Linux selesai menginstal semua paket yang telah Anda pilih, proses selanjutnya adalah pembuatan bootdisk. Penulis menganjurkan agar Anda jangan melewati proses ini. Usahakan agar Anda membuat sebuah bootdisk untuk berjaga-jaga bilamana komputer tidak dapat melakukan booting dari MBR harddisk. Sehingga Anda bisa melakukan proses boot dari floppy disk dan melakukan troubleshooting. Untuk membuat disket boot klik pada pilihan “Yes”, masukkan disket kosong kedalam floppy drive dan klik tombol “Next”, lalu tunggu sampai proses penyalinan kernel selesai. Graphical Interface (X) Configuration Anda perlu mengkonfigurasi kartu video Anda karena ini sangat diperlukan jika Anda ingin memakai mode grafis. Pilih jenis kartu grafis dari daftar yang telah disediakan, yang sesuai dengan spesifikasi kartu video Anda. Jika tipe kartu video Anda tidak terdapat dalam daftar, maka kemungkinan besar kartu tersebut tidak didukung oleh X server. Akan tetapi, Anda bisa menggunakan pilihan “Unlisted Card” untuk mengkonfigurasinya dengan cara menyesuaikan chipset kartu video Anda dan salah satu X server yang ada. Selanjutnya tentukan jumlah memori kartu video Anda dari dropdown menu dibawah. Klik pada tombol “Restore original values”, jika Anda tidak yakin dengan pilihan yang telah Anda tentukan. Dan apabila Anda tidak ingin melakukan konfigurasi X server karena berbagai alasan, klik pada checkbox “Skip X Configuration”. Terakhir klik pada tombol “Next”. Monitor Configuration Piilihan ini tidak akan muncul jika Anda memilih checkbox “Skip X Configuration” pada bagian sebelumnya. Jika monitor milik Anda termasuk monitor yang telah terdaftar, umumnya akan langsung dikenali. Tapi jika tidak, pilih tipe monitor Anda dari daftar yang ditampilkan program instalasi. Jika tipe monitor Anda tidak terdapat dalam daftar pilih saja tipe “Generic”. Kemudian isikan “Horizontal Sync” dan “Vertical Sync” sesuai dengan nilai yang terdapat pada manual layar monitor Anda. Bila Anda tidak yakin dengan isian Anda klik pada tombol “Restore original values”. Setelah itu, lanjut ke menu berikutnya. Customize Graphics Configuration Proses selanjutnya adalah melakukan konfigurasi untuk X-window. Anda harus menentukan kedalaman warna dan resolusi monitor Anda. Selain itu, Anda juga bisa memilih model layar login yang akan digunakan setelah proses instalasi selesai, yaitu mode grafis atau text. Klik tombol “Next” jika sudah selesai. Langkah Akhir Jika proses konfigurasi ini telah selesai, maka instalasi telah selesai. Anda akan diminta konfirmasi untuk melakukan reboot. Yakonkan Anda sudah mengeluarkan CD-ROM dari CD Drive ketika proses reboot. A. 5 MEMULAI LINUX Setelah proses booting selesai maka Linux akan menampilkan LILO boot, dan silahkan Anda memilih Linux lalu tekan [ENTER] untuk masuk ke sistem Linux. Linux akan menampilkan semua informasi yang dijalankan oleh sistem Linux Anda. Jka selesai maka akan muncul menu “login” dan “password” dari Linux. Selanjutnya Anda login sebagai Root dengan password yang telah Anda buat pada waktu penginstalan. Jika password yang Anda masukkan benar maka akan masuk kedalam jendela Linux, jika pada waktu pengistalan Anda memilih mode login grafis. Tetapi apabila Anda memilih mode login text pada waktu penginstalan maka akan tampil shell Linux, sebagai contoh : root@home/root# Untuk keluar dari shell Linux, pada shell Linux Anda dapat mengetik “logout” atau “Ctrl-D”. Sedangkan untuk melakukan reboot, pada shell Linux Anda dapat mengetik “reboot” dan untuk shutdown Anda dapat mengetik “halt”. B. Instalasi Mandrake 9.0 Langkah Awal Sebelum Instalasi Cek apakah anda mempunyai cukup sisa ruang harddisk untuk menginstalasi Linux Mandrake Catat konfigurasi WinModem anda Jalankan program Defgramenter dan ScanDisk sebelumnya. Hal ini berguna nantinya untuk mengubah ukuran dan jumlah partisi harddisk anda. Buat Disket Boot bila komputer anda tidak bisa boot secara langsung dari CD-ROM Langkah-langkah instalasi Boot komputer anda dengan CD atau Disket Boot Mandrake 9.0 Lalu tekan tombol Enter untuk memulai instalasi Linux Mandrake. Pilih Bahasa Pilih bahasa yang digunakan selama instalasi. Setelah itu, tekan tombol OK. Baca Lisensi Linux Mandrake Baca dengan seksama licence agreement yang ada, setelah anda memahaminya tekan tombol Accept untuk menerimanya atau tekan tombol Refuse untuk menolaknya. Pilih Kelas Instalasi Apabila anda memilih kelas Recommended, berarti anda menerima semua konfigurasi Mandrake secara default. Tapi apabila anda memilih Expert, berarti anda harus sudah mengerti banyak tentang Linux. Lalu tekan tombol Install untuk menginstalasi Linux Mandrake secara keseluruhan, atau tekan tombol Upgrade untuk mengupgrade Linux Mandrake sebelumnya yang ada di komputer anda, atau tekan tombol Upgrade packages only bila ingin mengupgrade software tertentu saja. Keterangan : Pada tutorial ini, kami menganggap anda memilih kelas instalasi Recommended dan menekan tombol Install. Partisi Harddisk Apabila memilih Erase entire disk, berarti anda akan menghapus semua isi yang ada di disk tersebut. Tampilannya sebagai berikut : Apabila memilih Use existing partitions , berarti anda akan memakai partisi yang sudah ada sebelumnya. Tampilannya sebagai berikut : Apabila memilih Use the free space on the Windows partition, berarti anda akan menginstall Linux Mandrake pada free space partisi Windows yang ada. Tampilannya sebagai berikut : Apabila anda memilih Custom disk partitioning , berarti anda akan menentukan sendiri ukuran partisi untuk /mnt/windows, root, swap, dan home. Tampilannya sebagai berikut : Format Partisi Linux Pilih Paket Software Silahkan pilih paket software yang akan diinstall, anda dapat memilih gabungan grup Workstation dan Server, atau anda memilih secara Individual package selection. Proses Instalasi Paket Software Pada tahap ini, anda hanya menunggu sampai proses instalasi software selesai. Lamanya instalasi tergantung kecepatan komputer dan jumlah software yang dipilih. Isi Password Root Demi keamanan sistem anda, masukkan password dari root. Buat User Anda perlu membuat user sendiri untuk keperluan anda sehari-hari dan untuk orang lain yang akan mengakses komputer Linux Mandrake anda. Pengaktifan Logon Secara Otomatis Apabila anda memilih tombol Yes, maka begitu komputer dinyalakan, sistem tidak akan menanyakan password user anda dan akan langsung masuk ke desktop dengan window manager yang anda pilih. Apabila anda tidak ingin mengaktifkan fasilitas ini, cukup tekan tombol No. Autodeteksi Network Anda perlu menekan opsi Use auto detection agar sistem dapat mendeteksi secara otomatis Network Card anda. Konfigur Network Apabila anda memilih Normal modem connection, maka anda harus mengkonfigur parameter-parameter berikut ini : Apabila anda memilih LAN connection - ethernet card(s) detected, maka anda harus mengkonfigur parameter-parameter berikut ini : Konfigur Printer Tekan tombol Yes, apabila anda ingin mengkonfigur printer dan tekan tombol No apabila anda tidak ingin mengkonfigur printer untuk saat ini. Keterangan : Pada tutorial ini, kami menganggap anda memilih tombol No karena konfigurasi printer dapat di set setelah instalasi Linux Mandrake selesai. Konfigur Mouse, Keyboard, dan Timezone Proses instalasi akan mengkonfigur Mouse, Keyboard, dan Timezone secara otomatis. Apabila anda ingin mengubahnya silahkan klik tombol bersangkutan. Proses Instalasi Bootloader Bootloader LILO akan diinstall secara langsung di MBR (Master Boot Record). Apabila anda ingin menggunakan Bootloader yang sudah ada sebelumnya di komputer anda, anda harus memilih tipe instalasi Expert. Pilih Model Monitor DrakX akan mendeteksi hardware monitor anda secara otomatis, tapi bila gagal anda harus mengkonfigurasinya secara manual dengan memilih model yang pas dengan monitor anda. Konfigur Resolusi Graphic Card Anda perlu mengatur ukuran dan resolusi display yang sesuai dengan kemampuan graphic card anda. Konfirmasi Konfigurasi Display Apabila anda dapat melihat tampilan display di atas, berarti anda telah berhasil menkonfigur Monitor dan Adapter Card anda, dan anda lanjutkan dengan klik tombol Yes. Tapi jika tidak melihat display di atas, anda harus klik tombol No untuk mengkonfigur ulang Monitor dan Adapter Card anda. Kesempatan Untuk Mendownload Updates Mandrake Anda tekan tombol No saja karena jika anda menekan tombol Yes maka komputer anda harus terhubung ke Internet untuk mendownload Update Mandrake tersebut. Buat Disket Boot Proses Instalasi Selesai Selamat. Anda sudah menginstall Linux Mandrake. Jangan lupa untuk mengeluarkan CD-ROM dan disket dari drive-nya, program instalasi akan me-reboot sistem komputer anda. BAB II Sistem File Linux 2.1 Struktur direktori Linux Direktori root Linux memiliki beberapa direktori yang merupakan standar direktori pada banyak distro Linux. Direktoridirektori tersebut antara lain : Direktori Isi /bin berisi file-file binary standar yang dapat digunakan oleh seluruh user baik user biasa maupun super user /boot berisi file-file yang digunakan untuk booting Linux termasuk kernel image /dev berisi file system khusus yang merupakan refleksi device hardware yang dikenali dan digunakan sistem /etc berisi file-file konfigurasi sistem, biasanya hanya boleh diubah oleh super user /home berisi direktori-direktori yang merupakan direktori home untuk user biasa dan aplikasi tertentu /lib berisi file-file library yang digunakan untuk mendukung kerja kernel Linux /mnt direktori khusus yang disediakan untuk mounting (mengaitkan) device disk storage ke sistem dalam bentuk direktori /root direktori home untuk user root (user khusus dengan priviledges hampir tak terbatas) /sbin sama seperti direktori bin, tetapi hanya super user yang sebaiknya menggunakan binary-binary tersebut mengingat fungsi fungsi binary yang terdapat di direktori ini untuk maintenance system /tmp berisi file-file sementara yang dibutuhkan sebuah aplikasi yang sedang berjalan /usr berisi library, binary, dokumentasi dan file lainnya hasil instalasi user /var berisi file-file log, mailbox dan data-data aplikasi Tabel Direktori Linux 2.2 Struktur data kernel Saat kernel melakukan sebuah proses, data-data proses tersebut disimpan secara periodik dalam bentuk file-file. Untuk melihat data-data kernel tersebut, maka file-file yang dimaksud harus di parsing setiap saat karena datanya yang dinamis. Cara termudah yang dapat dilakukan antara lain dengan menggunakan perintah cat. Syntax : cat <file_system_yang_di_maksud> File-file ini tersimpan dalam direktori-direktori yang disimpan terstruktur dalam direktori /proc. \ 2.3 Pengenalan device Semua device di linux dinyatakan dalam bentuk file. Apabila nantinya device-device ini perlu untuk di akses maka kita tinggal melihat isi dari /dev berikut adalah tabel dari penamaan device di linux : Direktori Isi /proc/[nomor] Di dalam proc terdapat directory yang dinamakan dengan nama nomor-nomor. Nomor-nomor ini dinamakan sesuai dengan PID-nya /proc/cpuinfo File ini berisi tentang segala sesuatu dari CPU info dan arsitektur dari system, untuk setiap arsitektur yang berbeda akan mempunyai daftar yang berbeda pula. /proc/devices Daftar dari devices yang ada di system. Ini dapat digunakan oleh MAKEDEV script untuk konsistensi terhadap kernel. /proc/dma Daftar dari dma (direct memory access) channel yang digunakan. /proc/filesystems Daftar dari filesystem yang di dukung oleh kernel. /proc/interrupts Daftar ini berisi jumlah dari interrupt berdasarkan IRQ pada mesin i386 /proc/ioports Daftar yang berisi input output (I/O) port yang sedang digunakan /proc/kcore File ini merupakan pseudo file yang besarnya disesuaikan dengan memory fisik yang dipunyai mesin. /proc/kmesg Berisi tentang kernel log message yang digunakan oleh klogd dalam melog setiap pesan dari kernel. /proc/ksyms File ini mengandung kernel definisi simbol yang digunakan oleh modules tools untuk melink secara dynamic, dan mengikat modul-modul yang dapat diload. /proc/loadavg Jumlah beban rata-rata yang memberikan daftar proses yang sedang berjalan ataupun dalam keadaan queue dalam interval waktu 1,5 dan 15 menit. /proc/locks File ini berisi daftar dari file yang di lock. /proc/meminfo File ini digunakan oleh free untuk melaporkan jumlah memory yang bebas dan yang sedang digunakan (baik fisik maupun swap) dari system /proc/modules Daftar dari modul-modul yang di load ke system. /proc/net/ Direktori ini berisi pseudo-files yang berisi status dari beberapa bagian dari layer network. /proc/pci File ini berisi daftar berisi tentang semua PCI device yang di temukan selama inisialisasi kernel berikut konfigurasinya /proc/scsi/ Directory yang berisi tentang midlevel pseudo files dan berbagai directory yang berisi lowlevel scsi driver /proc/self/ Direktori ini mengacu kepada proses akses ke /proc filesystems, dan identik dengan direktory /proc yang dinamakan oleh PID dari proses yang sama. /proc/stat kernel/system statistik. /proc/sys Direktori ini berisi sejumlah file dan subdirektori yang berhubungan dengan variabel kernel. /proc/uptime File ini berisi dua kelompok angka, angka dari uptime system (s), dan waktu yang dihabiskan dalam idle proses (s). /proc/version Berisi string yang mengidentify versi kernel yang sedang digunakan. Tabel: Direktory / Proc Disk dan hard disk Nama File Nama Perangkat /dev/fd0 Drive floppy pertama /dev/fd1 Drive floppy kedua /dev/had HD bus AT pertama /dev/hda1 - /dev/hdaxx Partisi-partisi dari HD bus AT pertama /dev/sda HD SCSI pertama /dev/sda1 - /dev/sdaxx Partisi-partisi dari HD SCSI pertama /dev/sdb HD SCSI kedua /dev/sdc HD SCSI ketiga Tabel : Nama perangkat disk dan hard disk Drive CDROM Nama File Nama Perangkat /dev/cdrom Link ke cdrom yang digunakan /dev/aztcd CD-ROM Aztech CDA268-01 /dev/cdu535 Sony CDU-535 CD-ROM /dev/cm2206cd Philips CM206 /dev/gscd0 CD-ROM Goldstar R420 /dev/hda - /dev/hdd ATAPI IDE CD-ROM /dev/lmscd CD-ROM Philips CM 205/250/206/260 /dev/mcd Mitsumi CD-ROM /dev/sbpcd0 -/dev/sbpcd3 CD-ROM pada SoundBlaster /dev/scd0 - /dev/scd1 Drive CD-ROM SCSI /dev/sonycd CD-ROM Sony CDU 31a /dev/sjcd CD-ROM Sanyo /dev/optcd CD-ROM Optics Storage Tabel: Nama perangkat CDROM Tape Nama File Nama Perangkat /dev/rmt0 SCSI streamer pertama dengan pemutarbalik (rewinding) otomatis /dev/nrmt0 SCSI streamer pertama tanpa pemutarbalik otomatis /dev/ftape Floppy streamer dengan pemutar-balik Otomatis /dev/nftape Floppy streamer tanpa pemutar-balik otomatis Tabel : Nama perangkat tape Mouse Nama File Nama Perangkat /dev/mouse Link (kaitan) ke mouse yang digunakan /dev/atibm Mouse dengan bus dan kartu grafis ATI /dev/logibm Mouse Logitech dengan sistem bus /dev/inportbm Mouse PS/2 dengan sistem bus Tabel : Nama perangkat mouse (bus dan PS/2) Modem Nama File Nama Perangkat /dev/modem Link ke port COM pada modem yang dihubungkan Tabel : Nama perangkat modem Interface Serial Nama File Nama Perangkat /dev/ttyS0 - /dev/ttyS3 Interface serial 0 hingga 3 /dev/cua0 - /dev/cua3 Interface serial 0 hingga 3 (untuk modem hubungan keluar) Tabel : perangkat interface serial Port paralel Nama File Nama Perangkat /dev/lp0 - /dev/lp2 Interface paralel 0 hingga 2 Tabel : perangkat port paralel Khusus Nama File Nama Perangkat /dev/null Data apapun (data bin) akan di”telan” /dev/tty1 - /dev/tty8 Konsol virtual /dev/zero Menghasilkan keluaran bilangan dengan byte null Tabel : Perangkat khusus BAB III I/O dan perintah Dasar Linux 3.1 Pengenalan redirection dan pipe Redirection dan pipe merupakan standar dari fasilitas shell di unix. 1. Redirection Fasilitas redirection memungkinkan kita untuk dapat menyimpan output dari sebuah proses untuk disimpan ke file lain (Output Redirection) atau sebaliknya menggunakan isi dari file sebagai input dalam suatu proses (Input redirection). Komponen-komponen dari redirection adalah <, >, < <, > > Untuk lebih jelas nya akan di berikan contoh untuk masing-masing redirection : 1.1. Output Redirection Kita akan menggunakan perintah cat yang telah tersedia secara default di shell linux. Syntax-nya sbb : $ cat > <namafile> Contoh : Membuat File dengan nama test arie@satria:~$ cat > test ini hanya sebuah test dari output redirection hehehehehe........ ^D Melihat isi file test arie@satria:~$ cat test ini hanya sebuah test dari output redirection hehehehehe........ arie@satria:~$ Penambahan untuk file test arie@satria:~$ cat > > test baris ini tambahan dari yang lama... ^D Melihat kembali isi file test setelah ditambahkan beberapa kata arie@satria:~$ cat test ini hanya sebuah test dari output redirection hehehehehe........ baris ini tambahan dari yang lama... arie@satria:~$ Disini kita melihat bahwa output dari perintah cat akan di belokkan (redirect) ke sebuah file dengan nama test. 1.2. Input Redirection Isi dari suatu file akan kita gunakan sebagai input dari suatu proses yang akan kita jalankan. Sebagai contoh kita akan mencoba mengirimkan mail ke diri sendiri dengan isi mail berasal dari file test tadi arie@satria:~$ mail arie < test Sekarang kita lihat mail yang telah dikirim tadi dengan perintah sbb : arie@satria:~$ mail Mail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/arie": 1 message 1 new N 1 arie@satria.adhyaks Thu Nov 9 14:51 14/525 & 1 Message 1: From arie@satria.adhyaksa.net Thu Nov 9 14:51:12 2000 Delivered-To: arie@satria.adhyaksa.net To: arie@satria.adhyaksa.net Date: Thu, 9 Nov 2000 14:51:12 +0700 (JAVT) From: arie@satria.adhyaksa.net (/me) ini hanya sebuah test dari output redirection hehehehehe........ baris ini tambahan dari yang lama... & q arie@satria:~$ Isi dari file test di jadikan sebagai input dari proses yang kita lakukan yaitu proses pengiriman mail. 3.2. Pipeline Pipeline ( | ) adalah fasilitas di shell UNIX yang berfungsi untuk memberikan input dari suatu proses dari output proses yang lain. Misalkan sebagai contoh : Sebelum kita gunakan pipeline arie@satria:~$ find * dead.letter mbox test Setelah kita gunakan pipeline arie@satria:~$ find * | grep test test arie@satria:~$ Pada contoh pipeline di atas, mempunyai arti bahwa output dari perintah find menjadi input dari perintah grep yang kemudian hanya mengambil kata "test" dari output find. Shell (bash command) Shell adalah sebuah program yang membaca input standar yaitu keyboard. Ketika kita mengetikkan sesuatu di keyboard maka shell akan menafsirkan apa yang kita ketikkan. Sebagai contoh apabila kita ketikkan ls pada shell dan ls ternyata merupakan program yang dapat di eksekusi maka shell akan menjalankan program tersebut. Misal : arie@satria:~$ ls test arie@satria:~$ hello bash: hello: command not found arie@satria:~$ Kita dapat melihat bahwa ketika ls kita ketikkan maka program ls dijalankan, sedangkan apabila kita jalankan hello dan karena memang tidak ada program hello maka shell tidak dapat mengeksekusinya. 3.2.1. Jenis-jenis shell Jenis shell yang digunakan di unix maupun linux banyak macamnya, tetapi dilihat dari segi kuantitas pemakainya shell yang banyak dipakai adalah sebagai berikut : ► Bourne shell (sh) ► C shell (csh) ► Korn shell (ksh) ► Bourne Again shell (bash) Yang paling banyak di gunakan adalah bash, dimana bash ini merupakan pengembangan dari sh dan ksh. Mayoritas distribusi linux saat ini menggunakan bash sebagai default shell-nya. 3.2.2. Perintah-perintah dasar dalam Linux ☻ cat Perintah cat ini menampilkan isi dari suatu file ke standart output (stdout) Syntax : $ cat <namafile> Contoh : arie@satria:~$ cat test ini hanya sebuah test dari output redirection hehehehehe........ baris ini tambahan dari yang lama... cat dapat juga digunakan untuk memasukkan sebuah isi dari suatu file ke dalam file yang lain. Syntax : $ cat file1 file2 file3 > file4 ☻ clear Perintah clear ini mirip dengan cls pada DOS yang gunanya membersihkan layar Syntax : $ clear ☻ cp Mirip dengan copy pada DOS, perintah cp ini berfungsi mengkopi file. Syntax : $ cp [option] file /dir/path/ Untuk lebih jelas silahkan dibaca pilihan-pilihannya dengan menjalankan : $ cp –help ☻ cut Perintah cut mendefinisikan suatu file yang berisi data berdasarkan kolom Syntax : $ cut [option] file Contoh : kita akan cut file test dari kolom 1-7 arie@satria:~$ cut -c 1-7 test ini han heheheh baris i arie@satria:~$ cat test ini hanya sebuah test dari output redirection hehehehehe........ baris ini tambahan dari yang lama... arie@satria:~$ Dari contoh dapat terlihat bahwa cut hanya menampilkan isi dari file test dari kolom 1 – 7 ☻ find Dari namanya sudah dapat diterka bahwa perintah ini berfungsi untuk mencari file ataupun directori. Syntax : $ find /path [option] Contoh : arie@satria:~$ find . -name te* ./test arie@satria:~$ ☻ grep Perintah ini berguna untuk pencarian data di dalam file, penggunaan grep akan lebih mengefisienkan waktu ketimbang harus membaca satu persatu Syntax : $ grep [option] "data" file Contoh : arie@satria:~$ grep "ini" test ini hanya sebuah test dari output redirection baris ini tambahan dari yang lama... arie@satria:~$ ☻ ln Kegunaan perintah ini adalah untuk membuat link dari satu file/directori ke file/directori lain Syntax : $ ln -s /path/to/source target Contoh : arie@satria:~$ ln -s test uji arie@satria:~$ ls -l total 2 -rw-r--r-- 1 arie arie 102 Nov 9 14:11 test lrwxrwxrwx 1 arie arie 4 Nov 10 03:21uji -> test arie@satria:~$ Dari contoh dapat dilihat bahwa file uji adalah merupakan link dari file test ☻locate Perintah ini digunakan untuk mengetahui dimana letaknya sebuah file atau directori. Fungsinya kurang lebih sama dengan find, bedanya locate menggunakan sebuah database (biasanya terletak di /var/lib/locatedb ) yang dapat di update menggunakan perintah updatedb. Syntax : $ locate <something> Contoh : arie@satria:~$ locate uji /home/arie/uji arie@satria:~$ ☻ ls Perintah ini sama seperti dir pada DOS yanitu berfungsi untuk menampilkan isi dari suatu directory beserta atribut-atribut filenya. Syntax : $ ls [option] /directory Contoh : arie@satria:~$ ls /home/arie test uji arie@satria:~$ ☻ mkdir Perintah mkdir ekivalen dengan md (make directory) pada DOS yang berguna untuk membuat sebuah directory. Syntax : $ mkdir <namadir> ☻ mv Perintah ini mirip dengan perintah move pada DOS yang berguna untuk memindahkan file dari satu directori ke directori lainnya, atau juga dapat digunakan sebagai pengganti nama file (ren/rename pada DOS) Syntax : $ mv file1 file2 ☻ rm dan rmdir Perintah rm adalah perintah untuk menghapus file. Untuk directory dapat digunakan rmdir Syntax : $ rm <namafile> $ rmdir <namadirectori> ☻ tail Perintah ini berlawanan dengan perintah cut, tail mendefinisikan sebuah data pada file menurut barisnya. Sedikit perbedaan adalah pada tail secara default ditampilkan 10 baris terakhir dari isi file Syntax : $ tail [option] <namafile> Contoh : arie@satria:~$ tail test ini hanya sebuah test dari output redirection hehehehehe........ baris ini tambahan dari yang lama... arie@satria:~$ Bila kita ingin menampilkan hanya 2 baris terakhir gunakan option [-[nilai]. Misal : arie@satria:~$ tail -2 test hehehehehe........ baris ini tambahan dari yang lama... arie@satria:~$ ☻ mount Setiap device dalam linux agar dapat diakses harus terlebih dahulu di-mount atau dikaitkan. Syntax : $ mount [option] /dev/<devicefile> /path/to/mountdir Contoh : $ mount /dev/hda1 /mnt/disk ☻ ps Perintah ini digunakan untuk melihat setiap proses yang dijalankan di dalam mesin beserta nomor prosesnya. Syntax : $ ps [option] ☻ kill Perintah kill (mematikan) sesuai namanya adalah berfungsi untuk mengirimkan signal ke suatu proses. Sehingga bisa memerintahkan apakah suatu proses ditunda , dihentikan atau dilanjutkan. Tetapi paling sering digunakan untuk mematikan proses yang sedang berjalan. Syntax : $ kill <nomor-prosesnya> ☻ adduser, passwd dan userdel Perintah adduser dan userdel adalah file-file untuk administrasi user. adduser digunakan untuk menambahkan user pada suatu mesin. Kemudian setelah ditambahkan ditentukan password user yang baru tersebut dengan perintah passwd. Sedangkan userdel digunakan untuk menghapus user di mesin. Untuk menjalankan perintah-perintah ini diperlukan root priviledge. Syntax : # adduser <namauser> # passwd <namauser> # userdel [-r] <namauser> 3.3. Aplikasi dasar Seperti juga pada MS Windows, untuk Linux maupun semua varian UNIX terdapat editor file yang dinamakan vi atau vim (vi improved with syntax color highlighting). Selain vi terdapat program editor lain yang lebih mudah pemakaiannya serperti pico, joe, jove, mc (midnight commander), dll. Pada bab ini, akan dikenalkan bagaimana menggunakan editor vi, joe, pico dan mc. ♦ VI Vim merupakan pengembangan dari editor vi yang mempunyai keunggulan dalam penggunaan warna. Vi merupakan editor yang paling terkenal di dunia UNIX. Vi ialah kepanjangan dari "Visual" editor. Vim mendukung penggunaan warna untuk menandakan kode program dan juga penanda teks seperti penggunaan huruf normal, tebal maupun cetak miring. Untuk menjalan perintah vi, kita gunakan sintaks sbb : vi <nama_file> 3.3.1 Status vi Editor vi mempunyai 3 mode, yaitu : ● command mode, untuk menggunakannya tekan ESC terlebih dahulu. ● input mode, dengan mengetikkan perintah-perintah yang spesifik, seperti a I o 0 dan diakhiri dengan ESC atau dengan interrupt. ● line mode, suatu keadaan setelah ada proses input : ?, /, ! Notasi yang digunakan CTRL-c, CTRL adalah tombol control pada keyboard, sehingga CTRL-c berarti "control c". CR (Carriage Return) ialah tombol enter. a. Manipulasi file Tombol Fungsi :wq save file dan exit :q keluar dari vi :q! keluar dari vi tanpa menyimpan :w menyimpan file Tabel : Perintah vi manipulasi file b. Perpindahan kursor Tombol Fungsi H pindah satu karakter ke kiri I pindah satu karakter ke kanan J pindah satu baris ke bawah K pindah satu baris ke atas CTRL-d menggulung setengah halaman ke bawah CTRL-u menggulung setengah halaman ke atas CTRL-f menggulung satu halaman ke bawah CTRL-b menggulung satu halaman ke atas :0 pindah ke awal file :$ pindah ke akhir file 0 pindah ke awal baris $ pindah ke akhir baris CR pindah ke awal baris berikutnya <n> pindah menuju kolom ke- <n> <n>G pindah menuju baris ke- <n> W pindah ke awal kata yang “sedikit” berikutnya W pindah ke awal kata yang “banyak” berikutnya B pindah ke awal kata yang “sedikit” berikutnya B pindah ke awal kata yang “banyak” berikutnya E pindah ke akhir kata yang "sedikit" berikutnya E pindah ke akhir kata yang "banyak" berikutnya ) pindah ke akhir kalimat ( pindah ke awal kalimat } pindah ke akhir paragraf { pindah ke awal paragraf Tabel : Perintah vi untuk pergerakan kursor c. Penghapusan Tombol Fungsi X Menghapus karakter yang ada di kursor X Menghapus karakter sebelum kursor D Menghapus satu baris d^ Menghapus mulai baris awal hingga ke posis kursor <n>dd Menghapus <n> baris dimulai dengan baris pada posisi kursor d<n>w Menghapus <n> kata dimulai dari kata pada posisi kursor Tabel : Perintah vi untuk penghapusan d. Copy dan paste Tombol Fungsi Y copy baris saat ini ke dalam “buffer yank <n>yy copy <n> baris dimulai dari baris saat ini ke “buffer yank” P Paste isi yang ada di “buffer yank” ke posisi setelah kursor P Paste isi yang ada di “buffer yank” ke pisisi sebelum kursor Tabel : Perintah vi untuk copy dan paste e. Perintah cari dan ganti Tombol Fungsi /<teks> Mencari <teks> yang ada setelah posisi kursor ?<teks> Mencari <teks> yang ada sebelum posisi kursor / Mengulangi pencarian terakhir setelah posisi kursor ? Mengulangi pencarian terakhir sebleum posisi kursor <addr>s/<from>/<to>g Mencari kata <from> dan menggantikannya dengan kata <to> di baris ini atau di kisaran <add> Contoh : 3,20s/lama/baru/g , contoh ini akan mencari kata “lama” diganti dengan kata “baru” yang ada diantara baris 3-20 Tabel : Perintah vi untuk cari dan ganti f. Perintah lainnya Tombol Fungsi U Undo perubahan terakhir CTRL-g Menampilkan nama file dan baris kursor Insert Memulai mengedit (mengetik) Delete Menghapus karakter di posisi kuros Tabel : Perintah vi lainnya ♦ Pico Pico adalah teks editor jenis lain yang berdasarkan pada program compose email Pine. Navigasi untuk perintahnya diletakkan di bawah dari layar. Semua karakter yang diketik langsung disisipkan ke dalam teks. Perintah untuk menjalankan editor pico adalah sbb : pico <nama file> Daftar perintah yang tersedia pada pico dapat dilihat pada Tabel : Tombol Fungsi ^G Help ^O Menyimpan file ^R Membuka file ^K Menghapus satu baris ^U Undo untuk perintah menghapus ^W Mencari kata ^C Menampilkan posisi kursor saat ini ^X Keluar dari pico Tabel : Perintah pico ♦ Joe Perintah-perintah dalam editor joe ini sangat mirip dengan perintah-perintah pada WordStar. Jika kita telah terbiasa dengan perintah pada WordStar maka tidak akan kesulitan dalam menggunakan editor joe. Untuk menjalankan joe, kita dapat menggunakan perintah sbb : joe <nama file> Daftar perintah pada program editor joe dapat dilihat pada Tabel 5.8: Tombol Fungsi ^KD simpan file dan kembali ke menu edit ^KX simpan file dan keluar ^KB memberikan tanda awal untuk mem-blok ^KK memberikan tanda akhir untuk mem-blok ^KC mengkopi daerah yang telah diblok ^KY menghapus daerah yang telah diblok ^KM memindahkan daerah yang telah diblok ^Y menghapus satu baris ^X memindahkan kursor ke kata berikutnya ^Z memindahkan kursor ke kata sebelumnya ^KU memindahkan kursor ke tempat paling awal dari file ^KV memindahkan kursor ke tempat paling akhir dari file ^A memindahkan kursor ke awal baris ^E memindahkan kursor ke akhir baris ^U menggulung layar ke layar sebelumnya ^V menggulung layar ke layar berikut Tabel : Perintah joe ♦ MC (Midnight Commander) MC atau Midnight Commander merupakan aplikasi yang sangat berguna. Kemampuan mc sebagai editor hanya salah satu dari kemampuan-kemampuan lainnya. Untuk menjalankannya, digunakan perintah sbb : mc -e <nama file> atau mc kemudian insert file yang akan diedit lalu tekan F4 untuk mengedit. Perintah-perintah yang dapat digunakan dapat dilihat pada Tabel : Tombol Fungsi F1 Keterangan bantu (help) F2 Simpan file F3 Untuk memblok F4 Untuk mengganti kata F5 Menyalin suatu blok F6 Memindahkan suatu blok F7 Mencari kata yang ingin diedit F8 Menghapus suatu blok F9 Memunculkan menu navigasi F10 Mengakhiri editor Tabel : Perintah MC Masing-masing editor ini mempunyai kelebihan dan kekurangan. Contohnya seperti pada editor pico yang sangat baik berjalan di terminal apapun, termasuk pada terminal bila kita sedang telnet dengan menggunakan telnet client standar dariWindows. Sedangkan vim/vi, kita gunakan karena banyak feature-feature yang sangat menarik sehingga membantu kita untuk lebih cepat dalam mengedit file. Editor joe dan mc, digunakan karena sederhana dan tampilannya yang menarik. KONFIGURASI LILO, X-WINDOWS DAN TIPS LINUX Untuk memuat kernel diperlukan sebuah program loader khusus. RedHat telah menyediakan sebuah program yang dinamakan LILO atau Linux Loader (Werner Almesberger). LILO digunakan untuk mesin Intel-compatible, sedangkan mesin lain seperti Digital Equipment Corp. menggunakan MILO. Alpha PC, SPARC-compatible dapat menggunakan SILO. Saya menggunakan LILO karena mesin saya adalah Intel-compatible. Pada saat instalasi RedHat Linux ada pilihan untuk menginstalasi LILO Bila saat instalasi pilihan ini dilewati atau Skip, LILO bisa di instalasi sekarang dengan perintah /sbin/lilo. Disamping dengan LILO, kernel juga dapat dimuat dari DOS dengan menggunakan program LOADLIN.EXE. Cara yang mudah adalah mencopy kernel dan LOADLIN. EXE ke partisi DOS, lalu untuk memboot komputer cukup dengan mengetikkan perintah ini dari prompt DOS: c:\loadlin c:\vmlinuz root=/dev/hda3 ro /dev/hda3 bisa diganti sesuai dengan partisi root Linux. Instalasi LILO dapat diistalasi dan ditempatkan pada salah satu partisi sbb: Master Boot Record (MBR) dari hard disk. Root Partisi Linux. Floppy disk. Untuk menginstalasinya sangat mudah yaitu dengan perintah lilo (terdapat di direktori /sbin). Dokumentasinya dapat dibaca di /usr/doc. Ada shell script, QuickInst yang digunakan untuk mengganti LILO yang telah di instalasi. Edit dan konfigurasi sesuai kebutuhan file /etc/lilo.conf Jalankan /sbin/lilo untuk mengaktifkannya Beberapa file akan berubah selama instalasi LILO, berikut ini file-file yang dibuat atau berubah selama instalasi LILO: /sbin/lilo -- map installer; keterangan lihat man lilo /boot/boot.b -- boot loader /boot/map -- boot map, berisi lokasi kernel /etc/lilo.conf -- file konfigurasi LILO Untuk mencegah kerusakan sistem atau sistem tidak bisa di boot maka sebaiknya buat dulu emergency boot disk Konfigurasi Sebelum mengkonfigurasi LILO, sebaiknya mengetahui sistem operasi yang ada di setiap partisi hard disk serta menentukan partisi untuk meletakkan LILO. Pada umumnya LILO diletakkan pada MBR. Bila ada sistem lain seperti OS/2, sebaiknya LILO diletakkan pada superblock partisi root karena MBR akan ditempati boot loader OS/2. Bila Linux satu-satunya sistem operasi yang ada di hard disk atau memiliki sistem operasi Windows 95/NT, LILO bisa diletakkan di MBR. Perhatikan partisi masing-masing dengan cermat, misal Windows di /dev/hda1 dan Linux di /dev/hda2. Umumnya LILO di instalasi setelah partisi hard disk dibuat dan setelah sistem operasi Linux atau yang lain sudah di instalasi. Mengedit lilo.conf Login sebagai root sebelum mengedit file ini. Buka dengan sembarang editor teks ASCII, misal vi. Contoh file lilo.conf: # Start LILO global section Boot = /dev/hda Prompt Vga = normal Ramdisk = 0 # End LILO global sectionimage = /vmlinuz root = /dev/hda3 label = linu other = /dev/hda1 tabel = /dev/hda Parameter selengkapnya: boot=<boot_device> memberitahu device yang memiliki boot sector. Boot sector dibaca dari device ini dan di mount sebagai root. Linear Mengenerate linear sector addrress. Lihat dokumentasi LILO. install=<boot_sector> Menginstal file yang telah ditentukan sebagi boot sector yang baru. Jika install tidak dipakai, /etc/lilo/boot.b dipakai sebagi default. message=<message_file> Untuk menampilkan file teks, besarnya maksimum 65,535 byte. verbose=<level> Menampilkan progress reporting. Option lain seperti -v dan -q. Lihat dokumentasi LILO. backup=<backup_file> Menyalin boot sector asli ke file <backup_file>. force-backup<backup_file> Sama dengan backup. Option ini menimpa salinan backup yang telah dibuat dan akan mengabaikan option backup bila keduanya dipakai. Prompt Meminta masukan saat boot. timeout=<tsecs> Mengeset waktu tunggu keyboard sebelum menjalankan option berikutnya. Defaultnya 5 detik. Masukkan value 0 jika ingin LILO menunggu sampai ada masukkan dari keyboard. serial=<parameter> Mengijinkan masukan dari serial line dan keyboard ke LILO. ignore-table Mengabaikan tabel partisi yang corrupt. password=<password> Memasang password untuk melindungi boot images. Uninstall LILO Menghapus atau menguninstalasi LILO dari sistem sangat mudah, dengan perintah: lilo -u atau dari partisi aktif Linux yang lain atau partisi DOS dengan menggunakan fdisk. Bila LILO di instalasi sebagai MBR, maka MBR asli sebelum ditempati LILO dapat di restore dengan cara mem-boot sistem dengan DOS, kemudian jalankan: sys c: atau fdisk /MBR Menganalisis Sistem Menganalisis sistem biasanya dilakukan oleh seorang administrator sistem untuk mendeteksi adanya gejala-gejala yang dapat menyebabkan kerusakan atau masalah pada sistem kelak. RedHat sudah menyediakan tool-tool untuk melakukan hal itu, diantaranya adalah dua buah program tool yang sangat berguna yaitu vmstat dan top, dengan menggunakan kedua program tersebut administrator memperoleh informasi mengenai sistem seperti penggunaan CPU, memori atau proses-proses yang sedang berjalan dan dengan bantuan informasi ini administrator sistem bisa mendeteksi secara cepat apakah sistemnya mengalami gangguan atau tidak. Dengan menggunakan kedua program tersebut, Anda sendiri bisa mencoba dan melihat apakah sistem yang dipakai saat ini berjalan dengan baik atau tidak. Lihatlah informasi yang ditampilkan program-program tersebut dan bila Anda memperkirakan ada masalah, silakan menghubungi administrator sistem untuk mendapatkan bantuan. vmstat Program atau perintah ini akan melakukan test dan menampilkan informasi penggunaan CPU, memori, proses-proses yang sedang berjalan serta operasi I/O. Sintaks penulisan perintahnya adalah sebagai berikut: $ vmstat [interval] [count] Interval adalah waktu jeda test dalam detik dan count adalah jumlah test yang kita kehendaki. Misalnya akan dilakukan test sebanyak 5 kali dengan waktu jeda setiap 5 detik maka perintah dan hasilnya adalah seperti dibawah ini: [zakaria@linux source]$ vmstat 5 5 procs memory swap io system cpu r b w swpd free buff cache si so bi bo in cs us sy id 0 0 0 37924 824 840 13280 54 14 30 9 522 271 21 6 73 3 0 0 37924 1080 816 13060 0 0 1 0 110 329 20 16 64 1 0 0 37924 1036 824 13084 0 0 2 1 130 331 18 18 64 1 0 0 37924 1036 824 13084 0 0 0 0 107 329 19 16 65 2 0 0 37924 1036 828 13084 0 0 0 1 112 326 21 14 65 Tiga kolom pertama menunjukkan proses-proses yang sedang dikerjakan, yaitu waiting for runtime(r), uninterupted sleep(b) dan swapped out(w). Banyaknya proses yang mengalami waiting for runtime(r) dapat merupakan indikasi terjadinya suatu masalah misalnya telah terjadi bottleneck yaitu penumpukan proses-proses disuatu tempat. Kolom memory dan swap digunakan untuk mendeteksi adanya kesalahan yang ditimbulkan oleh manajemen memori. Kolom-kolom swpd, free, buff dan cache berturut-turut menjelaskan jumlah memori virtual yang digunakan, jumlah memori idle, jumlah memori yang dipakai sebagai buffer dan jumlah memori yang tersisa dalam cache, semuanya dalam KB. Perhatikan kolom swap in(si), merupakan jumlah memori yang di-paging dari disk dalam satuan KB/detik sedangkan swap out(so) adalah kebalikannya. Tiga kolom terakhir adalah persentasi penggunaan CPU yaitu persentasi penggunaan CPU untuk tugas-tugas user(us), persentasi penggunaan CPU untuk tugas-tugas sistem termasuk waktu tunggu I/O, pelaksanaan fungsi-fungsi sistem operasi secara umum(sy) dan persentasi CPU idle atau saat tidak digunakan(id). Untuk mendeteksi suatu kesalahan yang diakibatkan oleh masalah CPU sebaiknya dengan melihat persentasinya secara signifikan dalam satu periode waktu. Misalnya pada saat komputer idle dalam satu periode waktu, perhatikan kolom us dan sy seharusnya menunjukkan angka yang rendah sedangkan kolom id menunjukkan angka yang tinggi. Bila tidak seperti itu maka dipastikan ada masalah yang berkaitan dengan CPU. Top Menampilkan informasi proses yang sedang dilakukan CPU secara real time. Kelebihan dari top ini adalah kita dapat memanipulasi proses-proses tersebut secara interaktif dengan menekan tombol-tombol menu. Misalnya untuk meng-kill sebuah proses, kita cukup menekan tombol K dan mengisi nomor proses(PID) yang ingin di-kill. Untuk menjalankannya cukup dengan mengetikkan perintah top dan segera ditampilkan daftar proses-proses yang sedang berjalan saat itu berikut informasi-informasi lainnya. Informasi-informasi yang ditampilkan tersebut secara default akan diperbarui atau diupdate setiap 5 detik. Berikut ini tampilan sebagian dari daftar proses-proses yang ditunjukkan oleh top: Baris-baris header menampilkan informasi mengenai waktu, jumlah user, banyaknya proses, penggunaan CPU serta memori secara jelas. Misalnya saat itu sistem memiliki 35 buah proses, dimana 4 proses sedang berjalan, 30 proses sleeping dan ada sebuah proses menjadi zombie. Porses zombie ini adalah sebuah proses yang hang atau hidup segan, mati tak mau dan apabila Anda tidak bisa mem-kill proses zombie ini maka parent process-nya harus di-kill lebih dahulu. Gunakan perintah pstree atau ps ufx untuk mengurut proses mana yang menjadi parent dari zombie tersebut. Daftar menu untuk mengoperasikan top dapat dilihat dengan menekan tombol ?, atau h. Dengan menggunakan tombol-tombol dalam daftar menu tersebut, kita dapat melakukan manipulasi semua proses dalam sistem. Misalnya, tombol k untuk meng-kill sebuah proses, tombol r untuk me-renice proses dan q untuk keluar atau mengakhiri progam top. Bagaimana Tidak Menggunakan Root? Bila Anda membaca beberapa bab yang lalu, pernah disinggung mengenai kerugian-kerugian apabila kita selalu bekerja sebagai root. Tapi kemudian saya memperoleh beberapa pertanyaan seperti ini: Apakah saya masih bisa menggunakan hak-hak khusus root setelah saya tidak memakainya? Mengapa saya tidak bisa lagi melakukan koneksi dial-up setelah saya login bukan sebagai root? Seperti yang telah kita ketahui, Linux termasuk sistem multiuser dimana suatu resource bisa digunakan oleh banyak user. Setiap user biasanya diberi ruangan atau space yang di simpan rapi dibawah direktori /home. Setiap user di home masing-masing memiliki hak mengakses, membaca atau menulis file-file di dalam home mereka sendiri tetapi mereka belum tentu bisa melakukan hal yang sama di home milik user lain atau direktori milik root. Masing-masing user bisa diberi hak-hak khusus yang berlainan untuk mengakses, membaca atau menulis ke sebuah file atau direktori oleh root. Oleh karena itu kita bisa saja meninggalkan root atau tidak lagi login sebagairoot sepanjang hari dengan cara membuat home sendiri, login sebagai user biasa serta memberikan hak akses seperlunya saja agar tidak membahayakan sistem bila suatu saat kita melakukan kesalahan. Membuat rumah untuk saya, mama, keponakan atau teman saya Mudah saja, saat Anda login sebagai root, jalankan perintah sebagai berikut: # adduser flory # passwd flory Setelah mengetik perintah terkahir Anda akan ditanya password untuk membuka home Anda. Ketikkan saja passwordnya sebanyak dua kali dengan kata yang sama. Selanjutnya Anda telah memiliki 'rumah' baru dan siap untuk digunakan. Bila Anda menginginkan, Anda juga bisa memberikan home lain kepada mama, keponakan yang masih duduk TK atau kepada teman kuliah Anda yang sedang menumpang mengetik skripsinya di komputer Anda. Group Setiap user paling sedikit bergabung dengan sebuah group. Group bisa berisi kumpulan user lain atau program yang mempunyai kesamaan tugas. Group memungkinkan sebuah file bisa dipergunakan secara bersama hanya oleh user-user yang tergabung didalamnya. Oleh karena itu cara mengelompokkan user-user dalam group ini adalah salah satu cara yang mudah bagi root untuk memberikan hak akses file-file miliknya kepada sekelompok user. Untuk membuat group baru, Anda bisa menggunakan perintah groupadd. Misalnya, Anda ingin membuat group baru yang namanya konek maka perintahnya adalah sbb: # groupadd konek Untuk parameter yang lain seperti menentukan gid, password dan lain-lain silakan lihat manualnya. Berikutnya adalah menambahkan user-user yang akan bergabung ke dalam group konek ini. Informasi group disimpan dalam file /etc/group, bukalah dengan menggunakan editor kesayangan Anda, kemudian tambahkan nama-nama user yang akan bergabung dalam group konek. Setiap baris dalam file /etc/group terdiri dari empat segmen yang dipisahkan oleh tanda titik dua, nama group : password : group id(gid) : user Carilah baris group konek dan cukup tambahkan nama user yang akan bergabung dengan group konek ini di segmen terakhir. Pisahkan nama user dengan tanda koma bila user yang bergabung lebih dari satu, misalnya: konek : : 501 : flory, fryda Password biasanya kosong atau * atau biarkan saja bila Anda tidak membuat password untuk group ini. Setelah file /etc/group ini di simpan maka tugas berikutnya adalah merubah permission dan ownership file-file yang bisa diakses oleh group konek. Permission dan Ownership Setiap file memiliki perijinan dan kepemilikan yang menentukan siapa saja yang boleh mengaksesnya. Lihatlah kembali bab mengenai command line khusunya perintah chgrp, chmod dan chown atau lihat manual perintah-perintah tersebut untuk lebih memahami fungsi perijinan dan kepemilikan ini. Sebagai contoh, bila Anda menginginkan group konek yang telah dibuat beberapa saat lalu itu, semua anggotanya bisa melakukan dial-up sendiri maka Anda harus merubah perijinan atau kepemilikan dari beberapa file yang berhubungan dengan dial-up supaya bisa diakses oleh group konek. Bila Anda memakai kppp dari KDE sebagai dial-up maka Anda bisa merubah kepemilikan file kppp menjadi milik group konek seperti ini: [root@cybernetics /root]# ls -l /usr/bin/kppp -rwx------ 1 root root 365660 Apr 19 00:33 /usr/bin/kppp [root@cybernetics /root]# chown .konek /usr/bin/kppp [root@cybernetics /root]# ls -l /usr/bin/kppp -rwsrws--- 1 root konek 365660 Apr 19 00:33 /usr/bin/kppp Lakukanlah hal yang sama pada file-file yang berhubungan dengan dial-up seperti /dev/modem, file-file di /etc/ppp/option dan sebagainya. Setelah itu user-user yang tergabung dalam group konek diharuskan login ke group konek dengan mengetikkan perintah newgrp apabila ingin dapat melakukan dial-up dengan kppp: [fryda@cybernetics fryda]$ newgrp konek Sekarang user fryda sudah dapat melakukan dial-up sendiri dengan kppp tanpa bantuan root. Tips Mencegah Crash Walau di klaim Linux memiliki kestabilan tinggi dan sangat jarang terjadi crash tapi hal itu tetap dapat terjadi. Oleh karena itu strategi yang baik adalah bersiap-siap dan mencegah hal itu terjadi. Persiapan bisa dengan cara membuat backup sistem, membuat emergency boot disk, atau membuat salinan file-file penting. Berikut ini tips menjaga sistem agar terhindar dari masalah: Jangan login sebagai root bila tidak perlu Buat backup setelah instalasi atau setup Buat emergency boot disk dengan kernel terbaru Jangan mematikan komputer dengan tombol power on/off Gunakan perintah shutdown Gunakan UPS bila perlu Jangan menghapus e2fsck dari /etc/rc.d/rc.sysinit Gunakan fsck atau badblocks untuk mengecek disket Jangan menjalankan fsck pada filesystem yang di mount Buat backup file penting pada disket Jangan pedulikan fragmentasi pada partisi Linux Gunakan tool-tool filesystem Jangan menginstalasi program-program yang tidak diperlukan Gunakan flash RAM Baca Lars Wirzenius's Linux System Administrators' Guide 0.5 (Saya tidak tahu dimana memperoleh buku atau file ini) Login sebagai Root Bila tidak perlu sebaiknya jangan login sebagai root sepanjang hari. Root memiliki kekuasaan terhadap sistem, jadi root bisa melakukan apa saja terhadap sistem tapi yang namanya manusia suatu saat bisa lupa. Maunya memperbaiki sistem tapi ternyata salah memasukkan perintah yang akhirnya menghancurkan sistem. Contohnya tanpa sengaja, root bisa saja mengetikkan perintah: rm -rf /* Akibatnya sangat fatal, perintah tersebut tidak saja menghapus habis sistem Linux tapi juga seluruh partisi DOS atau Windows bila saat itu sedang di mount. Membuat Boot Disk Setelah melakukan instalasi atau setup, buatlah boot disk menggunakan kernel terbaru. Ini untuk persiapan bila suatu saat kita gagal saat recompile kernel. Pastikan kernel sudah menunjuk ke device root dengan perintah: # rdev zImage Selanjutnya, format disket dengan perintah (misalkan disket 1.44MB di drive A): # fdformat /dev/fd0H1440 Copy kernel ke disket tersebut: # dd if=zImage of=/dev/fd0 Coba reboot komputer dengan disket boot tetap di drive A: # shutdown -r now Dengan cara demikian kita tidak saja memiliki emergency boot yang berisi kernel tapi juga filesystem minimal untuk melakukan recovery sistem. Mengembalikan File Teks yang Terhapus Bila tanpa sengaja sebuah file teks terhapus, jangan panik. Ada tips yang namanya "Desperate person's text file undelete" dari Paul Anderson's "The Linux Tips HOWTO" milik Michael Hamilton. Bila bisa mengingat beberapa teks dari file, tahu di partisi mana file itu sebelum terhapus dan masih tersisa space di partisi tersebut maka masih ada kemungkinan mengembalikan file tersebut. Michael Hamilton menggunakan perintah egrep dan strings untuk menyelesaikan kasus ini. Misal, kita kehilangan 100 baris file dengan frase "Xena", diikuti oleh "Lawless" dan masih ada sisa space di partisi DOS maka untuk mendapatkan 100 baris teks tersebut dengan cara: # egrep -100 'Xena.+Lawless' /dev/hda3 > /mnt/dos/lucy Mudah-mudahan ke 100 baris teks tersebut bisa dibaca disini: # strings /mnt/dos/lucy | less File Toolbox RedHat menyediakan beberapa file tool yang sangat berguna untuk memeriksa dan memperbaiki masalah sistem. File tersebut diantaranya adalah e2fsck yang dapat berjalan secara otomatis dari script rc.sysinit. File lain seperti badblocks sangat berguna bagi pemilik hard disk non-IDE. Selengkapnya file-file tools tersebut adalah sebagai berikut: e2fsck Kebanyakan user Linux memilih second extended partition karena e2fs ini robust, efisien, cepat dan relatif tidak banyak mengalami fragmentasi. Untuk memeriksa dan memperbaiki partisi e2fs, sebaiknya partisi tersebut di unmount dulu. Misal, untuk memberbaiki partisi /dev/hda3: # e2fsck -p /dev/hda3 badblocks Perintah ini untuk mencari bad block pada sebuah device. Memiliki beberapa option yang dapat dipilih sesuai keperluan. Hati-hati dengan option -w, ini adalah 'write-mode' test yang dapat menghapus data pada sebuah partisi. fsck Sama seperti e2fsck. Hati-hati juga dengan option -P. Lebih jelasnya baca man page. Bila filesystem root yang mengalami corrupted, menjalankan fsck dari floppy adalah langkah yang paling berhasil untuk dilakukan. dump dan restore Program dump digunakan untuk membackup filesystem. Sedangkan restore merupakan program pasangannya. Keduanya dapat bekerja melalui network. dumpe2fs Untuk menghasilkan informasi filesystem seperti inode count, block count, block size, last mount dan write time. Untuk partisi sebesar 450MB akan dihasilkan laporan sebesar 26.000 karakter. tune2fs Untuk mengatur parameter agar performa sistem meningkat. Hanya untuk filesystem ext2. Gunakan tune2fs pada saat e2fsck berjalan pada sebuah partisi dan jangan jalankan tune2fs bila sebuah partisi sedang di mount. mke2fs Sahabat para Linux Hacker! Untuk membuat second extended filesystem pada sebuah partisi. Berguna saat pembuatan compressed filesystem pada emergency disk atau pada saat instalasi hard disk baru. debugfs Debugger untuk ext2 filesystem. Memiliki 34 perintah built-in. # debugfs /dev/hda3 Sistem tidak bisa Boot Mudah saja bila punya emergency boot disk. Lakukan seperti ini: Boot Linux dari disket boot disk Pada prompt lilo boot:, ketik rescue; ini untuk meload kernel dari disket tadi Ikuti saja perintahnya sampai diminta memasukkan Supplemental Disk Proses pemuatan filesystem ditandai grafik batang; Prompt menandai proses loading sudah selesai. Program-program yang berguna untuk perbaikan ada di direktori sbin dan usr/bin. Sekarang tinggal di coba mendapatkan partisi dan sebisanya dapat di mount Bila partisi ada pada /dev/hda3 lakukan dengan # mount -t ext2 /dev/hda3 tmp untuk memount partisi di tmp, dan segera dapat diperbaiki. Bagaimana bila tidak memiliki boot disk? Mudah juga, coba dengan boot dari CD-ROM kemudian jalankan AUTOBOOT dari DOS. Untuk masalah-masalah lain seperti lupa apa password untuk root, lakukan boot dan ketikkan 'linux single' pada saat lilo boot. Perhatikan bahwa ini seharusnya hanya boleh dilakukan oleh root atau administrator sistem atau super user yang memiliki akses ke mesin server. Setelah masuk ke dalam mode single user, buat lagi password baru dengan perintah passwd. Bila sistem Anda hanya menampilkan 'Li' pada saat boot, kemungkinan besar terjadi ketidak-sesuaian parameter geometri hard disk(cylinder/head/sector) antara versi BIOS dan versi MBR. X Window System X Window GUI Linux tidak melulu text based dan tidak menarik bagi sebagian orang yang sudah lama di manjakan oleh GUI ala MS-Windows tapi Linux juga memiliki interface berbasis grafik yang sangat powerful dan dikenal dengan X Window System. Interface ini mendukung banyak aplikasi berbasis grafik dan sudah menjadi standar industri. Versi X Window untuk Linux adalah XFree86 dan pada cd distribusi RedHat 5.1 telah tersedia XFree86 versi 3.3.2. Untuk menjalankan X Window terpaksa harus ada penambahan memori dan spasi hard disk, jadi bagi user yang memiliki minimal hardware sebaiknya tidak perlu mencoba menginstalasi X Window. Instalasi XFree86 adalah satu bagian lagi yang sangat sulit, memakan waktu dan bisa membuat frustrasi. Segera cari tahu apakah kartu grafik sudah ada dalam daftar file HOWTO-Hardware, bila tidak ada maka ini akan menjadi pekerjaan yang sangat berat. Mempersiapkan Instalasi XFree86 Berikut ini file-file referensi di direktori /usr/X11R6/lib/X11/doc yang sebaiknya dibaca: README, README.Config, VideoModes.doc dan README.Linux serta manual page dari XF86Config, XFree86. File XF86Config biasanya terletak di direktori berikut ini: /usr/X11R6/lib/X11 - ini adalah lokasi standar untuk file contoh XF86Config /etc direktori home sebagai file XF86Config.eg di direktori /usr/X11R6/lib/X11 Server XFree86 tidak akan membaca file XF86Config dari lokasi /etc/X11 sehingga dari lokasi ini harus dibuat link yang menunjuk ke /usr/X11R6/lib/X11/XF86Config. Berikut ini persiapan untuk membuat file XF86Config yang benar: Server harus sesuai dengan sistem. Jalankan program SuperProbe. Program ini akan mengidentifikasi chipset yang dimiliki sistem. Catatan: SuperProbe mampu mendeteksi lebih banyak hardware daripada yang bisa di dukung XFree86. Lihat dokumentasi monitor mengenai range maksimum horisontal dan vertikal scan frekuensi serta bandwidth. Nama chipset kartu video. Dot clock serta programable dot clock generator bila ada. Jenis mouse serta protokol yang digunakan. Jenis device untuk koneksi mouse, misalnya serial atau bus. Keyboard map yang ingin digunakan. Hasil identifikasi yang dilakukan program SuperProbe dapat dilihat pada beberapa baris akhir: Xconfigurator RedHat 5.1 juga menyediakan program menu-driven yang mudah digunakan untuk menghasilkan file XF86Config. Program ini akan menuntun user memasukkan secara detail jenis kartu video, monitor serta mouse. Oleh karena itu persiapkan dulu dokumentasi hardware sebelum menjalankan program Xconfigurator. XF86Setup dan xf86config Adakalanya Xconfigurator tidak bisa berhasil baik pada kartu video dan monitor tertentu, untuk mengatasinya cobalah program XF86Setup atau xf86config untuk melakukan setup pada sistem Anda. Kedua program tersebut juga akan membuat file konfigurasi XF86Config. File XF86Config File XF86Config berisi konfigurasi parameter-parameter untuk menjalankan X Window. Selain dapat dibuat menggunakan Xconfigurator,file ini bisa juga di edit secara manual tetapi lakukan dengan hati-hati. Contekan file ada disini /usr/lib/X11/XF86Config.eg. Perhatian: Jangan menggunakan file XF86Config untuk konfigurasi sistem lain yang memiliki kartu grafik dan monitor yang berbeda. Kesalahan bisa berakibat fatal bagi monitor. Untuk monitor-monitor keluaran terbaru, kesalahan setting mungkin tidak akam menyebabkan kerusakan tapi tetaplah selalu berhati-hati dan  berpedoman pada buku manual yang disertakan bersama monitor. Untuk permulaan sebaiknya gunakan setting VGA Standar dan kemudian ditingkatkan setelah memahami tentang setting XF86. File ini terdiri dari beberapa seksi sesuai dengan konfigurasi hardware yang dimiliki, seperti seksi file, font path, keyboard, pointer (termasuk mouse), server flag, monitor (video mode), device dan screen. Masing-masing seksi tersebut menjelaskan konfigurasi hardware, lokasi file-nya, atau keduanya. Pemberian nama seksi seperti ini: Section "Nama_Seksi" < informasi mengenai seksi > EndSection File .xinitrc Untuk menggunakan X, diperlukan file startup yang fungsinya untuk memanggil window manager dan aplikasi-aplikasi lain yang ingin dijalankan setelah X di jalankan. File startup xinitrc dibutuhkan pada saat X dijalankan dengan perintah startx atau runx. Lokasi file xinitrc biasanya ada di direktori /usr/lib/X11/xinit/xinitrc tapi untuk standar filesystem Linux file ini diletakkan di /etc/X11/xinit/xinitrc. Bila isinya tidak sesuai dengan yang diharapkan, misalnya untuk menjalankan window manager yang lain, file xinitrc bisa di copy ke home direktori dan di edit menjadi file .xinitrc (jangan lupa tanda titik di muka). File .xinitrc harus berupa file readable dan executable. Jadi setelah di edit, file harus dirubah menggunakan chmod $ chmod u+rx .xinitrc Kalau tidak salah secara default isi file .xinitrc ini akan memanggil window manager fvwm atau twm, jika keduanya dipilih saat instalasi. Untuk memanggil window manager lain, seperti afterstep atau KDE dapat dilakukan dengan menghapus seluruh isi file .xinitrc dan menuliskan perintah 'afterstep' atau 'startkde'. xdm Bila diinginkan sistem menjalankan X sepanjang waktu maka X dapat di startup dengan menggunakan xdm. Pada umumnya sistem memiliki preconfigured xdm sehingga perlu mengedit beberapa konfigurasi file xdm. Pada sistem yang mengunakan init tanpa runlevel, lihat file /etc/rc dan /etc/rc.d/rc.local, dengan menghapus tanda komentar pada awal baris-baris yang memanggil xdm. Bila tidak ada baris-baris seperti itu, sistem tersebut kemungkinan tidak memiliki preconfigured xdm. Secara default xdm akan menjalankan file .xinitrc Bila Anda menghendaki Linux selalu start pada runlevel 3, cobalah merubah konfigurasi file /etc/inittab pada bagian initdefault: id:3:initdefault: Catatan: runlevel 5 pada RedHat menjalankan X11, pada distribusi lain mungkin bisa berbeda runlevelnya. Kemudian run xdm bisa Anda matikan dengan menghapusnya atau memberi tanda uncomment(#) didepannya: # x:5:respawn:/usr/bin/X11/xdm -nodaemon Bab 1 Pengenalan jaringan Network atau jaringan, dalam bidang komputer dapat diartikan sebagai dua atau lebih komputer yang dihubungkan sehingga dapat berhubungan dan dapat berkomunikasi, sehingga akan menimbulkan suatu effisiensi, sentralisasi dan optimasi kerja. Pada jaringan komputer yang dikomunikasikan adalah data, satu komputer dapat berhubungan dengan komputer lain dan saling berkomunikasi (salah satunya bertukar data ) tanpa harus membawa disket ke satu komputer ke komputer lainnya seperti yang biasa kita lakukan. Ada beberapa jenis jaringan komputer dilihat dari cara pemrosesan data dan pengaksesannya. Host-Terminal. Dimana terdapat sebuah atau lebih server yang dihubungkan dalam suatu dumb terminal. Karena Dumb Terminal hanyalah sebuah monitor yang dihubungkan dengan menggunakan kabel RS-232, maka pemrosesan data dilakukan di dalam server, oleh karena itu maka suatu server haruslah sebuah sistem komputer yang memiliki kemampuan pemrosesan data yang tinggi dan penyimpanan data yang sangat besar. Client -Server. Dimana sebuah server atau lebih yang dihubungkan dengan beberapa client. Server bertugas menyediakan layanan, bermacam-macam jenis layanan yang dapat diberikan oleh server, misalnya adalah pengaksesan berkas, peripheral,database, dan lain sebagainya. Sedangkan client adalah sebuah terminal yang menggunakan layanan tersebut. Perbedaannya dengan hubungan dumb terminal, sebuah terminal client melakukan pemrosesan data di terminalnya sendiri dan hal itu menyebabkan spesifikasi dari server tidaklah harus memiliki performansi yang tinggi, dan kapasitas penyimpanan data yang besar karena semua pemrosesan data yang merupakan permintaan dari client dilakukan di terminal client. Peer to Peer. Dimana terdapat beberapa terminal komputer yang dihubungkan dengan media kabel. Secara prinsip, hubungan peer to peer ini adalah bahwa setiap komputer dapat berfungsi sebagai server (penyedia layanan) dan client, keduanya dapat difungsikan dalam suatu waktu yang bersamaan. Sedangkan apabila kita lihat dari sisi lingkupannya atau jangkauannya, jaringan dapat di bagi menjadi beberapa jenis, yaitu : LAN (Local Area Network). Hanya terdapat satu atau dua server dan ruang lingkupnya hanya terdapat dalam satu lokasi atau gedung, Hal ini akan mendapat pembahasn tersendiri pada sub bahasan berikutnya. WAN (Wide Area Network). Merupakan gabungan dari LAN, yang ruang lingkupnya dapat saja satu lokasi, misalnya gedung bertingkat, atau dapat tersebar di beberapa lokasi di seluruh dunia, jaringan jenis ini membutuhkan minimal satu server untuk setiap LAN, dan membutuhkan minimal dua server yang mempunyai lokasi yang berbeda untuk membentuknya. Internet. Internet adalah sekumpulan jaringan yang berlokasi tersebar di seluruh dunia yang saling terhubung membentuk satu jaringan besar komputer. Dalam jaringan ini dibatasi layanannya sebagai berikut : FTP, E-Mail, Chat, Telnet, Conference, News Group, Mailing List. Biasanya jaringan ini menggunakan protoko; TCP/IP (Jenis protokol ini akan dibahas selanjutnya), walaupun ada sebagian kecil yang menggunakan jenis lain (IPX Novell Netware, NetBios, dan lain-lainnya) Intranet. Jenis jaringan ini merupakan gabungan dari LAN/WAN dengan Internet. Apabila kita lihat dari lingkupannya atau jangkauannya maka jaringan ini adalah jenis LAN/WAN yang memberikan layanan seperti layanan internet kepada terminal clientnya. Perbedaan menyolok Intranet dengan Internet adalah Intranet melayani satu organisasi tertentu saja. Dari jenis-jenis jaringan yang telah dijelaskan diatas, yang akan dijelaskan dalam pelatihan ini adalah jenis LAN (Local Area Network), karena LAN merupakan jaringan terkecil dan yang paling penting, karena jenis-jenis jaringan yang lain hanya merupakan pengembangan dari LAN saja. 1.1 Topologi jaringan Apabila dilihat dari jenis hubungannya, maka topologi jaringan dapat dibagi menjadi tiga, yaitu : Topologi cincin (ring topology) Topologi bus (bus topology) Topologi bintang (star topology) Berikut adalah ilustrasi dari ketiga topologi di atas : 1.1.1 Topologi cincin (ring topology) Topologi jenis cincin ini menghubungkan satu komputer di dalam suatu loop tertutup. Pada topologi jenis ini data atau message berjalan mengelilingi jaringan dengan satu arah pengiriman ke komputer selanjutnya terus hingga mencapai komputer yang dituju. Waktu yang di butuhkan untuk mencapai terminal tujuan disebut walk time (waktu transmisi). Gambar 1.1: Topologi jaringan tipe cincin Ada dua hal yang dilakukan oleh suatu terminal ketika menerima data dari komputer sebelumnya, yaitu : Memeriksa alamat yang dituju dari data tersebut dan menerimanya jika terminal ini merupakan tujuan data tersebut. 2. Terminal akan meneruskan data ke komputer selanjutnya dengan memberikan tanda negatif ke komputer pengirim. Apabila ada komputer yang tidak berfungsi maka hal tersebut tidak akan mengganggu jalannya jaringan, tapi apabila satu kabel putus akan mengakibatkan jaringan tidak berfungsi. 1.1.2 Topology bus (bus topology) Topologi jaringan jenis ini menggunakan sebuah kabel pusat yang merupakan media utama dari jaringan. Terminalterminal yang akan membangun jaringan dihubungkan dengan kabel utama yang merupakan inti dari jaringan. Data yang dikirimkan akan langsung menuju terminal yang dituju tanpa harus melewati terminal-terminal dalam jaringan, atau akan di routingkan ke head end controller. Tidak bekerjanya sebuah komputer tidak akan menghentikan kerja dari jaringan, jaringan akan tak bekerja apabila kabel utamanya dipotong atau putus. Gambar 1.2: Topologi jaringan tipe bus Jaringan ini merupakan jaringan yang banyak digunakan karena hanya dalam beberapa meter kabel dapat dihubungkan ke banyak terminal client. Jaringan ini biasanya menggunakan kabel coaxial sebagai media transmisinya. Kabel coaxial dilihat adri bentuk fisiknya mirip dengan kabel antena. Kabel ini mempunyai kapasitas bandwidth yang besar (2MB), sehingga apabila dihubungkan dengan banyak terminal akan terlayani dengan baik. 1.1.3 Topologi bintang (star topology) Jenis topologi jaringan ini menggunakan satu terminal sebagai terminal sentral yang mengubungkan ke semua terminal client. Terminal sentral ini yang mengarahkan setiap data yang dikirimkan ke komputer yang dituju. Jenis jaringan ini apabila ada salah satu terminal client tidak berfungsi atau media transmisi putus atau terganggu makan tidak akan mempengaruhi kerja dari jaringan, karena gangguan tersebut hanya mempengaruhi terminal yang bersangkutan. Gambar 1.3: Topologi star (bintang) Kelemahan dari jenis topologi jaringan ini adalah ketergantungan terhadap suatu terminal sentral. Hal tersebut merupakan suatu gangguan yang sangat berarti apabila terminal sentral tersebut mendapatkan gangguan, sehingga dicari suatu solusi yang dapat mengatasi masalah tersebut. Salah satu solusi yang banyak dilakukan adalah dengan menggunakan dua buah terminal sebagai server, sehingga apabila satu server dalam keadaan down dapat dialihkan ke server yang kedua dan begitu seterusnya. 1.2 TCP/IP (Transfer Control Protocol/Internet Protocol) TCP/IP terdiri dari lapisan-lapisan protokol. Untuk memudahkan dalam memahaminya maka akan diambil contoh pengiriman email. Dalam pengiriman email yang diperlukan adalah protokol untuk email. Protokol ini mendefinisikan perintah-perintah yang diperlukan dalam pengiriman email, dan protokol ini juga mengasumsikan bahwa adahubungan antara terminal yang mengirim dengan terminal yang dituju. Dalam hal ini perintah-perintah tersebut diatur oleh TCP dan IP. TCP mengatur masalah perintah-perintah pengiriman data, mengawasi jalannya data dan memastikan data tersebut sampai ke tujuannya, apabila ada bagian dari data yang tidak mencapai tujuan maka TCP akan mengirimkan ulang. Proses tersebut terus berlangsung sampai data yang dikirimkan sampai ke tujuannya. Apabila ada data yang sangat besar untuk dimuat dalam satu datagram maka TCP akan memecahnya menjadi beberapa datagram dan kemudian mengirimkan ke tujuan dan memastikan sampai dengan benar. TCP dapat dianggap sebagai suatu pembentuk kumpulan -kumpulan routine (perintah) yang dibutuhkan oleh aplikasi untuk dapat berhubungan dengan terminal lain dalam jaringan. Tidak semua perintah yang dibutuhkan oleh aplikasi terdapat dalam TCP/IP. IP adalah protokol yang memuat semua kebutuhan aplikasi dalam berhubungan antar terminal. Seperti telah disampaikan sebelumnya bahwa TCP bertanggungjawab di masalah pengiriman dan dalam memecah data menjadi bagian-bagian kecil, maka IP merupakan pembuka jalan hingga sampainya data ke terminal tujuan. Pelapisan-pelapisan protokol tersebut berguna untuk menjaga agar data dapat sampai dengan sempurna. Beberapa layanan dasar tapi merupakan layanan yang penting diberikan oleh TCP/IP adalah : File Transfer (FTP) Remote Login (menggunakan fasilitas TELNET) Mail elektronik Sebenarnya masih banyak lagi layanan yang dapat diberikan oleh TCP/IP, hanya tidak akan kita bahas sekarang. 1.3 LAN (Local Area Network) Local Area Network merupakan salah satu arsitektur jaringan yang paling sederhana dan dapat dikembangkan menjadi arsitektur jaringan yang lebih luas cakupannya. Luas cakupan LAN itu sendiri tidak melebihi dari satu area yang terdiri dari beberapa terminal yang saling dihubungkan sehingga menambahkan fungsi dari terminal itu sendiri Layananlayanan yang dapat diberikan LAN adalah penggunaan file bersama (file sharing) atau penggunaan printer bersama, (printer sharing). Biasanya LAN menggunakan satu server untuk melayani kebutuhan clientnya, tetapi tidak menutup kemungkinan untuk menggunakan >1 server, tergantung kebutuhan dari client itu sendiri. Biasanya yang menjadi pertimbangan adalah jenis layanan yang dibutuhkan dan performansi jaringan itu sendiri. Apabila jenis layanan yang dibutuhkan banyak (mail, web, ftp server), maka sebaiknya server yang digunakan lebih dari satu dan hal tersebut akan mempengaruhi kinerja jaringan yang menggunakan layanan-layanan terserbut. Penamaan terminal dalam suatu jaringan menggunakan apa yang disebut IP Address (Internet Protocol Address). Sedang penamaan penamaan server berdasarkan nama domainnya disebut DNS (Domain Name Server). Kedua cara penamaan ini merupakan cara penamaan yang biasa digunakan dalam jaringan. Hal-hal lebih lanjut akan kita bahas langsung pada pengaplikasian instalasi jaringan pada bahasan selanjutnya. 1.3.1 Penamaan alamat IP IP Address digunakan untuk mengidentifikasi interface jaringan pada host dari suatu mesin. IP Address adalah sekelompok bilangan biner 32 bit yang di bagi menjadi 4 bagian yang masing-masing bagian itu terdiri dari 8 bit (sering disebut IPV4). Untuk memudahkan kita dalam membaca dan mengingat suatu alamat IP, maka umumnya penamaan yang digunakan adalah berdasarkan bilangan desimal. Misal : 11000000.10101000.00001010.00000001 192 . 168 . 10 . 1 1.3.2 Pembagian kelas IP Alamat IP dibagi menjadi kelas-kelas yang masing-masing mempunyai kapasitas jumlah IP yang berbeda-beda. Pada Tabel 1.1 ditampilkan kelas-kelas pengalamatan IP. Pada tabel tersebut x adalah NetID dan y adalah HostID Gambar table Kelas Format Kisaran Jumlah IP A 0xxxxxxx.yyyyyyyy.yyyyyyyy.yyyyyyy 0.0.0.0 - 127.255.255.255 16.777.214 B 10xxxxxx.yyyyyyyy.yyyyyyyy.yyyyyyy 128.0.0.0 - 191.255.255.255 65.532 C 110xxxxx.yyyyyyyy.yyyyyyyy.yyyyyyy 192.0.0.0 - 223.255.255 254 Tabel 1.1: Pembagian kelas IP 1.3.3 Subnetting Subnetting adalah pembagian suatu kelompok alamat IP menjadi bagian-bagian yang lebih kecil lagi. Tujuan dalam melakukan subnetting ini adalah : Membagi suatu kelas jaringan menjadi bagian-bagian yang lebih kecil. Menempatkan suatu host, apakah berada dalam satu jaringan atau tidak. Keteraturan -Kelas A subnet : 11111111.0000000.00000000.00000000 (255.0.0.0) -KelasB subnet : 11111111.11111111.00000000.00000000(255.255.0.0) -KelasCsubnet11111111.11111111.11111111.00000000(255.255.255.0) Misal suatu jaringan dengan IP jaringan 192.168.10.0 ingin membagi menjadi 5 jaringan kecil (masing-masing 48 host), yang artinya harus dilakukan proses subnetting dalam jaringan tersebut. Langkah pertama yang harus kita lakukan adalah membagi IP jaringan tersebut (192.168.10.0 <-kelas C) menjadi blok-blok yang masing-masing blok minimal terdiri dari 48 host. Seperti kita telah ketahui bahwa tiap-tiap kelas C mempunyai 255 IP maka perhitungannya adalah sebagai berikut : 255/5 = 51 Masing-masing subnet mempunyai 49 alamat IP (masing-masing diambil 2 untuk IP broadcast dan IP network). Berikut adalah pengelompokan dari jaringan-jaringan tersebut : 192.168.10.0 -192.168.10.50 digunakan oleh jaringan 1 192.168.10.51 -192.168.10.101 digunakan oleh jaringan 2 192.168.10.102 -192.168.10.152 digunakan oleh jaringan 3 192.168.10.153 -192.168.10.203 digunakan oleh jaringan 4 192.168.10.204 -192.168.10.224 digunakan oleh jaringan 5 Subneting diperlukan agar host pada satu jaringan tidak dapat mengakses host pada jaringan lain secara langsung. Untuk pembagian 51 host : 51 = 00110011 (biner). Nilai 8 bit tertinggi dari subnetting kelas C adalah : 255 = 11111111 00110011 ------------- (negasi) 11001100 (8 bit terakhir dari subnet kelas C) = 204 maka IP subnetmask nya : 255.255.255.204 1.4 Instalasi perangkat jaringan Pertama-tama kita harus terlebih dahulu mengetahui jenis ethetnet card kita agar mempermudah kita dalam memilih modul apa yang akan digunakan. Misalnya jenis NE2000 compatible, dan juga harus kita ketahui pula variabelvariabel pendukungnya (io dan irq). Langkah-langkah yang harus dilakukan adalah : 1.4.1 Inisialisasi module #modprobe ne io=0x300 Bila kartu ethernet yang kita gunakan adalah jenis ne2000 dengan io=0x300 #modprobe ne2k-pci io=0x300 irq=5 Bila kartu ethernet yang kita gunakan adalah jenis ne2000 PCI dengan io=0x300 dan irq=5 1.4.2 Menentukan alamat IP ethernet card Misal kita tentukan IP Address Ethernet Card kita adalah 192.168.0.11 #/sbin/ifconfig eth0 192.168.0.11 1.4.3 Memeriksa konfigurasi ethernet card Kita jalankan lagi #/sbin/ifconfig -a Apabila keluar output seperti di bawah : eth0 Link encap:Ethernet HWaddr 00:00:1C:07:01:22 inet addr :192.168.0.11 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:869146 errors:0 dropped:0 overruns:0 frame:1104 TX packets:871799 errors:0 dropped:0 overruns:0 carrier:0 collisions:44040 txqueuelen:100 Interrupt:5 Base address:0x300 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:109480 errors:0 dropped:0 overruns:0 frame:0 TX packets:109480 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 Maka berarti ethernet card telah terkonfigurasi dengan baik. Sekarang test koneksi dengan terminal lain, untuk ini kita gunakan perintah ping #ping 192.168.0.12 Maka bila tidak ada masalah akan ditampilkan output seperti berikut ini : PING 192.168.0.12 (192.168.0.12) from 192.168.0.11 : 56(84) bytes of data. 64 bytes from venus.planet.tzo.com (192.168.0.12): icmp_seq=0 ttl=128 time=1.5 ms 64 bytes from venus.planet.tzo.com (192.168.0.12): icmp_seq=1 ttl=128 time=0.8 ms 64 bytes from venus.planet.tzo.com (192.168.0.12): icmp_seq=2 ttl=128 ime=0.8 ms 64 bytes from venus.planet.tzo.com (192.168.0.12): icmp_seq=3 ttl=128 time=0.8 ms 64 bytes from venus.planet.tzo.com (192.168.0.12): icmp_seq=4 ttl=128 time=0.8 ms ---192.168.0.12 ping statistics -- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max = 0.8/0.9/1.5 ms 1.5 Koneksi Internet Disini akan di bahas koneksi ke Internet secara dial up menggunakan PPP. Kita akan menggunakan wvdial untuk mempermudah dalam penggunaan pppd 1.5.1 Instalasi PPP & wvdial Pertama-tama install pppd terlebih dahulu, #rpm -ivh pppd-x.rpm Lalu install program pembantu, misalkan wvdial, #rpm -ivh wvdial-x.rpm 1.5.2 Konfigurasi client Konfigurasi wvdial menggunakan wvdialconf #wvdialconf /path/to/wvdial.conf Pertama-tama wvdialconf akan menanyakan di serial prot mana modem yang digunakan terpasang, berikut adalah daftar serial port yang biasa di pakai : /dev/ttyS0 atau COM 1 di DOS /dev/ttyS1 atau COM 2 di DOS dan seterusnya setelah kita tentukan maka program wvdialconf akan mengetes port serial. Selanjutnya akan di tanyakan nomor ISP yang akan di gunakan. Kemudian setelah itu wvdialconf akan meminta kita memasukkan login dan password account kita di ISP. Cara lain adalah dengan mengedit file wvdial.conf yang biasanya terletak di /etc. Berikut adalah isi dari wvdial.conf : #----file wvdial.conf begin : [Dialer Defaults] phone = 112233 username = username password = password New PPPD = yes Modem = /dev/ttyS0 Baud = 115200 Init = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0 Init1 = ATZ [Dialer ISP2] phone = 223344 username = username-isp2 password = pass-isp2 [Dialer ISP3] phone = 334455 username = username-isp3 password = pass-isp3 #---------------------EOF Biasanya untuk menginisialisasi modem untuk pertama kali kita menggunakan wvdialconf terlebih dahulu, kemudian untuk menambahkan account dari ISP lain dapat dilakukan dengan meng-edit file wvdial.conf 1.5.3 Menjalankan program wvdial Urut-urutan jalannya program adalah sebagai berikut, wvdial adalah program yang menggunakan fasilitas pppd untuk menghubungkan suatu host ke ISP, mungkin dapat dikatakan wvdial sebagai perantara proses jabat tangan (handshaking) antara dial in server ISP dengan ppp di mesin kita. Apabila telah terhubung dan username dan password nya cocok maka wvdial akan memanggil pppd, sehingga hubungan dapat terus di lakukan. Untuk menjalankannya dapat dilakukan sbb : #wvdial & Ini dilakukan untuk menghubungkan dengan nomor isp defaultnya atau #wvdial ISP2 & atau #wvdial ISP3 & Keterangan : tanda "&" digunakan untuk mengirimkan proses wvdial ke background, ISP1,2,?dst adalah variable yang diambil dari wvdial.conf 1.6 Pengenalan Ipchains Ipchains adalah tool administrasi yang digunakan untuk mengaktifkan dan mengawasi aturan-aturan tertentu yang diimplementasikan pada paket yang melewatinya. Ipchains biasanya dijalankan di komputer gateway. Aturanaturan ini dapat dikatagorikan kedalam 4 buah katagori umum yaitu : input output forward user defined Aturan firewall menentukan kriteria-kriteria untuk paket dan targetnya. Bila paket tidak memenuhi kriteria tersebut, aturan selanjutnya dalam ipchains dibandingkan. Kriteria yang dapat diterapkan pada paket antara lain : ACCEPT. Menerima paket DENY. Menolak paket tanpa memberi pesan atau return REJECT. Menolak paket namun memberi pesan penolakan MASQ. Membungkus paket seakan-akan paket berasal dari gateway REDIRECT. Membelokkan paket ke port tertentu RETURN. Sama dengan REDIRECT user defined. Buatan user sendiri Parameter untuk ipchains cukup banyak, anda dapat mempelajarinya sendiri dengan mengetikkan : # man ipchains atau # info ipchains Secara default ipchains dalam sistem Linux dapat kita lihat sebagai berikut : [root@digital /root]# ipchains -L Chain input (policy ACCEPT): Chain forward (policy ACCEPT): Chain output (policy ACCEPT): Keterangan : Chains : Aturan Policy : Kriteria -L : parameter untuk melihat aturan yang diterapkan Kasus : Warnet dengan network 192.168.0 akan di masquerade agar client dapat berhubungan dengan dunia Internet seakan-akan client-lah yang terkoneksi langsung ke Internet (bukan melalui server) Maka untuk menentukan rule ipchains : tentukan bahwa forwarding by default adalah di DENY [root@digital /root]# ipchains -P forward DENY [root@digital /root]# ipchains -L Chain input (policy ACCEPT): Chain forward (policy DENY): Chain output (policy ACCEPT): Kemudian tambahkan pada aturan forwardbahwa paket dengan -s (source) 192.168.0.0/24(192.168.0.0-255 netmask 255.255.255.0) adalah di MASQUERADE [root@digital /root]# ipchains -A forward -s 192.168.0.0/24 -j MASQ [root@digital /root]# ipchains -L Chain input (policy ACCEPT): Chain forward (policy DENY): target prot opt source destination ports MASQ all 192.168.0.0/24 anywhere n/a Chain output (policy ACCEPT): Kasus : Menolak semua paket berasal dari IP 192.168.0.6 ke port telnet Maka untuk menentukkan aturan ipchains, yang pertama kali dilakukan adalah membersihkan seluruh aturan : [root@digital /root]# ipchains -F Menolak paket dengan -p (protokol) tcp --destination-port 23 (target port telnet) dan -s (source) host 192.168.0.6 netmask 255.255.255.255 (32 bit). [root@digital /root]# ipchains -A input -p tcp --destination-port 23 s 192.168.0.6/32 -j DENY [root@digital /root]# ipchains -L Chain input (policy ACCEPT): target prot opt source destination ports DENY tcp ------digital.adhyaksa.net anywhere any -> telnet Chain forward (policy DENY): Chain output (policy ACCEPT): 1.7 Pengenalan superserver Inetd Inetd disebut super server karena didalamnya terdapat banyak daemon yang dijalankan. Konfigurasinya terdapat dalam file /etc/inetd.conf. Karakteristik daemon yang dijalankan melalui inetd adalah proses turunan akan muncul seiring dengan bertambahnya koneksi pada daemon tersebut. Konfigurasi biasanya dilakukan dengan mengedit file /etc/inetd.conf secara langsung, kemudian merestart inetd dengan cara mengirim sinyal HUP pada proses inetd, seperti contoh : Kasus : Non aktifkan daemon ftp dan telnet Cara melakukannya : daemon FTP dan Telnet dijalankan melalui super server inetd, maka hal yang perlu dilakukan adalah mengedit file /etc/inetd.conf dan memberi tanda # pada awal baris ftp dan telnet. Kemudian jalankan : [root@digital /root]# killall -HUP inetd Open Source Campus Agreement Bab 2 Server Samba 2.1 Pendahuluan SAMBA Samba merupakan implementasi dari protokol SMB (Server Message Block) pada sistem UNIX. Protokol ini digunakan oleh MS Windows NT untuk File dan Printing Sharing Service. Dengan mengaktifkan samba pada mesin Linux kita maka kita dapat berbagi file dan printer dengan Windows 95/98 atau Windows NT. Dengan kata lain, dengan menjalankan Samba, maka suatu server Linux dapat tampak seperti suatu Windows NT Server bagi mesin Windows lainnya. Pada Linux kita dapat me-mounting direktori yang di-share pada Windows juga dapat mengakses secara langsung pada direktori tersebut. Sedangkan pada Windows, kita dapat melihat direktori yang di-share berupa icon yang terdapat dalam Network Neighborhood. 2.2 Instalasi Samba Pada RedHat 6.2 paket samba telah diikutsertakan dalam bentuk file-file rpm sebanyak 3 buah, antara lain : samba-common-2.0.6-9.i386.rpm samba-2.0.6-9.i386.rpm samba-client-2.0.6-9.i386.rpm Install ketiga paket diatas menggunakan perintah rpm : # rpm -ivh samba-common-2.0.6-9.i386.rpm # rpm -ivh samba-2.0.6-9.i386.rpm # rpm -ivh samba-client-2.0.6-9.i386.rpm File-file yang ter-install yang sering digunakan untuk mengkonfigurasi dan menjalankan samba antara lain : /usr/bin/smbd. Merupakan daemon yang menyediakan File and Printing Sharing Service di sistem UNIX untuk SMB Client seperti Windows 95/98 atau Windows NT. Untuk menjalankan daemon ini : # /usr/bin/smbd -D /usr/bin/nmbd. Merupakan daemon yang menyediakan penamaan NetBIOS dan kemampuan browsing bagi SMB Client. Untuk menjalankan daemon ini : # /usr/bin/nmbd -D /usr/bin/smbclient. Untuk mengakses direktori yang di-share di Windows dengan model FTP. Untuk menggunakannya : # /usr/bin/smbclient Contoh : [root@namec samba-2.0.6]# /usr/bin/smbclient //Planet-3/pic added interface ip=192.168.0.1 bcast=192.168.0.255 nmask=255.255.255.0 Got a positive name query response from 192.168.0.13 ( 192.168.0.13 ) Password: smb: \> /usr/bin/smbmount. Untuk mounting direktori yang di-share di Windows sehingga dapat dibaca layaknya CDROM yang di mount pada /mnt/cdrom. Untuk menggunakannya : # /usr/bin/smbmount Contoh : [root@namec samba-2.0.6]# /usr/bin/smbmount //Planet-3/oky /mnt/share Password: [root@namec samba-2.0.6]# cd /mnt/share [root@namec share]# ls /usr/bin/smbumount. Untuk unmounting setelah selesai bekerja dengan direktori yang di-mount. Untuk menggunakannya : # /usr/bin/smbumount. Contoh : [root@namec /]# /usr/bin/smbumount /mnt/share [root@namec /]# cd /mnt/share [root@namec share]# ls /usr/bin/smbstatus. Melaporkan status koneksi samba. Pada contoh dibawah ini, user anton sedang terhubung dengan Home Directory anton. Contoh : [root@namec /]# /usr/bin/smbstatus Samba version 2.0.6 Service uid gid pid machine -------------------------------------------------- anton anton 1004 15514 planet-3 (192.168.0.13) Fri Sep 6 10:150 No locked files Share mode memory usage (bytes): 1048464(99%) free + 56(0%) used + 56(0%) overhead = 1048576(100%) total /usr/bin/smbadduser. Menambahkan user ke file user samba (/etc/smbusers) dan file password samba (/etc/smbpasswd). Contoh : [root@namec /]# /usr/bin/smbadduser pelatihan:training Adding: pelatihan to /etc/smbpasswd Adding: {pelatihan = training} to /etc/smbusers ------------------------------------------------------------------- ENTER password for pelatihan New SMB password: Retype new SMB password: Password changed for user pelatihan. /usr/bin/smbpasswd. Merubah password user. Contoh : [root@namec /etc]# /usr/bin/smbpasswd pelatihan New SMB password: Retype new SMB password: Password changed for user pelatihan. /usr/bin/mksmbpasswd.sh. Shell script untuk menambahkan user pada /etc/passwd milik sistem Linux ke /etc/smbpasswd milik samba. Cara menggunakannya : # cat /etc/passwd | mksmbpasswd.sh > /etc/smbpasswd /usr/doc/samba-2.0.6/. Berisi seluruh dokumentasi samba contoh-contoh konfigurasi samba. /etc/smb.conf. Merupakan file konfigurasi samba. /etc/smbpasswd. Merupakan password file yang akan digunakan samba untuk proses otentikasi. /etc/smbusers. Berisi pemetaan user Linux dengan user Windows yang akan digunakan samba untuk proses otentikasi. Masih ada lagi file-file yang lain yang diikutsertakan dalam paket samba ini, namun tidak sering digunakan. Anda dapat mempelajarinya sendiri dengan membaca petunjuk manual pada : # man samba # info samba Juga pada direktori /usr/doc/samba-2.0.6. 2.3 Konfigurasi Samba Saat daemon-daemon samba dihidupkan, daemon-daemon tersebut akan membaca file /etc/smb.conf untuk mendapatkan berbagai informasi yang diperlukan untuk menghubungkan jaringan Windows dengan UNIX. Informasi tersebut antara lain, nama workgroup, password file, direktori yang di-share, hak akses. Berikut ini konfigurasi samba standar pada /etc/smb.conf : [global] # workgroup = NT-Domain-Name atau Workgroup-Name workgroup = PLANET # server string = NT Description atau deskripsi server samba server string = Samba Server # hanya mengizinkan network 192.168.0 dan network 127 untuk # mengakses server samba hosts allow = 192.168.0. 127. # samba menggunakan file log berbeda untuk tiap mesin yang connect log file = /var/log/samba/log.%m # besar file log maksimum maksimum max log size = 50 # security level, user level atau share level # User level mengakibatkan proses otentikasi dilakukan 1 kali # direktori yang di share diakses berdasarkan priviledge user. # Share level mengakibatkan proses otentikasi berulang-ulang # direktori yang di share menentukan sendiri permission-nya security = user # enkripsikan password bila terkoneksi dengan WIN9x/NT encrypt passwords = yes # file password yang digunakan untuk proses otentikasi Open Source Campus Agreement smb passwd file = /etc/smbpasswd # sinkronisasikan perubahan UNIX password dengan SAMBA password unix password sync = Yes # bagian ini dibiarkan default socketoptions=TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 # ==== Share Definitions ==== [homes] comment = Home Directories browseable = no writable = yes [doc] comment = Linux Documentation path = /usr/doc public = yes writable = yes printable = no [source] comment = Linux Source path = /home/ftp/pub public = yes [upload] comment = Upload file path = /home/ftp/upload public = no writable = yes browseable = yes readonly = no Keterangan singkat : Comment : merupakan deskripsi lebih lengkap dari sebuah share Path : menentukan direktori lokal yang di-share Public : bila ’yes’ berlaku seperti anonymous pada FTP Bab 3 Server FTP 3.1 Instalasi server FTP FTP Server di aktifkan dengan mengeksekusi program ftp daemon yang kemudian akan siap di background dan mendengarkan (listen) di port 21 (default) untuk siap menerima request. Yang biasa digunakan adalah wu-ftpd yang di kembangkan oleh Washington University. Seperti biasa :) #rpm -ivh wu-ftpd-x.rpm 3.2 Konfigurasi server FTP File-file konfigurasi untuk Wu-Ftpd terdapat di /etc sebagai berikut : services inetd.conf ftpaccess ftphosts ftpusers FTP Server ini dijalankan oleh internet super server yang disebut inetd, suatu file yang akan menentukan cara penanganan port tertentu oleh program daemon /etc/services Isi dari file services di /etc digunakan untuk mendefinisian port-port yang tersedia dan dapat di gunakan. ftp-data 20/tcp ftp 21/tcp Dua baris diatas yang mendefinisikan kepada inetd bahwa data dan command di ftp server menggunakan port tersebut. /etc/inetd.conf Baris yang menjalankan perintah inisialisasi ftp daemon adalah : ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a Keterangan dari baris diatas adalah : ftp menerangkan nama service stream menerangkan jenis soket yang digunakan tcp menerangkan jenis protokol yang digunakan nowait atau wait root pengguna yang menjalankan daemon tersebut, hal ini akan berkaitan dengan hak pengguna tersebut. Biasanya dituliskan dalam format user[.group] /usr/sbin/tcpd program daemon server yang dijalankan in.ftpd -l -a argumen yang diberikan pada program server /etc/ftpaccess Hal-hal yang penting dalam konfigurasi akses ftp server adalah class, deny, limit, noretrieve, loginfails, private, autogroup, dan guestgroup. Masing-masing fungsi akan dijelaskan kemudian. class Syntax : class <classname> typelist addrglobal Keterangan : classname : adalah nama sebutan untuk sebuah class typelist : daftar jenis user yang terdiri dari real, guest, anonymous addrglobal : dapat berupa ip address ataupun host.domain.name dapat menggunakan wildcard "*". Misal : class all real,guest,anonymous * yang berarti ftp server menerima setiap request dari real user, guest, dan anonymous dan dari mesin mana saja deny Sintaksnya adalah : deny addrglobal message_file Misal : deny *.planet.tzo.com /etc/nggak-boleh-masuk.txt Yang berarti ftp server menolak koneksi yang berasal dari semua host di bawah domain planet.tzo.com. limit Sintaks : limit <classname> n times message_file Keterangan : n : adalah jumlah user yang diperbolehkan akses ke ftp server secara simultan times : Jarak waktu yang di tetapkan biasanya dalam hitungan hari Misal : class lokal real * limit lokal 100 0700-1300 /etc/kebanyakan.txt Yang berarti real user yang di perbolehkan mengakses ftp server adalah sejumlah 100 orang dari jam 7 AM-1 PM. Dan bila pengakses tersebut gagal melakukan login maka ditampilkan pesan pada file /etc/kebanyakan.txt loginfails syntax : loginfails number Fungsinya adalah untuk menentukan berapa kali seorang user boleh salah memasukkan login dan password sebelum disconnect. Misal : loginfails 3 Artinya user diberikan mencoba 3 kali memasukkan password sebelum akhirnya koneksi diputuskan bila password tidak tepat. /etc/ftphosts File ftphosts digunakan untuk akses kontrol dari ftp server. syntax : allow <username> <addrglobal> deny <username> <addrglobal> /etc/ftpusers File ini berisi daftar user yang tidak boleh akses ke ftp server Open Source Campus Agreement Bab 4 Server DNS Server DNS bertugas menerjemahkan IP ke nama alamat dan sebaliknya dari nama alamat ke nomor IP. Beberapa cara untuk menerjemahkan alamat Internet antara lain : Dengan membaca file lokal /etc/hosts Dengan memanfaatkan pelayanan DNS Server Dengan memanfaatkan pelayanan NIS (Network Information System) Server File /etc/hosts ini berisi daftar penerjemahan nama mesin ke alamat IP mesin yang bisa digunakan juga untuk melakukan penerjemahan slsmst IP ke nama. Dengan memiliki file ini, mesin Linux dapat menggunakan nama yang lebih mudah diingat untuk memanggil atau mengakses mesin lain dalam jaringan, daripada harus menggunakan nomor IP. File ini amat sederhana isinya seperti dalam contoh berikut : [root@digital modul]# cat /etc/hosts 192.168.0.6 digital.adhyaksa.net digital 127.0.0.1 localhost.localdomain localhost Keterangan : Kolom 1 adalah nomor IP Kolom 2 adalah FQDN (Fully Qualified Domain Name) Kolom 3 adalah nama host File /etc/hosts diatas menunjukkan bahwa nama digital.adhyaksa.net dan digital dipetakan ke nomor IP 192.168.0.6, nama localhost.localdomaindan localhostdipetakan ke nomor IP 127.0.0.1. Kelemahan menggunakan file /etc/hosts : Semua mesin atau host dalam jaringan harus memiliki file /etc/hosts yang identik isinya Setiap kali ada perubahan nama host atau nomor IP, maka seluruh file di tiap host harus di-update isinya Sangat tidak praktis untuk jaringan dengan host banyak 4.1 Pendahuluan DNS Menggunakan DNS tidak seperti menggunakan file /etc/hosts. DNS bersifat client-server sehingga administrasi cukup dilakukan di sisi server saja, sedangkan pada client cukup dikonfigurasi 1 kali yaitu memberi cara agar mesin client dapat menghubungi DNS server. Dalam jaringan Internet, DNS server di seluruh dunia saling bekerja sama dalam rangka menerjemahkan alamat Internet. Network yang lebih besar memiliki DNS server yang menjadi sumber data bagi DNS server pada network dibawahnya. Kerjasama yang dijalin ini dapat digambarkan pada contoh kasus berikut : Kasus : Proses penampilan gambar atau isi sebuah situs pada browser Netscape yang digunakan seorang pengguna Linux dengan akses dial-up ke sebuah ISP di Indonesia misalnya comnet.net.id. Saat itu DNS client mengarah pada DNS server dengan IP 202.150.128.64 dan IP 202.150.128.65. Perjalanan yang ditempuh untuk menerjemahkan IP secara umum dapat dijelaskan seperti berikut : Browser diarahkan ke situs http://mail.ngoprek.org DNS client menghubungi DNS server agar mendapatkan IP domain mail.ngoprek.org DNS server mencari data mengenai mail.ngoprek.org dengan cara menghubungi DNS server tertinggi yaitu . (dot) atau root server DNS root server menghubungi DNS server org DNS server org menghubungi DNS server ngoprek.org DNS server ngoprek.org mengenali subdomain mail.ngoprek.org dan berhasil menerjemahkanmail.ngoprek.org ke IP 202.135.0.9 IP tersebut dikirimkan kembali ke DNS client kemudian diberikan ke browser Browser mengarahkan langsung langsung ke IP 202.135.0.9 untuk menghubungi web server pada IP tersebut DNS server terdiri dari 2 jenis server, yaitu : Primary Name Server (PNS) adalah DNS server yang bertanggung jawab atas resolusi domain dan subdomain yang dikelolanya Secondary Name Server (SNS) adalah DNS server yang secara hirarki setara dengan PNS namun data-data domain dan subdomain diperoleh dengan cara menyalin dari PNS 4.2 Instalasi BIND 8.2.2 Program DNS yang digunakan oleh Linux RedHat 6.2 adalah BIND 8.2.2 yang terdiri dari file-file rpm sebagai berikut : bind-8.2.2_P5-9.i386.rpm bind-utils-8.2.2_P5-9.i386.rpm bind-devel-8.2.2_P5-9.i386.rpm caching-nameserver-6.2-2.noarch.rpm Gunakan rpm -ivh untuk menginstal bind pada mesin server Linux. 4.3 Client DNS Client DNS bertugas untuk menentukan server DNS yang digunakan untuk menerjemahkan alamat Internet yang perlu dihubungi oleh program dalam mesin client. Dalam sistem Linux, DNS client merupakan file biasa seperti /etc/hosts bernama /etc/resolv.conf, namun dengan isi berbeda seperti contoh berikut : [root@digital /root]# ls -l /etc/resolv.conf -rw-r--r--1 root root 66 Dec 3 10:23 /etc/resolv.conf [root@digital /root]# cat /etc/resolv.conf search adhyaksa.net nameserver 192.168.0.4 nameserver 192.168.0.1 Pada contoh diatas DNS yang dihubungi adalah IP 192.168.0.4dan SNS yang dihubungi adalah IP 192.168.0.1. Tag search berisi sebuah nama yang digunakan sebagai default domain bila resolusi sebuah nama gagal. 4.4 Server DNS DNS membaca data-data resolusi pada sekumpulan file konfigurasi yang terdapat pada komputer lokal. File-file tersebut antara lain : /etc/named.conf Berisi konfigurasi DNS server BIND 8.x.x. [root@digital /root]# cat /etc/named.conf // generated by named-bootconf.pl options { directory "/var/named"; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ // query-source address * port 53; }; // // a caching only nameserver config // zone "." { type hint; file "named.ca"; }; zone "0.0.127.in-addr.arpa" { type master; file "named.local"; }; Format /etc/named.conf terdiri dari 2 bracket dasar yaitu : Blok Options Berisi kompulan opsi-opsi global untuk bind 8.x.x, gunakan man named.conf untuk mendapatkan informasi lebih detil mengenai opsi-opsi yang tersedia. Blok Zone Berisi tag-tag yang digunakan untuk menentukan tipe server untuk 1 domain atau subdomain tertentu dan file zona yang berisi konfigurasi 1 domain atau subdomain tertentu. Bila kita bertujuan membuat zona file untuk pemetaan NAME-TO-IP gunakan nama domain sebagai nama zona. Bila kita bertujuan membuat zona file untuk pemetaan IP-TO-NAME gunakan nama domain dengan format sebagai berikut : IP-TO-NAME untuk network 192.168.0, nama zona file ditulis 0.168.192.in-addr.arpa IP-TO-NAME untuk network 202.150.128, nama zona file ditulis 128.150.202.in-addr.arpa /var/named/* Direktori /var/named berisi file-file zona yang namanya bersesuaian dengan tag file pada bracket zone dalam /etc/named.conf [root@digital /root]# ls -l /var/named total 4 -rw-r--r--1 root root 2769 Feb 4 2000 named.ca -rw-r--r--1 root root 422 Feb 4 2000 named.local [root@digital /root]# cat /var/named/named.local @ IN SOA localhost. root.localhost. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS localhost. 1 IN PTR localhost. [root@digital /root]# cat /var/named/named.ca ; 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 ; 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 ; ; ast update: Aug 22, 1997 ; elated 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 ; . 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 ; . 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. 600000 A 193.0.14.129 ; ; temporarily housed at ISI (IANA) ; . 3600000 NS L.ROOT-SERVERS.NET. L.ROOT-SERVERS.NET. 600000 A 98.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 Sedangkan SNS membaca data copy dari PNS melalui sebuah mekanisme transfer data melalui protokol DNS. Data yang dicopy disimpan dalam bentuk file zona yang diletakkan di direktori /var/named pada mesin SNS. Format file zona terdiri dari kumpulan record yang berisikan keterangan yang detil tentang sebuah domain atau subdomain. Record-record tersebut antara lain : SOA Start Of Authority mengawali file zona, berisi data-data waktu sebuah domain atau subdomain. Lebih jelasnya seperti berikut : @ IN SOA localhost. root.localhost. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum Keterangan : Table dab NS. menyatakan Name Server yang berlaku. @ IN NS localhost. menyatakan Address Internet atau alamat IP dari mesin yang ditangani oleh DNS ini proses penerjemahan namanya. @ IN A 192.168.0.1 digital IN A 192.168.0.4 CNAME, menyatakan nama Alias (Canonical Name). Contoh berikut ini menyatakan bahwa mail adalah nama alias dari digital mail IN CNAME digital. PTR, menyatakan pointer, yaitu reversed-address. Contoh berikut ini menmyatakan bahwa IP 192.168.0.4 dipetakan ke nama domian atau subdomain digital digital IN A 192.168.0.4 .0.168.192.in-addr.arpa. IN PTR digital. MX, menyatakan Mail Exchanger, digunakan untuk menunjuk mail server yang menangani email domain atau ubdomain ini. Contoh berikut ini menentukankan bahwa email untuk digital.adhyaksa.net akan diterima oleh mail server dengan prioritas lebih tinggi (super.adhyaksa.net). Angka yang lebih kecil merupakan prioritas yang lebih tinggi. Angka yang dimaksud adalah kolom ke-3 pada MX. Mail server pada prioritas selanjutnya akan dihubungi apabila mail server sebelumnya down atau crash. digital IN MX 0 super.adhyaksa.net. IN MX 10 drutz.adhyaksa.net. HINFO, memberikan keterangan tentang perangkat keras yang digunakan server digital IN HINFO "Intel PIII 550 -Linux Redhat 6.2" TXT. menyatakan infomasi umum digital IN TXT "Server location : Sukapura -Bandung" Kasus : Konfigurasikan sebuah host menjadi PNS dengan nama domain adhyaksa.net mempunyai range IP 192.168.0.1 -192.168.0.15. Penentuan IP untuk host-host tertentu, misalnya Untuk IP yang lainnya disimpan untuk keperluan mendatang.: ns1.adhyaksa.net -> IP 192.168.0.1 ns2.adhyaksa.net -> IP 192.168.0.2 www.adhyaksa.net -> IP 192.168.0.3 mail.adhyaksa.net -> IP 192.168.0.3 ftp.adhyaksa.net -> IP 192.168.0.3 mp3.adhyaksa.net -> IP 192.168.0.9 vhost.adhyaksa.net -> IP 192.168.0.13 Membuat /etc/named.conf options { directory "/var/named"; }; zone "." { type hint; file "named.ca"; }; zone "adhyaksa.net" { type master; file "db.adhyaksa.net"; }; zone "0.168.192.in-addr.arpa" { type master; file "db.192.168.0"; }; Membuat file zona untuk domain adhyaksa.net diberi nama db.adhyaksa.net @ IN SOA ns1.adhyaksa.net. admin.adhyaksa.net. ( 200022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum @ IN NS ns1.adhyaksa.net. @ IN NS ns2.adhyaksa.net. IN MX 10 mail.adhyaksa.net. ns1 IN A 192.168.0.1 ns2 IN A 192.168.0.2 www IN A 192.168.0.3 mail IN A 192.168.0.3 mp3 IN A 192.168.0.9 vhost IN A 192.168.0.13 ftp IN CNAME 192.168.0.3 Membuat file zona reverse-lookup untuk network 192.168.0 diberi nama db.192.168.0 @ IN SOA ns1.adhyaksa.net. root.localhost. ( 200022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns1.adhyaksa.net. IN NS ns2.adhyaksa.net. 1 IN PTR ns1.adhyaksa.net. 2 IN PTR ns2.adhyaksa.net. 13 IN PTR vhost.adhyaksa.net. Tes hasil konfigurasi dngan cara mengaktifkan bind dengan perintah berikut : [root@digital /root]# /etc/rc.d/init.d/named start Lakukan pemeriksaan pada /var/log/messages [root@digital /root]# cat /var/log/messages Cek dengan tool nslookup dan dig Bab 5 Server Web 5.1 Instalasi server Web Paket program web server dapat kita ambil dari CD instalasi yaitu menggunakan Apache Web Server, yaitu Apache versi 1.3.12. Paket Apache WebServer dapat diinstal dengan menggunakan perintah sebagai berikut : #rpm -ivh apache-1.3.12.rpm Ketika instalasi selesai maka file-file yang perlu di perhatikan adalah: httpd.conf access.conf srm.conf masing-masing file diatas akan dibahas kemudian. 5.2 Konfigurasi Apache File httpd.conf Berikut adalah isi dari file httpd.conf : ServerType. Konfigurasi yang menerangkan server, apakah dijalankan melalui inetdatau dijalankan secara berdiri sendiri. Bila secara berdiri sendrii, maka server akan dijalankan secara manual. ServerRoot. Suatu path directory tempat disimpannya file konfigurasi, file error. PidFile. File yang menyimpan nomor proses dari apache yang dijalankan. ResourceConfig dan AccessConfig. Isi dari file tersebut adalah konfigurasi untuk directory sumber (access.conf) dan konfigurasi izin akses (srm.conf). Kedua file tersebut adalah bersifat tambahan (optional) , karena keduanya dapat diletakkan di httpd.conf, ataupun dapat diletakkan di masing-masing file (access.conf dan srm.conf) Timeout. Batas waktu yang digunakan untuk suatu menganggap suatu koneksi terputus, yaitu ketika tidak ada respon dari client. KeepAlive. Kemampuan server menerima request secara simultan yang berasal dari satu koneksi. MaxKeepAliveRequests. Jumlah request maksimum yang diterima server secara simultan. KeepAliveTimeout. Waktu yang ditentukan untuk menunggu request selanjutnya dari satu koneksi. MinSpareServers dan MaxSpareServers. Jumlah server yang dibutuhkan untuk melayani setiap request yang masuk.(biasa digunakan untuk situs web yang sangat sibuk) StartServers. Jumlah server yang dijalankan oleh apache untuk inisialisasi ketika apache pertama kali di eksekusi. MaxClients. Jumlah koneksi yang diizinkan secara simultan di server. MaxRequestsPerChild. Jumlah request yang akan dilayani oleh child server sebelum child server tersebut dimatikan. BindAddress-Server akan otomatis menerjemahkan setiap alamat semua alamat ip yang ada di server Port. Port yang akan di "dengarkan" oleh apache web server. User dan Group. User dan group yang menjalankan apache web server. ServerAdmin. Alamat email dari administrator web server. ServerName. Nama server yang disesuaikan dengan FQDN (Full Qualified Domain Name), berfungsi sebagai nama dari web server kita. ErrorLog. Direktori dan nama file dimana kita menempatkan error log dari apache. LogLevel. Jenis pesan-pesan log yang akan dicatat oleh web server. Ada beberapa kategori yang akan dicatat ke dalam log file, yaitu emerg (emergency), alert, crit (critical), errors, warn, debug. LogFormat. Bagian ini menenetukan format log file dan juga memberikan "nickname" untuk format tersebut. Bagian ini telah diberikan secara default oleh apache, dan sebaiknya tidak usah dirubah (kecuali anda secara pasti tahu apa yang anda lakukan :) ) CustomLog. Log yang di konfigurasikan untuk mencatat setiap access request dari client. Juga digunakan untuk mencatat secara default konfigurasi virtualhost (lihat virtualhost) ServerSignature. Web Server Signature yang biasa muncul ketika file yang dicari tidak ditemukan dan pada saat ftp. (on,off dan email) UseCanonicalName. Bagian ini mengkonfigurasikan server apache agar membuat referensi sendiri menggunakan ServerName dan Port sesuai yang ada di httpd.conf, apabila diset off, maka server akan merespons sesuai dengan request dari client. HostnameLookups. Perintah ini akan melog alamat IP dari setiap client yang mengakses server kita. Direkomendasikan bagian ini di set off untuk site2 yang sangat sibuk, karena akan dapat membuat log file menjadi besar. File srm.conf File srm.conf juga digunakan untuk mengatur masalah yang berhubungan dengan directory, DocumentRoot, UserDir, DirectoryIndex , MIME (Multi purpose Internet Mail Extension), ScriptAlias, CGI-Script dan definisidefinisi dari extension lainnya, misal PHP, Perl dan lain-lain. Isi dari srm.conf adalah : DocumenRoot. Path dari direktori yang berisi file-file dokumen utama dari situs kita. UserDir. Direktori untuk user yang biasanya terletak di home directory dari user tersebut. URL yang digunakan untuk mengakses adalah http://server.kita.com/˜user <– menggunakan tanda ˜. DirectoryIndex. File yang pertama kali akan diakses oleh client ketika client akan mengakses web server kita. FancyIndexing. Suatu cara menampilkan isi dari suatu directory di server. Menggunakan fancy style atau tidak. Setelah konfigurasi ini biasanya diikuti dengan mendefinisikan path cari icon-icon yang akan digunakan untuk indexing. AccessFileName. Mendefinisikan akses file yang akan digunakan untuk memproteksi suatu direktori. Biasanya dinamakan .httaccess (tanda . Berarti file tersebut di hidden dan untuk kepentingan sekuritas, nama file httaccess diganti) Alias. Directory alias yang biasa digunakan untuk beberapa direktori khusus, misalkan cgi-bin. DefaultType. Default type dari setiap dokumen yang ada di webserver kita. File access.conf File ini digunakan untuk mengatur hak pengaksesan di Web Server atau lebih sering disebut ACF (Access Control File). Contoh : <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory "/usr/local/apache/htdocs"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory> ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/" <Directory "/usr/local/apache/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> Option-option yang umum digunakan untuk hak akses direktori adalah : Indexes : Perizinkan setiap indexing dari suatu direktori, seperti AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, dan ReadmeName Limit : Perizinan untuk mengakses suatu path disesuaikan dengan hostnamenya, seperti allow, deny dan order. Option : Perizinan untuk menggunakan option-option yang ada dalam masing-masing direktori. Contohnya Option dan XbitHack. Perhatian : Apabila pada httpd.conf baris dibawah di berikan comment (#) berarti semua konfigurasi dari srm.conf dan access.conf diletakkan di file httpd.conf. #ResourceConfig conf/srm.conf #AccessConfig conf/access.conf 5.3 VirtualHost VirtualHost merupakan salah satu fasilitas yang didukung oleh Apache. Fungsi dari Vhost ini adalah untuk membuat multiple host dalam satu mesin. Ada dua cara dalam mengkonfigurasi VirtualHost, atau dengan cara IP-base, yaitu menggunakan banyak ip dalam satu mesin dan masing-masing ip digunakan untuk satu domain, Contoh dari IP-Based VirtualHost : <VirtualHost 192.168.0.50> DocumentRoot /path/to/document ServerName test.vhost1.com </VirtualHost> Name-based. menggunakan satu IP yang kemudian digunakan untuk banyak nama domain. Contoh dari Name-Based VirtualHost : NameVirtualHost 192.168.0.50 <VirtualHost 192.168.0.50> DocumentRoot /path/to/document1 ServerName test.vhost1.com </VirtualHost> <VirtualHost 192.168.0.50> DocumentRoot /path/to/document2 ServerName test.vhost2.com </VirtualHost> 5.4 Konfigurasi modul-modul Apache Modul-modul pada Apache adalah interface dimana modul-modul tersebut menentukan fitur-fitur apa saja yang akan dijalankan pada Apache Web Server. Untuk melihat modul-modul yang aktif adalah dengan menggunakan perintah : #/usr/local/apache/bin/httpd -l Untuk meload modul-modul di apache ada dua cara : Static Module DSO (Dynamic Shared Object) Apabila kita menginstal Apache mengunakan format rpm maka secara default cara loading modul secara default secara DSO. Untuk me-load modul secara DSO adalah kita tambahkan pada httpd.conf baris sebagai berikut (misalkan kita akan meload podul php4 dengan menggunakan DSO) : LoadModule php4_module libexec/libphp4.so AddModule mod_php4.c Contoh lengkap httpd.conf dapat dilihat pada lampiran 5.5 Menjalankan server Web Untuk menjalankan Apache yang perlu kita lakukan adalah : #apachectl start Apabila kita mengadakan perubahan file-file konfigurasi maka apache harus di-restart terlebih dahulu agar perubahan yang kita lakukan dapat memberikan pengaruh. #apachectl restart Untuk lebih lengkap melihat pilihan-pilihan dari apachectl #apachectl --help File httpd yang di hasilkan dari proses instalasi adalah program daemon yang membuka port 80 (default) untuk LISTEN (mendengar) setiap request untuk web. Untuk dapat memanggil web server adalah sebagai berikut : http://namec <-- jika nama web server kita adalah namec Apabila kita menggunakan port yang tidak dari biasanya (misalkan 8000) maka pemanggilannya sebagai berikut : http://namec:8000 Atau pemanggilannya dapat menggunakan IP Address dari mesin yang bersangkutan, misal : http://192.168.0.1 <--- jika IP Address webserver kita 192.168.0.1 Bab 6 Mail server 6.1 Pengenalan server mail Mail server adalah program daemon yang bekerja menampung dan mendistribusikan email dalam jaringan. Protokol yang umum digunakannya antara lain adalah protokol SMTP, POP3 dan IMAP. SMTP (Simple Mail Transfer Protocol) digunakan sebagai standar untuk menampung dan mendistribusikan email, sedangkan POP3 (Post Office Protocol v3) dan IMAP (Internet Mail Application Protocol) digunakan agar user dapat mengambil dan membaca email secara remote, yaitu tidak perlu login ke dalam sistem shell mesin mail server, cukup menghubungi port tertentu dengan mail client yang mengimplementasikan protokol POP3 dan/atau IMAP. Lebih jelasnya, bila disebutkan ’mail server’, hal ini dapat menunjukkan pada daemon-daemon yang bekerja dengan cara mengimplementasikan salah satu protokol di atas. Pada dasarnya untuk membaca email pada mesin mail server terdapat 2 cara, yaitu : Secara lokal, yaitu dengan cara melakukan login ke dalam sistem shell pada mail server dan membaca langsung email dari mailbox (berupa file atau direktori yang berisi text terformat standar email). Bila hanya ini yang dapat dilakukan, maka mail server cukup menyediakan daemon SMTP tanpa daemon POP3 dan/atau IMAP. Secara remote, tanpa memasuki sistem shell tetapi melalui port POP3 atau IMAP tergantung mana yang disediakan, dengan menggunakan tool mail client yang mengimplementasikan salah satu protokol mail retrieval (mengambil email secara remote). Melalui cara ini, mail server selain harus menjalankan daemon SMTP, harus juga menjalankan daemon POP3 dan/atau IMAP. Mengetahui hanya ada 2 cara di atas, tentu anda dapat menyimpulkan sendiri bagaimana suatu layanan email berbasiskan Web seperti mail.yahoo.com atau hotmail.com bekerja. Dan kini anda mengetahui bahwa pekerjaan membangun mail server, adalah pekerjaan menginstal, mengkonfigurasi dan mengoptimasi daemon SMTP sebagai MTA (Mail Transport Agent) dan/atau daemon POP3 dan/atau IMAP sebagai mail retrieval. 6.2 Instalasi server mail Pada distribusi Linux RedHat 6.2 tersedia beberapa paket yang dapat digunakan untuk membangun mail server yang cukup handal yaitu sendmail 8.9.3 sebagai MTA, ipop3d dan imapd sebagai daemon mail retrieval. Paketpaket rpm tersebut antara lain : procmail-3.14-2.i386.rpm sendmail-8.9.3-20.i386.rpm sendmail-cf-8.9.3-20.i386.rpm sendmail-doc-8.9.3-20.i386.rpm imap-4.7-5.i386.rpm imap-devel-4.7-5.i386.rpm Lakukan instalasi melalui perintah rpm -ivh pada paket-paket diatas, penuhi keterkaitan (dependency) yang dibutuhkannya, kemudian gunakan perangkat lunak bantu netconf untuk mengkonfigurasi MTA sendmail. 6.3 Konfigurasi Sendmail Untuk mempermudah pekerjaan, gunakan netconf yang merupakan bagian dari perangkat bantu administrasi linuxconf untuk mengkonfigurasi sendmail. Navigasinya sangat mudah, dan di setiap menu pilihan terdapat HELP yang mudah dimengerti. Hal ini akan diterangkan kemudian pada jalannya pelatihan. Bab 7 Proxy 7.1 Squid sebagai server proxy Squid adalah salah satu implementasi dari proxy server yang juga menyimpan cache dari setiap respon dari data yang bersangkutan. Singkatnya squid menerima permintaan akses data (request) dari client, dan kemudian meneruskan ke alamat yang dituju (misal : www.yahoo.com), kemudian menyimpan data dari alamat (misal: www.yahoo.com) tersebut disimpan ke dalam direktori squid cache yang kemudian juga diteruskan ke client. Kegunaan squid bila ada permintaan yang sama ke www.yahoo.com, karena sudah ada datanya pada cache maka dapat langsung diberikan tanggapan dari squid server kita tanpa harus meneruskan request tersebut ke www.yahoo.com, ini akan mempercepat akses sehingga dapat menghemat bandwidth. 7.2 Instalasi Squid Instalasi squid dalam format rpm adalah sebagai berikut : #rpm -ivh squid-2.2.3STABLE4.rpm 7.3 Konfigurasi Squid Variabel-variabel yang dapat dianggap paling penting dalam konfigurasi squid adalah : http_port (nilai defaultnya 3128). Setelah squid dijalankan maka squid akan siap dan mendengarkan (LISTEN) listen di port 3128. Client yang akan menggunakan squid juga harus menggunakan port tersebut agar dapat mengakses squid. Untuk lebih jelas konfigurasi client akan dijelaskan lebih lanjut cache_mem (nilai defaultnya adalah 8 MB) . cache_swap_high (nilai defaultnya 95%) cache_swap_low (nilai defaultnya 90%) acl (accsess control list). Acl dapat menentukan user-user yang dapat mengakses squid http_access. ini akan mengatur siapa saja yang boleh mengkases squid berdasarkan access control list nya Untuk konfigurasi lainnya dapat di lihat di file squid.conf pada Lampiran 7.4 Konfigurasi client squid Konfigurasi pada client (Netscape 4.71) : dilakukan dengan urutan menu sebagai berikut : Edit | Preferences | Advanced | Proxies | Manual Proxies Configuration | View Lalu masukkan alamat IP dari server proxy dan port aktifnya. 7.5 Menjalankan Squid Skrip untuk menjalankan program squid terdapat di /etc/rc.d/init.d. Untuk menjalankannya dilakukan dengan #/etc/rc.d/init.d/squid start Sedangkan untuk menghentikannya dapat dilakukan dengan : #/etc/rc.d/init.d/squid stop Anda dapat menguji apakah squid sudah berjalan dengan baik dengan mentesnya dari client atau menggunakan port scanner seperti nmap (www.insecure.com/nmap), apabila port yang kita tentukan (http_port) telah terbuka maka daemon squid telah berjalan dengan baik. File log squid dapat dilihat di /var/log/squid/ sehingga dapat dimonitor setiap kegiatan yang dilakukan oleh squid ketika diakses oleh client. Hal ini juga ataupun dapat digunakan sebagai pendeteksi dari masalah-masalah yang mungkin timbul. Bab 8 Dasar keamanan jaringan 8.1 Security ? Ketika jaringan kita terhubung dengan sebuah WAN atau terhubung dengan Internet, maka kita tidak hanya harus mempertimbangkan masalah keamanan dari tiap-tiap komputer di dalam jaringan kita, tetapi juga harus memperhatikan keamanan jaringan secara keseluruhan. Kita tidak dapat menjamin bahwa semua orang di "luar sana" adalah orang baik-baik, sehingga permasalahan keamanan jaringan ini merupakan hal yang harus mendapat perhatian yang lebih dari seorang administrator jaringan. Kita juga sebaiknya tidak selalu berpikir bahwa keamanan jaringan bukan hanya berhubungan dengan hacker atau cracker dari "luar sana" tetapi sering kali ancaman tersebut juga datang dari sisi jaringan internal kita sendiri. 8.2 Kepedulian masalah security Berikut diberikan beberapa contoh hal-hal yang harus diwaspadai dalam keamanan jaringan : Password Attack Deskripsi : usaha penerobosan suatu sistem jaringan dengan cara memperoleh password dari jaringan tersebut. Pencegahannya : installah shadow password, suatu program enkripsi untuk melindungi password. Malicious Code Deskripsi : kode-kode pada suatu program yang "tersamar" yang tidak diketahui fungsi dan manfaatnya, tetapi sewaktu-waktu dapat aktif dan beraksi membahayakan keadaan sistem. Pencegahan : gunakan program-program seperti tripwire, TAMU, sXid atau dengan menggunakan MD5Checksum. Sniffer Deskripsi : suatu usaha untuk menangkap setiap data yang lewat dari suatu jaringan. Pencegahan : mengenkripsikan semua data yang akan kita lewatkan kedalam jaringan, misalnya menggunakan ssh (secure shell) yang mempunyai fungsi yang sama dengan telnet tetapi semua data yang dilewatkan kejaringan akan di enkrip dengan enkripsi 128 bit. Scanner Deskripsi : merupakan utilitas bantu untuk mendeteksi celah-celah keamanan. Pencegahan : pada umumnya program-program scanner menggunakan paket SYN dan ACK untuk mendeteksi celah-celah sekuriti yang ada pada suatu sistem, SYN dan ACK menggunakan ICMP sehingga untuk pencegahannya adalah memfilter paket-paket ICMP dari sistem. Spoofing Deskripsi : merupakan penyerangan melalui autentifikasi suatu sistem ke sitem lainnya dengan menggunakan paket-paket tertentu. Pencegahan : konfigurasikan sistem untuk menolak semua paket yang berasal dari localhost, memakai program enkripsi untuk akses remote (mis: ssh), mematikan service yang berhubungan dengan "dunia luar" apabila dirasakan kurang diperlukan. Denial of Service Attack (DoS) Deskripsi : DoS merupakan serangan yang dilancarkan melalui paket-paket tertentu, biasanya paket-paket sederhana dengan jumlah yang sangat banyak/besar dengan maksud mengacaukan keadaan jaringan target. Pencegahan : dilakukan dengan mematikan alamat broadcast , dan memfilter paket-paket ICMP, UDP, serta selalu melakukan update kernel yang digunakan oleh sistem. 8.3 Setting beberapa file Beberapa file perlu dikonfigurasi untuk mengamankan jaringan. /etc/host.allow. File ini digunakan untuk mengizinkan user dari luar untuk login ke dalam system berdasarkan hostname dan IP addressnya. /etc/host.deny. Berlawanan fungsi dengan host.allow, file ini berisi daftar hostname dan nomor IP address yang dilarang melakukan remote login ke dalam system. /proc/sys/net/ipv4/icmp_echo_ignore_all. File ini apabila bernilai "1" maka semua paketpaket yang menggunakan port icmp akan di tolak. /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts. Agak berbeda dengan file sebelumnya, apabila bernilai "1" file ini hanya menolak semua paket-paket icmp yang berasal dari IP broadcasts. jadi tidak seluruh paket icmp ditolak (deny) /proc/sys/net/ipv4/conf/all/rp_filter. File ini digunakan untuk menghindari usaha spoofing dari luar system. Set "1" untuk mengaktifkannya. /proc/sys/net/ipv4/tcp_syncookies. SYN attack adalah sebuah serangan DoS yang akan menghabiskan semua resource cpu dari system. Set "1" untuk mengaktifkannya. /etc/pam.d/su. Apabila system menggunakan PAM, dapat dikonfigurasikan untuk membatasi akses root berdasarkan user. Tambahkan dua baris di bawah pada /etc/pam.d/su,agar hanya user dibawah group wheel saja yang dapat login sebagai root. auth sufficient /lib/security/pam_rootok.so debug auth required /lib/security/pam_wheel.so group=wheel /etc/lilo.conf. Untuk lebih mengamankan system tambahkan password dan statement restricted pada lilo.conf agar tidak semua orang dengan mudah masuk ke dalam sistem dan mempunyai kekuasaan root. 8.4 Perangkat bantu IDS (Intrussion Detection System) Berikut adalah beberapa perangkat lunak bantu yang bisa digunakan untuk pendeteksi penyusup : Portsentry. Sebuah program bantu yang cukup "ringan" dan tidak begitu sulit untuk mengkonfigurasikan dan menggunakannya. Cocok untuk sistem jaringan kecil. Snort. Program bantu ini berfungsi memeriksa data-data yang masuk dan melaporkan ke administrator apabila ada "gerak-gerik" yang mencurigakan. Bekerja dengan prinsip program sniffer yaitu mengawasi paket-paket yang melewati jaringan. LIDS (Linux Intrussion Detection System) merupakan salah satu tools IDS yang sangat baik dalam melindungi system. Ketika lids aktif, maka bahkan root sekalipun mempunyai akses yang sangat terbatas sekali dalam mengkonfigurasikan system. Carnivore. Sebenarnya tools ini lebih bisa dianggap sebagai sniffer daripada IDS. Dikembangkan di amerika, kini Carnivore oleh FBI dipasang di semua server yang berfungsi sebagai tulang-punggung (backbone) Internet yang ada di Amerika. Sehingga secara tidak langsung Amerika telah menyadap semua data yang lewat dari seluruh penjuru dunia. Perlu diketahui bahwa hampir semua server utama atau backbone yang ada di dunia ini berlokasi di Amerika Serikat. Dan masih banyak tools untuk IDS lainnya yang dapat digunakan untuk lebih meningkatkan keamanan sistem. 8.5 Informasi sekuriti di Internet Beberapa informasi tentang security yang dapat diperoleh di Internet : http://www.linuxsecurity.com http://securityfocus.com http://www.cert.org http://atrittion.org http://packetstorm.securify.com http://www.karet.org http://www.securitylinux.net http://www.securityportal.com 153 RING Node C Node D ode B Node A BUS Node C Node D Node B Node A Common node STAR Node C Node D Node B Node A