Senin, 18 Juli 2011

JARINGAN KOMPUTER

Jaringan Workgroup dengan Samba

Dalam membangun jaringan kombinasi sistem operasi Linux dengan Windows, Samba merupakan layanan yang paling populer. Umumnya Samba digunakan untuk membangun suatu jaringan di mana komputer-komputer yang menjadi anggota jaringan tersebut digunakan untuk berbagi pakai (sharing) berbagai sumber daya yang dimilikinya, misalnya data (baca: media penyimpan) dan printer. Materi tentang jaringan kombinasu Linux dan Windows secara peer to peer (workgroup) diberikan pertama-tama karena jaringan peer to peer relatif sederhana dan mudah dipraktekkan. Pada dasarnya Samba diciptakan untuk menjembatani protokol yang berbeda antara Linux dengan Windows ketika kita membangun sebuah jaringan. Kebanyakan (jika tidak boleh dikatakan seluruhnya) sistem operasi berbasis UNIX, termasuk Linux, menggunakan protokol TCP/IP dalam membangun jaringan. Windows sendiri sebenarnya juga mendukung penggunakan protokol TCP/IP, namun dalam membangun jaringan sesama Windows untuk keperluan sharing data atau printer, Windows menggunakan protokol lain yang disebut Server Message Block atau disingkat SMB (dari informasi ini tentunya Anda bisa menduga dari mana nama Samba berasal). Protokol SMB menggunakan antarmuka jaringan yang disebut dengan Network Basic Input Output System (NetBIOS). NetBIOS memungkinkan pengguna Windows untuk mengakses media penyimpan atau printer pada komputer lain seolaholah perangkat tersebut ada pada komputernya sendiri. Dengan pola pikir sharing perangkat menggunakan protokol SMB tersebut, Andrew Tridgell menciptakan Samba. Samba memungkinkan pengguna sistem operasi UNIX/Linux melakukan sharing media penyimpan dan printer dengan Windows.

1 Instalasi Samba
Layanan Samba hanya perlu diinstal pada sistem operasi Linux. Windows tidak memerlukan Samba karena secara native telah menggunakan protokol SMB yang merupakan basis dari Samba. Untuk melakukan instalasi Samba, Anda harus login sebagai root. Pada sebagian besar distribusi Linux, Samba telah diikutsertakan pada CD paket instalasi Linux. Untuk memeriksa apakah Samba telah terintstal pada Linux, gunakan perintah rpm sebagai berikut:
# rpm –qa|grep samba
Apabila paket Samba telah terinstal, perintah di atas akan memberikan hasil seperti berikut:
samba-client-3.0.8-0.pre1.3
samba-3.0.8-0.pre1.3
system-config-samba-1.2.21-1
samba-common-3.0.8-0.pre1.3
Angka 3.0.8 dan seterusnya yang tertera pada output  perintah rpm tersebut menunjukkan versi Samba yang
digunakan. Cara lain yang lebih mudah adalah memeriksa apakah launcher (shortcut pada Windows) Samba terdapat pada menu Main > System Settings > Server Settings (bandingkan dengan Gambar.1). Jika launcher Samba ada di sana, berarti Samba telah terinstal pada Linux.

 
 Gambar 1 Launcher Samba

Jika Samba belum terinstal pada komputer Anda atau Anda ingin memperbarui Samba ke versi yang lebih baru, Anda harus mencari paket instalasi Samba terlebih dulu. Paket instalasi Samba dapat ditemukan baik dalam bentuk RPM maupun tarballs. Untuk mendapatkan paket instalasi Samba, Anda dapat mengunjungi situs-situs berikut ini:
http://www.samba.org
http://download.samba.org/samba/ftp/
http://us4.samba.org/samba/ftp/Binary_Packages/
http://freshmeat.net/projects/samba/

1.1 Instalasi Paket RPM
Pada distribusi Linux berbasis RedHat, umumnya digunakan  paket RPM dalam instalasi Samba walaupun tidak menutup kemungkinan untuk menginstalnya dari kode sumber. Untuk melakukan instalasi Samba yang berasal dari paket RPM, gunakan perintah sebagai berikut:
# rpm –ivh samba-x.x.x.i386.rpm
Huruf x.x.x mewakili versi Samba yang digunakan. Pada distribusi Linux tertentu seringkali tidak hanya satu jenis file RPM yang harus diinstal, namun ada beberapa file. File RPM yang umum digunakan pada beberapa distribusi Linux tertentu dalam proses instalasi Samba antara lain adalah:
samba-x.x.x.rpm
samba-client-x.x.x.rpm
samba-common-x.x.x.rpm
samba-swat-x.x.x.rpm
Jika Anda melakukan upgrade Samba versi lama ke versi yang lebih baru, jangan lupa untuk meng-uninstall versi yang lama terlebih dahulu dengan perintah sebagai berikut:
# rpm –e samba


