Saturday, June 16, 2007

SERVER SAMBA

1 Pendahuluan SAMBA

Samba merupakan implementasi dari protokol SMB (Server Message Block) pada sistem UNIX. Protokol ini digu-nakan oleh MS Windows NT untuk File dan Printing Sharing Service.
Dengan mengaktifkan samba pada mesin Linux kita maka kita dapat berbagi file dan printer dengan Windows 95/98 atau Windows NT. Dengan kata lain, dengan menjalankan Samba, maka suatu server Linux dapat tampak seperti suatu Windows NT Server bagi mesin Windows lainnya.
Pada Linux kita dapat me-mounting direktori yang di-share pada Windows juga dapat mengakses secara langsung pada direktori tersebut. Sedangkan pada Windows, kita dapat melihat direktori yang di-share berupa icon yang terdapat dalam Network Neighborhood.

2 Instalasi Samba

Pada RedHat 6.2 paket samba telah diikutsertakan dalam bentuk file-file rpm sebanyak 3 buah, antara lain :
_ samba-common-2.0.6-9.i386.rpm
_ samba-2.0.6-9.i386.rpm
_ samba-client-2.0.6-9.i386.rpm

Install ketiga paket diatas menggunakan perintah rpm :

# rpm -ivh samba-common-2.0.6-9.i386.rpm
# rpm -ivh samba-2.0.6-9.i386.rpm
# rpm -ivh samba-client-2.0.6-9.i386.rpm

File-file yang ter-install yang sering digunakan untuk mengkonfigurasi dan menjalankan samba antara lain :
_ /usr/bin/smbd. Merupakan daemon yang menyediakan File and Printing Sharing Service di sistem UNIX untuk SMB Client seperti Windows 95/98 atau Windows NT. Untuk menjalankan daemon ini :

# /usr/bin/smbd -D
_ /usr/bin/nmbd. Merupakan daemon yang menyediakan penamaan NetBIOS dan kemampuan browsing bagi SMB Client. Untuk menjalankan daemon ini :
# /usr/bin/nmbd -D
_ /usr/bin/smbclient. Untuk mengakses direktori yang di-share di Windows dengan model FTP. Untuk menggunakannya :
# /usr/bin/smbclient
Contoh :
[root@namec samba-2.0.6]# /usr/bin/smbclient //Planet-3/pic added inter-face
ip=192.168.0.1 bcast=192.168.0.255 nmask=255.255.255.0
Got a positive name query response from 192.168.0.13 ( 192.168.0.13 ) Password:
smb: \>
_ /usr/bin/smbmount. Untuk mounting direktori yang di-share di Windows sehingga dapat dibaca layaknya CDROM yang di mount pada /mnt/cdrom. Untuk menggunakannya : # /usr/bin/smbmount Contoh :
[root@namec samba-2.0.6]# /usr/bin/smbmount //Planet-3/ oky /mnt/share Password:
[root@namec samba-2.0.6]# cd /mnt/share
[root@namec share]# ls
_ /usr/bin/smbumount. Untuk unmounting setelah selesai bekerja dengan direktori yang di-mount. Untuk menggunakannya :
# /usr/bin/smbumount.
Contoh :
[root@namec /]# /usr/bin/smbumount /mnt/share
[root@namec /]# cd /mnt/share
[root@namec share]# ls
_ /usr/bin/smbstatus. Melaporkan status koneksi samba. Pada contoh dibawah ini, user anton sedang terhubung dengan Home Directory anton. Contoh :
[root@namec /]# /usr/bin/smbstatus Samba version 2.0.6
Service uid gid pid machine ---------------------------------------------- anton anton 1004 15514 planet-3 (192.168.0.13) Fri Sep 6 10:150
No locked files
Share mode memory usage (bytes): 1048464(99%) free + 56(0%) used + 56(0%) overhead = 1048576(100%) to-tal
_ /usr/bin/smbadduser. Menambahkan user ke file user samba
(/etc/smbusers) dan file password
samba (/etc/smbpasswd). Contoh : [root@namec /]# /usr/bin/smbadduser pelatihan:training
Adding: pelatihan to /etc/smbpasswd Adding: {pelatihan = training} to /etc/smbusers
----------------------------------------------------------ENTER password for pelatihan
New SMB password:
Retype new SMB password:
Password changed for user pelatihan.
/usr/bin/smbpasswd. Merubah password user. Contoh :
[root@namec /etc]# /usr/bin/smbpasswd pelatihan New SMB password:
Retype new SMB password:
Password changed for user pelatihan.
_ /usr/bin/mksmbpasswd.sh. Shell script untuk menambahkan user pada /etc/passwd milik system Linux ke /etc/smbpasswd milik samba. Cara menggunakannya :
# cat /etc/passwd | mksmbpasswd.sh > /etc/smbpasswd _ /usr/doc/samba-2.0.6/. Berisi seluruh dokumentasi samba contoh-contoh konfigurasi samba.
_ /etc/smb.conf. Merupakan file konfigurasi samba.
_ /etc/smbpasswd. Merupakan password file yang akan digunakan samba untuk proses otentikasi.
_ /etc/smbusers. Berisi pemetaan user Linux dengan user Windows yang akan digunakan samba untuk proses otentikasi.
Masih ada lagi file-file yang lain yang diikutsertakan dalam paket samba ini, namun tidak sering digunakan. Anda dapat mempelajarinya sendiri dengan membaca petunjuk manual pada :
# man samba
# info samba
Juga pada direktori /usr/doc/samba-2.0.6.

