Minggu, 09 Agustus 2009

Remote Desktop di linux VS Windows


Jika di windows memiliki software Pc Anywhere atau NetOP untuk melakukan Remote PC jarak jauh, maka di Linux pun bisa menggunakan VNC remote (Krdc) untuk membantu mengatasi masalah pada komputer client ditempat kerja anda dimana tempatnya yang terpisah ruangan ataupun terpisah gedung, maka seorang IT-Support tidak usah datang jauh-jauh hanya memperbaiki hal sepele, cukup dengan meremote desktop PC client dengan menggunakan VNC Remote pada linux OpenSuSe 10.2 atau 10.3 anda.

VNC adalah sebuah software remote control, dimana dg melalui software ini suatu komputer dapat melakukan akses untuk bekerja di suatu komputer lain yg terhubung dg jaringan. Hal ini dapat dilakukan baik dalam lingkungan LAN (Local Area Network) yg relatif berjarak dekat sampai dalam jaringan internet yg dapat berjarak ribuan kilometer.Teknologi remote control sebenarnya bukanlah barang baru. Kehadiran teknologi ini sudah cukup lama di dunia komputerisasi. Di dalam dunia operating system UNIX beserta keluarganya, komunikasi remote sudah sangat biasa dilakukan oleh penggunanya. Operating system yang berbasiskan UNIX memang telah dikenal lama sebagai salah satu operating system jaringan yang menonjol dalam aplikasi-aplikasi jaringan termasuk fasilitas untuk mengontrol komputer melalui jaringan dari jarak jauh yang juga telah dilengkapi dengan fasilitas keamanan yang sangat baik. Maka dari itulah teknologi remote control pada awalnya lebih banyak digunakan di lingkungan Unix, termasuk juga dalam operating system Linux.

Remote control di Linux/Unix yang secara native menggunakan command shell dilakukan hanya dengan menampilkan teks saja. Ini karena semua OS clone Unix dapat dioperasikan hanya dengan command text. Contoh yang paling banyak digunakan adalah koneksi SSH. SSH merupakan fasilitas remote yang building pada semua operating system Linux. Selain bisa menyediakan koneksi remote, SSH juga cukup aman untuk digunakan.

Setelah mengetikkan command text pada baris pertama, sistem akan meminta untuk dimasukkan password. Dan setelah password dimasukkan secara benar, maka tampilan prompt akan berubah menjadi tampilan prompt di komputer remote seakan-akan kita sedang berada di depan komputer remote yang mungkin saja berjarak beberapa meter ataupun ribuan kilometer dari komputer client.

Tetapi karena pada tahun2x belakangan ini, terutama dg berkembangnya sistem operasi Macintosh & Windows yang berbasis grafis (yg juga diikuti secara pesat oleh Linux), maka muncul kebutuhan yang lebih besar lagi untuk menggunakan remote control yang tidak sekedar dapat menampilkan text saja. Maka kemudian muncullah program-program remote control yg berbasis grafis seperti PCAnywhere, Radmin, dll. Salah satu dari software remote control berbasis grafis yang terkenal adalah VNC (Virtual Network Computing) yg akan kita pakai di sini.

Penggunaan Remote Control sangat membantu pekerjaan seorang administrator jaringan yang membutuhkan suatu tool yang handal untuk dapat menjangkau seluruh komputer yang ada dalam jaringannya atau karena suatu sebab tidak dapat berada di depan komputer yang bersangkutan, sehingga perbedaan lokasi yang jauh tidak menjadi masalah untuk dapat melakukan pekerjaan sehari-hari. Teknologi remote control saat ini sudah cukup maju dengan adanya software-software semacam VNC yang sangat powerfull karena kecepatannya, tampilannya yang berbasis grafis, dapat dijalankan menggunakan browser, dan dapat digunakan sama baiknya dalam platform komputer yang sama maupun dalam platform komputer yang berbeda seperti lintas platform antara Linux dan Windows.

Karakteristik VNC

Karekteristik yang merupakan keunggulan dari software VNC dibanding software-software sejenis adalah :
1. Multi platform. Software VNC ini dapat digunakan dengan baik di lingkungan Windows, Linux, Beos, Macintosh, Unix dll. bahkan penggunaannya juga dapat dilakukan secara lintas platform. VNC client & VCN server dapat saling diakses misalnya dari sistem Windows ke sistem Linux, maupun dari sistem Linux ke sistem Windows.
2. Client-server. Software terdiri dari aplikasi server & client dan harus diinstall di kedua sisi. Bagi orang-orang tertentu hal ini mungkin malah merepotkan, tapi ini juga berarti melindungi privacy komputer yg menggunakan VNC yang diniatkan untuk sesuatu yang positif.
3. HTTP support. VNC dapat diakses menggunakan default port 5900 atau 5901 untuk TCP maupun port 5800 atau 5801 untuk HTTP. Jadi sebuah VNC server juga dapat diakses oleh VNC client menggunakan sebuah browser seperti Mozilla Firefox, Opera, dan Internet Explorer dengan menggunakan java aplet.
4. Transparan. VNC adalah sebuah program yang sopan, tidak seperti beberapa software remote desktop lain yang menyembunyikan keberadaan dirinya dari user awam sehingga dapat dikategorikan sebagai sebuah software trojan yang akan dideteksi oleh software antivirus. Apabila sebuah komputer Windows dipasang VNC server, akan muncul sebuah icon kecil logo VNC di sebelah kanan taskbar yang akan berubah warna apabila komputer tersebut sedang diakses. VNC juga mengharuskan kita memasang password untuk bisa diaktifkan. Sebelum password dipasang, ia tidak akan mau bekerja.
5. Across internet. VNC dapat digunakan across internet. Cukup mengetahui nomor IP Address dan password VNC tujuan, kita dapat memperlakukannya menjadi program semacam PCAnywhere untuk mengontrol komputer dari jarak jauh melalui Internet.
6. Open Source. VNC bersifat Open Source dengan lisensi GPL (General Publik License). Dengan sifatnya ini, kita bisa dengan leluasa menggunakan dan mendistribusikannya, meski tentu saja harus mengikuti sifat lisensi open-source-nya. VNC telah disediakan secara gratis sejak tahun 1988 dan telah didownload lebih dari 50 juta copy