1.2 Instalasi dari Kode Sumber
Instalasi Samba dari kode sumber memiliki keuntungan sebagai berikut: Dapat diinstal pada semua distribusi Linux. Semua konfigurasi masih dalam keadaan default sehingga bisa disesuaikan dengan sistem operasi yang dijalankan. Fitur dan komponen yang akan diinstal dapat disesuaikan dengan kebutuhan. Nama file kode sumber Samba memiliki format sebagai berikut:
samba-x.x.x.tar.gz
Huruf x.x.x mewakili versi Samba yang digunakan. Sekali lagi ditekankan bahwa jika Anda melakukan upgrade, uninstall terlebih dulu Samba versi lama. Untuk sekedar berjaga-jaga, backup-lah file /etc/rc.d/init.d/smb atau /etc/init.d/smb dan /etc/samba/smb.conf.

Catatan
Beberapa distribusi Linux menggunakan smb sebagai nama file layanan Samba, sedangkan distribusi Linux yang lain menggunakan samba. Jika Anda tidak menemukan file /etc/init.d/smb, maka kemungkinan besar file-nya adalah /etc/init.d/samba.

Langkah-langkah instalasi Samba dari kode sumbernya adalah sebagai berikut:

    1Download file samba-x.x.x.tar.gz. Disarankan untuk meletakkan file tersebut di
    /usr/local.Ekstrak file samba-x.x.x.tar.gz dengan perintah berikut:
    # tar –xvzf samba-x.x.x.tar.gz
    Hasil ekstraksi file tersebut akan disimpan di direktori\ /usr/local/samba-x.x.x. Masuklah ke direktori /usr/ local/samba-x.x.x/source.
    Jalankan perintah configure. Untuk mengetahui opsi apa saja yang mungkin diberikan pada perintah configure, jalankan perintah berikut terlebih dulu:
    # ./configure --help
    Salah satu contoh perintah configure yang dapat dijalankan adalah sebagai berikut:
    # ./configure \
    --prefix=/usr \
    --bindir=/usr/bin \
    --sbindir=/usr/sbin \
    --libexecdir=/usr/libexec \
    --datadir=/usr/share/samba \
    --sysconfdir=/etc/samba \
    --localstatedir=/usr/local/samba-x.x.x/var \
    --libdir=/usr/lib \
    --with-lockdir=/var/locks/samba \
    --with-swatdir=/usr/share/samba/swat \
    --with-codepagedir=/etc/samba/codepages \
    --with-configdir=/etc/samba \
    --with-smbwrapper \
    --with-automount \
    --with-smbmount \
    --with-pam \
    --with-pam_smbpass
    --with-winbind
    Jalankan perintah make dan make install sebagai berikut:
    # make
    # make install

2 Konfigurasi Samba
Setelah Samba terinstal dengan baik, langkah berikutnya adalah melakukan konfigurasi seperlunya. Konfigurasi terhadap layanan Samba dapat dilakukan melalui penyuntingan file smb.conf atau melalui XWindow.