3 Konfigurasi Samba

Saat daemon-daemon samba dihidupkan, daemon-daemon tersebut akan membaca file /etc/smb.conf untuk men-dapatkan berbagai informasi yang diperlukan untuk menghubungkan jaringan Windows dengan UNIX. Informasi tersebut antara lain, nama workgroup, password file, direktori yang di-share, hak akses. Berikut ini konfigurasi samba
standar pada /etc/smb.conf :
[global]
# workgroup = NT-Domain-Name atau Workgroup-Name workgroup = PLANET
# server string = NT Description atau deskripsi server samba server string = Samba Server
# hanya mengizinkan network 192.168.0 dan network 127 untuk
# mengakses server samba hosts allow = 192.168.0. 127.
# samba menggunakan file log berbeda untuk tiap mesin yang connect
log file = /var/log/samba/log.%m
# besar file log maksimum maksimum max log size = 50
# security level, user level atau share level
# User level mengakibatkan proses otentikasi dilakukan 1 kali
# direktori yang di share diakses berdasarkan priviledge user.
# Share level mengakibatkan proses otentikasi berulang-ulang
# direktori yang di share menentukan sendiri permission-nya security = user
# enkripsikan password bila terkoneksi dengan WIN9x/NT encrypt passwords = yes
# file password yang digunakan untuk proses otentikasi smb passwd file = /etc/smbpasswd
# sinkronisasikan perubahan UNIX password dengan SAMBA password unix password sync = Yes
# bagian ini dibiarkan default socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
# ==== Share Definitions ==== [homes] comment = Home Directories browseable = no writable = yes [doc] comment = Linux Documentation path = /usr/doc public = yes writable = yes printable = no [source] comment = Linux Source path = /home/ftp/pub public = yes [upload] comment = Upload file path = /home/ftp/upload public = no writable = yes browseable = yes readonly = no
Keterangan singkat :
_ Comment : merupakan deskripsi lebih lengkap dari sebuah share
_ Path : menentukan direktori lokal yang di-share
_ Public : bila ’yes’ berlaku seperti anonymous pada FTP

http://www.smktelkom-mlg.sch.id/?a=news&b=tutorial&id=7

FTP SERVER

1. Instalasi server FTP

FTP Server di aktifkan dengan mengeksekusi program ftp daemon yang kemudian akan sipa di background dan mendengarkan (listen) di port 21 (default) untuk siap menerima request. Yang biasa digunakan adalah wu-ftpd yang di kembangkan oleh Washington University. Seperti biasa :)
#rpm -ivh wu-ftpd-x.rpm

2. Konfigurasi server FTP

File-file konfigurasi untuk Wu-Ftpd terdapat di /etc sebagai berikut :

_ services
_ inetd.conf
_ ftpaccess
_ ftphosts
_ ftpusers

FTP Server ini dijalankan oleh internet super server yang disebut inetd, suatu file yang akan menentukan cara penanganan port tertentu oleh program daemon /etc/services
Isi dari file services di /etc digunakan untuk mendefinisian port-port yang tersedia dan dapat di gunakan.
ftp-data 20/tcp
ftp 21/tcp

Dua baris diatas yang mendefinisikan kepada inetd bahwa data dan command di ftp server menggunakan port tersebut.
/etc/inetd.conf
Baris yang menjalankan perintah inisialisasi ftp daemon adalah :

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
Keterangan dari baris diatas adalah :

