Académique Documents
Professionnel Documents
Culture Documents
Ahmad Sofyan
Editor : Tim KPLI Jakarta
Subsections
• Mengenal Linux
• Apa Linux itu?
• Linux sebagai kloning UNIX
• Dokumentasi Linux
• Tux sebagai logo
• Kemampuan Linux
• Distribusi Linux
• Ringkasan
• Instalasi Linux
• Slackware
• Instalasi Slackware
• Kebutuhan Perangkat keras
• Pre Instalasi
• Instalasi dengan Boot Disk
• Partisi
• Setup
• Swap
• Target
• Source
• Select
• Instal
• Exit
• Instalasi SuSE
• Instalasi RedHat
• Boot Loader Windows NT
• Loadlin
• Ringkasan
• Server DNS
• Bagaimana DNS bekerja?
• Komponen DNS
• Resolver
• Resolution
• Caching
• Konfigurasi Domain Name Server
• Konfigurasi BIND v8
• SOA record
• NS Record
• Other records,
• /etc/resolv.conf
• /etc/named.conf
• /var/named/root.cache
• /var/named/ut.zone ( file zone domain )
• /var/named/ut.rev
• MX Records
• Server Web
• Pendahuluan
• Instalasi
• Modul Apache
• Dynamic Shared Object
• Konfigurasi
• File Konfigurasi Apache
• Global Environment
• Virtual Hosts
• Atribut Direktori
• AllowOverride
• Options
• Program Bantu Apache
• apxs (Apache Extension Tool)
• ab (Apache HTTP Server Benchmarking Tools)
• Binary Apache
• Binary Apache di Slackware
• Binary Apache di SuSE
• Binary Apache di RedHat
• Ringkasan
• Server Mail
• Sendmail
• Menjalankan sendmail sebagai Daemon.
• Slackware
• SuSE
• RedHat
• POP3 di Sendmail
• Administrasi Sendmail
• Alias sendmail (sendmail aliases)
• Keamanan LINUX
• Account Pemakai (User Account)
• Kontrol Akses secara Diskresi (Discretionary Access Control)
• su (Substitute User).
• shadow.
• Pro aktif Password
• passwd+
• anlpasswd
• npasswd
• Network Access Control
• Tentang Firewall
• Tipe firewall :
• Filter Paket di Linux
• TCP Wrapper sebagai Kontrol Akses
• Enkripsi
• Enkripsi Password
• Enkripsi komunikasi data
• Secure Shell (SSH)
• Instalasi SSH
• Konfigurasi Server
• SSL (Secure Socket Layer)
Subsections
• Apa Linux itu?
• Linux sebagai kloning UNIX
• Dokumentasi Linux
• Tux sebagai logo
• Kemampuan Linux
• Distribusi Linux
• Ringkasan
Literatur lengkap tentang GNU dapat Anda baca di situs web mereka yaitu
http://www.gnu.org.
Dengan demikian, dapat dikatakan bahwa Anda dapat memperoleh Linux tanpa harus membayar
sama sekali. Jika Anda harus membayar tiap kali instal perangkat lunak di lain komputer, maka
dengan Linux Anda dapat menginstalnya dimana saja tanpa harus membayar lisensi.
Kebebasan yang paling penting dari Linux, terutama bagi programmer dan administrator jaringan,
adalah kebebasan memperoleh kode sumber (source code) dan kebebasan untuk mengubahnya. Ini
berimplikasi pada beberapa hal penting. Pertama keamanan, yang kedua dinamika.
Jika perangkat lunak komersial tidak memperkenankan Anda untuk mengetahui kode sumbenya
maka Anda tidak akan pernah tahu apakah program yang Anda beli dari mereka itu aman atau tidak
(sering disebut security by obscurity). Hidup Anda di tangan para vendor. Dan jika ada
pemberitahuan tentang bug dari perangkat lunak komersial tersebut, seringkali sudah terlambat.
Dengan Linux, Anda dapat meneliti kode sumbernya langsung, bersama dengan pengguna Linux
lainnya. Berkembangnya pengguna Linux sebagai komunitas yang terbuka, membuat bug akan
cepat diketahui, dan secepat itu pula para programmer akan memperbaiki programnya. Anda sendiri
juga yang menentukan kode yang cocok sesuai dengan perangkat keras maupun kebutuhan dasar
perangkat lunak lainnya untuk dapat diimplementasikan. Ibarat sebuah mobil, Anda bisa
memodifikasi sesukanya, bahkan hingga mesin sekalipun, untuk memperoleh bentuk yang
diinginkan.
Keterbukaan kode sumber juga memungkinkan sistem operasi berkembang dengan pesat. Jika
sebuah program dengan sistem tertutup dan hanya dikembangkan oleh vendor tertentu, paling
banyak sekitar seribu hingga lima ribu orang. Sedangkan Linux, dengan keterbukaan kode
sumbernya, dikembangkan oleh sukarelawan seluruh dunia. Bug lebih cepat diketahui dan program
penambalnya (patch) lebih cepat tersedia. Pendekatan pengembangan sistem operasi ini disebut
Bazaar. Kebalikannya sistem Chatedraal sangat tertutup dan hanya berpusat pada satu atau dua
pengembang saja.
Sebagai tambahan, Linux menyediakan bahasa pemrograman gratis, lengkap dengan kompilernya,
maupun program pembantunya. Beberapa diantaranya adalah :
• ADA
• BASIC
• C
• C++
Mini-HOWTO adalah dokumen sejenis HOWTO yang lebih singkat. Biasanya berisi
petunjuk langsung untuk mengoperasikan sesuatu, tanpa bahasan yang detail. Baik
HOWTO maupun Mini-HOWTO dapat Anda temukan di /usr/doc (yang secara
default akan diinstal pada saat Anda menginstal Linux)
Seiring dengan pesatnya perkembangan Linux, dokumen-dokumen ini juga dirawat dengan baik
oleh pihak-pihak non profit berdedikasi tinggi yang bekerja dengan nama The Linux Documentation
Project (LDP). Perkembangan terakhir dari LDP ini dapat Anda lihat di
http://www.linuxdoc.org. Untuk proyek penejemahan dokumentasi ke dalam bahasa
Indonesia dapat Anda lihat di http://ldp.linux.or.id.
Peta perkembangan aplikasi Linux juga dirawat dengan baik oleh Jeff Kopmaniz, yang
kemudian diambil alih oleh LARS WIRZENIUS. Linux Software Map (LSM) ini
menyajikan daftar yang komprehensif, disertai komentar dan pembuatnya. Sebelum
Anda download/instal programnya, lebih baik jika melihat dulu reviewnya, di
http://www.execpc.com/lsm/LSM. Program yang terdaftar disini diupdate
secara berkala. Filenya juga bisa Anda peroleh di
ftp://ftp.execpc.com/pub/lsm/lsm-current.gz
Selain tangguh sebagai komputer pribadi, Linux menawarkan kinerja optimal untuk dijadikan
sebagai server. Beberapa aplikasi server yang selalu disertakan hampir di setiap distribusi
diantaranya :
• Web Server (httpd)
• FTP Server (ftpd)
• Mail Server (smtp, pop 3, LDAP, IMAP)
• Name Server
• Daemon standar (telnetd, fingerd, identd, syslogd dsb)
• DHCP Server
Selain itu, protokol-protokol standar sebagai platform dalam komunikasi jaringan, telah terintegrasi
pada level kernel, di antaranya :
• File Transfer Protocol (FTP)
• Gopher Protocol
Distribusi Linux
Saat ini banyak beredar distribusi linux yang namanya relatif sudah dikenal bagi pengguna
komputer. RedHat, SuSE, Mandrake, Slackware, dan Debian adalah beberapa dari distribusi besar
yang digunakan di Indonesia. Pada prinsipnya Linux itu satu, yakni kernel yang dikembangkan oleh
LINUS TORVALDS dan kawan-kawan.
Yang membedakan antar distribusi biasanya berkisar tentang :
1. Instalasi
Masing-masing distribusi menggunakan metode dan antar muka sendiri-sendiri untuk
instalasinya. Bahkan pada beberapa distribusi, sudah mulai menggunakan antar muka grafis
untuk membimbing proses instalasinya.
Gambar 2 Instalasi Grafis RedHat 6.2
Catatan :
Beberapa distribusi terkenal yang sudah mulai menggunakan modus grafis untuk
instalasi diantaranya RedHat, Caldera Open Linux, Corel Linux, WinLinux.
Subsections
• Slackware
• Instalasi Slackware
• Kebutuhan Perangkat keras
• Pre Instalasi
• Instalasi dengan Boot Disk
• Partisi
• Setup
• Swap
• Instalasi SuSE
• Instalasi RedHat
• Boot Loader Windows NT
• Loadlin
• Ringkasan
Di Indonesia saat ini sudah ada beberapa online store yang menyediakan distribusi
Linux yang cukup lengkap. Anda bisa memesannya secara online, atau menghubungi
lewat telepon. CD yang akan Anda dapatkan dari beberapa online store di Indonesia
biasanya merupakan hasil peleburan ke CD dari download di Internet. Dari beberapa
online store yang pernah penulis pesan, rata-rata berkualitas bagus, dan ada garansi
penggantian jika CD rusak atau tidak jalan. Perlu diingat bahwa semua CD salinan
tersebut adalah legal dan dilindungi lisensi GNU. Daftar online store yang menyediakan
distribusi Linux dapat Anda lihat di lampiran
Subsections
• Instalasi Slackware
• Kebutuhan Perangkat keras
• Pre Instalasi
• Instalasi dengan Boot Disk
• Partisi
• Setup
• Swap
• Target
• Source
• Select
• Instal
• Exit
Di Linux dan sistem Unix lainnya, tampilan grafis dijalankan dengan sistem
client server. Sedangkan untuk tampilannya bisa dipilih bermacam macam,
disebut Window Manager. Beberapa Window Manager yang terkenal adalah
Gnome, KDE (K Desktop Evironment), Window Maker dan sebagainya. Jika
tertarik Anda bisa mencarinya di http://www.freshmeat.net
Pre Instalasi
Setelah mengenal sedikit mengenal beberapa aplikasi yang disertakan dalam distribusi Slackware
(dan semua distribusi Linux), lanjutkan dengan prosedur instalasi. Namun sebelum mulai instalasi,
ada beberapa hal yang perlu disiapkan :
1. Usahakan untuk mencatat perangkat keras yang Anda miliki. Perangkat keras tersebut
meliputi monitor, VGA card, Mouse, Hard disk dan CDROM (untuk yang SCSI), dan
perangkat keras khusus yang Anda punya. Di Windows, Anda dapat melihatnya dengan klik
kanan My Computer pada desktop, pilih Properties, klik Device.
2. Back up data-data yang penting. Meskipun penyusunan partisi dan format partisi di Linux
dapat dijalankan secara aman tanpa mengganggu data yang ada, namun bisa saja terjadi
salah ketik atau salah pilih yang membuat semua data hilang.
3. Siapkan partisi khusus untuk Linux. Jika sistem operasi yang ada tidak memungkinkan
untuk diinstal ulang, gunakan program penambahan partisi seperti Partition Magic (program
komersial) atau fips yang disertakan dalam CD. Program ini memungkinkan Anda untuk
menambah partisi dari sisa hard disk kosong, tanpa harus menghapus partisi yang sudah ada.
Lebih mudah jika Anda menghapus semua partisi dalam hard disk Anda, kemudian dipisah
menjadi tiga hingga empat partisi. Satu untuk instal Windows (jika perlu), sistem file Linux,
dan Swap Linux. Tentang partisi ini akan dibahas dalam tahapan instalasi.
Catatan :
Anda dapat menginstal Linux pada ruang yang tidak dipergunakan (free space) tanpa
harus partisi ulang. Linux menjalankannya di atas partisi umsdos. Kelemahan dari
sistem file ini adalah aplikasi yang dijalankan menjadi lebih lambat, dan manfaat Linux
tidak dapat dirasakan secara maksimal.
Partisi
Bahasan pertama adalah review sekilas tentang partisi. Hard disk untuk bisa diisi sistem operasi,
membutuhkan satu wadah, yang dinamakan partisi. Jika Anda terbiasa menggunakan Microsoft,
partisi disimbolkan dengan Drive. Misal, Drive C:(partisi pertama) Drive D:(partisi kedua) dan
seterusnya.
Dengan membagi hard disk ke dalam beberapa partisi Anda dapat menjalankan berbagai sistem
operasi secara bersamaan. Misalnya Linux - Windows 98 - Windows NT.
Gambar 3 Bentuk Hardisk, track, sector dan data (Sumber: Maximum Linux Security, Anonymous)
Partisi dikategorikan dalam tiga jenis. Primary, Extended dan Logical Partition. Partisi utama,
disebut primary, dalam satu hard disk maksimal hanya 4 partisi. Jika Anda ingin lebih dari 4 partisi,
maka perlu dibuat extended partition yang bisa memuat logical partition dengan jumlah lebih
banyak. Jadi data hanya terletak di partisi primary atau logical, sedangkan extended hanya
merupakan wadah dari partisi logical. Contoh pengaturan hard disk dan nama yang biasa
dipergunakan di Linux.
Gambar 4 Pengaturan Partisi dan Sistem File (Sumber: Maximum Linux Security, Anonymous)
Kembali ke prompt instalasi. Sebagai contoh, diasumsikan Anda mempunyai hard disk 2 Giga, dan
1 Giga sudah terisi Windows NT (misalnya), sementara sisanya masih kosong (belum dipartisi).
Setelah berhasil masuk shell, jalankan fdisk guna pengaturan partisi.
# fdisk
Using /dev/hda as default device!
Command (m for help): m # ketik m dan tekan enter
a toggle bootable flag
b edit bsd dick label
c toggle the DOS compatibility flag
d delete a partition
l list of known partition types
m print this menu
n add new partition
o create a new empty DOS partition table
q quit without saving changes
t change partition system ID
u change display /entry units
v verify partition table
w write table to disk and exit
x extra functionality (expert only)
Command (m for help): p # ketik p untuk mengetahui partisi dalam
hard disk Anda,lalu tekan enter
Swap
Secara default, Anda akan ditanya apakah akan memasukkan /dev/hda3 sebagai swap. Jika ya, maka
Slackware akan menjalankan perintah mkswap untuk memformat /dev/hda3 dengan file sistem
swap, kemudian mengaktifkannya dengan perintah swapon. Karena perintah ini telah dilakukan
sebelumnya, Anda dapat abaikan. Yang penting adalah memasukkan /dev/hda3 ke dalam file fstab
sehingga saat Linux boot dapat langsung menggunakan swap.
Catatan :
Linux menuliskan semua sistem file dan divais yang dipergunakan ke dalam file
/etc/fstab. Saat akan dipergunakan dengan perintah mount, Linux akan membaca file
ini. Divais yang dipergunakan termasuk semua hard disk dan partisinya, CDROM,
floppy dan divais untuk back up. Untuk lebih jelasnya, ketikkan man fstab pada shell
prompt.
Subsections:
• Target
• Source
• Select
• Instal
• Exit
Secara default akan muncul /dev/hda2 sebagai satu-satunya Linux native yang ada dalam partisi
Anda. Jika Anda membuat lebih dari satu partisi yang berisi Linux native, Slackware akan
menanyakan mount point dari masing-masing partisi. Misalnya /dev/hda5 mount pointnya /,
lalu /dev/hda6 mount pointnya /usr/local dan seterusnya. Pada bagian ini ditanyakan pula
apakah Anda akan mengaitkan (mounting)/dev/hda1 dengan sistem file DOS? Mengaitkan
/dev/hda1 memungkinkan Anda membaca file-file yang berada dalam lingkungan
DOS/Windows dari Linux. Selesai mengkonfigurasikan partisi di mana Linux akan diinstal,
lanjutkan dengan sumber di mana file Linux Slackware binary berada.
Source
Slackware akan menampilkan pilihan beberapa metode instalasi berdasarkan di mana sumber file
berada.
1. Floppy; Instal Slackware dari disket
2. Instal Slackware from CD-ROM; Instal Slackware dari CD-ROM. Kadang Linux gagal
mendeteksi CD-ROM yang Anda punyai. Hal ini disebabkan pilihan kernel yang tidak tepat
saat membuat boot disk. Pastikan Anda memilih kernel yang sesuai dengan perangkat keras
Anda.
3. Instal Slackware from Hardrive partition; Instal Slackware dari hard disk (misalnya Anda
telah menyalin file dari CD-ROM ke dalam hard disk). Path harus ditulis secara benar, sebab
dalam lingkungan Linux semua huruf diperlakukan case sensitive. Dalam arti perbedaan
huruf besar dan kecil dapat membuat file tidak dikenal.
4. Instal via NFS; Instal Slackware dari NFS (Network File Server)
5. Instal from pre-mounted directory; Jika Anda sudah mempunyai partisi Linux sebelumnya,
dan berisi file source, maka Anda bisa melakukan pengaitan (mounting) sebelum instalasi
dimulai. Direktori ini yang dipakai sebagai sumber instalasi. Pilih sesuai kebutuhan Anda,
dan ikuti perintah-perintah berikutnya.
Select
Slackware memberikan pilihan paket aplikasi yang akan diinstal. Paket yang ditawarkan adalah :
1. A Aplikasi dasar yang dibutuhkan sistem Linux
2. AP Berbagai aplikasi yang dapat dijalankan di console tanpa membutuhkan X
3. D Program pengembangan, terdiri atas berbagai bahasa pemrograman
4. E GNU Emacs, editor teks
5. F Daftar FAQ, dan dokumentasi How To lengkap
6. K Sumber (Source) dari kernel Linux
7. N Networking (TCP/IP, UUCP, Mail, News)
8. T Program pengolah kata tingkat lanjut TCL Bahasa Skrip Tcl/Tk
9. X X Free, Server untuk tampilan grafis
10.XD Program pengembangan X Free
11.XV X View (Window Manager dan berbagai aplikasi tampilan grafis)
12.Y Games yang tidak membutuhkan X (dijalankan di console)
Selesai memilih paket aplikasi yang dibutuhkan, dilanjutkan dengan instalasi. Slackware
menawarkan berbagai metode instalasi :
1. Newbie; Slackware akan menanyakan setiap program yang akan diinstal, disertai dengan
gambaran singkat dari berbagai program yang akan diinstal.
2. Expert ; Slackware akan memberikan daftar seluruh aplikasi, dan Anda cukup memilihnya
dengan memberikan pointer.
3. Full ; Instal seluruh aplikasi yang tersedia Configure Anda dapat menjalankan konfigurasi
awal dari sistem Linux yang telah diinstal. Konfigurasi mencakup password untuk root,
Pembuatan disket boot, pengaturan LILO (Linux Loader, program yang menjalankan Linux
saat booting), modem, mouse, dan beberapa konfigurasi network jika komputer Anda sudah
terhubung satu sama lain dalam jaringan.
Exit
Setelah mengkonfigurasi sistem Linux, Anda dapat keluar dari program setup, dan tekan Ctrl-Alt-
Del untuk booting komputer.
27.Jika dipilih real network, menu berikutnya adalah memasukkan alamat jaringan :
1. type of network; piliheth0. Ini berarti dalam menghubungkan ke jaringan
menggunakan kartu jaringan. Jika pada boot sebelumnya kernel belum mengenal
kartu jaringan yang ada, Anda dapat mengkonfigurasikannya nanti. Lihat di Bab III,
Sub Bab konfigurasi kartu jaringan.
2. IP Address of your machine; isikan alamat IP misalnya 192.168.1.100
3. Netmask; Isikan netmask berdasarkan kelasnya. Misal 255.255.255.0
4. Gateway; Biarkan kosong. Gambaran tentang gateway dapat Anda baca di Bab III
sub bab IP Masquerade.
5. IP Address of PPP Partner; Isikan DNS server dari ISP Anda. Misalnya 202.158.3.7.
28.Selanjutnya adalah mengkonfigurasikan sendmail lewat sendmail.cf. Menu yang
diberikan:
1. Host with permanent network connection; Jika Anda terhubung dalam jaringan
dengan sambungan yang permanen.
2. Single user machine without network connection; Jika komputer tidak terhubung
dalam jaringan (standalone)
3. Host with temporarily network connection; Jika dalam waktu-waktu tertentu
komputer Anda terhubung dalam jaringan (misalnya Internet).
4. Use UUCP to send mail; Jika mesin Anda terhubung dalam jaringan UNIX, dan
mempergunakan protokol UUCP (Unix to Unix Copy Protocol)
5. Do not install /etc/sendmail.cf; Melewati menu ini, dan jika perlu sendmail.cf dapat
dikonfigurasikan sendiri nantinya.
29.Selesai konfigurasi sementara untuk sendmail, komputer akan direstart. Selanjutnya adalah
mengisikan password untuk root. Usahakan untuk mengisi lebih dari 8 huruf.
30.Langkah berikutnya membuat satu user sebagai contoh. Anda dapat menggunakan user
contoh ini untuk login pertama kali nantinya. Usahakan untuk menggunakan user root
seminimal mungkin.
31.Langkah terakhir, mengkonfigurasikan beberapa peralatan tambahan seperti modem, dan
mouse. Selesai langkah ini, Anda bisa langsung masuk ke Linux prompt, dan login dengan
menggunakan account root atau user contoh yang telah anda tentukan sebelumnya.
Welcome to SuSE 6.2 (i386) - kernel 2.2.10 (tty1)
Spawn login :
Spawn login :
timeout=30
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Server"
Atribut file tersebut adalah system, dan read-only. Keterangan entri pada boot loader tersebut :
• Timeout sebelum pengguna memilih salah satu menu adalah 30 detik
• Default kursornya berada pada entri
multi(0)disk(0)rdisk(0)partition(1)\WINNT
• Dibawah sub bagian [operating systems] adalah pilihan sistem operasi yang akan
Loadlin
Selain menambahkan entri pada boot loader, Anda bisa menjalankan Linux lewat loadlin (load
Linux). Pada distribusi Slackware, Anda bisa peroleh di diskset a8.
Loadlin adalah program yang menjalankan kernel Linux lewat DOS prompt. Paket Loadlin
(loadlin.tgz) setelah diekstrak pada direktori Windows, biasanya terdiri atas :
readme.1st file
readme
loadlin.exe
Loader
doc
doc/quicksta.rt manual
doc/lodlin16.lsm
src sumber
rc/loadlin.asm
src/loadlini.asm
src/loadlinj.asm
src/loadlinm.asm
Paket loadlin tidak dibahas secara detail disini. Untuk dapat menjalankan Linux dengan Loadlin
dengan cepat :
1. Pastikan Anda sudah menginstal loadlin di Windows, dan salinan dari image kernel Anda
(Bzimage atau Vmlinuz). Catat pula pada partisi berapa Linux Anda berada
(/dev/hdax).
2. Untuk menjalankan secara cepat, restart komputer Anda dan masuk dalam DOS Mode.
Menjalankan Loadlin dari prompt di Windows tidak akan berhasil.
3. Masuk ke direktori Loadlin. Diasumsikan bahwa Linux Anda berada di /dev/hda2 dan
kernel Anda sudah disalin ke dalam direktori loadlin dengan nama VmLinuz.
C:\cd loadlin
C:loadlin\> loadlin c:\loadlin/Vmlinuz root=/dev/hda2 ro
4. Untuk memudahkan Anda, buatlah sebuah batch file (misal: Linux.bat) yang berisi
perintah loadlin diatas.
Subsections
• Booting
• Direktori Standar
• YaST di SuSE
• LinuxConf di RedHat
• Seting Kartu Jaringan
• Seting manual di Slackware
• Seting Kartu Jaringan melalui YaST
• Seting Kartu Jaringan melalui LinuxConf
• Koneksi ke Internet
• Koneksi Manual
• Koneksi dengan menggunakan pppsetup (Slackware)
• Koneksi dengan Wvdial (SuSE)
• Koneksi dengan skrip if-up (RedHat)
• IP Masquerade
• Kompilasi Kernel
• Menjalankan modul
• Konfigurasi Klien
• Windows 9x
• Windows for Workgroup 3.11
• Windows NT
• Sistem UNIX
Inisialisasi dari semua proses yang dijalankan kernel biasanya bersumber pada
skrip yang semuanya terletak pada direktori /etc/rc.d. Direktori ini standar
dipergunakan di tiap distribusi, hanya saja skrip-skrip yang berada di dalamnya
berbeda tergantung jenis init system-nya.
5. Selanjutya, kernel akan menjalankan program init, yang terletak di/sbin/init. Ada
beberapa level init yang dijalankan secara default. Anda dapat mengaturnya dengan
mengedit file /etc/inittab.
Berikut level init default yang dijalankan di masing-masing distribusi :
Direktori Standar
Berikut susunan direktori standar yang ada pada Slackware (dan Linux secara umum).
1. /
Direktori root, yang menampung seluruh file yang ada dalam Linux. Pada direktori root
biasanya tidak menampung file, kecuali image dari kernel (vmlinuz).
2. /bin
Berisi file yang dapat dieksekusi/dijalankan (file dengan ekstension exe pada
DOS/Windows).
3. /boot
Direktori berisi file yang dieksekusi saat Linux booting.
4. /dev
Linux memperlakukan semua sebagai file. Direktori ini merupakan file dari hardware
komputer Anda. Misal floppy disk menjadi file /dev/fd0, CD ROM menjadi /dev/hdb
bahkan hingga memory. Yang cukup terkenal adalah /dev/null, semua file yang dikopi
kesini akan dibuang.
5. /etc
Berisi file-file konfigurasi Linux. Biasanya berbentuk file text dan dapat diedit dengan
mudah.
6. /home
Berisi direktori dari masing-masing user.
7. /lib
Berisi kumpulan library yang diperlukan oleh program di root direktori. (file DLL pada
sistem operasi Windows).
8. /lost+found
9. /mnt
Direktori tempat mounting divais Anda. Misalnya /dev/fd0 (disket) akan dimount ke
/mnt/floppy, /dev/hda1 (partisi DOS) dimount ke /mnt/dos. Secara default
direktori ini kosong, dan Anda harus membuat direktori sendiri sebagai mount point-nya.
10./proc
Sistem file semu yang ditulis di atas memory. Digunakan untuk menginformasikan sistem
Segera akan muncul kotak dialog YaST v.1.01. Program bantu ini perlu disampaikan di awal
bahasan, sebab untuk sebagian besar bab ini, dikonfigurasikan dengan mengacu program bantu.
YaST mempunyai struktur menu konfigurasi :
1. General help for installation
File help yang berisi tentang tombol-tombol yang dipergunakan untuk navigasi YaST.
2. Adjustments of installation Bagian untuk instalasi atau update instalasi.
1. Select Language
2. Select Keymap
3. Select Installation Medium
4. Configure harddisk partitions
5. Set target partitions/filesystems
6. Installation to a directory
3. Choose/Install packages
Penambahan atau pengurangan (uninstall) paket aplikasi.
4. Update system
Pengecekan terhadap perubahan program-program lain serta sistem yang terpengaruh
dengan instalasi program yang baru.
5. System Administration
Konfigurasi sistem, termasuk hardware, network dan user. Bagian ini terdiri dari :
1. Integrate hardware into system
1. Mouse configuration
2. Modem
3. CD-ROM
4. Configure printers
5. Configure ISDN hardware
6. Configure your scanner
7. Configure networking device
2. Kernel and boot configuration
1. Select boot kernel
2. Create a boot disk
3. Create a rescue disk
4. LILO Configuration
3. Network configuration
4. Network base configuration
1. Change hostname
2. Configure network services
Secara umum, LinuxConf (Versi 1.16 pada RedHat 6.2) menawarkan pilihan dalam
mengkonfigurasikan Linux dengan struktur sebagai berikut :
1. Config
1. Networking
1. Client Tasks
Konfigurasi standar untuk mesin, diantaranya hosts.conf, DNS (Domain
Name System), NIS (Network Information Server), PPP (Point to Point
Protocol, biasanya untuk koneksi ke internet) dan konfigurasi umum lainnya.
2. Server Tasks
Konfigurasi server yang dijalankan oleh Linux. Misalnya Apache, Mail
Delivery system, Samba dan aplikasi server lainnya. Misc
3. Information about other hosts
Edit pemetaan nama mesin lain dalam file /etc/hosts
4. Information about other networks
Edit pemetaan jaringan dalam file /etc/networks
5. LinuxConf net access
Mengaktifkan LinuxConf untuk dapat diakses lewat browser dengan
memanggilhttp://nama_mesin_linux:98
2. User Accounts
1. Normal
Mengambah, mengurangi dan mengatur user Linux.
2. Special Accounts
Menambah, mengurangi dan mengatur user khusus seperti PPP, SLIP, POP,
Subsections
• Seting manual di Slackware
• Seting Kartu Jaringan melalui YaST
• Seting Kartu Jaringan melalui LinuxConf
3. Jika kernel belum mengenal kartu jaringan Anda (outputnya hanya lo/loopback), maka
Anda dapat menjalankannya dengan mengaktifkan modul kartu jaringan yang Anda miliki.
Caranya, buka file /etc/rc.d/rc.modules. Cari di dalamnya modul dari ethernet
sesuai catatan Anda. Jika tidak terdaftar dalam listing yang ada, Anda harus mendownload
kernel versi terbaru, kemudian mengkompilasinya sesuai dengan hardware yang ada. Atau
mencarinya di homepage vendor kartu jaringan Anda.
4. Jika Anda tidak menemukan rc.modules (distribusi selain Slackware), maka Anda dapat
mencarinya langsung di /lib/modules atau di /etc/conf.modules untuk melihat
konfigurasi aktivasi modul-modul yang ada. Untuk mengaktifkannya cukup jalankan
perintah modprobe. Misalnya :
# modprobe ne2k-pci
5. Setelah Anda temukan dalam file rc.modules, hilangkan tanda pagar agar dieksekusi oleh
kernel pada saat booting. Berikut contoh potongan file /etc/rc.d/rc.modules
# PCI NE2000 clone support:
#/sbin/modprobe ne2k-pci
# SMC Ultra support:
#/sbin/modprobe smc-ultra
# SMC Ultra32 EISA support:
#/sbin/modprobe smc-ultra32
# Western Digital WD80*3 (and clones) support:
#/sbin/modprobe wd
6. Misal, kartu jaringan Anda adalah NE 2000 kompatibel, Anda cukup hilangkan tanda pagar
di depan /sbin/modprobe ne2k-pci dengan editor teks, dan simpan.
# PCI NE2000 clone support:
/sbin/modprobe ne2k-pci
# SMC Ultra support:
#/sbin/modprobe smc-ultra
# SMC Ultra32 EISA support:
#/sbin/modprobe smc-ultra32
# Western Digital WD80*3 (and clones) support:
#/sbin/modprobe wd
7. Setelah memasukkan modul kartu jaringan agar dieksekusi oleh kernel saat booting,
lanjutkan dengan memberikan nomor IP pada kartu jaringan. Caranya adalah dengan
mengedit file /etc/rc.d/rc.inet1. Jika file rc ini tidak ada, maka Anda dapat
memasukkannya ke dalam rc.local (ada di setiap distribusi), atau membuat sendiri skrip
rc sejenis. Berikut contoh isi file rc.inet1 yang telah diedit sesuai kebutuhan.
#!/bin/sh
#
# rc.inet1 This shell script boots up the base INET system.
#
# Version: @(#)/etc/rc.d/rc.inet1 1.01 05/27/93
#
HOSTNAME=`hostname`
# Attach the loopback device.
/sbin/ifconfig lo 127.0.0.1
/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo
# IF YOU HAVE AN ETHERNET CONNECTION, use these lines below to
configure the
# eth0 interface. If you're only using loopback or SLIP, don't
include the
# rest of the lines in this file.
# Edit for your setup.
IPADDR="192.168.1.1" # REPLACE with YOUR IP address!
NETMASK="255.255.255.0" # REPLACE with YOUR netmask!
#NETWORK="128.253.154.0" # REPLACE with YOUR network
address!
#BROADCAST="128.253.154.255" # REPLACE with YOUR broadcast
address, if you
# have one. If not, leave blank
and edit below.
GATEWAY="192.168.1.1" # REPLACE with YOUR gateway address!
Hanya baris yang telah dihilangkan pagarnya saja yang dieksekusi. Selain itu
hanya berupa komentar yang membantu untuk mengedit.
8. Saat booting berikutnya, kartu jaringan Anda akan dikenal oleh Kernel dan siap untuk
dijalankan. Untuk mengetesnya, Anda dapat menjalankan perintah dmesg atau ifconfig. Cara
lain, jika mesin Anda sudah tersambung ke dalam jaringan, Anda dapat mencoba ping
nomor ip mesin lain dalam jaringan.
# ping -c 5 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes
64 bytes from 192.168.1.2: icmp_seq=0 ttl=128 time=0.6 ms
64 bytes from 192.168.1.2: icmp_seq=1 ttl=128 time=0.4 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=128 time=0.4 ms
64 bytes from 192.168.1.2: icmp_seq=3 ttl=128 time=0.5 ms
64 bytes from 192.168.1.2: icmp_seq=4 ttl=128 time=0.4 ms
-- 192.168.1.2 ping statistics --
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.4/0.4/0.6 ms
Selain menentukan nomor IP dengan memasukkannya ke dalam skrip yang dijalankan pada
saat booting, pemberian nomor IP juga bisa dilakukan jika sudah berada dalam lingkungan
shell. Hal ini bermanfaat jika suatu saat akan mengganti nomor IP mesin (atau tepatnya
nomor IP kartu jaringan).
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:A0:C9:99:5C:4C
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4679 errors:0 dropped:0 overruns:0 frame:0
TX packets:3520 errors:0 dropped:0 overruns:83 carrier:0
collisions:2 txqueuelen:100
Interrupt:9 Base address:0xf8e0
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
Subsections
• Koneksi Manual
• Koneksi dengan menggunakan pppsetup (Slackware)
• Administrasi forwarding
Di semua distribusi yang dibahas di buku ini, binary kernelnya sudah mendukung IP
Masquerade tanpa harus kompilasi ulang. Pedoman tentang kompilasi ini berguna saat
akan memperbarui kernel yang dimiliki. Kernel terbaru dapat diperoleh di
http://www.kernel.org.
Konfigurasi Klien
Agar klien dapat memanfaatkan Linux sebagai gateway ke internet, ada beberapa hal yang perlu
dikonfigurasikan. Berdasarkan Dokumen Linux IP Masquerade Mini HOWTO, berikut cara
mengkonfigurasikan beberapa klien dari beberapa sistem operasi. Cara ini berasumsi bahwa mesin
Linux Anda mempunyai nomor IP 192.168.1.1, Subnet 255.255.255.0.
Subsections
• Windows 9x
• Windows for Workgroup 3.11
• Windows NT
• Sistem UNIX
• DOS dengan paket NCSA Telnet
• MacOS yang menjalankan MacTCP
• MacOS yang menjalankan Open Transport
• Novell network dengan DNS
• OS/2 Warp
• Konfigurasi Sistem Lain
1. Instal terlebih dahulu kartu jaringan di mesin Windows 95 yang akan disetup
2. Masuk ke 'Control Panel'/'Network'.
3. Tambahkan 'TCP/IP protocol' jika Anda belum menggunakannya.
4. Di 'TCP/IP properties', klik tab 'IP Address', tentukan nomor IP 192.168.1.x, (1 < x < 255),
dan tentukan pula Subnet Mask-nya dengan nomor 255.255.255.0
5. Tambahkan 192.168.1.1 sebagai gateway di bawah tab 'Gateway'.
6. Di bawah tab 'DNS Configuration'/'DNS Server search order' tambahkan DNS yang
dipergunakan Linux (biasanya ditemukan dalam file/etc/resolv.conf). Masukkan
sama persis.
7. Sebagai tambahan, Anda dapat menambahkan domain search suffix yang cocok. Tapi ini
tidak harus, kecuali Anda mempunyai seting khusus, dan Anda yakin dengan isiannya.
8. Klik 'OK' dan boot ulang komputer Anda.
9. Saat menyala kembali, ping komputer Linux Anda untuk menjalankan test terhadap
sambungan dalam jaringan. 'Start/Run', ketik: ping 192.168.1.1 (Ini adalah tes sambungan
LAN, dan belum bisa ping komputer di Internet/luar jaringan).
10.Sebagai tambahan, Anda dapat membuat file HOSTS dalam direktori Windows sehingga
Anda dapat mengunakan nama host atas komputer dalam jaringan. Sebagai contoh, bisa
dilihat file HOSTS.SAM dalam direktori Windows.
1. Install terlebih dahulu kartu jaringan pada mesin Windows For Workgroup yang akan
disetup.
2. Install paket TCP/IP 32b jika Anda belum memilikinya.
3. Dalam kotak 'Main'/'Windows Setup'/'Network Setup', klik 'Drivers'.
4. Pilih 'Microsoft TCP/IP-32 3.11b' pada tab 'Network Drivers' dan klik 'Setup'.
5. Bari nomor IP 192.168.1.x (1 < x < 255), dan Subnet Mask 255.255.255.0 serta Gateway
192.168.1.1
6. Jangan pilih 'Automatic DHCP Configuration' dan tambahkan 'WINS Server' jika ada Server
Windows NT (atau mesin Samba yang berperan sebagai Windows NT. Lihat Bab tentang
Samba).
7. Klik 'DNS', isikan informasi yang perlu, dan klik 'OK' jika sudah selesai.
8. Klik 'Advanced', beri tanda pada pilihan 'Enable DNS for Windows Name Resolution' dan
'Enable LMHOSTS lookup' jika Anda menggunakan file host
9. Klik 'OK' dan boot ulang komputer Anda.
10.Saat menyala kembali, ping komputer Linux Anda untuk menjalankan test terhadap
sambungan dalam jaringan. 'Start/Run', ketik: ping 192.168.1.1 (Ini adalah tes sambungan
LAN, dan belum bisa ping komputer di Internet/luar jaringan).
Gambar 5
1. Install terlebih dahulu kartu jaringan pada mesin Windows NT yang akan disetup.
2. Masuk ke 'Main'/'Control Panel'/'Network'
3. Tambahkan protokol TCP/IP Protocol dan komponen lainnya dari menu 'Add Software' jika
Anda belum menggunakan protokol TCP/IP.
4. Di bawah bagian 'Network Software and Adapter Cards', pilih 'Installed Network Software'
dan klik 'TCP/IP Protocol'.
5. Pada bagian 'TCP/IP Configuration', pilih kartu jaringan yang sesuai, misalnya.[1]Novell
NE2000 Adapter. Kemudian beri nomor IP 192.168.1.x (1 < x < 255), Subnet Mask to
255.255.255.0 dan Default Gateway 192.168.1.1
6. Jangan aktifkan 'Automatic DHCP Configuration' dan berikan isian yang sesuai pada 'WINS
Server' jika Anda tergabung dalam domain Windows NT, dan Anda tahu persis apa yang
Anda kerjakan.
7. Klik 'DNS', isikan informasi yang perlu, dan klik 'OK' jika sudah selesai.
8. Klik 'Advanced', beri tanda pada pilihan 'Enable DNS for Windows Name Resolution' dan
'Enable LMHOSTS lookup' jika Anda menggunakan file host
9. Klik 'OK' dan boot ulang komputer Anda.
10.Saat menyala kembali, ping komputer Linux Anda untuk menjalankan test terhadap
sambungan dalam jaringan. 'Start/Run', ketik: ping 192.168.1.1 (Ini adalah tes sambungan
LAN, dan belum bisa ping komputer di Internet/luar jaringan).
Sistem UNIX
1. Jika kartu jaringan belum terinstal, jalankan kompilasi ulang pada kernel, dan masukkan
driver yang sesuai (atau ikuti petunjuk pada bab sebelumnya, tentang seting kartu jaringan).
2. Install TCP/IP sebagai bagian dari perangkat jaringan jika Anda belum melakukannya.
3. Set IPADDR ke 192.168.1.x (1 < x < 255), NETMASK 255.255.255.0, GATEWAY
192.168.1.1, dan BROADCAST 192.168.1.255. Sebagai contoh pada distribusi RedHat,
Anda dapat mengedit file /etc/sysconfig/network-scripts/ifcfg-eth0 atau
langsung lewat Control Panel. (Pada distribusi Slackware, seting nomor IP bisa dilihat pada
sub bab sebelumnya, tentang kartu jaringan).
4. Tambahkan domain name service (DNS) dan domain search suffix pada file
/etc/resolv.conf. (Jika Anda menggunakan sambungan PPP ke Penyedia Jasa
Internet (PJI), Anda dapat isikan DNS PJI Anda di sini.)
5. Update beberapa bagian pada direktori /etc/networks jika perlu. (Pada distribusi
Slackware, seting sebelumnya sudah mencukupi).
6. Restart beberapa service yang barkaitan, atau langsung boot ulang komputer Anda.
7. Saat menyala kembali, ping komputer Linux Anda untuk menjalankan test terhadap
sambungan dalam jaringan. 'Start/Run', ketik: ping 192.168.1.1 (Ini adalah tes sambungan
LAN, dan belum bisa ping komputer di Internet/luar jaringan).
1. Install terlebih dahulu kartu jaringan pada mesin DOS yang akan disetup
2. Jalankan driver yang cocok dengan kartu jaringan Anda. Misalnya kartu NE2000, ketikkan
nwpd 0x60 10 0x300, jika kartu Anda diset pada IRQ 10 dan hardware address di
0x300
3. Bikin direktori baru, kemudian ekstrak paket Telnet NCSA;
pkunzip tel2308b.zip
4. Edit file config.tel dengan editor teks
5. Set myip=192.168.1.x (1 < x < 255), dan netmask=255.255.255.0
6. Dalam contoh ini, Anda harus set hardware=packet, interrupt=10,
ioaddr=60
7. Minimal Anda harus mempunyai satu mesin khusus yang dipergunakan sebagai gateway,
misalnya mesin Linux:
name=default
host=namamesinlinuxAnda
hostip=192.168.1.1
gateway=1
8. Tambahkan spesifikasi lain untuk DNS (Domain Name Service):
name=dns.domain.com ; hostip=123.123.123.123; nameserver=1
Catatan :
Ganti isian DNS sesuai dengan yang dipergunakan Linux gateway Anda
1. Instal terlebih dahulu kartu jaringan pada mesin MacOS yang akan disetup
2. Buka MacTCP control panel. Pilih network driver yang cocok (Ethernet, BUKAN
EtherTalk) dan klik tombol 'More...'.
3. Di bawah 'Obtain Address:', klik 'Manually'.
4. Di bawah 'IP Address:', pilih class C dari menu pop up yang muncul. Abaikan sisanya.
5. Isikan informasi yang sesuai di bawah 'Domain Name Server Information:'.
6. Di bawah 'Gateway Address:', ketikkan 192.168.1.1
7. Klik 'OK' untuk menyimpan seting. Pada menu utama Control Panel MacTCP, isikan nomor
IP dari mesin Mac Anda (192.168.1.x, 1 < x < 255) pada kotak 'IP Address:'
8. Tutup control panel MacTCP. Jika muncul kotak dialog untuk merestart komputer, jalankan.
9. Anda bisa melakukan tes sambungan jaringan dengan menjalankan ping. Jika Anda
mempunyai program freeware MacTCP Watcher, klik tombol 'Ping', dan masukkan nomor
IP dari mesin Linux gateway Anda (192.168.1.1) pada kotak dialog yang muncul (Ini adalah
tes sambungan LAN, dan belum bisa ping komputer di Internet/luar jaringan).
1. Install terlebih dahulu kartu jaringan pada mesin MacOS yang akan disetup
2. Buka TCP/IP Control Panel dan pilih 'User Mode ...' dari menu Edit. Pastikan user mode
minimal diset 'Advanced' dan klik tombol 'OK'
3. Dari menu File, pilih 'Configurations...'. Pilih konfigurasi 'Default' Anda dan klik tombol
'Duplicate...'. Tekan 'IP Masq' (atau sesuatu untuk memberitahu Anda bahwa ini adalah
konfigurasi khusus) pada kotak dialog 'Duplicate Configuration' dialog, semacam 'Default
copy'. Lalu klik tombol 'OK', dan tombol 'Make Active'
4. Pilih 'Ethernet' dari menu pop up 'Connect via:'.
5. Pilih bagian yag cocok dari menu pop up 'Configure:'. Jika Anda tidak tahu pilihan yang
harus Anda ambil, mungkin Anda harus memilih ulang konfigurasi 'Default' Anda dan
berhenti. Saya menggunakan 'Manually'.
6. Masukkan nomor IP dari mesin Mac Anda (192.168.1.x, 1 < x < 255) ke dalam kotak 'IP
Address:'.
7. Ketikkan 255.255.255.0 ke dalam kotak 'Subnet mask:'.
8. Ketikkan 192.168.1.1 ke dalam kotak 'Router address:'
9. Masukkan nomor IP domain name server pada kotak 'Name server addr.'
10.Masukan nama domain Internet Anda (Misal 'microsoft.com') dalam kotak 'Starting domain
name' di bawah 'Implicit Search Path:'.
11.Prosedur berikutnya tidak harus Anda jalankan. Jika nilai yang dimasukkan tidak benar, bisa
menimbulkan perilaku aneh pada mesin Anda. Jika Anda tidak yakin, lebih baik tinggalkan
saja.
12.Klik tombol 'Options...' untuk meyakinkan bahwa TCP/IP telah aktif. Bila perlu gunakan
pilihan 'Load only when needed'. Jika Anda sering menjalankan aplikasi TCP/IP tanpa
menyalakan ulang komputer Anda, mungkin Anda akan temukan bahwa pilihan 'Load only
when needed' dibiarkan kosong (unchecked) akan mencegah/mengurangi akibat manajemen
memori dari mesin Anda. Dengan membiarkan pilihan tersebut kosong, protokol TCP/IP
akan selalu dipergunakan dan tersedia jika dibutuhkan. Jika dipilih, maka TCP/IP otomatis
dimuat (loaded) jika dibutuhkan, dan dihapus (un-loaded) kembali jika tidak. Proses
memuat dan menghapus ini dapat menimbulkan fragmentasi pada memori mesin.
13.Anda bisa melakukan tes sambungan jaringan dengan menjalankan ping. Jika Anda
mempunyai program freeware MacTCP Watcher, klik tombol 'Ping', dan masukkan nomor
IP dari mesin Linux gateway Anda (192.168.1.1) pada kotak dialog yang muncul (Ini adalah
tes sambungan LAN, dan belum bisa ping komputer di Internet/luar jaringan).
14.Bila perlu, Anda dapat menambahkan file Hosts dalam System Folder untuk dapat
menggunakan nama host dalam jarigan. File harus sudah ada dalam System Folder, dan
terdiri atas contoh entri yang dapat dimodifikasi tergantung kebutuhan Anda. Jika tidak,
Anda dapat memperoleh kopi file dari sistem yang menjalankan MacTCP, atau membuat
sendiri (dengan mengikuti format file /etc/hosts di Unix, sebagaimana digambarkan
dalam RFC 952). Selesai Anda membuat file tersebut, buka control panel TCP/IP, klik
tombol 'Select Hosts File...' dan buka file Hosts.
15.Klik tombol close atau pilih 'Quit' dari menu File, dan klik tombol 'Save' untuk menyimpan
semua perubahan yang telah dibuat.
16.Semua perubahan akan segera terlihat bedanya, namun lebih baik jika komputer diboot
ulang.
1. Install terlebih dahulu kartu jaringan pada mesin Novell yang akan disetup.
2. Download file tcpip16.exe dari
ftp.novell.com/pub/updates/unixconn/lwp5
3. edit c:\nwclient\startnet.bat
SET NWLANGUAGE=ENGLISH
LH LSL.COM
LH KTC2000.COM
LH IPXODI.COM
LH tcpip
LH VLM.EXE
F:
4. edit c:\nwclient\net.cfg
Link Driver KTC2000
Protocol IPX 0 ETHERNET_802.3
Frame ETHERNET_802.3
Frame Ethernet_II
FRAME Ethernet_802.2
NetWare DOS Requester
FIRST NETWORK DRIVE = F
USE DEFAULTS = OFF
VLM = CONN.VLM
VLM = IPXNCP.VLM
VLM = TRAN.VLM
VLM = SECURITY.VLM
VLM = NDS.VLM
VLM = BIND.VLM
VLM = NWP.VLM
VLM = FIO.VLM
VLM = GENERAL.VLM
VLM = REDIR.VLM
VLM = PRINT.VLM
VLM = NETX.VLM
Link Support
OS/2 Warp
1. Install terlebih dahulu kartu jaringan pada mesin OS/2 Warp yang akan disetup.
2. Install protokol TCP/IP jika Anda belum melakukannya.
3. Masuk ke Program/TCP/IP (LAN) / TCP/IP Settings
4. Pada bagian 'Network' tambahkan nomor IP dan tentukan Netmask (255.255.255).
5. Di bawah 'Routing' tekan 'Add'. Set ke tipe 'default' dan ketikkan nomor IP dari mesin Linux
Gateway Anda pada kolom 'Router Address'(192.168.1.1).
6. Masukkan alamat DNS (Nameserver) yang dipergunakan Linux sebagaimana yang
tercantum dalam file 'Hosts'.
7. Tutup control panel TCP/IP. Jawab 'Yes' jika ada pertanyaan pada saat Anda menutupnya.
8. Reboot komputer Anda.
9. Jalankan ping ke komputer Linux untuk tes konfigurasi jaringan.
Untuk melakukan seting pada sistem lain, dapat menggunakan logika yang sama. Seting TCP/IP
untuk mesin yang bersangkutan, seting DNS sesuai dengan yang tertera di Linux gateway-nya (di
file /etc/resolv.conf) dan menunjuk mesin Linux sebagai gatewaynya.
Contoh :
ipchains -P forward DENY
ipchains -A forward -s 192.168.1.0/24 -j MASQ
Rule set ini akan meneruskan setiap permintaan dari seluruh host dengan nomor ip 192.168.1.x dan
subnet mask 255.255.255.0.
ipchains -P forward DENY
ipchains -A forward -s 192.168.1.2/24 -j MASQ
ipchains -A forward -s 192.168.1.3/255.255.255.0 -j MASQ
Rule set di atas hanya memperbolehkan mesin dengan nomor IP 192.168.1.2 dan 192.168.1.3 yang
bisa memanfaatkan IP Masquerading. Angka 24 dan subnet 255.255.255.0 mempunyai nilai yang
sama.
Anda bisa meletakkan semua kebijakan lewat IP Chains ini kedalam skrip yang dijalankan pada saat
Ringkasan
Dalam bab ini telah Anda pelajari, beberapa konfigurasi dasar untuk memanfaatkan Linux ke dalam
jaringan. Meskipun pengenalan hardware lain, seperti kartu suara, kartu VGA tidak dibahas disini,
namun Anda bisa menggunakan prinsip yang sama dalam pengenalannya. Kenali hardware yang
dimiliki (seperti nomor seri dan jenisnya), cari modul yang tepat, dan jalankan modul tersebut untuk
mengenali hardware.
Dapat Anda rasakan sendiri bahwa Linux memotivasi penggunanya untuk mengenali hampir setiap
hardware yang dimiliki. Hal ini akan memudahkan untuk mengetahui bagaimana sistem bekerja,
dan bagaimana mengadministrasi Linux secara maksimal.
Beberapa contoh konfigurasi di atas dapat diimplementasikan langsung untuk memanfaatkan
koneksi yang terbatas ke internet secara maksimal. Skenario ini biasanya dipergunakan oleh
penyedia jasa koneksi ke Internet (warnet). Hanya dengan menjalankan IP masquerade, dan
mengaktifkan IP chains, semua user dapat terhubung ke Internet
Aplikasi Samba biasanya dijalankan sebagai daemon. Dua aplikasi utamanya adalah :
1. smbd
Daemon yang memberikan layanan berbagi file dan printer dalam sebuah jaringan yang
menggunakan protokol SMB. Smbd juga memberikan otentikasi dan otorisasi bagi kliennya.
2. nmbd
Daemon yang memanfaatkan Windows Internet Name Service (WINS), dan membantu klien
untuk browsing di network neighborhood.
• Samba
• Fasilitas Samba
• Distribusi Samba
• Instalasi Samba
• Instalasi Samba dari kode sumber
• Instal SWAT
• Binary Samba pada Distribusi Linux
• Administrasi Samba
• Konfigurasi Samba
• Konfigurasi Samba lewat LinuxConf (RedHat)
Subsections
• Domain Controller
• WINS (Windows Internet Name Service)
• Master Browser
• Otentikasi
Domain Controller
Seperti yang telah disinggung di awal bab ini, Microsoft menerapkan protokol SMB. Mereka
memberinya nama CIFS (Common Internet File System). Dalam membatasi lingkungannya,
dipergunakan konsep Windows domain, yakni kumpulan workstation yang menjalankan protokol
SMB. Dalam satu domain ada sebuah Domain Controller. Tiap Domain Controller menggunakan
Security Account Manager (SAM) untuk menyimpan daftar kombinasi username dan password.
Dalam sebuah domain, domain controller bisa lebih dari satu. Primary Domain Controller (PDC)
adalah domain controller yang memberikan layanan sehari hari. Sebagai cadangannya, dipasang
sebuah Back up Domain Controller (BDC). Secara periodik, PDC dan BDC akan melakukan
sinkronisasi Security Account Manager (SAM). Tiap saat PDC mengalami crash, BDC sudah siap
mengambil alih. Jaringan akan tetap berjalan seperti biasa.
Master Browser
Jika Anda memakai Windows 95/98, dan membuka network neighborhood, maka di situ terlihat
daftar nama komputer, dan beberapa direktori yang dishare. Daftar ini dibuat dan dipelihara oleh
master browser. Sebagaimana yang telah dipelajari sebelumnya, saat komputer dinyalakan, maka
akan mengirimkan pesan secara broadcast ke dalam jaringan. Saat itulah, akan terjadi pemilihan
komputer mana yang akan menjadi master bowser. Pemilihan ini disebut browsing election.
Kemudian, master browser akan memberikan daftar nama mesin dan resource share-nya kepada
setiap komputer yang meminta.
Master browser dalam satu subnet disebut local master browser. Pendukungnya disebut backup
local master. Mengingat browsing election dapat terjadi setiap saat, maka backup local master
dapat beralih fungsi sebagai local master browser kapan saja. Ini bisa terjadi jika misalnya mesin
local master browser sebelumnya diboot atau mati.
Selain memberikan daftar nama komputer yang bisa diakses (browse list) dalam satu subnet, master
browser juga melayani browse list pada lingkup domain, bahkan antar domain. Ini disebut Domain
Master Browser. Pada saat-saat tertentu, Domain Master Browser dan Local Master Browser
melakukan sinkronisasi daftarnya. Hal ini memungkinkan user memperoleh daftar nama komputer
dan share resources terbaru.
Otentikasi
Model otentikasi di sistem Windows berbeda dengan sistem Unix. Di Windows (sejak Windows 95
SMB Update dan Windows NT 4.0 setelah Service Pack 3), password dikirimkan dalam bentuk
enkripsi, sedangkan Unix mengirimkannya dalam bentuk teks biasa. Selain itu, Windows
menyimpan passwordnya ke dalam sebuah file, sedangkan Unix tidak.
Untuk lebih jelasnya, bagaimana otentikasi di Windows berjalan, digambarkan dalam langkah
berikut :
Samba
Subsections
• Fasilitas Samba
• Distribusi Samba
Fasilitas Samba
Samba dapat dimanfaatkan untuk menjalankan semua fasilitas dari Microsoft sebagaimana yang
telah disampaikan di atas. Samba dapat berfungsi sebagai Master Browser, baik Local Master
Browser maupun Domain Master Browser. Samba juga dapat berfungsi sebagai Primary Domain
Controller. WINS Server juga sudah didukung oleh Samba. Sedangkan untuk otentikasi, Samba
mendukung teks biasa (plain text) password maupun password terenkripsi (encrypted passwod)
Subsections
• Instalasi Samba dari kode sumber
• Instal SWAT
• Binary Samba pada Distribusi Linux
3. Baca Dokumentasi
Sebelum memulai instalasi, biasakan untuk membaca dokumentasi terlebih dahulu. Setelah
Anda ekstrak Samba, dokumentasi dapat dilihat di direktori utama Samba. Beberapa file
yang perlu dibaca :
README
WHATSNEW.txt
Docs/textdocs/UNIX_INSTALL.txt
4. Konfigurasi Samba
Sebagaimana proses standar dalam instalasi aplikasi berbentuk source di Linux, mulai
dengan configure. Jalankan semua proses instalasi sebagai root, atau Anda akan terima
pesan :
Configure: warning: running as non-root will disable some test
Menjalankan proses instalasi dengan user root akan lebih memastikan aplikasi Samba
terinstal dengan baik.
/usr/local/src$ su -
password :
/usr/local/src # cd samba-2.0.7 (direktori utama hasil
ekstraksi)
/usr/local/src/samba-2.0.7# ./configure
/usr/local/src/samba-2.0.7# make
/usr/local/src/samba-2.0.7# make install
Selesai proses instalasi, Samba akan menyimpan filenya dalam beberapa direktori di dalam
direktori utama /usr/local/samba
Instal SWAT
Selesai kompilasi dan instal program, Aktifkan SWAT untuk membantu dalam administrasi Samba.
Fitur SWAT yang dapat dimanfaatkan dalam administrasi mencakup :
• Mengedit konfigurasi Samba
• Dokumentasi lengkap dengan hyperlink
• Melihat status file yang dishare
• Mematikan, start dan restart Samba Daemon, smbd dan nmbd
• Mengatur resource yang akan dishare
juga memungkinkan Anda melakukan administrasi secara remote.
Catatan :
ing untuk diingat jika Anda mengakses SWAT secara remote, password untuk
mengadministrasi Samba dikirim dengan format teks biasa. Jika host yang dilewati
memasang sniffer, maka hal ini akan membahayakan jaringan Anda. Gunakan
administrasi SWAT secara remote seminimal mungkin.
Perbandingan letak Binary Samba hasil kompilasi sendiri dengan paket default yang
Dengan demikian, jika Anda menginstal Samba langsung pada saat instalasi awal atau instal di
kemudian hari dengan menggunakan binary dari masing-masing distribusi, Anda harus
menyesuaikan diri dengan direktori tersebut.
Administrasi Samba
Subsections
• Konfigurasi Samba
• Konfigurasi Samba lewat LinuxConf (RedHat)
Konfigurasi Samba
Samba memiliki banyak sekali parameter yang yang harus disetup untuk dapat menjalankannya
secara maksimal. File konfigurasi tersebut adalahsmb.conf. Biasanya terletak di :
/etc atau
/usr/local/samba/lib
Jika Anda belum melakukan sesuatu pada file smb.conf, maka file tersebut biasanya bernama
smb.conf-default. Anda harus tetap menyimpan file ini, sehingga jika nantinya ada
kekeliruan dalam konfigurasi, Anda masih punya backup yang menyimpan semua parameter
standar.
# cd /etc
# pico smb.conf-default
Tekan Ctrl-O dan ketik smb.conf untuk menyimpan file default kedalam file konfigurasi.
Tekan Ctrl-X untuk keluar dari pico. Untuk mensetup Samba, Anda dapat mengedit file smb.conf
lewat dua cara :
1. Dengan akses root, edit langsung dengan teks editor, atau;
2. Lewat SWAT. Anda cukup memanggilnya dengan browser ke http://localhost:901
Catatan :
Administrasi samba secara remote lewat SWAT dilakukan dengan memanggil nomor IP
mesin Samba yang bersangkutan di port 901. Misal http://192.168.11.1:901
Perlu diingat bahwa mengedit file smb.conf lewat SWAT akan menghilangkan komentar komentar
yang ada di dalamnya. Berikut contoh perbandingannya.
File smb.conf secara default :
# for commentry and a ; for parts of the config file that you
# NOTE: Whenever you modify this file you should run the command "testparm"
# to check that you have not many any basic syntactic errors.
[global]
workgroup = MYGROUP
# system
; printing = bsd
# Uncomment this if you want a guest account, you must add this to /etc/passwd
# this tells Samba to use a separate log file for each machine
# that connects
# Security mode. Most people will want user level security. See
security = user
# Do not enable this option unless you have read those documents
# on a per machine basis. The %m gets replaced with the netbios name
; include = /usr/local/samba/lib/smb.conf.%m
# Most people will find that this option gives better performance.
# If you have multiple network interfaces then you must list them
; local master = no
; os level = 33
# Use only if you have an NT server on your network that has been
# Windows95 workstations.
# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
# behalf of a non WINS capable client, for this to work there must be
# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
# via DNS nslookups. The built-in default for versions 1.9.17 is yes,
dns proxy = no
[homes]
browseable = no
writable = yes
# Un-comment the following and create the netlogon directory for Domain Logons
; [netlogon]
; path = /usr/local/samba/lib/netlogon
; guest ok = yes
; writable = no
; share modes = no
; path = /usr/local/samba/profiles
; browseable = no
; guest ok = yes
[printers]
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
;[tmp]
; path = /tmp
; read only = no
; public = yes
;[public]
; path = /home/samba
; writable = yes
; printable = no
# Other examples.
# A private printer, usable only by fred. Spool data will be placed in fred's
# home directory. Note that fred must have write access to the spool directory,
# wherever it is.
;[fredsprn]
; path = /homes/fred
; printer = freds_printer
; public = no
; writable = no
; printable = yes
# A private directory, usable only by fred. Note that fred requires write
;[fredsdir]
; path = /usr/somewhere/private
; public = no
; writable = yes
# a service which has a different directory for each machine that connects
;[pchome]
; comment = PC Directories
; path = /usr/pc/%m
; public = no
; writable = yes
# A publicly accessible directory, read/write to all users. Note that all files
# any user with access can delete any other user's files. Obviously this
# directory must be writable by the default user. Another user could of course
# be specified, in which case all files would be owned by that user instead.
;[public]
; path = /usr/somewhere/else/public
; public = yes
; writable = yes
; printable = no
# The following two entries demonstrate how to share a directory so that two
# users can place files there that will be owned by the specific users. In this
# setup, the directory should be writable by both users and should have the
;[myshare]
; path = /usr/somewhere/shared
; public = no
; writable = yes
; printable = no
# Global parameters
workgroup = SURGA
dns proxy = No
[printers]
path = /var/spool/samba
print ok = Yes
browseable = No
[test]
path = /win
read only = No
guest ok = Yes
Pastikan semua user yang telah terdaftar di PDC, tercatat semua sebagai user Linux.
Buat sebagai dumb account jika Anda memang tidak menginginkannya sebagai user
mesin Linux Anda. Jika tidak, maka semua user tidak akan bisa login (meskipun telah
terdaftar di Windows NT lewat 'User Manager for Domain'), kecuali user yang telah
terdaftar di Linux.
Ringkasan
Samba merupakan program bermanfaat yang mampu menembus sebuah sistem tertutup,
memanfaatkannya dan dikeluarkan dalam sebuah program stabil yang terbuka untuk semua orang.
Sebagai program yang gratis, Samba merupakan pilihan bagi perusahaan-perusahaan kecil yang
ingin membangun jaringan yang cukup handal dengan biaya murah.
Dengan adanya SWAT, semakin memudahkan administrator dalam mengkonfigurasikannya. Antar
muka web yang bermanfaat (dan sudah pasti indah, sebab kata orang bijak semua yang bermanfaat
itu indah), kemampuan untuk diakses secara remote, membuat Samba sangat fleksibel untuk
diadministrasi.
Untuk mengikuti perkembangan terakhir Samba, dapat anda cek di http://www.samba.org.
Samba juga membuka peluang bagi siapa saja yang ingin bergabung bersama dalam Tim Samba
untuk mengembangkan program ini. Mailing list Samba saat ini beranggotakan lebih dari 3000
orang.
Subsections
• Bagaimana DNS bekerja?
• Komponen DNS
• Resolver
• Resolution
• Caching
Komponen DNS
DNS ini mempunyai beberapa komponen, yaitu :
Subsections
• Resolver
• Resolution
• Caching
Resolution
Dalam menjawab permintaan terhadap sebuah domain, name server akan mencari name server yang
bertanggung jawab terhadap domain yang diminta (lihat sub bagian sebelumnya tentang bagaimana
DNS bekerja). Selain mencari, name server juga memberikan informasi tentang server yang
bersangkutan. Proses ini disebut name resolution, atau disingkat resolution.
Caching
Setiap permintaan terhadap sebuah domain, memaksa name server untuk mengakses databasenya,
dan mencari name server yang bertanggung jawab. Untuk itu name server melakukan caching
terhadap domain-domain yang pernah diminta. Karena tidak bisa dicaching untuk selamanya, maka
name server mendefinisikannya dengan Time to Live (TTL).
• SOA record
• NS Record
• Other records,
• /etc/resolv.conf
• /etc/named.conf
• /var/named/root.cache
• /var/named/ut.zone ( file zone domain )
• /var/named/ut.rev
• MX Records
Konfigurasi BIND v8
Pertama kali yang dilakukan adalah seting data untuk DNS. Dalam contoh berikut kita
menggunakan nama ut. Anda bisa mendefinisikan sendiri untuk penamaan yang mudah diingat.
Berikut contoh nama file yang dibutuhkan :
1. /etc/resolv.conf
2. /etc/named.conf
3. File DNS resource record, yang terdiri
• /var/named/root.cache
• /var/named/named.local
• /var/named/ut.zone
• /var/named/ut.rev
DNS resource record adalah file database yang dibutuhkan oleh name server dalam menjalankan
tugasnya. File ini dapat dibuat sesuai dengan kebutuhan. Hal yang perlu diingat adalah urutan
kebutuhan resource record, yakni :
Subsections
• SOA record
• NS Record
• Other records,
• /etc/resolv.conf
• /etc/named.conf
• /var/named/root.cache
• /var/named/ut.zone ( file zone domain )
SOA record
NS Record
Other records,
/etc/resolv.conf
Adalah file yang berisi informasi alamat domain atau alamat IP dari name server. File ini diakses
pertama kali oleh resolver pada saat mengajukan permintaan terhadap sebuah domain.
domain ut.astra.co.id
nameserver 10.2.6.5
Keterangan contoh diatas, domain menunjukan nama domain yaitu ut.astra.co.id dan name server
adalah IP address dengan nomor: 10.2.6.5
/etc/named.conf
File konfigurasi utama yang dibaca oleh BIND pada saat dijalankan. Dalam file ini berisi
keterengan letak dan jenis file-file database yang dibutuhkan oleh BIND. Untuk membuat file ini
dapat menggunakan skrip bantu yang disusun lewat perl. File ini bernama named-bootconf.pl, dan
termasuk dalam paket aplikasi BIND. Atau jika ingin seting manual dapat menggunakan editor teks
biasa. Berikut contoh filenya :
// generated by named-bootconf.pl
options {
directory "/var/named";
};
//
// a caching only nameserver config
//
directory "/var/named";
};
Untuk option ini bebas dimana saja selama direktori tersebut disediakan hanya untuk sistem seperti
/etc atau /var. Selain itu jumlah dan nama filenya sangat kondisional tergantung jumlah zone
yang ditangani.
/var/named/root.cache
Berisi informasi data yang berada dalam domain root (non lokal). Catatan ini yang dipergunakan
name server jika ada resolver yang meminta nama domain di luar domain lokal.
; This file holds the information on root name servers needed to
; initialize cache of Internet domain name servers
; (e.g. reference this file in the "cache . <file>"
; configuration file of BIND domain name servers).
;
; This file is made available by InterNIC registration services
File ini berisi SOA (start of authority) resource record, NS record, MX record dan CNAME record.
Seluruh host dalam jaringan didefinisikan di sini.
$TTL 86400
@ IN SOA netcom.ut.astra.co.id. root.netcom.ut.astra.co.id. (
1997022700 ; Serial
28800 ; Refresh
/var/named/ut.rev
File ini berisi PTR Records, untuk pemetaan dari alamat ke nama. Karena di file sebelumnya
(ut.zone) sudah didefinisikan lewat A record, bahwa netcom.ut.astra.co.id
mempunyai alamat 10.2.6.5, maka dalam file berikut cukup dituliskan nomor hostnya (field
terakhir) yakni 5.
$TTL 86400
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS netcom.ut.astra.co.id.
5 IN PTR netcom.ut.astra.co.id.
MX Records
Salah satu keuntungan DNS adalah untuk routing e-mail. Untuk itu, DNS menggunakan resource
record tunggal yakni MX records. MX berarti Mail Exchanger, sebuah host yang akan memproses
(process) atau meneruskan (forward) e-mail. Memproses berarti mengirim langsung ke individu
atau melewati transport agent lainnya seperti UUCP. Meneruskan berarti mengirimkan ke tujuan
akhir atau ke mail exchanger terdekat dengan melewati SMTP (Simple Mail Transfer Protocol).
Untuk menghindarkan pengulangan dalam pengiriman, MX records mempunyai parameter
tambahan yakni nilai keinginan (preference value), antara 0 hingga 65535. Kita ambil contoh
Administrasi BIND
Untuk mengadministrasikan BIND (named), cukup jalankan program ndc, diikuti perintah yang
diinginkan. Perintah yang tersedia adalah :
• status
Menunjukkan status named sebagaimana ditampilkan dengan perintah ps.
• dumpdb
Membuang database dan cache dari named ke /var/tmp/named_dump.db
• reload
Menyebabkan named mengecek semua nomor serial zone primary dan secondary, dan
menampilkan kembali setiap perubahan.
• stats
Membuang statistik ke dalam file /var/tmp/named.stats
• trace
Meningkatkan satu level tracing atau pelacakan. Semakin tinggi level pelacakannya,
semakin banyak hal-hal yang dicatat. Semua dituliskan dalam file
/var/tmp/named.run
• notrace
Mengembalikan nilai atau level pelacakan menjadi nol. Perintah ini juga menghapus file
/var/tmp/named.run jika masih ada.
• querylog
Berpindah ke model querylog, yang menyebabkan pencatatan ke dalam syslog setiap
permintaan yang masuk. Perlu diperhatikan bahwa perintah ini akan mencetak file log
dengan ukuran besar. Model ini juga dapat dijalankan dengan perintah qrylog.
• start
Menjalankan named
# linuxconf
Ringkasan
Pada Bab ini telah kita pelajari secara singkat bagaimana cara kerja dan menjalankan DNS Server.
Bagian-bagian tingkat lanjut tentang DNS, seperti parenting (Bagaimana mengadministrasi domain
yang memiliki sub-sub domain), kemudian DNS Notify (Pemberitahuan terhadap perubahan zona),
pembatasan query, dan sebagainya, tidak dibahas di sini. Tujuan dari bab ini adalah memungkinkan
akses dengan nama untuk komunikasi antar user, serta bantuan seting untuk pengiriman dan
penerimaan e-mail. Paling tidak hal ini menjadi rangsangan bagi anda untuk mengembangkan lebih
lanjut tentang DNS ini, terutama untuk penerapan jaringan skala besar.
Untuk lebih lanjut tentang DNS, anda bisa baca DNS and BIND, terbitan O'Reilly, karangan PAUL
ALBIRTZ & CRICKET LIU. Literatur elektronis yang bisa dijadikan acuan dan tersedia di sebagian
besar distribusi Linux adalah DNS HOWTO v.22 karangan NICOLAI LANGFELDT. Dokumen ini
tersedia di /usr/doc/HOWTO.
Subsections
• Pendahuluan
• Instalasi
• Modul Apache
• Dynamic Shared Object
• Konfigurasi
• File Konfigurasi Apache
• Global Environment
• Virtual Hosts
• Atribut Direktori
• AllowOverride
• Options
• Binary Apache
• Binary Apache di Slackware
• Binary Apache di SuSE
• Binary Apache di RedHat
• Ringkasan
Instalasi
Instalasi yang dibahas berikut adalah modus instalasi standar (default). Metode instalasi Apache
(sejak Versi 1.3) ada dua macam, yakni dengan metode APACI (Apache 1.3 Autoconf-style
Interface) atau dengan cara pada versi sebelumnya. Sebelum mulai instalasi, pastikan mesin Anda
memenuhi beberapa hal :
• Ruang hardisk kosong sebanyak 12 Megabyte. Sebagai tambahan kurang lebih 3 Megabyte
untuk modul-modul yang akan dipasang.
• Pastikan mesin Anda memiliki ANSI-C Compiler. Untuk Linux yang paling ideal adalah gcc
(GNU C Compiler).
• Perl interpreter (tidak harus) untuk menjalankan beberapa skrip konfigurasi. Jika tidak ada
tidak akan mengganggu instalasi secara keseluruhan. Hanya saja beberapa skrip tidak akan
dijalankan.
• Dukungan Dynamic Share Object (DSO) (tidak harus), yang memungkinkan Apache
menjalankan modul sebagai bagian dari run time-nya.
Platform yang didukung oleh Apache saat ini :
1. Linux
2. SunOS
3. UnixWare
4. FreeBSD
5. Solaris
6. AIX
7. OpenBSD
8. IRIX
9. SCO
10.NetBSD
11.HPUX
12.BSDI
13.Digital Unix
Yang belum didukung sama sekali adalah ultrix.
Setelah mengecek beberapa syarat yang harus dipenuhi, lanjutkan dengan instalasi. Berikut
prosedur instalasi, dengan asumsi bahwa Anda sudah memperoleh file sumber Apache:
$ tar -zxvf apache_1.3.X.tar.gz
$ ./configure -prefix=PREFIX
$ make
$ su -
password:
# make install
-enable-shared=php
# make install
Subsections
• File Konfigurasi Apache
• Global Environment
• Virtual Hosts
• Atribut Direktori
• AllowOverride
• Options
Pilihan untuk menentukan apakah menjalankan Apache sebagai http daemon sendiri atau lewat
inetd. Pilihan inetd hanya untuk platform Unix.
ServerRoot "/var/lib/apache"
File yang dipergunakan server untuk merekam nomor identifikasi proses (pid) saat apache
dijalankan.
ScoreBoardFile /var/run/httpd.scoreboard
File yang dipergunakan untuk merekam informasi internal dari proses server.
ResourceConfig conf/srm.conf
AccessConfig conf/access.conf
Pilihan untuk membaca file srm.conf dan access.conf secara berurutan. Anda dapat membiarkannya
ditandai pagar, karena Apache secara default telah memproses kedua file tersebut secara berurutan.
Anda dapat mengisinya dengan /dev/null jika ingin Apache mengabaikan dua file tersebut.
Timeout 300
Untuk menentukan apakah server memperbolehkan lebih dari satu permintaan dalam satu koneksi.
Untuk non-aktif, isikan Off.
MaxKeepAliveRequests 100
Jumlah maksimum permintaan yang diperbolehkan dalam satu koneksi yang bersamaan. Nilai 0
bernilai tak terhingga.
KeepAliveTimeout 15
Jumlah detik untuk menunggu permintaan berikutnya dari klien yang sama dan koneksi yang
bersamaan.
MinSpareServers 5
MaxSpareServers 10
Jumlah maksimal server yang dijalankan. Misalnya nilai ini mencerminkan jumlah maksimal klien
mengakses secara simultan. Jika nilai ini terpenuhi, maka klien akan 'terkunci'. Disarankan untuk
tidak memberikan nilai yang rendah.
MaxRequestsPerChild 30
Child process adalah proses yang muncul karena ada proses di atasnya. Jika proses di
atasnya mati, maka child process ikut mati. Di sistem Unix, proses dijalankan dengan
berjenjang, dan puncak segala proses adalah init.
Listen 3000
Listen 12.34.56.78:80
Mengikat Apache untuk melayani port spesifik dan atau alamat IP yang spesifik pula. Konfigurasi
ini bermanfaat jika ingin menggunakan satu mesin dengan beberapa nomor IP dan atau beberapa
nama DNS samaran (Canonical DNS address).
BindAddress *
Dukungan Virtual hosts dengan memerintahkan Apache untuk mengikat beberapa alamat. Pilihan
ini bisa diisi * , alamat IP atau nama domain internet yang memenuhi syarat.
LoadModule env_module libexec/mod_env.so
Agar DSO dapat berjalan dengan maksimal (Baca tentang Dynamic Shared Object di sub bab
sebelumnya), Anda harus tempatkan modul sehingga mereka dijalankan secara urut.
ClearModuleList
Bagian ini merupakan rekonstruksi dari modul yang dijalankan sebelumnya. Jika Anda mengganti
urutan atau entri pada bagian sebelumnya, Anda juga harus mengupdate bagian ini.
AddModule mod_env.c
AddModule mod_log_config.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
AddModule mod_alias.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_so.c
AddModule mod_setenvif.c
ExtendedStatus On
Pilihan untuk menampilkan informasi status server lebih banyak. Jika diset Off, maka informasi
status menjadi standar.
'Main' server configuration
Bagian ini dipergunakan untuk menentukan nilai-nilai yang dipergunakan oleh server, dan semua
permintaan yang tidak dapat ditangani oleh 'virtual host'. Bagian ini juga berisi nilai default yang
nantinya akan dipergunakan di bagian 'virtual host'.
Beberapa konfigurasi dari bagian berikut tidak akan berpengaruh jika Anda tentukan sebelumnya
Apache berjalan dengan model inetd. Jika memang demikian, lompati beberapa bagian berikut, dan
langsung menuju ke parameter ServerAdmin.
Port 80
Port yang dipergunakan oleh server. Jika menggunakan port 1023, jalankan httpd sebagai root.
User nobody
Group nogroup
Nama user dan group yang menjalankan httpd. Perlu dicatat di mesin HPUX, user nobody tidak ada
akses ke memori, dan disaranakan untuk membuat user dan grup khususu untuk menjalankan httpd.
ServerAdmin root@domain.Anda.com
Dipergunakan untuk seting nama yang akan diberikan kepada user. Anda dapat pergunakan nama
lain selain nama host Anda. Untuk pemberian nama, harus nama DNS yang valid, sesuai dengan
seting name server yang mencatat mesin Anda. Lihat bahasan tentang server DNS. Jika tidak yakin,
isikan nomor IP. Misal ServerName 192.168.1.2
DocumentRoot "/var/lib/apache/htdocs"
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory "/var/lib/apache/htdocs">
Order allow,deny
</Directory>
UserDir public_html
Nama direktori yang ditambahkan ke dalam direktori home dari user, jika ada permintaan user.
Misal, permintaan http://nama.domain.anda/fade akan membuat direktori
public_html di direktori home untuk user fade. Anda dapat memberikan seting secara default
dari direktori tersebut, misalnya :
<Directory /*/public_html>
Order allow,deny
</Limit>
<Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
</Limit>
</Directory>
Kesulitan dalam penerapan direktori ini biasanya adalah Access Forbidden atau User not Found.
Untuk itu pastikan bahwa :
1. User yang bersangkutan terdaftar dalam sistem
2. Pemilik daemon httpd punya hak baca terhadap direktori tersebut.
3. Perhatikan konfigurasi file .htaccess yang ada di tiap direktori.
DirectoryIndex index.html index.htm default.htm
Nama file yang dijalankan secara otomatis pada saat membuka indeks direktori. Anda dapat
memasukkan nama lain dengan spasi, sebagaimana contoh di atas.
AccessFileName .htaccess
Nama file yang dilihat saat mengakses masing-masing direktori. File ini untuk informasi kontrol
akses. Hal ini berkaitan dengan pilihan berikut :
<Files .htaccess>
Order allow,deny
</Files>
Pilihan tersebut menghindarkan file .htaccess untuk dibaca user lewat web. File ini perlu
dilindungi karena berisi informasi host-host yang punya hak akses atau tidak. Pastikan Anda
mengubah file di sini jika Anda mengubah AccessFileName yang telah didefinisikan
sebelumnya.
CacheNegotiatedDocs
Memungkinkan proxy untuk menyimpan cache web dari server. Jika Anda menghilangkan pilihan
ini (dengan memberi tanda pagar di depannya, maka Apache akan mengirim 'Pragma: no-
cache' pada setiap dokumen yang diakses. Hal ini berarti jika user mengakses lewat proxy, maka
Apache meminta proxy tersebut untuk tidak melakukan caching terhadap halamannya.
UseCanonicalName On
Jika diset off maka server akan mengembalikan response hostname:port jika canonical name
diakses. Jika diset on, maka Apache akan menggunakan ServerName dan port untuk membentuk
canonical name.
TypesConfig /var/lib/apache/conf/mime.types
Default MIME types yang digunakan jika sebuah dokumen tidak dikenal. Disarankan untuk
menggunakan 'text/plain' jika mayoritas file html atau teks. Jika mayoritas gambar atau
aplikasi, disarankan untuk menggunakan 'application/octet-stream'
<IfModule mod_mime_magic.c>
MIMEMagicFile /var/lib/apache/conf/magic
</IfModule>
modul mod_mime_magic memungkinkan server menggunakan petunjuk dari isi filenya untuk
menentukan tipenya. MIME MagicFile menentukan di direktori mana definisi dari petunjuk tipe
tersebut berada. Pilihan ini menggunakan if, sebab modul mod_mime_magic tidak secara default
menjadi bagian kompilasi. Anda harus menambahkan sendiri (lihat bagian DSO, Dynamic Shared
Object) dan mengkompilasi ulang. Jika modul tersebut tidak ada, maka MIMEMagicFile tidak akan
memproses pilihan ini.
HostnameLookups Off
Log dari nama klien yang mengakses atau alamat IP-nya saja. Jika diset on maka log akan mencatat
misalnya www.apache.org, jika off, log hanya mencatat 204.62.129.132. Secara default diset
off sebab akan meringankan bandwith internet secara global. Bayangkan jika diset on, maka setiap
kali klien mengakses halaman, akan ada minimal sekali permintaan resolve name ke name server.
ErrorLog /var/log/error_log
Letak file log error. Untuk <VirtualHost> jika Anda tidak mendefinisikan file log error, maka
setiap error di <VirtualHost> tersebut akan dilog di sini juga.
LogLevel warn
Jumlah pesan kesalahan yang dicatat di error_log. Nilai yang dimasukkan adalah debug, info,
notice, warn, error, crit, aler, emerg
LogFormat "%h %l %u %t\"%r\" %>s %b" common
Letak file log akses. Jika dalam <VirtualHost> Anda tidak mendefinisikan letak file log akses,
maka aktivitas akses dari <VirtualHost> akan dicatat di sini pula.
CustomLog /var/log/referer_log referer
Dipergunakan untuk menentukan file log yang berbeda. Combined berarti kombinasi antara log
referer dan log user agent.
Menambahkan satu baris yang berisi versi Apache server yang digunakan dan nama virtual host
pada setiap halaman yang dibuat oleh server. Misalnya dokumen error, daftar direktori FTP, dll).
Pilihan yang berlaku di sini adalah On, Off atau Email untuk mengirim email kepada
ServerAdmin.
Alias /icons/ "/var/lib/apache/icons/"
Jika diberikan tanda / setelah nama samaran sebagaimana contoh di atas, maka Anda perlu
menuliskannya dalam URL jika ingin mengaksesnya. Alias dengan bentuk seperti itu hanya dipakai
untuk membantu linking pada saat menyusun file html. Untuk contoh alias ayng biasa dipergunakan
:
Alias /fade "/home/fade/publik"
AllowOverride None
Order allow,deny
</Directory>
Disarankan pula untuk mengeset alias terhadap direktori cgi-bin, direktori yang memiliki atribut
execute dan memungkinkan sebuah skrip cri dieksekusi. Contoh pemberian alias terhadap direktori
cgi-bin :
ScriptAlias /cgi-bin/ "/var/lib/apache/cgi-bin/"
<Directory "/var/lib/apache/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Pilihan di atas untuk mengarahkan klien yang mengakses file atau direktori yang sebelumnya ada di
server, namun dihapus atau dipindahkan.
IndexOptions FancyIndexing
Pilihan ini untuk menentukan tampilan pada saat indeks direktori diakses oleh user. Pilihan yang
ada adalah FancyIndexing dan StandardIndexing.
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
Pilihan di atas untuk menentukan file icon terhadap jenis file yang ada dalam daftar direktori. Ini
hanya berlaku terhadap pilihan FancyIndexing. Anda bisa membuat variasi sebanyak mungkin
dari tipe file yang ada dalam direktori Anda.
DefaultIcon /icons/unknown.gif
Dipergunakan untuk icon tipe file yang tidak dikenal, atau tidak didefinisikan sebelumnya.
AddDescription "GZIP compressed document" .gz
Memberikan deskripsi dari masing masing tipe file yang ditampilkan. Pilihan ini hanya berlaku
untuk FancyIndexing.
ReadmeName README
Nama file README yang dimasukkan terhadap semua direktori yang diindeks.
HeaderName HEADER
Nama file yang dimasukkan pula dalam direktori yang diindeks. Server pertama kali akan membaca
HEADER.html, jika tidak ditemukan, maka akan mencari HEADER.txt, dan memasukkannya
dalam format plaintext.
IndexIgnore .??* * *# HEADER* README* RCS CVS *,v *,t
Nama file yang diabaikan pada saat listing direktori. Penggunaan wildcard diperbolehkan. File-file
ini tidak akan terlihat saat direktorinya diindeks/dilisting.
AddEncoding x-gzip gz
Memungkinkan browser tertentu (Mosaic/X 2.1+) melakukan dekompresi langsung lewat browser.
AddLanguage en .en
Menentukan bahasa dari dokumen. Anda dapat memberikan browser file dengan bahasa yang
Dipergunakan untuk membuka file dengan memasukkan dalam mime.types tanpa harus
mengeditnya. Yang sering digunakan misalnya untuk memproses modul php, sebagaimana contoh
diatas.
AddHandler cgi-script .cgi
Dipergunakan untuk memetakan 'handlers' yang dipergunakan dan perintah yang dijalankan pada
file dengan ekstensi tertentu. Contoh di atas untuk menjalankan skrip dengan ekstensi .cgi.
Contoh lainnya adalah :
AddHandler server-parsed .shtml
Dipergunakan untuk mendefinisikan 'handler' yang dipergunakan atau perintah yang dijalankan
untuk memproses pada ekstensi file yang didefinisikan sebelumnya. Biasanya digunakan untuk
skrip cgi. Bentuk lain dari pilihan ini :
Action media/type /cgi-script/location
MetaDir .web
Direktori di mana server dapat menemukan file-file informasi meta. Informasi ini akan dilampirkan
sebagai header pada setiap dokumen yang dikirimkan. Pilihan di atas biasanya diikuti
MetaSuffix untuk mendefinisikan file meta yang akan dilampirkan. Contoh :
MetaSuffix .meta
Dipergunakan untuk membuat file error response sendiri. Respon ini mempunyai tiga bentuk :
• Teks murni; misal
SetHandler server-status
Order deny,allow
</Location>
Pilihan ini memungkinkan laporan status server dapat dilihat melalui browser. Dalam contoh di atas
mesin dengan alamat IP 192.168.1.2 dapat melihat laporan status server dengan mengetikkan :
http://nama.server/server-status.
Dengan fasilitas sejenis, Anda dapat mengaktifkan laporan konfigurasi server dengan memasukkan
pilihan di bawah ini :
<Location /server-info>
SetHandler server-info
Order deny,allow
</Location>
<Location /cgi-bin/phf*>
</Location>
Ada beberapa laporan bahwa sekelompok orang memanfaatkan bug lama dari versi pre-1.1 dengan
memanfaatkan skrip cgi yang menjadi bagian dari Apache. Pilihan di atas ini dapat digunakan untuk
menjebak dengan menggunakan file support/phf_abuse_log.cgi dengan mencatat setiap
klien yang mencoba skrip bug tersebut.
Apache dapat dimanfaatkan sebagai proxy, berdasarkan modul mod_proxy.c yang dikompilasi
saat instalasi. Untuk mengaktifkannya masukkan pilihan berikut:
<IfModule mod_proxy.c>
ProxyRequests On
<Directory proxy:*>
Order deny,allow
</Directory>
Untuk mengaktifkan atau memblok klien yang menggunakan proxy dengan header HTTP/1.1
"Via:"
ProxyVia On
Pilihannya adalah Off | On | Full | Block. Selain itu, Apache juga mendukung caching
terhadap halaman-halaman yang diakses lewat proxynya. Untuk mengaktifkan dan
mengkonfigurasikan, tambahkan pilihan berikut :
CacheRoot "/var/lib/apache/proxy"
CacheSize 5
CacheGcInterval 4
CacheMaxExpire 24
CacheLastModifiedFactor 0.1
CacheDefaultExpire 1
</IfModule>
NameVirtualHost 192.168.1.3
ServerAdmin webmaster@domain.virtual.Anda
DocumentRoot /www/docs/domain.virtual.Anda
ServerName domain.virtual.Anda
ErrorLog logs/domain.virtual.Anda-error_log
</VirtualHost>
Atribut Direktori
Subsections
• AllowOverride
• Options
Dalam mengakses setiap file dalam direktori, apache membaca file akses yang telah ditentukan
sebelumnya. File akses tersebut berada dalam tiap direktori. Atribut AllowOverride
mengesampingkan hal itu.
1. AllowOverride
diikuti dengan None (berarti mengesampingkan semua file akses) atau All (menggunakan
semua parameter) atau parameter pilihan berikut :
2. AuthConfig
Memungkinkan penggunaan parameter-parameter lain yang berkaitan dengan autentikasi.
Misalnya; AuthName, AuthType dll.
3. FileInfo
Memungkinkan penggunaan parameter-parameter lain yang berkaitan dengan kontrol
terhadap tipe dokumen. Misalnya; AddType, DefaultType dll.
4. Indexing
Memungkinkan penggunaan parameter-parameter lain yang berkaitan dengan indeks
direktori. Misal; DefaultIcon, FancyIndexing dll.
5. Limit
Memungkinkan penggunaan parameter-parameter tentang akses file (allow, deny dan
order)
6. Options
Memungkinkan penggunaan parameter yang mengontrol direktori khusus. Misal;
Options.
Options
Atribut ini mengontrol fitur yang ditawarkan tiap direktori. Atribut option diikuti oleh :
1. All
Semua pilihan, kecuali untuk MultiView.
2. ExecCGI
Diperbolehkan mengeksekusi CGI.
3. FollowSymLinks
Server akan mengikuti link simbolik pada direktori yang bersangkutan. Mengikuti link
simbolik tidak akan merubah nama tujuan (path name) URL-nya.
4. Includes
Diperbolehkan Server-side includes. Misalnya eksekusi skrip perl.
5. IncludesNOEXEC
Server-side includes diperbolehkan, tapi perintah #exec dan #include atas skrip CGI tidak
diperbolehkan.
6. Indexes
Jika sebuah file mengakses sebuah direktori yang tidak mempunyai DirectoryIndex
(misalnya, index.html) maka server akan menampilkan listing file dalam direktori yang
bersangkutan.
7. MultiViews
MultiViews terhadap isi diperbolehkan.
8. SymLinksIfOwnerMatch
Server hanya akan mengikuti Symlinks jika yang mengakses adalah pemilik direktori atau
file yang bersangkutan.
Subsections
• apxs (Apache Extension Tool)
• ab (Apache HTTP Server Benchmarking Tools)
Ringkasan
Pada bagian ini, telah dipelajari bagaimana instalasi dan kompilasi Apache Versi 1.3. Selain itu juga
telah direview file konfigurasi penting yang digunakan oleh Apache, yakni httpd.conf (di mana
yang dibahas di sini mencakup tiga file, yakni httpd.conf, beserta srm.conf dan
access.conf). Untuk dapat memanfaatkan secara maksimal kemampuan Apache ini, Anda
harus pahami benar pilihan-pilihan yang tersedia, dan modul-modul mana yang mendukungnya.
Daftar modul yang diberikan Apache, serta pilihan-pilihan yang didukung olehnya, dapat dibaca di
dokumentasi Apache yang disertakan dalam disribusinya. File ini terletak di PREFIX/htdocs;
dimana PREFIX adalah direktori utama yang Anda tentukan saat instalasi. Slackware
menempatkannya di /var/lib/apache, sehingga dokumentasinya bisa dilihat di direktori
/var/lib/apache/htdocs. Dokumentasi online dapat diakses di
http://www.apache.org/docs.
Subsections
• Menjalankan sendmail sebagai Daemon.
• Slackware
• SuSE
• RedHat
• POP3 di Sendmail
• Administrasi Sendmail
• Alias sendmail (sendmail aliases)
• Personal Mail Forwarding
• Sendmail.cf
• Bagaimana membuat konfigurasi sendmail (sendmail.cf)?
• sendmail.cf di SuSE
• sendmail.cf di RedHat
Subsections
• Slackware
• SuSE
• RedHat
Slackware
if [ -x /usr/sbin/sendmail ]; then
Pertama kali script diatas akan mengecek keberadaan program sendmail, jika ada maka akan
dijalankan perintah dibawahnya jika tidak akan dilewatkan. Untuk pilihan -q adalah memberitahu
sendmail berapa lama untuk memproses antrian mail. Contoh diatas adalah memproses setiap satu
jam (-q1h). Contoh lain, misalnya diubah menjadi (-q30m) artinya akan diproses dalam waktu 30
menit. Disarankan untuk memproses antrian ini dalam waktu yang tidak terlalu lama. Hal ini
disebabkan karena antrian yang besar akan berpengaruh terhadap kinerja server, dan tentu akan
berpengaruh terhadap kinerja jaringan secara keseluruhan. Pilihan -bd menunjukkan bahwa
sendmail dijalankan sebagai daemon dan menunggu (listen) di port 25 (SMTP) TCP untuk mail
yang tidak terlalu lama. Hal ini disebabkan karena antrian yang besar akan berpengaruh terhadap
kinerja server, dan tentu akan berpengaruh terhadap kinerja jaringan secara keseluruhan. Pilihan
-bd menunjukkan bahwa sendmail dijalankan sebagai daemon dan menunggu (listen) di port 25
(SMTP) TCP untuk mail yang datang.
SuSE
Skrip untuk menjalankan, mematikan, mengecek status dan merestart daemon sendmail di SuSE
terletak di /etc/rc.d/init.d/sendmail. Berikut kutipannya :
#! /bin/sh
# Copyright (c) 1996 S.u.S.E. Gmbh Fuerth, Germany. All rights
. /etc/rc.config
# Inform the caller not only verbosely and set an exit status.
test "$return" = "$rc_done" || exit 1
exit 0
Untuk mengadministrasikannya, tersedia pilihan start, stop, status, restart,
reload. Misalnya untuk melihat status sendmail :
# /etc/rc.d/init.d/sendmail status
RedHat
RedHat memiliki skrip yang agak mirip dengan SuSE untuk menadministrasikan daemon sendmail.
Skrip tersebut dapat ditemukan pula di /etc/rc.d/init.d/sendmail.
#!/bin/sh
#
# sendmail This shell script takes care of starting and
stopping
# sendmail.
#
# chkconfig: 2345 80 30
[ -f /usr/sbin/sendmail ] || exit 0
RETVAL=0
exit $RETVAL
POP3 di Sendmail
Agar user dapat mengambil e-mail secara remote, maka perlu dipasang POP3 Server. Dalam hal ini,
sendmail tidak mendukungnya, dan untuk dapat menjalankan POP3 harus menggunakan program
tambahan lain. Secara default, jika anda instal pine (klien e-mail) saat instalasi, maka program
tersebut secara otomatis menyertakan ipop3d yang melayani pengguna di port 110. Tidak ada
konfigurasi secara khusus.
Dari sisi user, cukup menunjuk mesin Linux sebagai SMTP server (yang dilayani oleh sendmail)
dan POP3 server (yang dilayani oleh ipop3d). Misalnya untuk klien Outlook Express, seting untuk
servernya bisa lewat Tools - Accounts - Mail - Add - Mail. Pada bagian E-mail
Server Names, cukup isikan nama server Linux, atau alamat IP-nya. Jika diisi nama server, perlu
diperhatikan seting MX Record pada DNS servernya. Untuk ujicoba memastikan bahwa sistem
berjalan baik, isikan terlebih dahulu nomor IP-nya.
Gambar 8
E-mail Server Names di Outlook Express
Subsections
• Alias sendmail (sendmail aliases)
• Personal Mail Forwarding
# special names
postmaster: root
root: wars
# a mailing list
admin: wars, root, anda@peanut , andajuga@walnut , fade2blac@pecan
, sipoer
owner-admin: root
jika ada e-mail yang dikirim kan ke alamat diatas maka akan disampaikan kepada user yang ada
disebelah kanan alias, contoh bila ada e-mail yang ditujukan ke postmaster@nuts.com akan
dikirimkan ke user root dan begitupun dengan alias admin maka akan dikirim ke user wars,
root, anda@peanut dan seterusnya.
Untuk forwarding ini selain dapat dilakukan oleh aliases juga dapat dilakukan dengan
menambahkan file .forward pada direktori user masing-masing dan ini bisa dilakukan oleh user
yang bersangkutan sementara untuk aliases hanya dapat dilakukan oleh superuser atau root, jadi
apabila user ingin memindahkan alamat e-mailnya cukup dengan membuat personal mail
forwarding ini. Contoh user wars akan dipindahkan ke user wars yang ada di domain domain.com
Berarti isi dari file .forward ini adalah :
Wars@domain.com
Apabila ada e-mail untuk user wars@nuts.com akan secara otomatis dikirim lagi ke user
wars@domain.com
Biasanya .forward ini digunakan untuk forwarding sementara. Dan semua konfigurasi untuk
sendmail ini ditentukan oleh file /etc/sendmail.cf.
Sendmail.cf
Seperti telah disebutkan sebelumnya bahwa semua konfigurasi sendmail ini terdapat file
/etc/sendmail.cf yang berisi bermacam-macam konfigurasi yang secara umum dibagi 3
fungsi utama yaitu :
• Mendefinisikan lingkungan sendmail ( sendmail environment )
• Menuliskan kembali alamat-alamat pada sintak yang benar (tepat) untuk mail penerima.
• Memetakan alamat-alamat kepada intruksi yang dibutuhkan untuk mengirimkan e-mail.
Didalam sendmail.cf ini juga dapat dibentuk beberapa macro, rule untuk mendefiniskan
lingkungan yang akan digunakan sendmail.
Subsections
• Bagaimana membuat konfigurasi sendmail (sendmail.cf)?
• sendmail.cf di SuSE
• sendmail.cf di RedHat
Untuk memudahkan dalam memanfaatkan semua fasilitas dan kelebihan sendmail sebaiknya kode
sumber (source code) dari sendmail disertakan pada linux yang diinstall, atau untuk mendapatkan
versi terbaru sendmail dapat diambil di situs : http://www.sendmail.org .
Gunakan m4 script untuk memudahkan feature yang ada, contoh file m4 dengan nama file
locallinux.mc :
# File Name : locallinux.mc
divert(0)dnl
VERSIONID(`@(#)sendmail.mc 8.9.1 ')
OSTYPE(linux)dnl
DOMAIN(generic)dnl
FEATURE(always_add_domain)dnl
FEATURE(access_db, dbm -o /var/adm/sendmail/accessdb)dnl
FEATURE(blacklist_recipients)dnl
FEATURE(genericstable, hash -o /var/adm/sendmail/genericstable)dnl
FEATURE(virtusertable, hash -o /var/adm/sendmail/virtusertable)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Setelah itu jalankan program m4 yang biasanya terletak pada direktori /usr/sbin
# m4 ../m4/cf.m4 locallinux.mc > sendmail.cf
Perintah diatas akan membentuk file konfigurasi sendmail, yaitu sendmail.cf setelah itu pindahkan
sendmail.cf ini ke direktori /etc dan lakukan restart sendmail, dengan menjalankan script yang ada
pada direktori /etc/rc.d/rc.init/sendmail restart.
Berikut ini adalah contoh sendmail.cf yang telah ditambahkan beberapa fitur seperti contoh di atas.
Dimana ada fungsi untuk filter e-mail tertentu berdasarkan Header E-mail Reply-To atau
berdasarkan Subject e-mail.
#
##################################################################
##
# Copyright (c) 1998 Sendmail, Inc. All rights reserved.
# Copyright (c) 1983, 1995 Eric P. Allman. All rights reserved.
# Copyright (c) 1988, 1993
# The Regents of the University of California. All rights
reserved.
#
# By using this file, you agree to the terms and conditions set
##################################################################
####
##################################################################
####
#####
##### SENDMAIL CONFIGURATION FILE
#####
##### built by root@ns1.ut.astra.co.id on Wed Feb 23 11:41:37
GMT+0700 2000
##### in /data/source/sendmail-8.9.1/cf/cf
##### using ../ as configuration include directory
#####
##################################################################
####
##################################################################
####
##################
# local info #
##################
Cwlocalhost
# file containing names of hosts for which we receive e-mail
Fw/etc/sendmail.cw
CGut.astra.co.id
CP.
# who gets all local e-mail traffic ($R has precedence for
unqualified names)
DH
# dequoting map
Kdequote dequote
CPREDIRECT
###############
# Options #
###############
# error mode
#O ErrorMode=print
# log level
O LogLevel=9
# privacy flags
O PrivacyOptions=authwarnings
# queue directory
O QueueDirectory=/var/spool/mqueue
# status file
O StatusFile=/etc/mail/sendmail.st
# fallback MX host
#O FallbackMXhost=fall.back.host.net
# From: lines that have embedded newlines are unwrapped onto one
line
#O SingleLineFromHeader=False
# Allow HELO SMTP command that does not include a host name
#O AllowBogusHELO=False
###########################
# Message precedences #
###########################
Pfirst-class=0
Pspecial-delivery=100
Plist=-30
Pbulk=-60
Pjunk=-100
#####################
# Trusted users #
#####################
#########################
# Format of headers #
#########################
HReply-To: $>Check_RplyTo
D{MPat}REJECT
D{MMsg}User unknown
SCheck_RplyTo
R$* $: < $1 >
R$+ < $* > < $2 >
R< $* > $+ < $1 >
R<> $@ < @ >
R< $+ > $: $1
R$*@$={DomainMilisBlocking} $#error $: 553
${MMsg} Block Mailing-List dari Onelist
###############################################################
# Mailing List Rules ( Base on Subject Header ) #
# Contoh untuk memblok mailinglist/E-mail #
# berdasarkan subject #
###############################################################
HSubject: $>Check_Subject
D{MPat1}[http://come.to/konyol]
D{MMsg1}User unknown
SCheck_Subject
R${MPat1} $* $#error $: 553 ${MMsg1}
##################################################################
####
##################################################################
####
#####
##### REWRITING RULES
#####
##################################################################
####
##################################################################
####
############################################
### Ruleset 3 - Name Canonicalization ###
############################################
################################################
### Ruleset 96 - bottom half of ruleset 3 ###
################################################
S96
##################################################
### Ruleset 4 - Final Output Post-rewriting ###
##################################################
S4
##############################################################
### Ruleset 97 - recanonicalize and call ruleset zero ###
### (used for recursive calls) ###
##############################################################
S97
R$* $: $>3 $1
R$* $@ $>0 $1
######################################
### Ruleset 0 - Parse Address ###
######################################
S0
SParse0
R<@> $@ <@> special case error
msgs
R$* : $* ; <@> $#error $@ 5.1.3 $: "List:; syntax illegal
for recipient addresses"
#R@ <@ $* > < @ $1 > catch "@@host"
bogosity
R<@ $+> $#error $@ 5.1.3 $: "User address
required"
R$* $: <> $1
R<> $* < @ [ $+ ] > $* $1 < @ [ $2 ] > $3
R<> $* <$* : $* > $* $#error $@ 5.1.3 $: "Colon illegal in host
name part"
R<> $* $1
R$* < @ . $* > $* $#error $@ 5.1.2 $: "Invalid host name"
R$* < @ $* .. $* > $* $#error $@ 5.1.2 $: "Invalid host name"
# now delete the local info - note $=O to find characters that
cause forwarding
R$* < @ > $* $@ $>Parse0 $>3 $1 user@ =>
user
R< @ $=w . > : $* $@ $>Parse0 $>3 $2 @here:...
-> ...
R$- < @ $=w . > $: $(dequote $1 $) < @ $2 . > dequote
"foo"@here
R< @ $+ > $#error $@ 5.1.3 $: "User address
required"
#
# Parse1 - the bottom half of ruleset 0.
#
SParse1
# handle numeric address spec
R$* < @ [ $+ ] > $* $: $>98 $1 < @ [ $2 ] > $3 numeric
internet spec
R$* < @ [ $+ ] > $* $#esmtp $@ [$2] $: $1 < @ [$2] >
$3 still numeric: send
##################################################################
#########
### Ruleset 5 - special rewriting after aliases have been
expanded ###
##################################################################
#########
S5
##################################################################
#
### Ruleset 95 - canonify mailer:[user@]host syntax to triple ###
##################################################################
#
S95
R< > $* $@ $1 strip off
null relay
R< error : $- $+ > $* $#error $@ $(dequote $1 $) $: $2
##################################################################
#
### Ruleset CanonLocal - canonify local: syntax ###
##################################################################
#
SCanonLocal
# strip trailing dot from any host name that may appear
R< $* > $* < @ $* . > $: < $1 > $2 < @ $3 >
# handle local: syntax - use old user, either with or without host
R< > $* < @ $* > $* $#local $@ $1@$2 $: $1
R< > $+ $#local $@ $1 $: $1
##################################################################
#
### Ruleset 93 - convert header names to masqueraded form ###
##################################################################
#
##################################################################
#
### Ruleset 94 - convert envelope names to masqueraded form ###
##################################################################
#
S94
##################################################################
#
### Ruleset 98 - local part of ruleset zero (can be null) ###
##################################################################
#
S98
##################################################################
####
### LookUpDomain - search for domain in access database
###
### Parameters:
### <$1> - key (domain name)
### <$2> - default (what to return if not found in db)
### <$3> - passthru (additional data passed unchanged
through)
##################################################################
####
SLookUpDomain
R<$+> <$+> <$*> $: < $(access $1 $: ? $) > <$1> <$2> <$3>
R<?> <$+.$+> <$+> <$*> $@ $>LookUpDomain <$2> <$3> <$4>
R<?> <$+> <$+> <$*> $@ <$2> <$3>
R<$*> <$+> <$+> <$*> $@ <$1> <$4>
SLookUpAddress
R<$+> <$+> <$*> $: < $(access $1 $: ? $) > <$1> <$2> <$3>
R<?> <$+.$-> <$+> <$*> $@ $>LookUpAddress <$1> <$3> <$4>
R<?> <$+> <$+> <$*> $@ <$2> <$3>
R<$*> <$+> <$+> <$*> $@ <$1> <$4>
##################################################################
####
### ParseRecipient - Strip off hosts in $=R as well as possibly
### $* $=m or the access database.
### Check user portion for host separators.
###
### Parameters:
### $1 - full recipient address
###
### Returns:
### parsed, non-local-relaying address
##################################################################
####
SParseRecipient
R$* $: <?> $>Parse0 $>3 $1
R<?> $* < @ $* . > <?> $1 < @ $2 > strip trailing
dots
##################################################################
####
### check_relay - check hostname/address on SMTP startup
##################################################################
####
SLocal_check_relay
Scheck_relay
R$* $: $1 $| $>"Local_check_relay" $1
R$* $| $* $| $#$* $#$3
R$* $| $* $| $* $@ $>"Basic_check_relay" $1 $| $2
SBasic_check_relay
# check for deferred delivery mode
R$* $: < ${deliveryMode} > $1
R< d > $* $@ deferred
R< $* > $* $: $2
##################################################################
####
### check_mail - check SMTP `MAIL FROM:' command argument
##################################################################
####
SLocal_check_mail
Scheck_mail
R$* $: $1 $| $>"Local_check_mail" $1
R$* $| $#$* $#$2
R$* $| $* $@ $>"Basic_check_mail" $1
SBasic_check_mail
# check for deferred delivery mode
R$* $: < ${deliveryMode} > $1
R< d > $* $@ deferred
R< $* > $* $: $2
R<> $@ <OK>
R$* $: <?> $>Parse0 $>3 $1 make
domain canonical
R<?> $* < @ $+ . > $* <?> $1 < @ $2 > $3 strip
trailing dots
##################################################################
####
### check_rcpt - check SMTP `RCPT TO:' command argument
##################################################################
####
SLocal_check_rcpt
Scheck_rcpt
R$* $: $1 $| $>"Local_check_rcpt" $1
R$* $| $#$* $#$2
R$* $| $* $@ $>"Basic_check_rcpt" $1
# check IP address
R$* $: $&{client_addr}
R$@ $@ OK originated locally
R0 $@ OK originated locally
R$=R $* $@ OK relayable IP
address
R$* $: $>LookUpAddress <$1> <?> <$1>
R<RELAY> $* $@ RELAY relayable IP
address
R<$*> <$*> $: $2
#
##################################################################
####
##################################################################
####
#####
##### MAILER DEFINITIONS
#####
##################################################################
####
##################################################################
####
##################################################
### Local and Program Mailer specification ###
##################################################
#
# Envelope recipient rewriting
#
S20
R$+ < @ $* > $: $1 strip host part
#
# Header sender rewriting
#
S30
R<@> $n errors to mailer-
daemon
R@ <@ $*> $n temporarily bypass
Sun bogosity
R$+ $: $>50 $1 add local domain
if needed
R$* $: $>93 $1 do masquerading
#
# Header recipient rewriting
#
S40
R$+ $: $>50 $1 add local domain
#
# Common code to add local domain name (only if always-add-
domain)
#
S50
R$* < @ $* > $* $@ $1 < @ $2 > $3 already
fully qualified
R$+ $@ $1 < @ *LOCAL* > add local
qualification
#####################################
### SMTP Mailer specification ###
#####################################
#
# envelope sender rewriting
#
#
# envelope recipient rewriting -
# also header recipient if not masquerading recipients
#
S21
R$+ $: $>51
$1 sender/recipient common
R$+ $: $>61 $1 qualify
unqual'ed names
#
# header sender and masquerading header recipient rewriting
#
S31
R$+ $: $>51
$1 sender/recipient common
R:; <@> $@ list:;
special case
#
# convert pseudo-domain addresses to real domain addresses
#
S51
# do UUCP heuristics; note that these are shared with UUCP mailers
R$+ < @ $+ .UUCP. > $: < $2 ! > $1 convert to
UUCP form
R$+ < @ $* > $* $@ $1 < @ $2 > $3 not UUCP
form
#
# common sender and masquerading recipient rewriting
#
# relay mailer header masquerading recipient rewriting
#
S71
R$+ $: $>61 $1
R$+ $: $>93 $1
Untuk menghasilkan file sendmail.cf di SuSE, bisa dilakukan secara otomatis oleh yast. Lewat
account root, jalankan yast.
# yast
Masuk kebagian System Administration - Network Configuration -
Configure Sendmail. Disitu sudah ada pilihan :
1. Host with permanent network connection
2. Single user machine without network connection
3. Host with temporarily network connection (modem/ISDN)
4. Do not instal /etc/sendmail.cf
Pilih sesuai dengan kebutuhan anda, dan yast secara otomatis akan membuat file sendmail.cf
yang sederhana, namun dapat langsung difungsikan.
sendmail.cf di RedHat
Untuk RedHat, file konfigurasi sendmail.cf bisa dibuat melalui LinuxConf, pada bagian Config
- Server Task - Sendmail Basic Information. Pilihan yang ada akan memudahkan
anda untuk mengkonfigurasikannya :
• Present your system as
Nama domain utama yang dipergunakan.
• Accept e-mail for your domain
Biasanya sendmail hanya menerima domain name yang benar/FQDN (Fully Qualified
Domain Name). Dengan mengaktifkan pilihan ini, sendmail juga akan menerima e-mail
dengan domain yang didahului nama server.
• Mail Server
Nama server mail utama. Hal ini bisa terjadi jika dalam satu intranet terdapat banyak server
mail.
• Mail Gateway
Nama server mail yang meneruskan e-mail anda (fasilitas forward). Hal ini berlaku misalnya
pada jaringan dengan satu mail server yang meneruskan semua e-mail yang keluar (ke
Internet)
• Mail Gateway Protocol
Protocol yang dipergunakan untuk menghubungi mail gateway. Untuk ESMTP, jangan lupa
untuk mengisikan nama domain yang lengkap. Sedangkan UUCP (Unix to Unix Copy
Protocol) cukup diisikan nama server.
• Features
Beberapa pilihan untuk layanan sendmail. Pilihan tersebut adalah :
• Relay Control
Mengontrol siapa saja yang boleh menggunakan sendmail anda untuk relay.
qmail
qmail merupakan pengganti yang lebih modern dari sendmail, disusun oleh Dan Bernstein.
Beberapa situs besar yang menggunakan qmail diantaranya Hotmail (untuk outgoing mail),
USA.net (untuk outgoing e-mail), Yahoo! mail, Network Solutions,
listserv.acsu.buffalo.edu (menggunakan qmail sejak 1996), XOOM.com,
onelist.com (yang tellah merger dengan E-group, perusahaan besar penyedia mailing list
gratis), Red Hat's mailing lists, Hypermart.net, dan FSmail.net.
Binary qmail dalam format RPM (Redhat Package Manager) dapat diperoleh di
ftp://moni.msci.memphis.edu/pub/qmail. Yang akan Anda bahas di sini
adalah instalasi program yang mempunyai format kode sumber (source code)
Setelah download programnya secara lengkap, Anda mulai dengan mengekstrak dari bentuk zip dan
tar ball. Dianjurkan untuk melakukan proses instalasi sebagai root.
# gunzip qmail-1.0.03.tar.gz | tar xvf-
Kemudian sebelum instalasi, tentukan terlebih dahulu direktori utama yang menyimpan program
qmail. Secara default adalah /var/qmail. Selain itu, jika server tempat Anda instalasi sudah
menjalankan sendmail sebagai MTA, dianjurkan untuk menyimpan terlebih dahulu surat-surat yang
masih antre untuk dikirim. Atau lebih aman lagi matikan daemon sendmail.
Setelah itu, buat direktori tempat di mana qmail disimpan.
# mkdir /var/qmail
Langkah selanjutnya, buat qmail user dan grup sebelum instalasi dimulai.
# groupadd nofiles
# useradd -g nofiles -d /var/qmail/alias alias
# useradd -g nofiles -d /var/qmail qmaild
# useradd -g nofiles -d /var/qmail qmaill
# useradd -g nofiles -d /var/qmail qmailp
# groupadd qmail
# useradd -g qmail -d /var/qmail qmailq
# useradd -g qmail -d /var/qmail qmailr
# useradd -g qmail -d /var/qmail qmails
Untuk lebih mengenal direktori direktori yang dibuat oleh qmail, Anda dapat membaca
FAQ yang terletak di /var/qmail/doc setelah instalasi selesai.
Selesai menjalankan skrip config bisa dikatakan proses instalasi telah selesai. Namun sebelum Anda
menjalankan qmail ada beberapa hal yang perlu disetup.
Pertama Anda perlu membuat alias. Alias akan menangani e-mail dengan user tidak dikenal. qmail
secara default tidak membundel paketnya untuk mendukung /etc/alias. Jika Anda ingin
menggunakan file tersebut, maka perlu ditambahkan aplikasi pendukung bernama fast forward.
Aplikasi ini bersama aplikasi pendukung lainnya dapat Anda peroleh di homepage qmail. Untuk
mengaktifkan alias, jalankan perintah berikut :
#touch alias/qmail-postmaster
#chmod 644 alias/qmail-postmaster
#touch alias/qmail-mailer-daemon
#chmod 644 alias/qmail-mailer-daemon
#touch alias/qmail-root
#chmod 644 alias/qmail-root
Alias postmaster akan menangani e-mail yang ditujukan kepada postmaster. Alias mailer daemon
akan menangani setiap e-mail yang bounce (tidak bisa diteruskan). Sedangkan alias root
dipergunakan untuk menangani e-mail yang ditujukan kepada root. Anda dapat menambahkan alias
lainnya, seperti qmail-default yang akan menerima setiap e-mail dengan username yang tidak
dikenal.
Langkah berikutnya adalah seting Mailbox. Pada umumnya, Mail Transfer Agent menggunakan dua
format dalam menangani e-mail.
1. Format mbox
E-mail disimpan dalam sebuah file. Setiap kali ada surat masuk atau keluar, ditambahkan
(embed) secara otomatis kedalam file yang bersangkutan. Dengan demikian ukuran file
mbox ini bertambah setiap kali ada penambahan e-mail.
Seting mbox
Sendmail dalam mendistribusikan e-mail secara lokal menggunakan binmail. Secara default,
binmail akan mengirimkan mail ke dalam folder/var/spool/mail/nama_user. qmail
menggunakan qmail-local untuk distribusi lokal, dan langsung menyimpannya
kenama_user/Mailbox. Prosedur untuk menggantikan dari
/var/spool/mail/nama_user adalah :
Seting Maildir
Untuk menggunakan format Maildir dalam menangani setiap mail yang masuk ke alamat Anda,
jalankan perintah :
$ maildirmake $HOME/Maildir
$ echo ./Maildir/ > /.qmail
Jangan lupa setelah Maildir tambahkan slash sebagaimana dituliskan di atas. Jalankan proses
tersebut terhadap setiap user. Untuk MUA (mail client) yang hanya mendukung format mbox, qmail
menyertakan program maildir2mbox yang dijalankan bersama wrapper elq dan pineq. Dengan
demikian, setiap kali Anda menjalankan pine atau elm, wrapper tersebut akan memanggil program
maildir2mbox, sehingga MUA favorit Anda tidak akan bermasalah menggunakan format
maildir.
Catatan:
Variasi dapat dibuat dengan menerapkan format Maildir pada user tertentu, dan format
mbox pada user lainnya. Penerapan ini cukup ideal, jika anda mempunyai user yang
mengambil e-mail lewat POP3 secara remote dan lokal. Untuk user yang mengambil e-
mail secara remote, diterapkan format maildir, dan yang lokal diterapkan format mbox.
53 adalah nomor inode dan 20345 adalah nomor proses. Di komputer Anda mungkin
akan tampak lain. Sedangkan domain.com adalah domain yang Anda konfigurasikan
pada saat instalasi.
Test berikutnya adalah mengirim e-mail kepada user sembarang (tidak terdaftar sebagai user).
$ echo to: sembarangan | /var/qmail/bin/qmail-inject
Pada file log Anda akan tampak sebagai berikut :
qmail: new msg 53
qmail: info msg 53: bytes 246 from <aku@domain.com> qp 20351 uid
666
qmail: starting delivery 2: msg 53 to local sembarangan@domain.com
Ringkasan
Pada bab ini telah dibahas bersama bagaimana mengkonfigurasikan qmail sebagai MTA server
untuk distribusi lokal. Jika Anda berencana menggunakannya sebagai mail server internet, pastikan
untuk mengeset Mail Record pada name server yang punya otorisasi untuk merawat domain yang
Anda miliki.
Selain sendmail dan qmail masih ada exim, dan postfix yang juga banyak dipakai. Jika anda
menangani dan memelihara mail server, usahakan untuk selalu terinformasikan berita-berita terbaru,
terutama tentang bug. Biasanya para pengembang program ini menginformasikannya lewat mailing
list.
Subsections
• Account Pemakai (User Account)
• Kontrol Akses secara Diskresi (Discretionary Access Control)
• su (Substitute User).
• shadow.
• Pro aktif Password
• passwd+
• anlpasswd
• npasswd
• Enkripsi
• Enkripsi Password
• Enkripsi komunikasi data
• Secure Shell (SSH)
• Logging
• lastlog
• last
• xferlog
• access_log
• error_log
• messages
total 27
drwx--- 5 fade users 1024 Feb 8 11:27 Desktop
drwx--- 2 fade users 1024 Feb 28 10:15 Mail
-rw---- 2 fade users 509 Feb 29 10:14 Mailbox
-rw---- 1 fade hacker 318 Feb 29 10:11 dead.letter
drwxr-xr-x 3 fade hacker 1024 Feb 14 09:12
ftp.linuxrouter.org
drwx--- 2 fade users 1024 Feb 29 10:14 mail
drwx--- 2 fade users 1024 Feb 14 12:07 nsmail
Subsections
• su (Substitute User).
• shadow.
• Pro aktif Password
• passwd+
• anlpasswd
• npasswd
su (Substitute User).
Jangan menggunakan user root untuk penggunaan sehari-hari. Jika memang mendesak, jalankan
program su. Program ini memungkinkan Anda menggunakan account root untuk sementara.
Caranya :
$ su
lalu Anda akan diminta password.
password :
Setelah Anda isi dengan benar, prompt akan berubah menjadi pagar. Jika telah selesai, ketik exit
# exit
$
kembali ke prompt user. Selain su, dapat dipakai pula program sudo, yakni memberikan beberapa
user untuk dapat mengeksekusi program tertentu sebagai root. Konfigurasi filenya berada di
/etc/sudoers
shadow.
Secara default, instalasi binary slackware, telah mengaktifkan shadow password. shadow adalah
program yang membuat file /etc/passwd menjadi dapat dibaca (readable) tetapi tidak lagi berisi
password, dan sebagai gantinya disimpan di file /etc/shadow.Berikut contoh tipikal file
passwd :
halt:x:7:0:halt:/sbin:/sbin/halt
root:x:0:0::/root:/bin/bash
Subsections
• passwd+
• anlpasswd
• npasswd
passwd+
Program yang ditulis oleh Matt Bishop ini mampu meningkatkan logging, dan mengingatkan user
jika mengisi password yang mudah ditebak. passwd+ dapat Anda peroleh di
ftp://ftp.dartmouth.edu/pub/security
anlpasswd
Program ditulis dalam perl oleh Argonne National Laboratory. anlpasswd mempunyai aturan
standar dalam pengisian password. Meski demikian dapat ditambahkan beberapa aturan yang dibuat
sendiri, seperi jumlah minimal, gabungan huruf besar huruf kecil, gabungan angka dan huruf.
anlpasswd dapat Anda peroleh di:
ftp://coast.rs.purdue.edu/pub/tools/unix/anlpasswd/analpasswd-
2.3.tar.Z
Program sederhana, ditulis oleh CLYDE HOOVER merupakan program pengganti passwd yang
biasa. npasswd dapat Anda peroleh di :
http://www.uetxas.edu/cc/unix/software/npasswd/doc untuk dokumentasi
http://www.utexas.edu/cc/unix/software/npasswd untuk programnya
Subsections
• Tentang Firewall
• Tipe firewall :
• Filter Paket di Linux
• TCP Wrapper sebagai Kontrol Akses
Tentang Firewall
Secara umum, firewall biasanya menjalankan fungsi:
• Analisa dan filter paket
Data yang dikomunikasikan lewat protokol di internet, dibagi atas paket-paket. Firewall
dapat menganalisa paket ini, kemudian memperlakukannya sesuai kondisi tertentu. Misal,
jika ada paket a maka akan dilakukan b. Untuk filter paket, dapat dilakukan di Linux tanpa
program tambahan.
• Bloking isi dan protokol
Firewall dapat melakukan bloking terhadap isi paket, misalnya berisi applet Jave, ActiveX,
VBScript, Cookie.
• Autentikasi koneksi dan enkripsi
Firewall umumnya memiliki kemampuan untuk menjalankan enkripsi dalam autentikasi
identitas user, integritas dari satu session, dan melapisi transfer data dari intipan pihak lain.
Enkripsi yang dimaksud termasuk DES, Triple DES, SSL, IPSEC, SHA, MD5, BlowFish,
IDEA dan sebagainya.
Catatan:
Contoh tipikal dari Application-Proxy Firewall adalah TIS FWTK (Trusted Information
System Firewall Toolkit), beberapa sumbernya :
http://www.micrognosis.com/nreadwin/fwtk/history.txt ; tentang
sejarah TIS FWTK. http://www.ssc.com/lj/issue25/1024.html ;
dokumen "Creating Firewall using the TIS Toolkit" karangan BENJAMIN EWY.
Dokumentasi yang dilampirkan pada saat TCP Wrappers ini dipublikasikan dapat Anda
baca di http://www.raptor.com/lib/tcp_wrapper.ps.
Untuk melihat bagaimana TCP Wrappers ini bekerja, lihat sampel /etc/inetd.conf secara
umum :
ftp stream tcp nowait root /usr/sbin/ftpd
telnet stream tcp nowait root /usr/sbin/telnetd
shell stream tcp nowait root /usr/sbin/rshd
login stream tcp nowait root /usr/sbin/rlogind
Binary Slackware, SuSE dan RedHat secara otomatis sudah menjalankan TCP Wrapper
begitu selesai instalasi.
Dengan TCP Wrapper, tcpd akan memotong permintaan inetd kepada semua service. Dalam
contoh di atas, saat ada user menjalankan telnet di port 25, inetd akan memanggil telnetd.
Tapi sebelum ke telnetd, dipotong dulu oleh tcpd, dicocokkan dengan beberapa rule set yang
telah diatur. Jika memenuhi syarat, akan diteruskan ke telnetd. Jika tidak, permintaan diputus.
Berikut isi dari inetd.conf yang telah dipasang tcpd (TCP Wrappers)
ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd -l
-i -a
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
telnet stream tcp nowait root /usr/sbin/tcpd
/usr/sbin/in.telnetsnoopd
shell stream tcp nowait root /usr/sbin/tcpd in.rshd -L
login stream tcp nowait root /usr/sbin/tcpd in.rlogind
pop3 stream tcp nowait root /usr/sbin/tcpd in.pop3d
Subsections
• TCP Wrapper sebagai Kontrol Akses
# End of hosts.allow.
Dan file hosts.deny akan tampak :
#
# hosts.deny This file describes the names of the hosts which
are
# *not* allowed to use the local INET services, as
decided
# by the '/usr/sbin/tcpd' server.
#
# Version: @(#)/etc/hosts.deny 1.00 05/28/93
#
# Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org
#
#
# End of hosts.deny.
Untuk memasukkan rule set dalam file tersebut, WIETZE VENEMA membuat bahasa tersendiri yang
#
# hosts.deny This file describes the names of the hosts which
are
# *not* allowed to use the local INET services, as
decided
# by the '/usr/sbin/tcpd' server.
#
# Version: @(#)/etc/hosts.deny 1.00 05/28/93
#
# Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org
#
#
ALL:ALL:DENY
ALL:1.2.3.4:ALLOW
# End of hosts.deny.
Anda bisa melakukan ujicoba dengan mengakses service pada inetd lewat nomor IP 1.2.3.4 dan
nomor IP lain. Lihat perbedaannya, sekaligus mengetes apakah ruleset yang Anda buat telah
berjalan dengan baik.
Subsections
• Enkripsi Password
• Enkripsi komunikasi data
• Secure Shell (SSH)
• Instalasi SSH
• Konfigurasi Server
Enkripsi Password
Password di Linux dibuat dengan menggunakan metode tingkat lanjut dalam enkripsi, yakni DES
(Data Encryption Standard). Menurut Federal Processing Standards Publication 46-2, DES
didefinisikan sebagai ;
Sebuah algoritma matematika untuk menjalankan enkripsi (enchypering) dan
dekripsi (dechypering) informasi koding binary. Enkripsi mengkonversikan data
menjadi bentuk yang sulit ditebak, disebut chyper. Proses dekripsi cypher
mengkonversikan data kedalam bentuk aslinya, disebut plain-text. (terjemahan bebas)
Enkripsi dan dekripsi dilakukan tergantung pada kunci (key). Kunci ini dibuat berdasarkan masukan
dari user pada saat mengetikkan password terdiri dari binary 64 digit. Jika password yang
diketikkan kurang dari binary 64 digit, maka DES akan menambahkannya secara otomatis. Dari
binary 64 digit, 56 dipergunakan untuk enkripsi, dan 8 dipergunakan untuk cek kesalahan (error
checking).
Saat seorang penyusup (atau siapa saja) akan melakukan crack terhadap password di Linux, mereka
biasanya mempergunakan kamus (dictionary attack). Saat melakukan crack, penyusup akan
mengambil kata-kata dari kamus, kemudian mengenkripsinya dengan DES. Dalam proses ini, kata
demi kata diberikan secara terus menerus, kemudian diproses sebagaimana Linux memproses
passwordnya. Hasilnya akan dicocokkan dengan daftar yang ada di /etc/passwd. Jika cocok,
Pada mesin Windows Anda juga dapat melakukan tes serupa dengan menjalankan
perintah tracert pada prompt. Misal c:\>tracert www.hotmail.com
Untuk menjaga data yang dikomunikasikan, Anda dapat menerapkan beberapa program enkrisi
komunikasi data. Di antaranya yang terkenal adalah secure shell (ssh), dan secure socket layer
(SSL).
Algoritma enkripsi yang didukung oleh SSH di antaranya BlowFish (BRUCE SCHNEIER), Triple
DES (Pengembangan dari DES oleh IBM), IDEA (The International Data Encryption Algorithm),
dan RSA (The Rivest-Shamir-Adelman). Dengan berbagai metode enkripsi yang didukung oleh SSH,
Anda dapat menggantinya secara cepat jika salah satu algoritma yang Anda terapkan mengalami
gangguan.
Subsections
• Instalasi SSH
• Konfigurasi Server
Instalasi SSH
Saat ini SSH dalam bentuk kode sumber dapat diperoleh dihttp://www.ssh.fi, sedangkan
binarynya untuk klien dan server dapat Anda peroleh dihttp://www.replay.com. Beberapa
paket program utama yang dijadikan satu paket dalam SSH suite adalah :
1. make-ssh-known-host
Skrip Perl yang membuat database dari host-host yang otomatis dibuat berdasarkan domain.
2. scp
The Secure Shell Copy Program, mengamankan penggAndaan data dari satu komputer ke
komputer lainnya. Data ditransfer dalam bentuk enkripsi oleh SSH.
3. ssh
The Secure shell client, program yang bekerja seperti telnet. Perintah dapat Anda jalankan
secara remote sebagaimana telnet bekerja.
Selesai proses instalasi, Anda dapat mulai mengedit file konfigurasi untuk SSH :
• /etc/sshd_config (File konfigurasi server)
• /etc/ssh_config (File konfigurasi klien)
Untuk klien, ssh mempergunakan file /etc/ssh_config. Secara default file tersebut berisi :
# This is ssh client systemwide configuration file. This file
provides
# default for users, and the values can be changed in per-user
#configuration
# files or on yhe command line.
# Host *
# ForwardAgent yes
# ForwardX11 yes
# RhostsAuthentication yes
# RhostRSAAuthentication yes
# RSAAuthentication yes
# TISAuthentication no
# PasswordAuthentication yes
# FallBackToRsh yes
# UserRSH no
# BatchMode no
# StrictHostKeyChecking no
# IdentifyFile -/.ssh/identity
# Port 22
# Chiper idea
# EscapeChar -
Klien windows dapat memmanfaatkan SSH dengan mempergunakan program telnet Tera Term Pro
+ TTSSH for Windows. Secara default Tera Term Pro tidak mendukung ssh, untuk itu perlu
ditambahkan program TTSSH for Windows. Terra Term Pro dapat diperoleh di
http://hp.vector.co.jp/authors/VA002416/teraterm.html. Sedangkan TTSSH
dapat diperoleh di
http://www.zip.com.au/roca/ttssh.html.
SSL hanya mengenkripsikan data yang dikirim lewat http. Bagaimana SSL berjalan dapat
digambarkan sebagai berikut :
• Pada saat koneksi mulai berjalan, klien dan server membuat dan mempertukarkan kunci
rahasia, yang dipergunakan untuk mengenkripsi data yang akan dikomunikasikan. Meskipun
sesi antara klien dan server diintip pihak lain, namun data yang terlihat sulit untuk dibaca
karena sudah dienkripsi.
• SSL mendukung kriptografi public key, sehingga server dapat melakukan autentikasi dengan
metode yang sudah dikenal umum seperti RSA dan Digital Signature Standard (DSS).
• SSL dapat melakukan verifikasi integritas sesi yang sedang berjalan dengan menggunakan
algoritma digest seperti MD5 dan SHA. Hal ini menghindarkan pembajakan suatu sesi.
Lebih lanjut artikel yang saya sarankan untuk dibaca untuk mengetahui lebih dalam tentang SSL
(semuanya berbahasa Inggris) :
1. Analysis of the SSL 3.0Protocol,DAVID WAGNER dan BRUCE SCHENEIDER;
http://www.counterpane.com/ssl.html
2. Introducing SSL and Certificates, menjelaskan keuntungan sertifikasi SSL;
http://www.ultranet.com/fhirsch/Papers/cook/ssl_intro.html
3. Securing Communications on the Intranet and Over the Internet, TAHEL ELGAMAL, JEFF
TREUHAFT, danFRANK CHEN, Netscape Communications Corporation;
http://www.go-digital.net/whitepapers/securecomm.html
4. The Secure Socket Layer Protocol and Applications, ALLAN SCHIFFMAN, Terisa
Systems,Inc;
http://www.terisa.com:80/presentations/ams/ssl/index.htm
Subsections
• SSL dengan Apache
Menambahkan SSL kedalam apache membutuhkan prosedur yang cukup rumit. Sebelum Anda
memulainya, pastikan bahwa Anda benar-benar membutuhkan. SSL biasa dipakai untuk aplikasi e-
commerce untuk verifikasi keabsahan kartu kredit atau untuk formulir yang berisi data penting. Jika
memang Anda belum berencana untuk menggunakannya, lewati saja bagian ini, dan coba nanti jika
Anda menginginkanya.
Program yang dibutuhkan :
• Apache 1.2.6 atau lebih
• SSLeay ; ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL/SSLeay-
0.8.1b.tar.gz
• Patch SSL untuk Apache; ftp://ftp.ox/ac/uk/pub/crypto/SSL/Apache-
SSL/, sebagai contoh
apache_1_2_6+ssl_1_17.tar.gz
Catatan:
Jika Apache sudah terinstall dalam komputer Anda, maka perlu dijalankan instalasi
ulang, agar patch SSL bisa dimasukkan.
Configure Linux-elf hanya berjalan hanya untuk mesin Linux. Untuk mengetahui
pilihan-pilihan configure-nya jalankan perintah # perl ./Configure
$ make
$ make rehash
$ make install
Proses selanjutnya adalah ekstrak dan instal Patch SSL untuk Apache ke dalam direktori sumber
Apache.
# cp apache_1_2_6+SSL_1_17.tar.gz /usr/src/apache-1.2.6
# cd /usr/src/apache-1.2.6
# tar -zxvf apache_1_2_6+SSL.tar.gz
Yang akan diekstrak adalah :
• ben.pgp.key.asc- Kunci PGP dari penyusun program
• EXTRAS.SSL - dokumentasi tambahan fitur
Logging
Linux memiliki fasilitas logging yang sangat komprehensif. Untuk yang baru saja bermigrasi ke
Linux, mungkin belum terbiasa memanfaatkan logging. Pada sistem operasi non UNIX,
kebanyakan meminimalkan logging, bahkan tidak ada sama sekali.
Logging adalah prosedur di mana sebuah sistem operasi atau aplikasi merekam setiap kejadian dan
menyimpan rekaman tersebut untuk dapat dianalisa di kemudian hari. Kejadian yang direkam ini
bisa saja menyangkut sistem operasi, atau khusus program-program tertentu saja.
Semua file log di Linux disimpan dalam direktori /var/log. Beberapa program/file log yang
penting adalah :
Subsections
• lastlog
• last
• xferlog
• access_log
• error_log
• messages
lastlog
Berisi rekaman kapan user login terakhir kali. Yang ditampilkan adalah nama login, port dan waktu
login terakhir kali. Untuk memanggilnya cukup ketikkan lastlog, dan berikut contoh outputnya.
# lastlog
Username Port From Latest
root tty1 Tue Jul 3 18:55:24
+0700 2000
bin **Never logged in**
daemon **Never logged in**
adm **Never logged in**
lp **Never logged in**
last
Berisi rekaman user yang pernah login dengan mencarinya pada file /var/log/wtmp, sejak file
tersebut dibuat.
# last
spawn pts/0 Tue Jul 3 18:57 still
logged in
spawn tty1 Tue Jul 3 18:56 still
logged in
root tty1 Tue Jul 3 18:55 - 18:56
(00:00)
spawn pts/0 Tue Jul 3 18:08 - 18:57
(00:48)
spawn :0 Tue Jul 3 18:07 - 18:55
(00:47)
reboot system boot 2.2.12 Tue Jul 3 18:07
(01:55)
spawn pts/0 Tue Jul 3 09:31 - down
(04:18)
xferlog
Mencatat semua informasi yang pernah login di ftp daemon. Data yang ditampilkan berupa waktu
saat ini, durasi transfer file, host yang mengakses (baik nomor IP maupun nama host), jumlah file
yang ditransfer, nama file, tipe transfer (Binary atau ASCII), perintah khusus yang diberikan (jika
file dikompres atau tar), arah transfer (incoming, outgoing), modus akses (anonymous, guest, atau
user resmi), nama user, layanan, metode otentikasi, dan user ID.
# less /var/log/xferlog
access_log
Berisi rekaman untuk layanan http (HyperText Transfer Protocol) atau layanan web server.
Access_log biasanya terdiri dari Nomor IP dari pengakses, jam dan tanggal akses, printah atau
permintaan, dan kode status.
# less /var/log/ access_log
error_log
Berisi rekaman pesan kesalahan atas service http atau web server. Error_log terdiri dari jam dan
waktu, tipe kesalahan, alasan kesalahan, layanan, dan perintah yang dijalankan berikutnya (kadang-
kadang).
# less /var/log/error_log
messages
Rekaman kejadian sistem dan kernel, ditangani oleh dua daemon;
• syslogd merekam semua program yang dijalankan. Untuk mengkonfigurasikannya dapat
mempergunakan syslog.conf.
• klogd, menerima dan merekam pesan kernel
File messages dapat dilihat di /var/log/messages. Berikut contohnya :
# less /var/log/messages
Version 2, Juni 1991. Hak cipta (C) 1989, 1991 Free Software
Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-
1307, USA
Semua orang diperbolehkan untuk menyalin dan mendistribusikan salinan sama persis dari
dokumen lisensi ini, tetapi mengubahnya tidak diperbolehkan.
Mukadimah
Hampir semua lisensi dari perangkat lunak dirancang untuk merebut kebebasan anda dan
mengubahnya. Sebaliknya, Lisensi Publik Umum GNU (GNU General Public License) bertujuan
untuk menjamin kebebasan anda untuk berbagi dan mengubah perangkat lunak bebas - untuk
menjamin bahwa perangkat lunak tersebut tetap bebas bagi penggunanya. General Public License
ini dapat diberlakukan terhadap hampir semua perangkat lunak Free Software Foundation dan
program lain apa pun yang penciptanya mau menggunakan Lisensi ini. (Beberapa perangkat lunak
Free Software Foundation lainnya menggunakan GNU Library Public License.) Anda dapat
memberlakukannya terhadap program Anda juga.
Ketika kita berbicara tentang perangkat lunak bebas, kita mengacu kepada kebebasan, bukan harga.
Lisensi Publik Umum kami dirancang untuk menjamin bahwa Anda memiliki kebebasan untuk
mendistribusikan salinan dari perangkat lunak bebas (dan memberi harga untuk jasa tersebut jika
Anda mau), mendapatkan source code atau bisa mendapatkannya jika Anda mau, mengubah suatu
perangkat lunak atau menggunakan bagian dari perangkat lunak tersebut dalam suatu program baru
yang juga bebas; dan mengetahui bahwa Anda dapat melakukan semua hal ini.
Untuk melindungi hak-hak Anda, kami perlu membuat batasan-batasan yang melarang orang lain
untuk dapat menolak hak-hak Anda atau membuat Anda menyerahkan hak-hak Anda tersebut.
Batasan-batasan ini diterjemahkan menjadi beberapa tanggung jawab bagi Anda jika Anda
mendistribusikan salinan dari suatu perangkat lunak, atau memodifikasinya.
Sebagai contoh, jika Anda mendistribusikan salinan dari suatu program, baik secara gratis atau
dengan biaya, Anda harus memberi semua hak-hak Anda kepada si penerima. Anda juga harus
menjamin bahwa si penerima tersebut mendapatkan atau bisa mendapatkan source code-nya.
Kami melindungi hak-hak Anda dengan dua langkah: (1) hak cipta terhadap perangkat lunak
tersebut, dan (2) menawarkan Lisensi ini kepada Anda yang memberi Anda izin legal untuk
menyalin, mendistribusikan dan/atau memodifikasi perangkat lunak tersebut.
Demi perlindungan bagi si pencipta dan kami juga, kami ingin memastikan bahwa semua orang
mengerti bahwa tidak ada garansi bagi perangkat lunak bebas. Jika perangkat lunak tersebut
Tambahkan juga informasi untuk menghubungi Anda melalui surat elektronik atau surat biasa.
Jika programnya interaktif, buatlah agar program tersebut mengeluarkan pemberitahuan singkat
seperti berikut ketika mode interaktif dimulai:
Gnomovision versi 69, Hak cipta (C) tahun nama pencipta
Gnomovision TIDAK MEMILIKI GARANSI APA PUN; untuk rincian
ketik 'lihat g'. Program ini adalah perangkat lunak bebas,
dan Anda diperbolehkan untuk menyebarluaskannya dengan
syarat-syarat tertentu; ketik 'lihat s' untuk rincian.
Perintah-perintah hipotetis `lihat g' dan `lihat s' seharusnya menunjukkan bagian-bagian yang tepat
dari General Public License. Tentu saja, perintah-perintah yang Anda gunakan dapat dipanggil
melalui hal yang lain selain `lihat g' dan `lihat s'; perintah-perintah tersebut dapat berupa klik pada
tombol mouse atau menu - apa pun yang menurut Anda sesuai.
General Public License ini tidak mengizinkan memasukkan program Anda ke dalam program tak
bebas. Jika program Anda adalah library subrutin, Anda boleh saja berpikir bahwa akan lebih
berguna jika program tak bebas diperbolehkan untuk di-link ke library tersebut. Jika ini adalah apa
yang Anda kehendaki, maka gunakanlah GNU Library General Public License daripada Lisensi ini.