Selasa, 28 September 2010

Data Center dengan SAMBA

Data Center dengan SAMBA
Oleh : Arif dan Taufan
Assalamualaikum Wr. Wb.

Jika anda ingin mengkoneksikan mesin Windows anda dengan mesin Linux Anda melalui jaringan, Samba adalah apa yang anda butuhkan. Samba adalah himpunan aplikasi yang bertujuan agar komputer dengan sistem operasi Linux, BSD ( atau UNIX lainnya) dapat bertindak sebagai file dan print server yang berbasis protokol SMB (session message block). Jaringan yang semacam ini biasa dijumpai pada Windows workgroup atau Windows NT Domain. Samba juga dilengkapi dengan beberapa program bantu sehingga sistem operasi Linux (dan UNIX lainnya) bisa mengakses resources yang ada pada jaringan Windows yang telah ada. Bisa dikatakan, Samba adalah jembatan penghubung antara Windows dan UNIX.
Samba terdiri atas dua program yang berjalan di background: SMBD dan NMBD. Secara singkat dapat disebutkan bahwa SMBD adalah file server yang akan menghasilkan proses baru untuk setiap client yang aktif sementara NMBD bertugas mengkonversi nama komputer (NetBIOS) menjadi alamat IP sekaligus juga memantau share yang ada di jaringan. Kerja SMBD sendiri diatur melalui file konfigurasi /etc/samba/smb.conf. Dengan membuat file konfigurasi yang tepat, Samba dapat dijadikan file server, print server, domain controller, dan banyak fungsi lainnya.



Samba versi 3
Di sini penulis akan menjelaskan cara menginstall samba, pada tahap installasi ini, user menggunakan software samba yang dapat didownload pada website http://www.samba.org. Samba yang digunakan adalah samba versi 3. Setelah mendownload dapat melanjutkan tahap selanjutnya.
## User dianggap telah memiliki pengetahuan pada bidang linux
## Diassumsikan user menaruh source samba pada direktori /root
## Source samba berupa kompresi format tar.gz
root@datacenter:~# tar xfvz samba-3.0.2.tar.gz //untuk mengekstrak file kompresi samba
…………….
root@datacenter:~# cd samba-3.0.2a
## Disarankan untuk membaca README atau INSTALL
root@datacenter:~/samba-3.0.2a# cd source
root@datacenter:~/samba-3.0.2a/source# ./configure --prefix=/usr/local/samba
## --prefix adalah tempat akan diinstallnya paket
…………….
root@datacenter:~/samba-3.0.2a/source# make //mengkompile file2 binari
…………….
root@datacenter:~/samba-3.0.2a/source# make install //menginstall file2 binari tersebut
…………….

Apabila tidak terdapat masalah dalam tahap installasi, maka samba versi 3 telah terinstall dengan benar.

Setelah Samba terinstall dengan benar maka hal yang dilakukan selanjutnya adalah mengkonfigurasi samba tersebut agar Linux bisa tersambung dengan Windows. Sebenarnya dalam tahap konfigurasi ini anda tidak perlu membuat file smb.conf yang baru, karena Samba sudah menyediakan contoh konfigurasi yang disimpan dalam



Konfigurasi Samba
Berikut ini adalah cara mengkonfigurasi Samba Server Sebagai PDC :
1. pertama dowload program samba dan accesorisnya :

apt-get install samba samba-common samba-doc libcupsys2-gnutls10 libkrb53 winbind smbclient

2. Konfigurasi /etc/samba/smb.conf sebagai berikut :