_ ftp menerangkan nama service
_ stream menerangkan jenis soket yang digunakan
_ tcp menerangkan jenis protokol yang digunakan
_ nowait atau wait
_ root pengguna yang menjalankan daemon tersebut, hal ini akan berkaitan dengan hak pengguna tersebut. Biasanya dituliskan dalam format user[.group]
_ /usr/sbin/tcpd program daemon server yang dijalankan
_ in.ftpd -l -a argumen yang diberikan pada program server /etc/ftpaccess

Hal-hal yang penting dalam konfigurasi akses ftp server adalah class, deny, limit, noretrieve, login-fails, private, autogroup, dan guestgroup. Masing-masing fungsi akan dijelaskan kemudian.
class Syntax :
class typelist addrglobal
Keterangan :
_ classname : adalah nama sebutan untuk sebuah class
_ typelist : daftar jenis user yang terdiri dari real, guest, anonymous
_ addrglobal : dapat berupa ip address ataupun host.domain.name dapat menggunakan wildcard "*".
Misal :
class all real,guest,anonymous * yang berarti ftp server menerima setiap request dari real user, guest, dan anonymous dan dari mesin mana saja
deny
Sintaksnya adalah :
deny addrglobal message_file
Misal :
deny *.planet.tzo.com
/etc/nggak-boleh-masuk.txt Yang berarti ftp server menolak koneksi yang berasal dari semua host di bawah domain planet.tzo.com.
limit
Sintaks :
limit n times message_file
Keterangan :
_ n : adalah jumlah user yang diperbolehkan akses ke ftp server secara simultan
_ times : Jarak waktu yang di tetapkan biasanya dalam hitungan hari
Misal :
class lokal real *
limit lokal 100 0700-1300
/etc/kebanyakan.txt
Yang berarti real user yang di perbolehkan mengakses ftp server adalah sejumlah 100 orang dari jam 7 AM-1 PM.
Dan bila pengakses tersebut gagal melakukan login maka ditampilkan pesan pada file /etc/kebanyakan.txt loginfails
syntax :
loginfails number
Fungsinya adalah untuk menentukan berapa kali seorang user boleh salah memasukkan login dan password sebelum disconnect. Misal :
loginfails 3
Artinya user diberikan mencoba 3 kali memasukkan password sebelum akhirnya koneksi diputuskan bila password tidak tepat.
/etc/ftphosts
File ftphosts digunakan untuk akses kontrol dari ftp server. syntax : allow deny /etc/ftpusers
File ini berisi daftar user yang tidak boleh akses ke ftp server

http://www.smktelkom-mlg.sch.id/?a=news&b=tutorial&id=8

DNS SERVER

Server DNS bertugas menerjemahkan IP ke nama alamat dan sebaliknya dari nama alamat ke nomor IP. Beberapa cara untuk menerjemahkan alamat Internet antara lain :

_ Dengan membaca file lokal /etc/hosts
_ Dengan memanfaatkan pelayanan DNS Server
_ Dengan memanfaatkan pelayanan NIS (Network Information System) Server File /etc/hosts ini berisi daftar penerjemahan nama mesin ke alamat IP mesin yang bisa digunakan juga untuk melakukan penerjemahan slsmst IP ke nama. Dengan memiliki file ini, mesin Linux dapat menggunakan nama yang lebih mudah diingat untuk memanggil atau mengakses mesin lain dalam jaringan, daripada harus menggunakan nomor IP. File ini amat sederhana isinya seperti dalam contoh berikut :
[root@digital modul]# cat /etc/hosts
192.168.0.6 digital.adhyaksa.net digital
127.0.0.1 localhost.localdomain localhost
Keterangan :

_ Kolom 1 adalah nomor IP
_ Kolom 2 adalah FQDN (Fully
Qualified Domain Name)
_ Kolom 3 adalah nama host
File /etc/hosts diatas menunjukkan bahwa nama digital.adhyaksa.net dan digital dipetakan ke nomor IP 192.168.0.6, nama localhost.localdomain dan localhost dipetakan ke nomor IP 127.0.0.1. Kelemahan menggunakan file /etc/hosts :
_ Semua mesin atau host dalam jaringan harus memiliki file /etc/hosts yang identik isinya
_ Setiap kali ada perubahan nama host atau nomor IP, maka seluruh file di tiap host harus di-update isinya
_ Sangat tidak praktis untuk jaringan dengan host banyak

1. Pendahuluan DNS