2.1 File smb.conf
Seperti telah dikatakan di atas, file konfigurasi Samba adalah smb.conf. File tersebut umumnya terletak di direktori /etc/samba. Jika instalasi Samba dilakukan dari kode sumber, letak file smb.conf bergantung pada nilai opsi sysconfdir. Isi file smb.conf secara lengkap diberikan pada Lampiran 1. Secara garis besar, isi file smb.conf terbagi menjadi dua bagian, yaitu global dan shares. Bagian global yang ditandai dengan teks [global] merupakan konfigurasi layanan Samba secara umum. Bagian shares merupakan bagian yang digunakan untuk melakukan konfigurasi sharing perangkat di Linux yang dapat diakses dari Windows. Bagian shares terdiri dari beberapa subbagian dan masingmasing ditandai dengan teks yang diberi kurung siku (brackets), misalnya [home], [printers], [public], dan lainlain. Kalimat yang ditandai dengan tanda hash (#) dan semicolon (;) akan diabaikan. Kalimat yang diawali dengan tanda hash merupakan komentar yang menjelaskan suatu konfigurasi, sedangkan kalimat yang diawali dengan tanda semicolon merupakan isi konfigurasi. Isi konfigurasi umumnya berupa sebuah variabel dan nilai variabelnya, contoh:
workgroup = MYGROUP
path = /usr/local/share/samba
writable = yes
Untuk melakukan konfigurasi tertentu, nilai variabel akan disunting berdasarkan konfigurasi yang akan dilakukan.

2.2 Konfigurasi Melalui XWindow
Jalankan Samba server setting melalui menu Main > System Settings > Server Settings > Samba hingga muncul kotak dialog Samba server setting seperti terlihat pada Gambar 2. Untuk melakukan konfigurasi terhadap layanan Samba, pada jendela tersebut telah tersedia beberapa menu dan tombol shortcut. Sebagai contoh, untuk menambah direktori yang akan di-sharing digunakan tombol Add, untuk mengatur konfigurasi global Samba, digunakan menu Preferences > Server Settings, dan lain-lain.

Dari kedua model konfigurasi tersebut, penulis cenderung menggunakan penyuntingan terhadap file smb.conf karena sifatnya lebih umum (relatif sama untuk semua distro Linux). Konfigurasi dari kotak dialog Samba server setting seperti Gambar 2 di atas hanya berlaku untuk distro Fedora atau yang kompatibel dengannya.

3 Menjalankan Layanan Samba
Sebelum dapat digunakan, layanan Samba harus dijalankan terlebih dahulu. Umumnya layanan Samba dijalankan sebagai daemon. Pada distro Fedora, untuk menjalankan layanan Samba secara manual digunakan perintah sebagai berikut:
# /etc/rc.d/init.d/smb start
Output yang diberikan oleh perintah tersebut seharusnya adalah sebagai berikut: Starting SMB services : [OK]
Starting NMB services : [OK]
Agar tidak harus menjalankan layanan Samba secara manual setiap kalinya, layanan tersebut harus diatur agar dijalankan secara otomatis saat Linux booting. Untuk mengatur hal tersebut, langkah-langkah yang harus dilakukan adalah sebagai berikut:

    Jalankan Text Mode Setup Utility dengan perintah setup berikut:
    # setup
    Pilih System services dan tekan Enter. Anda akan  dibawa ke konfigurasi Services.
    Bawa kursor ke item smb dan tekan tombol spasi padakeyboard hingga muncul tanda bintang (*) di depan item smb tersebut. Item yang diberi tanda bintang merupakan layanan yang otomatis dijalankan pada saat booting.
    Tekan tombol Tab pada keyboard hingga tombol OK tersorot dan tekan Enter. Anda akan dibawa kembali ke Text Mode Setup Utility.
    Keluarlah dari Text Mode Setup Utility dengan menekan tombol Tab beberapa kali hingga tombol Quit tersorot, lalu tekan Enter.
    Tip
    Anda dapat langsung berpindah menuju konfigurasi Services dengan menjalankan perintah ntsysv berikut:
    # ntsysv
    Jika Samba diinstal dari kode sumbernya maka untuk menjalankan Samba digunakan perintah berikut:
    # /usr/local/samba-x.x.x/bin/smbd –D
    # /usr/local/samba-x.x.x/bin/nmbd -D
    Agar lebih mudah, buatlah sebuah file script bernama smbstart yang isinya adalah sebagai berikut:
    #!/bin/sh
    /usr/local/samba/bin/smbd -D
    /usr/local/samba/bin/nmbd –D
    Ubah file smbstart menjadi executable dengan perintah sebagai berikut:
    # chmod +x startsmb
    Setelah itu Anda tinggal menjalankan perintah startsmb tersebut:
    # ./startsmb
    Agar perintah tersebut selalu dijalankan saat booting, masukkan perintah startsmb tersebut ke /etc/rc.local lengkap dengan path-nya, contoh:
    /usr/local/samba/bin/startsmb4.4 Sharing Data
    Sebagai langkah awal, akan dibahas penyuntingan file
    smb.conf yang digunakan untuk membangun sharing media
    penyimpan pada jaringan Linux dengan Windows.

    4.1 Persiapan di Server
    Mula-mula tentukan terlebih dahulu direktori yang akan disharing, misalnya /usr/local/share/samba. Siapkan pula nama user yang nantinya akan mengakses layanan Samba tersebut.
    Untuk menambahkan sebuah user, gunakan perintah sebagai berikut:
    # adduser namauser
    # passwd namauser
    Contoh:
    # adduser alderaan
    # passwd alderaan
    Changing password for user alderaan. New UNIX password: [ketikkan password] Retype new UNIX password: [ketikkan password] passwd: all authentication tokens updated succesfully Jika password yang Anda ketikkan terlalu sederhana atau merupakan kata-kata umum yang terdapat dalam “kamus”, akan muncul peringatan sebagai berikut: BAD PASSWORD: it is based on dictionary word Jika Anda memang yakin ingin tetap menggunakan password tersebut, password tetap dapat digunakan. Namun demikian sebaiknya pilihlah password yang relatif sulit ditebak. User yang dibuat tersebut adalah account user biasa pada Linux. Untuk menambahkannya sebagai user yang dapat mengakses layanan Samba, jalankan perintah berikut:
    # smbpasswd –a namauser
    Contoh:
    # smbpasswd –a alderaan
    New SMB password: [ketikkan password] Retype new SMB password: [ketikkan password] Added user alderaan Buka file smb.conf dengan editor teks favorit Anda. Suntinglah beberapa bagian dari file smb.conf tersebut sesuai dengan pembahasan di bawah ini. Pada Bab 2 telah disebutkan bahwa contoh nama workgroup yang digunakan adalah “HYPERSPACE”, karena itu suntinglah bagian yang bertuliskan:
    workgroup = MYGROUP
    menjadi
    workgroup = HYPERSPACE
    Tambahkan konfigurasi sharing data pada file smb.conf tersebut. Contoh konfigurasi sharing data yang dapat dibuat adalah sebagai berikut:
    [galactic]
    comment = Sharing on HYPERSPACE
    path = /usr/local/share/samba
    valid users = alderaan tatooine dantooine
    public = no
    writable = yes
    printable = no
    create mask = 0766
    Baris-baris teks konfigurasi tersebut dapat disisipkan pada bagian paling akhir file smb.conf. Arti baris-baris konfigurasi tersebut adalah: Nama sharing yang digunakan adalah galactic. Drektori yang di share adalah /usr/local/share/samba. User yang dapat mengakses direktori tersebut melalui layanan Samba adalah alderaan, tatooine, dan dantooine. Setiap file yang dibuat pada direktori yang dishare tersebut akan memiliki hak akses 766 atau rwxrw-rw-. Simpan file smb.conf tersebut dan restart layanan Samba dengan perintah sebagai berikut:
    # /etc/rc.d/init.d/smb restart
    Shutting down SMB services: [OK]
    Shutting down NMB services: [OK]
    Starting SMB services: [OK]
    Starting NMB services: [OK]
    Catatan
    Jika Anda mengaktifkan firewall, pastikan device eth0 telah
    diset menjadi trusted device.

    Periksalah apakah layanan Samba tersebut telah berjalan dengan baik. Perintah yang digunakan untuk melakukan hal tersebut adalah sebagai berikut:
    # smbclient –L namaserver [–U namauser]
    Contoh:
    # smbclient –L coruscant
    Password: [password boleh diabaikan]
    Anonymous login successful
    Domain=[HYPERSPACE] OS=[Unix] Server=[Samba
    3.0.8pre1-0.pre1.3]
    Sharename Type Comment
    --------- ---- -------
    Galactic Disk Sharing untuk workgroup HYPERSPACE
    IPC$ IPC IPC Service (Samba Server On Hoth)
    ADMIN$ IPC IPC Service (Samba Server On Hoth)
    lp0 Printer lp0
    Anonymous login successful
    Domain=[HYPERSPACE] OS=[Unix] Server=[Samba
    3.0.8pre1-0.pre1.3]
    Server Comment
    --------- -------
    HOTH Samba Server On Hoth
    Workgroup Master
    --------- -------
    HYPERSPACE HOTH
    Selain dengan perintah smbclient, pemeriksaan layanan Samba dapat juga dilakukan dengan perintah testparm sebagai berikut:
    # testparm
    Output yang diberikan oleh perintah testparm adalah sebagai berikut:
    Load smb config files from /etc/samba/smb.conf
    Processing section "[homes]"
    Processing section "[printers]"
    Processing section "[galactic]"
    Loaded services file OK.
    Server role: ROLE_STANDALONE
    Press enter to see a dump of your service
    definitions
    # Global parameters
    [global]
    workgroup = HYPERSPACE
    server string = Samba Server On Hoth
    log file = /var/log/samba/%m.log
    max log size = 50
    socket options = TCP_NODELAY SO_RCVBUF=8192
    SO_SNDBUF=8192
    printcap name = /etc/printcap
    dns proxy = No
    idmap uid = 16777216-33554431
    idmap gid = 16777216-33554431
    cups options = raw
    [homes]
    comment = Home Directories
    read only = No
    browseable = No
    [printers]
    comment = All Printers
    path = /var/spool/samba
    printable = Yes
    browseable = No
    [galactic]
    comment = Sharing untuk workgroup HYPERSPACE
    path = /usr/local/share/samba
    valid users = tatooine, dantooine, alderaan
    read only = No
    create mask = 0766