VNC menggunakan protokol yang sederhana berbasiskan RFB (Remote Frame Buffer). Protokol ini memungkinkan aplikasi remote mengupdate framebuffer yang ditampilkan di pengguna. Viewer di VNC tersedia untuk sistem UNIX, Linux, MS Windows, bahkan PDA. Saat ini VNC memang telah berkembang menjadi beberapa versi yg masing-masing juga dapat dijalankan dalam platform yang berbeda-beda, misalnya saja RealVNC (www.realvnc.com), TightVNC (www.tightvnc.com), dan metaVNC (http://sourceforge.net/projects/metavnc). RealVNC sekarang juga telah mempunyai versi Free, Personal edition, dan Enterprise edition, masing-masing punya harga & kemampuan yang berbeda-beda.

Instalasi VNC di Windows XP

Untuk platform Windows kita bisa menggunakan software RealVNC yg cukup bagus dan juga dapt digunakan secara gratis. Misalnya di sini kita memakai : vnc-3.3.7-x86_win32.exe.

Instalasi software VNC di Windows sangat mudah, hanya dengan menjalankan file executable instalasinya saja, mengikuti step-step instalasi yang semuanya menggunakan form-form grafis, kemudian VNC sudah siap untuk digunakan. Step-step singkat instalasinya adalah sebagai berikut :
1. Double-click pada file instalasinya, misalnya : VNC.3.3.7-x86_win32.exe.

vncwin1.jpg

2. Setelah tampilan window welcome & perjanjian lisensi, instalasi akan meminta memasukkan lokasi software & komponen apa saja yang dipilih.
3. Lalu setelah menentukan folder untuk start menu, instalasi akan meminta kita untuk memilih beberapa opsi tambahan berupa pembuatan icon di desktop & mendaftarkan sebagai system service.

vncwin5.jpg

4. Setelah tampilan review, instalasi akan berjalan sampai selesai. Setelah itu VNC akan meminta kita memasukkan password untuk dapat menjalankan service-nya dan memberi check pada bagian Accept Socket Connections. Enable Java Viewer akan mengaktifkan kemampuan akses VNC menggunakan Java aplet. Sedangkan beberapa opsi lain adalah untuk disconnect & tampilan secara remote. Setelah click Apply & OK maka instalasi VNC server & client di Windows XP telah selesai dan dapat langsung digunakan.

vncwin7.jpg

5. Sampai di sini service VNC di Windows telah dapat digunakan baik sebagai server maupun client.


Instalasi VNC di Linux Mandriva 2007.1

Untuk platform Linux di sini kita menggunakan software TightVNC yang merupakan pengembangan dari VNC standard yg juga dapat digunakan secara gratis. Versi VNC ini dirancang untuk penggunaan remote control untuk media jaringan yang lambat seperti koneksi dial-up modem. Karena itu akses dari VNC versi ini sangat cepat sesuai sifatnya yang memang dirancang untuk penggunaan jaringan dengan koneksi terbatas. Software ini sudah include dalam distro Linux Mandriva 2007.1 yang kita pakai di sini. Tinggal melakukan instalasi saja. Software-software tersebut adalah :
- tightvnc-server-1.2.9-16mdv2007.1
- tightvnc-doc-1.2.9-16mdv2007.1
- x11-server-xvnc-1.2.9-16mdv2007.1
- tightvnc-1.2.9-16mdv2007.1

Instalasi VNC di Linux secara basic adalah menggunakan command text yang diketikkan dalam shell. Misalnya untuk distro-distro Linux turunan Red Hat dapat menggunakan metode instalasi RPM (RedHat Package Manager).

Satu masalah yang sangat menyulitkan pengguna Linux dalam hal instalasi adalah masalah dependensi atau ketergantungan suatu software dengan software lain. Jadi kalau instalasi tidak mau berjalan karena software membutuhkan sebuah software lain yang jadi syaratnya, kita harus menginstalkan dulu software dependensi-nya itu yang mungkin juga masih membutuhkan software lain lagi untuk berjalan.

Karena di sini kita menggunakan Linux distro Mandriva 2007.1, sebuah distro yg juga merupakan turunan dari distro RedHat, jadi dalam penginstalan aplikasinya dapat menggunakan metode instalasi RPM yg lebih mudah daripada melakukan penginstalan dari source code. Bahkan dalam keluarga distro Mandrake/Mandriva seperti pada Mandriva 2007.1 ini sudah dilengkapi dengan tool tambahan untuk kemudahan penginstalan suatu paket software di dalam shell, yaitu “urpmi”. Bahkan keluarga distro ini juga sudah menyediakan suatu tool installer software berbasis grafis yg sangat bagus yg terdapat pada semacam control panel yg bernama MCC (Mandriva Control Centre). Instalasi via shell untuk software tightvnc seperti berikut (sebagi root) :

# urpmi vnc

maka software tightvnc akan terinstall lengkap dengan semua dependensinya.

Sedangkan instalasi dengan tampilan grafis menggunakan MCC adalah sebagai berikut :
1. Buka (double click) menu Configure Your Desktop di Linux Mandriva 2007.1 sehingga muncul window MCC Kemudian pilih tab sebelah kiri pada bagian Software Management
2. Buka bagian Install Software Packages, search dengan kata “vnc”, maka software2x yang berhubungan dengan vnc akan muncul. Kemudian pilih yang akan diinstall.

vnc_mdv5.jpg

3. Klik Apply, maka proses instalasi akan berjalan menginstalkan software yang dipilih berikut semua dependensi yang dibutuhkan olehnya.
4. Setelah semua software yang dibutuhkan terinstall, dapat dilakukan pengecekan dengan menggunakan RPM untuk memastikan semua software yang dibutuhkan sudah terinstall.

# rpm -qa |grep vnc

maka sistem akan menampilkan software2x yg berhubungan dg vnc yg telah terinstall.

5. Langkah berikutnya adalah melakukan setting terhadap aplikasi vncserver agar komputer Linux dapat di remote dari komputer lain melalui jaringan. Caranya adalah dengan mengetikkan :

# vncserver :1

Maksudnya adalah menyuruh vncserver untuk membuka koneksi remote dari luar untuk virtual desktop 1 (hal ini karena tidak seperti Windows, Linux mempunyai banyak virtual desktop). Kemudian sistem akan meminta untuk memasukkan password. Setelah password dimasukkan, maka vncserver sudah aktif dan siap untuk di remote dari komputer lain. VNC server juga akan membuat sebuah script yaitu .vnc/xstartup yang akan diletakkan di home direktori user yang digunakan waktu melakukan setting vncserver. Jadi letak dan isi dari file script ini akan berbeda tergantung dari siapa user yang sedang aktif saat melakukan setting, dan sistem Linux (distro) apa yang digunakan.

vnc_mdv6.jpg

6. Kemudian terakhir adalah memastikan service vncserver berjalan dengan baik dengan melakukan perintah :
# /etc/init.d/vncserver start
# /etc/init.d/vncserver restart

vnc_mdv7.jpg


Instalasi VNC di Linux Opensuse 10.x

Mirip dengan mandriva, pada Opensuse juga bisa menggunakan TightVNC atau Krdc. Saya lebih suka menggunakan krdc karena selain sudah terdistribusi pada paket opensuse, penggunaannya juga sangat mudah. Tambahan yang perlu dilakukan pada Opensuse adalah settingan di:
- Masuk ke Yast --> Hardware --> Grafick Card and Monitor--> Remote Access --> aktifkan pilihan
allow to display.....

-lalu masukan/lengkapi password dan http portnya ke 5800.


Menggunakan VNC di komputer Windows

Cara menggunakan VNC di desktop Windows sangat mudah, karena dapat langsung diakses dari menu Start ataupun dengan klik dua kali pada icon yang ada di desktop (kalau fasilitas ini diinstall pada saat instalasi program). Kemudian akan muncul sebuah window untuk memulai koneksi dengan memasukkan IP address atau nama komputer tujuan yang akan diakses.

vncwin8.jpg

vncwin10.jpg

Sebelum mulai membuka koneksi, kita masih bisa memilih beberapa opsi yang mungkin akan digunakan dengan mengklik tombol Options.. maka akan muncul window Connection Options… yang bisa digunakan untuk melakukan setting penggunaan mouse, kemudian untuk Display bisa dipilih hanya untuk view saja atau Full-screen mode. Sedang pada bagian Misc terdapat opsi-opsi untuk menshare koneksi dengan user lain dan mendisable clipboard transfer.

Menggunakan VNC di komputer Linux

Menggunakan VNC di komputer Linux sedikit lebih sulit karena biasanya VNC tidak langsung membuatkan menu atau sebuah icon shortcut di desktop, tapi kita harus mengetikkan perintahnya langsung dari shell atau membuat icon shortcut sendiri secara manual. Cara menjalankan VNC dari shell adalah dengan mengetikkan perintah sbb :

> vncviewer (Tekan Enter)

maka akan muncul menu untuk menuliskan IP address atau nama komputer dan password seperti ini :

vnc_suse8.jpg

vnc_suse9.jpg

Atau bisa juga dengan langsung menuliskan command-nya di shell secara lengkap dengan opsi-opsi yang diinginkan. Perintah-perintah VNC dapat dilihat dengan mengetikkan kata “vnc” diikuti dengan menekan tombol tab, sedangkan opsi-opsi tambahan untuk perintah-perintah VNC dapat dilihat di manualnya dengan menggunakan perintah man atau –help.

# man vncserver

atau

# vncviewer –help

Setelah address tujuan dan password dimasukkan akan terbuka sebuah window yang akan berisi tampilan desktop dari komputer yang sedang kita akses secara remote. Hasil tampilan dari komputer remote dengan menggunakan VNC di Linux tidak ada perbedaan dengan di Windows. Hanya saja pada tampilan VNC di Windows mempunyai beberapa fasilitas yang sulit dilakukan di Linux. Misalnya saja fasilitas untuk mengirimkan perintah Ctrl-Alt-Del yang lazim digunakan di komputer Windows, pada VNC di Windows hal ini dapat dilakukan dengan klik kanan di bagian atas konsol aksesnya, tapi di Linux tidak dapat dilakukan. Tapi kekurangan itu dapat diatasi dengan adanya kemampuan VNC untuk diakses melalui browser yang menyediakan fasilitas sama baiknya untuk Windows ataupun Linux.

tightvnc2.jpg

Menggunakan VNC secara lintas platform

Satu hal yang sangat menarik dari VNC adalah kemampuannya yang dapat dioperasikan secara lintas platform. Suatu VNC viewer yang dijalankan dari komputer platform apapun (Linux, Windows, Mac, dll.) dapat juga digunakan untuk mengakses komputer yang telah diinstall VNC server juga dalam platform apapun (Linux, Windows, Mac, dll.). Saya telah menggunakan VNC pada sesama komputer Windows, pada sesama komputer Linux, dari komputer Windows ke komputer Linux, dan dari komputer Linux ke komputer Windows, yang telah dicoba aksesnya menggunakan file vncviewer di Linux & Windows dan juga melalui browser Mozilla Firefox & Internet Explorer dari masing-masing platform, dan berjalan dengan baik. Gambar berikut adalah contoh penggunaan VNC viewer dari komputer Linux openSUSE 10.2 untuk mengakses secara remote komputer Windows XP Professional menggunakan port HTTP 5800 melalui browser Firefox.

vnc_mdv8.jpg

note: tampilan krdc dapat dilihat pada gambar paling awal.

Setting Samba Server

Samba digunakan di linux untuk compabilitas file sharing antara Linux dan windows,
dengan samba file dan printer antara linux dan windows akan dapat berkomunikasi
antara keduanya. Beberapa hal yang bisa dilakukan oleh samba :
  1. Sharing file di Linux dengan windows

  1. Akses sharing samba dan windows dengan Linux

Utility untuk menconfigurasi samba yang berbasis GUI
adalah GtkSamba ( http://www.open-systems.com/gtksamba.html )


Configurasi Samba (/etc/samba/smb.conf )

Tiap bagian di dalam configurasi samba, terdapat header-header seperti [global],
[homes], [printers]. [global] menyatakan akan configurasi global yang digunakan
samba untuk sharing file dan printer, [homes] menyatakan akan configurasi sharing
home directory dari tiap user di linux, [printers] menyatakan akan configurasi printer
yang di sharing

Contoh :

; /etc/samba/smb.conf

;

; Make sure and restart the server after making changes to this file, ex:

; # service stop

; # service start


[global]

; Uncomment this if you want a guest account

; guest account = nobody

log file = /var/log/samba-log.%m

lock directory = /var/lock/samba

share modes = yes

interfaces = 192.168.1.1/24


[homes]

comment = Home Directories

browseable = no

read only = no

create mode = 0750


[tmp]

comment = Temporary file space

path = /tmp

read only = no

public = yes


Salah satu utility yang dimiliki samba untuk menge-cek format yang
ada di smb.conf adalah testparm (manual ada di, man testparm), testparm
berguna untuk cek kebenaran format configurasi di file /etc/samba/smb.conf.
Entry Interface yang ada pada configurasi diatas menyatakan bahwa samba
akan bind ke interface yang mempunyai network ip 192.168.1.1 dan netmask /24.

1. Sharing file di Linux dengan windows

Contoh :

[public]

comment = Public Stuff

path = /home/public

public = yes

writable = yes

printable = no


Contoh configurasi sharing directory yang readable oleh public, dan
hanya writable oleh user yang ada di group staff
:

[public]

comment = Public Stuff

path = /home/public

public = yes

writable = yes

printable = no

write list = @staff


Sharing file dan printer antara Linux dan windows, memerlukan configurasi tambahan
karena sharing file di windows yang default menggunakan encrypted password,
sedangkan configurasi default dari samba di Linux belum menggunakan encrypted password,
maka entry di bawah ini harus ditambahkan di /etc/samba/smb.conf

encrypt passwords = yes

smb passwd file = /etc/smbpasswd

baca manual tentang encryption password di file ENCRYPTION.txt, Win95.txt
dan WinNT.txt yang ada di distribusi samba. Untuk configurasi windows client
untuk dapat melakukan koneksi dengan uncrypted password dapat dibaca juga pada file diatas.

Untuk Akses user ke home directory melalui samba, administrator harus membuatkan
user mapping antara username di Linux dan Username di windows client :

# smbadduser user_di_linux:windows_login

# smbadduser ichtus:admin


Untuk mengganti password suatu user :

# smbpasswd ichtus


Ada beberapa configurasi di samba untuk masalah compabilitas filename di windows dan Linux :

; Mangle case = yes seems to give the correct filenames

; for Win95/98/NT.

mangle case = yes


; If samba is case sensitive when looking for files

case sensitive = no

; Default case of files that are created

default case = lower


; Preserve case for all filenames

preserve case = yes


; Preserve case for dos (8.3) filenames

short preserve case = no


2. Akses sharing samba dan windows dengan Linux

Akses samba dari Linux client dapat dilakukan melalui utility smbclient:

# man smbclient

Untuk melihat sharing apa saja yang ada di samba server ataupun windows sharing

# smbclient -L host


host disini merupakan nama dari windows sharing atau samba server, karena
smbclient menggunakan NetBios name. Pada window sharing, maka nama host
merupakan Computer Name yang ada di Tab Identification pada Properties Network
atau dns name, Pada Linux client dapat diakses juga melalui dns name.

Contoh :

# smbclient -L mbone.petra.ac.id akses sharing ke linux/samba server.

# smbclient -L Desert\ Eagle akses sharing ke windows.

Sharename Type Comment

--------- ---- -------

NEW FOLDER Disk

BAGUS' DATA Disk

ADRIAN Disk

EYE'S ANGEL Disk

MY MUSIC Disk

IPC$ IPC Remote Inter Process Communication

Server Comment

--------- -------

DODO Pentium IV

HW_1

PKHW-INT

Workgroup Master

--------- -------

ELEKTRO ELEKTRO4

HARDWARE HW_1

MDKGROUP PETER2

MOLARD TORANUZ

PETRA PETRANTP2

PETRANET ELANGPERAK

PETRANET2000 MM01

Untuk akses ke file sharing :

# smbclient \\\\dodo.petra.ac.id\\New\ Folder atau

# smbclient //dodo.petra.ac.id/new\ folder

Unknown parameter encountered: "ssl CA certFile"

Ignoring unknown parameter "ssl CA certFile"

added interface ip=202.43.253.50 bcast=202.43.253.63 nmask=255.255.255.192

added interface ip=172.16.15.1 bcast=172.16.255.255 nmask=255.255.0.0

session request to DODO.PETRA.AC.I failed (Called name not present)

Password:

smb: \> ls

. D 0 Thu Jan 17 10:23:36 2002

.. D 0 Thu Jan 17 10:23:36 2002

disc1.dat R 765075068 Thu Nov 29 02:30:30 2001

disc2.dat R 761328332 Thu Nov 29 03:17:58 2001

jangan di hapus Tik.doc A 65024 Fri Mar 1 14:28:06 2002

y21123414.zip A 2750638 Sun Apr 28 12:30:16 2002

y21123414 D 0 Sun Apr 28 12:31:16 2002

59965 blocks of size 262144. 10310 blocks available


smb: \> h

ls dir du lcd cd

pwd get mget put mput

rename more mask del open

rm mkdir md rmdir rd

prompt recurse translate lowercase print

printmode queue cancel quit q

exit newer archive tar blocksize

tarmode setmode help ? !#



Contoh Lengkap file /etc/samba/smb.conf :

[global]

coding system =

client code page = 850

workgroup = LINUX

netbios name =

netbios aliases =

netbios scope =

server string = Hardware with Samba Server

interfaces =

bind interfaces only = No

security = USER

encrypt passwords = Yes

update encrypted = No

allow trusted domains = Yes

hosts equiv =

min password length = 5

map to guest = Never

null passwords = No

password server =

smb passwd file = /etc/samba/smbpasswd

root directory = /

passwd program = /bin/passwd

passwd chat = *new*password* %n\n *new*password* %n\n *changed*

passwd chat debug = No

username map = /etc/samba/smbusers

password level = 8

username level = 8

unix password sync = No

restrict anonymous = No

use rhosts = No

debug level = 2

syslog = 1

syslog only = No

log file = /var/log/samba/%m.log

max log size = 10

debug timestamp = Yes

debug hires timestamp = No

debug pid = No

debug uid = No

protocol = NT1

read bmpx = No

read raw = Yes

write raw = Yes

nt smb support = Yes

nt pipe support = Yes

nt acl support = Yes

announce version = 4.2

announce as = NT

max mux = 50

max xmit = 65535

name resolve order = host wins lmhosts bcast

max ttl = 259200

max wins ttl = 518400

min wins ttl = 21600

time server = No

change notify timeout = 60

deadtime = 0

getwd cache = Yes

keepalive = 300

lpq cache time = 10

max disk size = 0

max open files = 10000

read prediction = No

read size = 16384

shared mem size = 1048576

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

stat cache size = 50

load printers = Yes

printcap name = /etc/printcap

printer driver file = /etc/samba/printers.def

strip dot = No

character set =

mangled stack = 50

stat cache = Yes

domain groups =

domain admin group =

domain guest group =

domain admin users =

domain guest users =

machine password timeout = 604800

add user script =

delete user script =

logon script =

logon path = \\%N\%U\profile

logon drive =

logon home = \\%N\%U

domain logons = Yes

os level = 20

lm announce = Auto

lm interval = 60

preferred master = No

local master = Yes

domain master = No

browse list = Yes

dns proxy = No

wins proxy = No

wins server =

wins support = Yes

wins hook =

kernel oplocks = Yes

ole locking compatibility = Yes

oplock break wait time = 10

smbrun = /usr/bin/smbrun

config file =

auto services =

lock directory = /var/lock/samba

default service =

message command =

dfree command =

valid chars =

remote announce =

remote browse sync =

socket address = 0.0.0.0

homedir map = auto.home

time offset = 0

unix realname = No

NIS homedir = No

source environment =

panic action =

comment =

path =

revalidate = No

username =

guest account = guest

invalid users =

valid users =

admin users =

read list =

write list =

force user =

force group =

writeable = No

create mask = 0744

force create mode = 00

security mask = -1

force security mode = -1

directory mask = 0755

force directory mode = 00

directory security mask = -1

force directory security mode = -1

inherit permissions = No

guest only = No

guest ok = No

only user = No

hosts allow = 192.168. 127. 10. 202.43.253.

hosts deny =

status = Yes

max connections = 0

min print space = 0

strict sync = No

sync always = No

write cache size = 0

printable = No

postscript = No

printing = lprng

print command = lpr -r -P%p %s

lpq command = lpq -P%p

lprm command = lprm -P%p %j

lppause command =

lpresume command =

queuepause command =

queueresume command =

printer =

printer driver = NULL

printer driver location =

default case = lower

case sensitive = No

preserve case = Yes

short preserve case = Yes

mangle case = No

mangling char = ~

hide dot files = Yes

delete veto files = No

veto files =

hide files =

veto oplock files =

map system = No

map hidden = No

map archive = Yes

mangled names = Yes

mangled map =

browseable = Yes

blocking locks = Yes

fake oplocks = No

locking = Yes

oplocks = Yes

level2 oplocks = No

oplock contention limit = 2

strict locking = No

share modes = Yes

copy =

include =

preexec =

preexec close = No

postexec =

root preexec =

root preexec close = No

root postexec =

available = Yes

volume =

fstype = NTFS

set directory = No

wide links = Yes

follow symlinks = Yes

dont descend =

magic script =

magic output =

delete readonly = No

dos filetimes = No

dos filetime resolution = No

fake directory create times = No


[homes]

comment = Home Directories

writeable = Yes

browseable = No


[printers]

comment = All Printers

path = /var/spool/samba

printable = Yes

browseable = No


[tmp]

comment = Temporary file space

path = /tmp

writeable = Yes

guest ok = Yes


[public]

path = /home/public

writeable = Yes

guest only = Yes

    guest ok = Yes


Catatan Tambahan :

Dengan setting diatas, apabila diakses dari windows 9.x client, maka setting
username harus sesuai dengan login name yang ada di windows, karena file
server dengan menggunakan samba ini mempunyai kemampuan mirip dengan NT family.

Untuk dokumentasi yang lebih lengkap dapat diakses
di /usr/share/doc/samba-2.2.1a/, atau dapat mencari howto
di http://www.tldp.org (SMB-HOWTO).

Eksport MYSQL ke excel dengan PHP

catt: Referensi ini sudah dibuktikan..


Kadang-kadang data yang berada di database akan dicetak atau disimpan dalam format Excel atau spreedsheet. Beberapa aplikasi client database menyediakan fasilitas Export Data, baik ke dalam tabel html, DBF file, maupun Excel File.
Sekarang Kita akan melakukan export data MySQL ke file excel dengam menggunakan aplikasi yang dibuat dengan PHP. Berikut angkah-langkahnya,
Kita buat tabel contoh (id int(5), Nik varchar(8), nama varchar(25)) di dalam database test. lalu kita isi tabel tersebut dengan beberapa data dan kita export data tersebut ke dalam format file Excel.

Langkah pertama adalah melakukan konfigurasi koneksi ke server MySQL:

$host="localhost";
$user="whoami";
$pass="screet";
$db="test";
$conn=mysql_connect($host,$user,$pass) or die(mysql_error()."Koneksi Gagal");
?>

Setelah melakukan koneksi database dan koneksi berhasil, lalu kita buat tabel di atas, jangan lupa gunakan @ pada fungsi mysql_query, tanda @ digunakan untuk menghilangkan komentar error ketika ada kesalahan pembuatan tabel, hal ini dimaksudkan apabila tabel sudah ada, maka program tetap jalan tanpa ada pesan error.
Setelah Tabel selesai dibuat kita isi data tabel tersebut, berikut contoh script untuk membuat tabel dan mengisi datanya:
/* create database */
mysql_select_db($db);
$create="CREATE TABLE contoh (id INT( 5 ) NOT NULL AUTO_INCREMENT ,nik VARCHAR( 8 ) NOT NULL ,nama VARCHAR( 25 ) NOT NULL ,PRIMARY KEY ( id ) ,UNIQUE (nik)) TYPE = innodb";
$kueri_create=@mysql_query($create);
/* selesai create */

/* Insert data */
$insert="INSERT INTO `contoh` ( `id` , `nik` , `nama` )VALUES ('1', '00100001', 'Didik'), ('2', '00100002', 'Kurniawan')";
$kueri_insert=@mysql_query($insert);
?>

Setelah tabel siap dan data sudah ada, sekarang kita akan melakukan proses export data tersebut, berikut scriptnya:
$select = "select * from contoh order by nik";
//die($select);
$export = mysql_query($select);
$fields = mysql_num_fields($export);
for ($i = 0; $i < $fields; $i++) {
$header .= mysql_field_name($export, $i) . "\t";
}
while($row = mysql_fetch_row($export)) {
$line = '';
foreach($row as $value) {
if ((!isset($value)) OR ($value == "")) {
$value = "\t";
} else {
$value = str_replace('"', '""', $value);
$value = '"' . $value . '"' . "\t";
}
$line .= $value;
}
$data .= trim($line)."\n";
}
$data = str_replace("\r","",$data);
if ($data == "") {
$data = "n(0) Records Found!\n";
}
header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; filename=contoh.xls");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$data";
?>

Membangun Mail Server dengan Postfix dan UW-IMAP di Opensuse

Instalasi Postfix

Tambahkan alias untuk user postfix pada file /etc/aliases, jika belum ada.

# cp /etc/aliases /etc/aliases.save
# vi /etc/aliases dan ketik:

mailer-daemon: postmaster
postmaster: root
postfix: root

Listing 1. Daftar alias.
Perintah pertama dimaksudkan untuk menyimpan salinan file aliases agar jika terjadi masalah dengan cepat keadaan dapat dipulihkan seperti semula. Periksa baris-baris di atas apakah sudah ada, jika belum ada tambahkan. Kemudian rebuild file /etc/aliases.db dari file /etc/aliases, dengan perintah:

# newaliases

Jalankan daemon postfix dengan perintah:

# postfix start

Periksa apakah server sudah berjalan dan mendengarkan di port smtp yaitu port 25.

# netstat -tapn

Jika hasil perintah tersebut kira-kira di bawah ini maka server sudah berjalan.7

tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 28555/

Atau bisa juga diuji dengan perintah telnet menggunakan protokol smtp.
# telnet localhost 25

Jika server menanggapi dengan,

Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
220 localhost.localdomain ESMTP Postfix

berarti postfix memang sudah aktif. Ketikkan ‘quit’ diikuti dengan tombol ‘Enter’. Untuk menyesuaikan kelakuan server atur konfigurasi postfix, yaitu:

* /etc/postfix/main.cf,
* /etc/postfix/master.cf.

Nyaris semua konfigurasi bisa dilakukan pada file pertama. Sesuaikan nama host Anda pada file /etc/postfix/main.cf. Cari baris yang seperti dibawah ini:
myhostname = margie.com -------> silahkan diganti sesuai dgn yg diinginkan.

Listing 2. Konfigurasi postfix: myhostname.

Ganti nama lengkap hostname ini dengan nama host Anda. Kemudian restart server,
# service postfix restart

Mencoba Postfix

Untuk mencoba mail server dibuat user sembarang, katakanlah username ‘fakeuser’ dan passwordnya ‘fakepass’.
# useradd fakeuser
# passwd fakeuser

Masukkan password untuk fakeuser dua kali. Kemudian coba kirimkan email ke user tersebut dengan protokol smtp menggunakan program telnet.
[root@fariz root]# telnet margie.com 25
Trying 192.168.1.192…
Connected to margie.com
Escape character is ‘^]’.
220 margie.com ESMTP Postfix
mail from: sas@margie.com
250 Ok
rcpt to: fakeuser
250 Ok
data
354 End data with

Apakah uji coba ini bisa diterima?

Terima Kasih.


sas
.
250 Ok: queued as A7DC318073
quit
221 Bye
Connection closed by foreign host.

Jika tidak ada masalah atau pesan-pesan kesalahan atau peringatan maka kita bisa melihat email tersebut dalam file mail spool milik fakeuser. File spool ini bisa dilihat dengan perintah cat, less atau more.
[root@fariz root]# cat /var/spool/mail/fakeuser
From sas@margie.com Tue Sep 2 07:18:41 2003
Return-Path:

Apakah uji coba ini bisa diterima?

Terima Kasih.


Setelah itu tinggal buatkan user dan password untuk client-client yang berkepentingan sesuai dengan jumlah user yang ada.


POP/IMAP Server

Postfix adalah mail delivery system, artinya ia hanya berfungsi untuk mendistribusikan email antar komputer di jaringan. Fasilitas pengambilan email dari server ke komputer klien tidak diberikan. Anda harus menggunakan program lain untuk bisa memberikan fasilitas ini. Program yang bisa dipakai adalah:

* UW IMAP, dari http://www.washington.edu/imap/,
* Cyrus IMAP, yang bisa didapatkan dari http://asg.web.cmu.edu/cyrus/,
* Courier-Imap, yang bisa didapatkan dari http://www.inter7.com/courierimap/,
* Qpopper, dari http://www.eudora.com/qpopper/.

Paket yang sangat mudah diinstal adalah UW IMAP. Paket ini sudah menjadi standar distribusi Linux. Jika Anda memakai distro RedHat 9.0 paket ini terletak di CD kedua dengan nama imap-2001a-18.i386.rpm. Siapkan CD tersebut dan masukkan ke CD Drive, kemudian jalankan perintah:
# mount /mnt/cdrom
# rpm -ivh /mnt/cdrom/RedHat/RPMS/imap-2001a-18.i386.rpm

Kemudian aktifkan layanan ini dengan mengedit file /etc/xinetd.d/ipop3, sehingga isi file tersebut menjadi:

# vim /etc/xinetd.d/ipop3
# default: off
# description: The POP3 service allows remote users to access their mail \
# using an POP3 client such as Netscape Communicator, mutt, \
# or fetchmail.
service pop3
{
socket_type = stream
wait = no
user = root
server = /usr/sbin/ipop3d
log_on_success += HOST DURATION
log_on_failure += HOST
disable = no
}

Listing 3. Konfigurasi server pop3 untuk xinetd di direktori /etc/xinetd.d/.

Perhatikan baris yang berisi kata disable, nilai untuk direktif ini semula adalah yes. Ganti dengan no. Langkah terakhir restart layanan xinetd.
# /etc/init.d/xinetd restart


Kalau aku pake yang di bawah ini karena imap tidak terdistribusi di opensuse !!!!

Instalasi Tarball UW IMAP

Langkah-langkah yang perlu Anda kerjakan untuk menginstal UW IMAP dari kodes sumber adalah,

1. Download file dari hyperlink download yang terdapat di http://www.washington.edu/imap/.
2. Jalankan proses kompilasi di bawah direktori

# cp imap.tar.Z /usr/local/src/
# cd /usr/local/src/
# tar -xzvf imap.tar.Z
# cd imap-2002d/
# make slx SSLTYPE=none

3. Salin program-program hasil kompilasi ini ke direktori /usr/sbin.

# cp ipopd/ipop2d /usr/sbin/
# cp ipopd/ipop3d /usr/sbin/
# cp imapd/imapd /usr/sbin/

4. Pastikan pada file /etc/services terdapat baris berikut:

pop3 110/tcp pop-3
pop3 110/udp pop-3

5. Kemudian buatlah file seperti ditunjukkan pada listing 3 di direktori /etc/xinetd.d/, jika server Anda memakai xinetd. Tapi jika Anda memakai inetd tambahkan pada file /etc/inetd.conf, baris-baris berikut:

pop stream tcp nowait root /usr/sbin/ipop2d ipop2d
pop3 stream tcp nowait root /usr/sbin/ipop3d ipop3d
imap stream tcp nowait root /usr/sbin/imapd imapd

6. Restart xinetd dengan perintah,

# /etc/init.d/xinetd restart

atau

# /etc/init.d/inet restart

Apabila sistem yang dipakai menggunakan inetd.

Jika kita akses server pop dengan protokol pop3, kira-kira seperti ini hasilnya.
[root@fariz root]# telnet margie.com 110
Trying 192.168.1.192…
Connected to margie.com
Escape character is ‘^]’.
+OK POP3 margie.com v2001.78rh server ready
user fakeuser
+OK User name accepted, password please
pass fakepass
+OK Mailbox open, 1 messages
list
+OK Mailbox scan listing follows
1 792
.
retr 1
+OK 792 octets
Return-Path:

Apakah uji coba ini bisa diterima?

Terima Kasih.


mrg
.
quit
+OK
Connection closed by foreign host.

Cara mounting hardisk baru di linux:

Cara mounting hardisk baru di linux:

kita bisa melakukan proses mount secara manual dengan langkah berikut :
1.Buat folder/direktori baru pada /mnt, contohnya folder backup , hasilnya seperti /mnt/backup
2.Periksa partisi dengan perintah cat /proc/partitions untuk mengetahui harddisk baru yang kita pasang letaknya ada dimana
3.Lakukan mount dengan perintah : mount -t file sistem device direktori. Misal hardisk baru terdeteksi sebagai hdb1.

#mount -t vfat /dev/hdb1 /mnt/backup

Untuk FAT / FAT32, menggunakan vfat, sedangkan untuk ntfs menggunakan ntfs.
Secara default, partisi ntfs di set read only, sedangkan partisi FAT/FAT32 dengan status read-write.

Proses mounting tadi sifatnya tidak permanen, artinya, saat Linux dimatikan, informasi posisi mounting akan hilang. Untuk membuatnya permanen, kita harus merubah file /etc/fstab.
# vi /et c/fstab

lalu tambahkan perintah di bawah ini lalu restart komputernya

/dev/hdb1 /mnt/backup auto auto,uid=1000 0 0
Perhatikan uid=1000. Ini adalah tergantung dari user yang akan dipakai. uid ini harus diisi karena agar hardisk yang dimounting bisa diakses oleh user tersebut dan bukan hanya user root. Untuk mengetahuinya berapa uid dari user selain root yang boleh mengakses hardisk tersebut adalah dengan perintah:

$ cat /etc/passwd|grep (user) misal mysql
$ cat /etc/passwd|grep mysql

dan akan tampil sbb:

mysql:x:1000:1000:mysql th3sn0wbr4in,,,:/home/mysql:/bin/bash

Dan angka 1000 setelah x itu adalah uidnya.

Setelah mounting hardisk Ok, berarti kita bisa melanjutkan ke langkah selanjutnya yaitu fungsi cron.