Menggunakan DNS tidak seperti menggunakan file /etc/hosts. DNS bersifat client-server sehingga administrasi cukup dilakukan di sisi server saja, sedangkan pada client cukup dikonfigurasi 1 kali yaitu memberi cara agar mesin client dapat menghubungi DNS server. Dalam jaringan Internet, DNS server di seluruh dunia saling bekerja sama dalam rangka menerjemahkan alamat Internet. Network yang lebih besar memiliki DNS server yang menjadi sumber data bagi DNS server pada network dibawahnya. Kerjasama yang dijalin ini dapat digambarkan pada contoh kasus berikut :

Kasus : Proses penampilan gambar atau isi sebuah situs pada browser Netscape yang digunakan seorang pengguna
Linux dengan akses dial-up ke sebuah ISP di Indonesia misalnya comnet.net.id. Saat itu DNS client mengarah pada DNS server dengan IP 202.150.128.64 dan IP 202.150.128.65. Perjalanan yang ditempuh untuk menerjemahkan IP secara umum dapat dijelaskan seperti berikut :

1. Browser diarahkan ke situs http://mail.ngoprek.org
2. DNS client menghubungi DNS server agar mendapatkan IP domain mail.ngoprek.org
3. DNS server mencari data mengenai mail.ngoprek.org dengan cara menghubungi DNS server tertinggi yaitu . (dot) atau root server
4. DNS root server menghubungi DNS server org
5. DNS server org menghubungi DNS server ngoprek.org
6. DNS server ngoprek.org mengenali subdomain mail.ngoprek.org dan berhasil menerjemahkan mail.ngoprek.org ke IP 202.135.0.9
7. IP tersebut dikirimkan kembali ke DNS client kemudian diberikan ke browser
8. Browser mengarahkan langsung langsung ke IP 202.135.0.9 untuk menghubungi web server pada IP terse-but DNS server terdiri dari 2 jenis server, yaitu :
_ Primary Name Server (PNS) adalah DNS server yang bertanggung jawab atas resolusi domain dan subdomain yang dikelolanya
_ Secondary Name Server (SNS) adalah DNS server yang secara hirarki setara dengan PNS namun data-data domain dan subdomain diperoleh dengan cara menyalin dari PNS

2. Instalasi BIND 8.2.2

Program DNS yang digunakan oleh Linux RedHat 6.2 adalah BIND 8.2.2 yang terdiri dari file-file rpm sebagai berikut :

_ bind-8.2.2_P5-9.i386.rpm
_ bind-utils-8.2.2_P5-9.i386.rpm
_ bind-devel-8.2.2_P5-9.i386.rpm
_ caching-nameserver-6.2-2.noarch.rpm Gunakan rpm -ivh untuk menginstal bind pada mesin server Linux.

3. Client DNS

Client DNS bertugas untuk menentukan server DNS yang digunakan untuk menerjemahkan alamat Internet yang perlu dihubungi oleh program dalam mesin client. Dalam sistem Linux, DNS client merupakan file biasa seperti /etc/hosts bernama /etc/resolv.conf, namun dengan isi berbeda seperti contoh berikut :

[root@digital /root]# ls -l /etc/resolv.conf -rw-r--r-- 1 root root 66 Dec 3 10:23 /etc/resolv.conf
[root@digital /root]# cat /etc/resolv.conf search adhyaksa.net nameserver 192.168.0.4 nameserver 192.168.0.1

Pada contoh diatas DNS yang dihubungi adalah IP 192.168.0.4 dan SNS yang dihubungi adalah IP 192.168.0.1.
Tag search berisi sebuah nama yang digunakan sebagai default domain bila resolusi sebuah nama gagal.

4. Server DNS

DNS membaca data-data resolusi pada sekumpulan file konfigurasi yang terdapat pada komputer lokal. File-file tersebut antara lain :
/etc/named.conf
Berisi konfigurasi DNS server BIND 8.x.x.

[root@digital /root]# cat /etc/named.conf // generated by named-bootconf.pl options { directory "/var/named"; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ // query-source address * port 53; }; // // a caching only nameserver config // zone "." { type hint; file "named.ca"; }; zone "0.0.127.in-addr.arpa" { type master; file "named.local"; }; Format /etc/named.conf terdiri dari 2 bracket dasar yaitu :

_ Blok Options Berisi kompulan opsi-opsi global untuk bind 8.x.x, gunakan man named.conf untuk mendap-atkan informasi lebih detil mengenai opsi-opsi yang tersedia.