[global]
workgroup=ubuntudk.com-->ubah sesuain yang kita mau
netbios name = ubuntuserver --> ubah sesuain yang kita mau
server string = %h server (Samba, Ubuntu) --> ubah sesuain yang kita mau
passdb backend = tdbsam
security = user
username map = /etc/samba/smbusers
name resolve order = wins bcast hosts
domain logons = yes
preferred master = yes
wins support = yes
# Useradd scripts
add user script = /usr/sbin/useradd -m %u
delete user script = /usr/sbin/userdel -r %u
add group script = /usr/sbin/groupadd %g
delete group script = /usr/sbin/groupdel %g
add user to group script = /usr/sbin/usermod -G %g %u
add machine script = /usr/sbin/useradd -s /bin/false/ -d /var/lib/nobody %u
idmap uid = 15000-20000
idmap gid = 15000-20000
# sync smb passwords with linux passwords
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .
passwd chat debug = yes
unix password sync = yes
# set the loglevel
log level = 3
[homes]
comment = Home
valid users = %S
read only = no
browsable = no
[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
admin users = Administrator
valid users = %U
read only = no
[profile]
comment = User profiles
path = /home/samba/profiles
valid users = %U
create mode = 0600
directory mode = 0700
writable = yes
browsable = no
3. Buat beberapa direktori berikut sebagai domain logon dan profile :
mkdir /home/samba
mkdir /home/samba/netlogon
mkdir /home/samba/profiles
mkdir /var/spool/samba
chmod 777 /var/spool/samba/
chown -R root:users /home/samba/
chmod -R 771 /home/samba/

4. Lalu restart samba
/etc/rc.d/rc.samba restart

5. Ubah pada bagian /etc/nsswitch.conf, pada baris :
`hosts: files dns
menjadi :
hosts: files wins dns

6. tambahkan beberapa pc clinet pada /etc/hosts :
127.0.0.1 localhost
192.168.0.136 ubuntuserver.dk.co.id ubuntuserver.dk.co.id
192.168.0.131 ciko
192.168.0.133 dian
192.168.0.135 gustin

7. Tambahkan user root kedalam user samba :
smbpasswd -a root
New SMB password:
Retype new SMB password:

8. buat file /etc/samba/smbusers lalu jalankan :
echo "root = Administrator" > /etc/samba/smbusers
mengartikan bahwa user root = user administrator pada windows

9. Test drive, apakah settingan kita dah benar :
smbclient -L localhost -U%

akan menghasilkan output :

Domain=[UBUNTUDK.COM] OS=[Unix] Server=[Samba 3.0.22]
Sharename Type Comment
--------- ---- -------
netlogon Disk Network Logon Service
allusers Disk All Users
IPC$ IPC IPC Service (ubuntuserver server (Samba, Ubuntu))
ADMIN$ IPC IPC Service (ubuntuserver server (Samba, Ubuntu))
Domain=[UBUNTUDK.COM] OS=[Unix] Server=[Samba 3.0.22]
Server Comment
--------- -------
UBUNTUSERVER ubuntuserver server (Samba, Ubuntu)
Workgroup Master
--------- -------
UBUNTUDK.COM UBUNTUSERVER

10. lalu kita setup domain group untuk windows, jalankan perintah :
net groupmap modify ntgroup="Domain Admins" unixgroup=root
net groupmap modify ntgroup="Domain Users" unixgroup=users
net groupmap modify ntgroup="Domain Guests" unixgroup=nogroup

11. tambah user linux dan user samba dengan cara :
user linux :
useradd ciko -m -G users

user samba :
smbpasswd -a ciko

12. Sekarang tambahan direktori share yang akan dipakai oleh seluruh user :

mkdir -p /home/shares/allusers
chown -R root:users /home/shares/allusers/
chmod -R ug+rwx,o+rx-w /home/shares/allusers/

13. Ubah juga pada /etc/samba/smb.conf, tambahkan baris berikut :
[allusers]
comment = All Users
path = /home/shares/allusers
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
writable = yes

14. lalu restart samba kembali :
/etc/init.d/samba restart
15. Langkah Yang terakhir dalah dengan menjoinkan mesin windows ke pdc linux kita, dengan cara : ( Testing Dengan Windows XP )
- click kanan pada mycomputer
- pilih computer name lalu change
- masukan domain PDC pada bagisn domain
- akan muncul windows yang meminta memasukan user dan password, pada langkah ini masukan user root dan password samba untuk user root
- OK
- Akan muncul bahwa kita sukses menjoinkan mesin windows ke PDC linux

Quota
Quota adalah pembatasan kapasitas datacenter yang diberikan kepada user. Tujuan diberlakukan quota agar user tidak berlebihan dalam menyimpan data dalam datacenter.

Instalasi dan Konfigurasi
Instalasi quota biasanya sudah termasuk dalam package ketika menginstall linux. Apabila ini terlewati, dapat didownload pada http://www.sourceforge.net/projects/linuxquota. Setelah mendownload, anda dapat menginstall dengan syntax :
root@datacenter:~# gzip -dc | tar xvf
…………….
root@datacenter:~# cd quota-tools
root@datacenter:~/quota-tools # ./configure
…………….
root@datacenter:~/quota-tools # make && make install
…………….





Konf igurasi
Setelah semuanya siap, baik kernel atau program penunjang, kita dapat memulai
menerapkan sistem quota pada Linux. Pada sesi ini kita diharuskan login sebagai superuser atau root.

1. Memperbarui informasi Filesystem
Edit file informasi filesystem /etc/fstab.Tambahkan "usrquota" atau "grpquota"
pada partisi yang akan diterapkan quota,misalnya /dev/hdc9 yang di-mount sebagai/home, dengan salah satu cara berikut ini.

/dev/hdc9 /home ext3 defaults,usrquota 1 2
/dev/hdc9 /home ext3 defaults,grpquota 1 2

Anda juga boleh menerapkan keduanya (usrquota dan grpquota)

/dev/hdc9 /home ext3 defaults,usrquota,grpquota 1 2
Usrquota digunakan untuk seting quota tiap user, dan grpquota digunakan untuk setting quota tiap group.

2. Membuat file informasi quota
Setelah kita mengedit file fstab, kita lanjutkandengan membuat file "quota.user"atau"quota.group" pada partisi yangdiberlakukan sistem quota. Caranya denganmenggunakan perintah touch:
# touch /home/quota,user

Kemudian diikuti dengan perintah
# chmod 600 /pafiition/quota.user
# chmod 600 /pa1fo1/ouota.group

3. Memeriksa dan memperbarui
informasi quota
Memeriksa informasi oartisi dan memperbaharui isi quota.user dengan perintah quotacheck:
# quotacheck .v /dev/hdc9 -rn
quotacheck: Scanning /dev/hdc9 [/homel
done
quotacheck: Checked 494 directories and
2833 liles

4 . Mengaktifkan quota
Pada saat ini quota akan aktif, tetapi quota(baca pembatasan) belum diterapkan karena kita belum memberikan informasi mendetail untuk tiap user yang ada pada Linux kita. Pengaktifan quota ditempuh dengan cara "quotaon -av", sedangkan untuk mematikan quota kita gunakan
"quotaoff -av"
# quotaon -av
/dev/hdc9 [/home]: user quotas turned on
# quotaoff -av
/dev/hdc9 l/homel: user quotas turned off

5. Pemberian quota tiap user
Untuk memberikan informasi detail tiap user, kita dapat menggunakan edquota. Setelah edquota kita jalankan. maka kita akan berhadapan mode editor vi (sebuah aplikasi text editor). Untuk rekan-rekan yang sudah biasa menggunakan vi, tidak akan kesulitan menggunakan edquota ini. Sedangkan bagi yang kurang biasa menggunakan vi, mungkin akan menemui sedikit masalah. Sebelum mengedit berapa besar quota atau berapa banyak file yang yang akan kita terapkan tiap user ada baiknya mengetahui bentuk dan struktur file edquota, kurang lebih akan seperti berikut

#edquota –u idban
Disk quotas for user idban luid 5001:
Filesystem blocks soft hard inodes soft hard
/dev/hdc9360 0 0 1394 0 0

Berikut ini penjelasan istilah-istilah yang berkaitan dengan quota dan edquota:
• Filesystem: partisi yang akan diberlakukan sistem quota yang telah memiliki ukuran blocks 9360 dan inodes 1394.
• blocks: jumlah total besar data pada user bersangkutan (dalam kb atau kilobyte), dengan penjelasan hard dan soft sebagai berikut.
• soft: besar quota yang diberikan untuk besar data (dalam kb), 0 artinya tak terbatas. Jika masa tenggang tidak diset, soft limit ini berlaku sebagai nilai maksimum.
• hard: batas limit (maksimum ) untuk besar data (dalam kb), 0 artinya tak terbatas. Jika masa tenggang tidak diset, hard limit tidak diberlakukan.
• inodes: jumlah file yang ada pada user bersangkutan, dengan penjelasan soft dan hard sebagai berikut.
• soft: besar quota yang diberikan untukjumlan file. 0 artinya tak terbatas. Jika masa tenggang tidak diset. soft limitini berlaku sebagai nilai maksimum.
• hard: batas limit (maksimum) untuk jumlah file. 0 artinya tak terbatas. Jika masa tenggang tidak diset, hard limit tidak diberlakukan.

Kembali ke edquota, untuk melakukan pengeditan kali pertama tekanlah tombol keyboard i. Kemudian dengan bantuan panah pada keyboard, geserlah ke tempat yang akan diedit informasinya. Misalnya, kita berikan user idban dengan quota sebesar 25 MB (soft 20 MB), maka kita akan edit seperti ini:
Disk quotas for user idban (uid 500):
Filesystem blocks soft hard inodes soft
hard
/dev/hdc9360 20000 25000 1394 0 0
Setelah selesai mengedit, simpanlah dengan menekan tombol Esc diikuti :wq Sekarang user idban telah dibatasi sebesar 25 MB untuk jumlah keseluruhan data. Jika ingin membatasi jumlah maksimum file. editlah bagian soft dan hard setelah inodes. Misalnya, di samping dibatasi 25 MB, user idban dibatasi hanya diperbolehkan memiliki 100 file (soft 90 file), maka akan seperti ini:
Disk quotas lor user idban (uid 500):
Filesystem blocks soft hard inodes soft
hard
/dev/hdc9 9360 20000 25000 1394 90 100
Mengapa soft memiliki nilai lebih kecil dari nilai hard? Soft (keduanya blocks dan inodes) diberikanilai lebih kecil dari nilai hard bertujuan untuk memperingatkan user bersangkutan bahwa mereka hampir mencapai batas maksimum yang kita berikan. Cara ini lebih manusiawi daripada user tidak diperingatkan tedebih dahulu. Dengan catatan, ini hanya akan diimplementasikan jika Anda memberikan masa renggang. Untuk memberikan peringatan pada user yang melebihi batas quota. Aktifkan warnquota, jika perlu masukkan dalam crontab (program penjadwalan).

6. Masa tenggang
Masa tenggang diberikan dengan maksud agar kita lebih manusiawi dengan user yangada pada Linux kita, dengan menggunakanedquota -t. Pada masa tenggang ini user diberikan keluasan untuk menggunakan batasan soft selama tenggang waktu yang kita berikan. Apabila melebihi tenggang waktu yang kita berikan, opsi soft akan otomatis berubah menjadi hard. Jika Anda tidak memberikan masa tenggang pada user, yang akan berlaku adalah nilai soft. Seoerti dalam contoh di atas, user idban hanya akan mendapatkan quota sebesar 20 MB. Lain halnya dengan diberikannya masa tenggang, misalnya batas waktu tenggang adalah satu hari, maka user idban mendapat soft (quota) pada 20 MB dan hard (limit) pada 25 MB. Jika user idban telah menggunakan space sebesar 20 MB, user idban diberikan tenggang satu hari untuk menghapus file yang tidak dipergunakan. Jika melebihi batas satu hari. pada user idban akan diterapkan hard (limit) sebesar 20Mb.

1 komentar:

  1. gan, saya udah coba buat file informasi quota tapi gagal mulu ya?
    tolong dibantu ya, makasih

    BalasHapus