_ Blok Zone Berisi tag-tag yang digunakan untuk menentukan tipe server untuk 1 domain atau subdomain tertentu dan file zona yang berisi konfigurasi 1 domain atau subdomain tertentu.

– Bila kita bertujuan membuat zona file untuk pemetaan NAME-TO-IP gunakan nama domain sebagai nama zona.

– Bila kita bertujuan membuat zona file untuk pemetaan IP-TO-NAME gunakan nama domain dengan for-mat sebagai berikut :

_ IP-TO-NAME untuk network 192.168.0, nama zona file ditulis 0.168.192.in-addr.arpa

_ IP-TO-NAMEuntuk network 202.150.128, nama zona file ditulis 128.150.202.in-addr.arpa /var/named/* Direktori /var/named berisi file-file zona yang namanya bersesuaian dengan tag file pada bracket zone dalam /etc/named.conf
[root@digital /root]# ls -l /var/named total 4 -rw-r--r-- 1 root root 2769 Feb 4 2000 named.ca -rw-r--r-- 1 root root 422 Feb 4 2000 named.local [root@digital /root]# cat /var/named/named.local @ IN SOA localhost. root.localhost. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS localhost. 1 IN PTR localhost. [root@digital /root]# cat /var/named/named.ca ; This file holds the information on root name servers needed to ; initialize cache of Internet domain name servers ; (e.g. reference this file in the "cache . " ; configuration file of BIND domain name servers). ; ; This file is made available by InterNIC registration services ; under anonymous FTP as ; file /domain/named.root ; on server FTP.RS.INTERNIC.NET ; -OR- under Gopher at RS.INTERNIC.NET ; under menu InterNIC Registration Services (NSI) ; submenu InterNIC Registration Archives ; file named.root ; ; last update: Aug 22, 1997 ; related version of root zone: 1997082200 ; ; ; formerly NS.INTERNIC.NET ; . 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 ; ; formerly NS1.ISI.EDU ; . 3600000 NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 ; ; formerly C.PSI.NET ; . 3600000 NS C.ROOT-SERVERS.NET. C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 ; ; formerly TERP.UMD.EDU ; . 3600000 NS D.ROOT-SERVERS.NET. D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 ; ; formerly NS.NASA.GOV ; . 3600000 NS E.ROOT-SERVERS.NET. E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 ; ; formerly NS.ISC.ORG ; . 3600000 NS F.ROOT-SERVERS.NET. F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 ; ; formerly NS.NIC.DDN.MIL ; . 3600000 NS G.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 ; ; formerly AOS.ARL.ARMY.MIL ; . 3600000 NS H.ROOT-SERVERS.NET. H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 ; ; formerly NIC.NORDU.NET ; . 3600000 NS I.ROOT-SERVERS.NET. I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 ; ; temporarily housed at NSI (InterNIC) ; . 3600000 NS J.ROOT-SERVERS.NET. J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10 ; ; housed in LINX, operated by RIPE NCC ; . 3600000 NS K.ROOT-SERVERS.NET. K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129 ; ; temporarily housed at ISI (IANA) ; . 3600000 NS L.ROOT-SERVERS.NET. L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12 ; ; housed in Japan, operated by WIDE ; . 3600000 NS M.ROOT-SERVERS.NET. M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 ; End of File Sedangkan SNS membaca data copy dari PNS melalui sebuah mekanisme transfer data melalui protokol DNS. Data yang dicopy disimpan dalam bentuk file zona yang diletakkan di direktori /var/named pada mesin SNS. Format file zona terdiri dari kumpulan record yang berisikan keterangan yang detil tentang sebuah domain atau subdomain. Record-record tersebut antara lain : _ SOA Start Of Authority mengawali file zona, berisi data-data waktu sebuah domain atau subdomain. Lebih jelasnya seperti berikut : @ IN SOA localhost. root.localhost. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum Keterangan : NS. menyatakan Name Server yang berlaku. @ IN NS localhost. _ A. menyatakan Address Internet atau alamat IP dari mesin yang ditangani oleh DNS ini proses penerjemahan namanya. @ IN A 192.168.0.1 digital IN A 192.168.0.4 _ CNAME, menyatakan nama Alias (Canonical Name). Contoh berikut ini menyatakan bahwa mail adalah nama alias dari digital mail IN CNAME digital. _ PTR, menyatakan pointer, yaitu reversed-address. Contoh berikut ini menmyatakan bahwa IP 192.168.0.4 dipetakan ke nama domian atau subdomain digital digital IN A 192.168.0.4 4.0.168.192.in-addr.arpa. IN PTR digital. _ MX, menyatakan Mail Exchanger, digunakan untuk menunjuk mail server yang menangani email domain atau subdomain ini. Contoh berikut ini menentukankan bahwa email untuk digital.adhyaksa.net akan di-terima oleh mail server dengan prioritas lebih tinggi (super.adhyaksa.net). Angka yang lebih kecil merupakan prioritas yang lebih tinggi. Angka yang dimaksud adalah kolom ke-3 pada MX. Mail server pada prioritas selanjutnya akan dihubungi apabila mail server sebelumnya down atau crash. digital IN MX 0 super.adhyaksa.net. IN MX 10 drutz.adhyaksa.net. _ HINFO, memberikan keterangan tentang perangkat keras yang digunakan server digital IN HINFO "Intel PIII 550 - Linux Redhat 6.2" _ TXT. menyatakan infomasi umum digital IN TXT "Server location : Sukapura - Bandung" Kasus : Konfigurasikan sebuah host menjadi PNS dengan nama domain adhyaksa.net mempunyai range IP 192.168.0.1 - 192.168.0.15. _ Penentuan IP untuk host-host tertentu, misalnya Untuk IP yang lainnya disimpan untuk keperluan mendatang.: ns1.adhyaksa.net -> IP 192.168.0.1 ns2.adhyaksa.net -> IP 192.168.0.2 www.adhyaksa.net -> IP 192.168.0.3 mail.adhyaksa.net -> IP 192.168.0.3 ftp.adhyaksa.net -> IP 192.168.0.3 mp3.adhyaksa.net -> IP 192.168.0.9 vhost.adhyaksa.net -> IP 192.168.0.13
_ Membuat /etc/named.conf options { directory "/var/named"; }; zone "." { type hint; file "named.ca"; }; zone "adhyaksa.net" { type master; file "db.adhyaksa.net"; }; zone "0.168.192.in-addr.arpa" { type master; file "db.192.168.0"; _ Membuat file zona untuk domain adhyaksa.net diberi nama db.adhyaksa.net @ IN SOA ns1.adhyaksa.net. admin.adhyaksa.net. ( 200022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum @ IN NS ns1.adhyaksa.net. @ IN NS ns2.adhyaksa.net. IN MX 10 mail.adhyaksa.net. ns1 IN A 192.168.0.1 ns2 IN A 192.168.0.2 www IN A 192.168.0.3 mail IN A 192.168.0.3 mp3 IN A 192.168.0.9 vhost IN A 192.168.0.13 ftp IN CNAME 192.168.0.3 _ Membuat file zona reverse-lookup untuk network 192.168.0 diberi nama db.192.168.0 @ IN SOA ns1.adhyaksa.net. root.localhost. ( 200022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns1.adhyaksa.net. IN NS ns2.adhyaksa.net. 1 IN PTR ns1.adhyaksa.net. 2 IN PTR ns2.adhyaksa.net. 13 IN PTR vhost.adhyaksa.net. _ Tes hasil konfigurasi dngan cara mengaktifkan bind dengan perintah berikut : [root@digital /root]# /etc/rc.d/init.d/named start _ Lakukan pemeriksaan pada /var/log/messages [root@digital /root]# cat /var/log/messages _ Cek dengan tool nslookup dan dig

http://www.smktelkom-mlg.sch.id/?a=news&b=tutorial&id=9

WEB SERVER



1. Instalasi server Web

Paket program web server dapat kita ambil dari CD instalasi yaitu menggunakan Apache Web Server, yaitu Apache versi 1.3.12. Paket Apache WebServer dapat diinstal dengan menggunakan perintah sebagai berikut :
#rpm -ivh apache-1.3.12.rpm
Ketika instalasi selesai maka file-file yang perlu di perhatikan adalah:
_ httpd.conf
_ access.conf
_ srm.conf
masing-masing file diatas akan dibahas kemudian.
2. Konfigurasi Apache

File httpd.conf
Berikut adalah isi dari file httpd.conf :
_ ServerType. Konfigurasi yang menerangkan server, apakah dijalankan melalui inetd atau dijalankan secara berdiri sendiri. Bila secara berdiri sendrii, maka server akan dijalankan secara manual.
_ ServerRoot. Suatu path directory tempat disimpannya file konfigurasi, file error.
_ PidFile. File yang menyimpan nomor proses dari apache yang dijalankan.
_ ResourceConfig dan AccessConfig. Isi dari file tersebut adalah konfigurasi untuk directory sumber (access.conf) dan konfigurasi izin akses (srm.conf). Kedua file tersebut adalah bersifat tambahan (op-tional), karena keduanya dapat diletakkan di httpd.conf, ataupun dapat diletakkan di masing-masing file (access.conf dan srm.conf)
_ Timeout. Batas waktu yang digunakan untuk suatu menganggap suatu koneksi terputus, yaitu ketika tidak ada respon dari client.
_ KeepAlive. Kemampuan server menerima request secara simultan yang berasal dari satu koneksi.
_ MaxKeepAliveRequests. Jumlah request maksimum yang diterima server secara simultan.
_ KeepAliveTimeout. Waktu yang ditentukan untuk menunggu request selanjutnya dari satu koneksi.
_ MinSpareServers dan MaxSpareServers. Jumlah server yang dibutuhkan untuk melayani setiap re-quest yang masuk.(biasa digunakan untuk situs web yang sangat sibuk)
_ StartServers. Jumlah server yang dijalankan oleh apache untuk inisialisasi ketika apache pertama kali dieksekusi.
_ MaxClients. Jumlah koneksi yang diizinkan secara simultan di server.
_ MaxRequestsPerChild. Jumlah request yang akan dilayani oleh child server sebelum child server tersebut dimatikan.
_ BindAddress- Server akan otomatis menerjemahkan setiap alamat semua alamat ip yang ada di server
_ Port. Port yang akan di "dengarkan" oleh apache web server.
_ User dan Group. User dan group yang menjalankan apache web server.
_ ServerAdmin. Alamat email dari administrator web server.
_ ServerName. Nama server yang disesuaikan dengan FQDN (Full Qualified Domain Name), berfungsi sebagai nama dari web server kita.
_ ErrorLog. Direktori dan nama file dimana kita menempatkan error log dari apache.
_ LogLevel. Jenis pesan-pesan log yang akan dicatat oleh web server. Ada beberapa kategori yang akan dicatat ke dalam log file, yaitu emerg (emergency), alert, crit (critical), errors, warn, debug.
_ LogFormat. Bagian ini menenetukan format log file dan juga memberikan "nickname" untuk format tersebut. Bagian ini telah diberikan secara default oleh apache, dan sebaiknya tidak usah dirubah (kecuali anda secara pasti tahu apa yang anda lakukan :) )
_ CustomLog. Log yang di konfigurasikan untuk mencatat setiap access request dari client. Juga digunakan untuk mencatat secara default konfigurasi virtualhost (lihat virtualhost)
_ ServerSignature. Web Server Signature yang biasa muncul ketika file yang dicari tidak ditemukan dan pada saat ftp. (on,off dan email)
_ UseCanonicalName. Bagian ini mengkonfigurasikan server apache agar membuat referensi sendiri meng-gunakan ServerName dan Port sesuai yang ada di httpd.conf, apabila diset off, maka server akan merespons sesuai dengan request dari client.
_ HostnameLookups. Perintah ini akan melog alamat IP dari setiap client yang mengakses server kita. Di-rekomendasikan bagian ini di set off untuk site2 yang sangat sibuk, karena akan dapat membuat log file men-jadi besar.

File srm.conf
File srm.conf juga digunakan untuk mengatur masalah yang berhubungan dengan directory, DocumentRoot, UserDir, DirectoryIndex , MIME (Multi purpose Internet Mail Extension), ScriptAlias, CGI-Script dan definisi-definisi dari extension lainnya, misal PHP, Perl dan lain-lain. Isi dari srm.conf adalah :

_ DocumenRoot. Path dari direktori yang berisi file-file dokumen utama dari situs kita.
_ UserDir. Direktori untuk user yang biasanya terletak di home directory dari user tersebut. URL yang digu-nakan untuk mengakses adalah http://server.kita.com/˜user <– menggunakan tanda ˜
_ DirectoryIndex. File yang pertama kali akan diakses oleh client ketika client akan mengakses web serverkita.
_ FancyIndexing. Suatu cara menampilkan isi dari suatu directory di server. Menggunakan fancy style atau tidak. Setelah konfigurasi ini biasanya diikuti dengan mendefinisikan path cari icon-icon yang akan digunakan untuk indexing.
_ AccessFileName. Mendefinisikan akses file yang akan digunakan untuk memproteksi suatu direktori. Bi-asanya dinamakan .httaccess (tanda . Berarti file tersebut di hidden dan untuk kepentingan sekuritas, nama file httaccess diganti)
_ Alias. Directory alias yang biasa digunakan untuk beberapa direktori khusus, misalkan cgi-bin.
_ DefaultType. Default type dari setiap dokumen yang ada di webserver kita.

File access.conf
File ini digunakan untuk mengatur hak pengaksesan di Web Server atau lebih sering disebut ACF (Access Control File). Contoh :

Options FollowSymLinks
AllowOverride None


"/usr/local/apache/htdocs">
Options Indexes FollowSymLinks
MultiViews
AllowOverride None
Order allow,deny
Allow from all

ScriptAlias /cgi-bin/
"/usr/local/apache/cgi-bin/"

"/usr/local/apache/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all

Option-option yang umum digunakan untuk hak akses direktori adalah :
_ Indexes : Perizinkan setiap indexing dari suatu direktori, seperti AddDescription, AddIcon, AddI-conByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, Head-erName, IndexIgnore, IndexOptions, dan ReadmeName
_ Limit : Perizinan untuk mengakses suatu path disesuaikan dengan hostnamenya, seperti allow, deny dan order.
_ Option : Perizinan untuk menggunakan option-option yang ada dalam masing-masing direktori. Contohnya
Option dan XbitHack.
Perhatian : Apabila pada httpd.conf baris dibawah di berikan comment (#) berarti semua konfigurasi dari srm.conf dan access.conf diletakkan di file httpd.conf.
#ResourceConfig conf/srm.conf
#AccessConfig conf/access.conf

3. VirtualHost
VirtualHost merupakan salah satu fasilitas yang didukung oleh Apache. Fungsi dari Vhost ini adalah untuk membuat multiple host dalam satu mesin. Ada dua cara dalam mengkonfigurasi VirtualHost, atau dengan cara _IP-base, yaitu menggunakan banyak ip dalam satu mesin dan masing-masing ip digunakan untuk satu domain,
Contoh dari IP-Based VirtualHost :
DocumentRoot /path/to/document ServerName test.vhost1.com
_ Name-based. menggunakan satu IP yang kemudian digunakan untuk banyak nama domain. Contoh dari Name-Based

VirtualHost :

NameVirtualHost 192.168.0.50 DocumentRoot /path/to/document1 ServerName test.vhost1.com DocumentRoot /path/to/document2 ServerName test.vhost2.com

4. Konfigurasi modul-modul Apache
Modul-modul pada Apache adalah interface dimana modul-modul tersebut menentukan fitur-fitur apa saja yang akan dijalankan pada Apache Web Server. Untuk melihat modul-modul yang aktif adalah dengan menggunakan perintah : #/usr/local/apache/bin/httpd -l Untuk meload modul-modul di apache ada dua cara :
_ Static Module
_ DSO (Dynamic Shared Object)
Apabila kita menginstal Apache mengunakan format rpm maka secara default cara loading modul secara default secara DSO. Untuk me-load modul secara DSO adalah kita tambahkan pada httpd.conf baris sebagai berikut (misalkan kita akan meload podul php4 dengan menggunakan DSO) :
LoadModule php4_module libexec/libphp4.so AddModule mod_php4.c Contoh lengkap httpd.conf dapat dilihat pada lampiran

5. Menjalankan server Web

Untuk menjalankan Apache yang perlu kita lakukan adalah :
#apachectl start
Apabila kita mengadakan perubahan file-file konfigurasi maka apache harus di-restart terlebih dahulu agar perubahan yang kita lakukan dapat memberikan pengaruh.
#apachectl restart
Untuk lebih lengkap melihat pilihan-pilihan dari apachectl
#apachectl --help
File httpd yang di hasilkan dari proses instalasi adalah program daemon yang membuka port 80 (default) untuk LISTEN (mendengar) setiap request untuk web. Untuk dapat memanggil web server adalah sebagai berikut :
http://namec <---
jika nama web server kita adalah namec Apabila kita menggunakan port yang tidak dari biasanya (misalkan 8000) maka pemanggilannya sebagai berikut :
http://namec:8000
Atau pemanggilannya dapat menggunakan IP Address dari mesin yang bersangkutan, misal :
http://192.168.0.1 <----
jika IP Address webserver kita 192.168.0.1


http://www.smktelkom-mlg.sch.id/?a=news&b=tutorial&id=10