svchost-error
Beberapa hari yang lalu saya sering kena “Generic Host For Win32 error” dan kemudian koneksi internet terputus dan ngga’ bisa reconnect lagi, satu-satunya jalan harus restart komputer.
Tapi selang beberapa jam kejadiannya seperti itu terulang lagi, saya pikir sistemnya crash. Kemudian saya lakukan perbaikan dengan memakai norton utility (win doctor) dan scan dengan norton corporate antivirus serta xoftspy anti spyware. Ternyata ngga’ ada efeknya sama sekali dan masih juga sering keluar error svchost.exe nya.
Akhirnya setelah ngobok-obok google ketemu solusinya dan sampai sekarang ngga’ pernah keluar lagi pesan error Generic Host For Win32
Caranya manualnya sebagai berikut :
Buka registry editor, start – run – ketik regedit – ok
masuk ke HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NetBT\Parameters, kemudian pada kolom sebelah kanan cari TransportBindName dan klik 2x
Setelah itu kosongin parameter pada Value data dan klik OK
Terakhir masuk ke HKEY_LOCAL_MACHINE\Software\Microsoft\OLE, cari EnableDCOM pada kolom sebelah kanan dan klik 2x. Pada kolom parameter Value data secara default akan terisi Y, ganti Y menjadi N kemudian klik OK.
Tutup registri editor dan aplikasi lainnya kemudian restart
Cara yang di atas jika dipergunakan untuk jaringan lokal akan menemui beberapa kendala, soalnya port 445 dan 135 ditutup.
Cara kedua yang belum saya coba adalah dengan patch windows-nya dengan KB89439 dan KB921883
Update (12-2-2009) : KB958644
Cara ketiga yang juga belum pernah saya coba dengan menggunakan aplikasi Svchost Fix Wizard 1.0, silakan kunjungi situs dan unduh filenya. Mereka mengklaim aplikasi tersebut merupakan solusi untuk memperbaiki error pada svchost termasuk Generic Host-nya. Kalau ngga’ salah itu shareware, sampai detik ini saya belum dapat versi full-nya.
Info tambahan : kunjungi microsoft help and support tentang permasalahan Generic Host Process for Win32 Services Error
Selasa, 22 Desember 2009
LVM HOW-TO (part-2 : 1st Case)
Contoh Implementasi LVM pada sebagian partisi + whole hardisk
Kita mempunyai 2 hardisk yg siap utk dipake bermain2 yaitu sda(20 GB) dan sdb (80 GB), anggaplah linux sudah terinstall pada hardisk pertama (sda) dg partisi sbb :
/dev/sda1 -> /boot = 100 MB
/dev/sda3 -> / = 2 GB
/dev/sda4 -> /usr = 3 GB
/dev/sda5 -> /var = 3 GB
/dev/sda6 -> free space / unpartition space = 11,9 GB (20GB-100MB-2GB-3GB-3GB)
/dev/sdb1 -> free space / unpartition space = 80 GB
1. Install LVM dari repository terdekat
apt-get install lvm2
2. Buatlah partisi baru yg belum diformat dengan cfdisk, fdisk, ataupun gparted (dg GUI)
Partisi baru akan bernama /dev/sda6 dan /dev/sdb1
3. Inisialisasi partisi sebagai LVM dengan cara
pvcreate -v /dev/sda6
utk melihat list Phisycal Volume yg telah dibuat gunakan pvdisplay
4. Buatlah Volume Group baru dengan cara
vgcreate vgmirror /dev/sda6
utk melihat list Volume Group yg telah dibuat gunakan vgdisplay dan amatilah baris VG Size.
# lakukan juga langkah [3] dan [4] pada /dev/sdb1
pvcreate -v /dev/sdb1
vgcreate vgmirror /dev/sdb1
lalu lakukan vgdisplay maka dapat dilihat bahwa VG Size sekarang adalah 91,9 GB (kumulatif dari 11,9 GB + 80 GB).
5. Buatlah Logical Volume sesuai kebutuhan
lvcreate -L 60G -n debian vgmirror
utk membuat Logical Volume “ISO” adalah dg cara menyesuaikan sisa free space yg masih ada
lihat vgdisplay perhatikan baris Free PE / Size 33232 / 31,9 GB lalu lakukan
lvcreate -l 33232 -n ISO vgmirror
6. Format masing-masing partisi
mkfs.reiserfs -l DEBIAN-LVM /dev/mapper/vgmirror-debian
mkfs.reiserfs -l ISO-LVM /dev/mapper/vgmirror-ISO
7. Mount partisi kedalam folder yg diinginkan
mount /dev/mapper/vgmirror-debian /mnt/debian
mount /dev/mapper/vgmirror-ISO /mnt/ISO
lakukan df -h utk memastikan kapasitas partisi yg termount.Pada kasus ini, jika partisi “/dev/mapper/vgmirror-ISO” sudah penuh, sedangkan partisi “/dev/mapper/vgmirror-debian” masih mempunyai banyak free space, maka dengan mudah qta bisa me-reduce ukuran partisi “/dev/mapper/vgmirror-debian” dan memberikan free space-nya pada partisi “/dev/mapper/vgmirror-ISO”.
Utk memindahkan alokasi free space sebagaimana kasus diatas, ada mekanisme yg harus kita lakukan secara terurut, yaitu :
REDUCE PARTITION
1. Lihat kapasitas partisi dengan
df -h -> kapasitas partisi /dev/mapper/vgmirror-debian = 60 GB
2. un-Mount partition
umount /mnt/debian
3. Reduce / Resize filesystems dengan
resize_reiserfs -s -3G /dev/mapper/vgmirror-debian -> mengurangi kapasitas partisi sebesar 3 GB pada /dev/mapper/vgmirror-debian
4. Reduce LVM partition dengan
lvreduce -L -3G /dev/vgmirror/debian
5. Mount partition
mount /dev/mapper/vgmirror-debian /mnt/debian
6. Lihat kapasitas partisi dengan
df -h -> kapasitas partisi /dev/mapper/vgmirror-debian = 57 GB (60GB-3GB)
EXTENDS PARTITION
1. Lihat kapasitas partisi dengan
df -h -> kapasitas partisi /dev/mapper/vgmirror-ISO = 31,9 GB
2. un-Mount partition
umount /mnt/debian
3. Extends LVM partition dengan
lvextend -L +3G /dev/vgmirror/ISO
4. Extends / Resize filesystems dengan
resize_reiserfs -s +3G /dev/mapper/vgmirror-ISO -> mennambah kapasitas partisi sebesar 3 GB pada /dev/mapper/vgmirror-ISO
5. Mount partition
mount /dev/mapper/vgmirror-ISO /mnt/ISO
6. Lihat kapasitas partisi dengan
df -h -> kapasitas partisi /dev/mapper/vgmirror-ISO = 34,9 GB (31,9GB+GB)
Selamat mencoba.
Happy Hacking.. :-)
Kita mempunyai 2 hardisk yg siap utk dipake bermain2 yaitu sda(20 GB) dan sdb (80 GB), anggaplah linux sudah terinstall pada hardisk pertama (sda) dg partisi sbb :
/dev/sda1 -> /boot = 100 MB
/dev/sda3 -> / = 2 GB
/dev/sda4 -> /usr = 3 GB
/dev/sda5 -> /var = 3 GB
/dev/sda6 -> free space / unpartition space = 11,9 GB (20GB-100MB-2GB-3GB-3GB)
/dev/sdb1 -> free space / unpartition space = 80 GB
1. Install LVM dari repository terdekat
apt-get install lvm2
2. Buatlah partisi baru yg belum diformat dengan cfdisk, fdisk, ataupun gparted (dg GUI)
Partisi baru akan bernama /dev/sda6 dan /dev/sdb1
3. Inisialisasi partisi sebagai LVM dengan cara
pvcreate -v /dev/sda6
utk melihat list Phisycal Volume yg telah dibuat gunakan pvdisplay
4. Buatlah Volume Group baru dengan cara
vgcreate vgmirror /dev/sda6
utk melihat list Volume Group yg telah dibuat gunakan vgdisplay dan amatilah baris VG Size.
# lakukan juga langkah [3] dan [4] pada /dev/sdb1
pvcreate -v /dev/sdb1
vgcreate vgmirror /dev/sdb1
lalu lakukan vgdisplay maka dapat dilihat bahwa VG Size sekarang adalah 91,9 GB (kumulatif dari 11,9 GB + 80 GB).
5. Buatlah Logical Volume sesuai kebutuhan
lvcreate -L 60G -n debian vgmirror
utk membuat Logical Volume “ISO” adalah dg cara menyesuaikan sisa free space yg masih ada
lihat vgdisplay perhatikan baris Free PE / Size 33232 / 31,9 GB lalu lakukan
lvcreate -l 33232 -n ISO vgmirror
6. Format masing-masing partisi
mkfs.reiserfs -l DEBIAN-LVM /dev/mapper/vgmirror-debian
mkfs.reiserfs -l ISO-LVM /dev/mapper/vgmirror-ISO
7. Mount partisi kedalam folder yg diinginkan
mount /dev/mapper/vgmirror-debian /mnt/debian
mount /dev/mapper/vgmirror-ISO /mnt/ISO
lakukan df -h utk memastikan kapasitas partisi yg termount.Pada kasus ini, jika partisi “/dev/mapper/vgmirror-ISO” sudah penuh, sedangkan partisi “/dev/mapper/vgmirror-debian” masih mempunyai banyak free space, maka dengan mudah qta bisa me-reduce ukuran partisi “/dev/mapper/vgmirror-debian” dan memberikan free space-nya pada partisi “/dev/mapper/vgmirror-ISO”.
Utk memindahkan alokasi free space sebagaimana kasus diatas, ada mekanisme yg harus kita lakukan secara terurut, yaitu :
REDUCE PARTITION
1. Lihat kapasitas partisi dengan
df -h -> kapasitas partisi /dev/mapper/vgmirror-debian = 60 GB
2. un-Mount partition
umount /mnt/debian
3. Reduce / Resize filesystems dengan
resize_reiserfs -s -3G /dev/mapper/vgmirror-debian -> mengurangi kapasitas partisi sebesar 3 GB pada /dev/mapper/vgmirror-debian
4. Reduce LVM partition dengan
lvreduce -L -3G /dev/vgmirror/debian
5. Mount partition
mount /dev/mapper/vgmirror-debian /mnt/debian
6. Lihat kapasitas partisi dengan
df -h -> kapasitas partisi /dev/mapper/vgmirror-debian = 57 GB (60GB-3GB)
EXTENDS PARTITION
1. Lihat kapasitas partisi dengan
df -h -> kapasitas partisi /dev/mapper/vgmirror-ISO = 31,9 GB
2. un-Mount partition
umount /mnt/debian
3. Extends LVM partition dengan
lvextend -L +3G /dev/vgmirror/ISO
4. Extends / Resize filesystems dengan
resize_reiserfs -s +3G /dev/mapper/vgmirror-ISO -> mennambah kapasitas partisi sebesar 3 GB pada /dev/mapper/vgmirror-ISO
5. Mount partition
mount /dev/mapper/vgmirror-ISO /mnt/ISO
6. Lihat kapasitas partisi dengan
df -h -> kapasitas partisi /dev/mapper/vgmirror-ISO = 34,9 GB (31,9GB+GB)
Selamat mencoba.
Happy Hacking.. :-)
LVM HOW-TO (part-1 : Preface)
Untuk mengimplementasikan tutorial ini, anda dianggap sudah memahami cara dasar untuk partisi hardisk pada linux, paham mounting device, dll
Serta Penulis tdk bertanggungjawab akan segala kemungkinan kesalahan yg akan terjadi ketika anda mengimplementasikan tutorial ini. Just like debian, this tutorial is ABSOLUTELY NO WARRANTY
Saat pertama kali melakukan instalasi linux, kita biasanya bingung dalam melakukan alokasi partisi, kemudian kita berusaha utk melakukan proses kira2, misalnya :
1. Partisi root yaitu “/” = 1 GB
2. Partisi “/usr” = 3 GB -> karena akan berisi program2
3. Partisi “/var” = 2 GB -> hanya berisi log file dan file2 dinamis lainnya
4. Partisi “/home” = 5 GB -> utk menyimpan data2 user
Permasalahan pertama yg bisa timbul adalah pada saat kita sudah menginstall banyak program, maka ternyata partisi “/usr” menjadi penuh (mis : 98% used), sedangkan partisi “/root” dan “/var” ternyata tdk banyak terisi (mis : 20 % used), maka kita ingin me-resize partisi “/root” dan “/var” menjadi lebih kecil, dan kemudian mengalokasikan free space-nya pada “/usr”.
Permasalahan kedua yg akan timbul adalah ketika data user menjadi sangat banyak, maka kita akan menambah dengan hardisk baru, dan kita ingin hardisk baru ini langsung dikenali dibawah partisi “/home” dan tidak membuat mount point baru lagi.
Konsep LVM (Logical Volume Manager) ini memungkinkan kita utk memanfaatkan alokasi space pada hardisk (baik single disk, maupun multiple disk) dengan lebih fleksibel.
Anatomi LVM
Anatomi LVM
PV / Physical Volume : partisi fisik yg di-inisialisasi sebagai LVM
VG / Volume Group : volume group pada LVM, pada gambar diatas kapasitas VG = kapasitas hda1 + kapasitas hdc1
LV / Logical Volume : partisi yg ditangani oleh LVM, partisi ini bisa diubah-ubah secara dinamis, tanpa harus mengubah partisi secara fisik.
Serta Penulis tdk bertanggungjawab akan segala kemungkinan kesalahan yg akan terjadi ketika anda mengimplementasikan tutorial ini. Just like debian, this tutorial is ABSOLUTELY NO WARRANTY
Saat pertama kali melakukan instalasi linux, kita biasanya bingung dalam melakukan alokasi partisi, kemudian kita berusaha utk melakukan proses kira2, misalnya :
1. Partisi root yaitu “/” = 1 GB
2. Partisi “/usr” = 3 GB -> karena akan berisi program2
3. Partisi “/var” = 2 GB -> hanya berisi log file dan file2 dinamis lainnya
4. Partisi “/home” = 5 GB -> utk menyimpan data2 user
Permasalahan pertama yg bisa timbul adalah pada saat kita sudah menginstall banyak program, maka ternyata partisi “/usr” menjadi penuh (mis : 98% used), sedangkan partisi “/root” dan “/var” ternyata tdk banyak terisi (mis : 20 % used), maka kita ingin me-resize partisi “/root” dan “/var” menjadi lebih kecil, dan kemudian mengalokasikan free space-nya pada “/usr”.
Permasalahan kedua yg akan timbul adalah ketika data user menjadi sangat banyak, maka kita akan menambah dengan hardisk baru, dan kita ingin hardisk baru ini langsung dikenali dibawah partisi “/home” dan tidak membuat mount point baru lagi.
Konsep LVM (Logical Volume Manager) ini memungkinkan kita utk memanfaatkan alokasi space pada hardisk (baik single disk, maupun multiple disk) dengan lebih fleksibel.
Anatomi LVM
Anatomi LVM
PV / Physical Volume : partisi fisik yg di-inisialisasi sebagai LVM
VG / Volume Group : volume group pada LVM, pada gambar diatas kapasitas VG = kapasitas hda1 + kapasitas hdc1
LV / Logical Volume : partisi yg ditangani oleh LVM, partisi ini bisa diubah-ubah secara dinamis, tanpa harus mengubah partisi secara fisik.
Installasi mailserver dengan postfix and courier menggunakan authentikasi mysql
Tutorial ini menjelaskan Step by Step tentang cara membuat mailserver dg virtual domain (domain email tidak harus selalu sama dg domain komputer yang sesungguhnya) denganberbasiskan postfix dan courier dg memanfaatkan mysql sebagai penyimpan data username & password bagi tiap2 user. Berikut ini yang harus anda lakukan.
( INTERNET )—————-| DMZ |—————-( Local Area Networks )
Step 1: Install paket-paket yang diperlukan
Paket yang diperlukan dalam tutorial ini antara lain :
Untuk Mengirim email (SMTP) : postfix (Pilih: “Local only”), postfix-tls, postfix-mysql, postfix-doc
Untuk Database user : mysql-client-5.0, mysql-server-5.0
Untuk menerima email (POP3 & IMAP) : courier-base (Pilih: “No”), courier-authdaemon, courier-authlib-mysql, courier-pop, courier-pop-ssl, courier-imap, courier-imap-ssl
Untuk Keamanan Pengiriman dan Penerimaan email : libsasl2, libsasl2-modules, libsasl2-modules-sql, openssl
Untuk Mencegah Virus dan Spam : amavisd-new, spamassassin, clamav, clamav-daemon, zoo, unzip, lha
Untuk tampilan WebMail : squirrelmail, phpmyadmin
Untuk testing tools : telnet
root@bajoel:~#apt-get install postfix postfix-tls postfix-mysql postfix-doc mysql-client-5.0 mysql-server-5.0 courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2 libsasl2-modules libsasl2-modules-sql openssl amavisd-new spamassassin clamav clamav-daemon zoo unzip lha squirrelmail phpmyadmin telnet
Step 2: Membuat user, database, dan tabel yang diperlukan pada mysql
Tambahkan database dan tabel-tabel baru pada mysql anda sebagai berikut
root@bajoel:~#mysql -u root -p
password:
mysql>CREATE DATABASE mail;
mysql>CREATE USER 'mailadmin'@'localhost' identified by 'passwordanda';
mysql>USE mail;
mysql>CREATE TABLE domains (
domain varchar(50) NOT NULL,
PRIMARY KEY (domain) )
TYPE=MyISAM;
mysql>CREATE TABLE forwardings (
source varchar(80) NOT NULL,
destination TEXT NOT NULL,
PRIMARY KEY (source) )
TYPE=MyISAM;
mysql>CREATE TABLE users (
email varchar(80) NOT NULL,
password varchar(20) NOT NULL,
PRIMARY KEY (email) )
TYPE=MyISAM;
mysql>GRANT all ON mail.* TO 'mailadmin'@'localhost';
Step 3: Membuat file2 baru sebagai penunjuk ke database mysql
Buat file baru dg nama mysql-virtual_domains.cf
root@bajoel:~#touch /etc/postfix/mysql-virtual_domains.cf
isi file mysql-virtual_domains.cf dg baris-baris dibawah ini:
root@bajoel:~#mcedit /etc/postfix/mysql-virtual_domains.cf
user = mailadmin
password = passwordanda
dbname = mail
table = domains
select_field = ‘virtual’
where_field = domain
hosts = 127.0.0.1
Buat file baru dg nama mysql-virtual_forwardings.cf yg berisi :
root@bajoel:~#touch /etc/postfix/mysql-virtual_forwardings.cf
isi file mysql-virtual_forwardings.cf dg baris-baris dibawah ini:
root@bajoel:~#mcedit /etc/postfix/mysql-virtual_forwardings.cf
user = mailadmin
password = passwordanda
dbname = mail
table = forwardings
select_field = destination
where_field = source
hosts = 127.0.0.1
Buat file baru dg nama user mysql-virtual_mailboxes.cf yg berisi :
root@bajoel:~#touch /etc/postfix/mysql-virtual_mailboxes.cf
isi file mysql-virtual_mailboxes.cf dg baris-baris dibawah ini:
root@bajoel:~#mcedit /etc/postfix/mysql-virtual_mailboxes.cf
user = mailadmin
password = passwordanda
dbname = mail
table = users
select_field = CONCAT(SUBSTRING_INDEX(email,’@',-1),’/',SUBSTRING_INDEX(email,’@',1),’/')
where_field = email
hosts = 127.0.0.1
Buat file baru mysql-virtual_email2email.cf yang berisi :
root@bajoel:~#touch /etc/postfix/mysql-virtual_email2email.cf
isi file mysql-virtual_email2email.cf dg baris-baris dibawah ini:
root@bajoel:~#mcedit /etc/postfix/mysql-virtual_email2email.cf
user = mailadmin
password = passwordanda
dbname = mail
table = users
select_field = email
where_field = email
hosts = 127.0.0.1
[Penting] Demi keamanan, pastikan hanya user root & postfix saja yang bisa mengakses file-file yang telah anda buat.
root@bajoel:~#chown root:postfix /etc/postfix/mysql-virtual_*.cf
root@bajoel:~#chmod u=rw,g=r,o= /etc/postfix/mysql-virtual_*.cf
Step 4: Membuat user baru pada system kita sebagai administrator-email
User ini bertugas untuk membuat maildir baru setiap ada user baru yang mendaftar pada mailserver anda
root@bajoel:~#groupadd -g 5000 mail-admin
root@bajoel:~#useradd -g mail-admin -u 5000 mail-admin -d /home/mail -m
root@bajoel:~#mkdir /home/mail
root@bajoel:~#chown -R mail-admin:mail-admin /home/mail
root@bajoel:~#chmod -R u=rwx,g=,o= /home/mail
Step 5: Mengkonfigurasi postfix sbg server SMTP
File main.cf ini adalah file konfigurasi utama dari postfix
root@bajoel:~#mcedit /etc/postfix/main.cf
Editlah file tsb, sehingga menjadi seperti dibawah ini:
inet_interfaces = all
myhostname = mail.domain-anda.org (fqdn)
mydestination = (jangan menuliskan virtual domain disini -> lebih baik dikosongi saja)
mynetworks = lqman.org (nama domain anda)
virtual_alias_domains =
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_forwardings.cf mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/mail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
Testing…
Restart service postfix, dan cobalah untuk mengakses port 25 dengan telnet
root@bajoel:~#/etc/init.d/postfix restart
root@bajoel:~#postfix check
Jika tidak muncul suatu pesan kesalahan, berarti anda sukses…….
root@bajoel:~#telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 mail.lqman.org ESMTP Postfix (Debian/GNU)
Jika muncul sebagaimana tulisan diatas, berarti postfix anda sudah berjalan lancar…….
Tekanlah tombol Ctrl+] lalu ketik quit untuk keluar dari sesi telnet,
Ambilah napas dalam-dalam, dan lanjutkan perjuangan ;)
Step 6: Mengaktifkan fasilitas authentikasi pada postfix (Auth-SMTP)
Tell Postfix to use SASL/MySQL, dg cara buat file baru dg nama /etc/postfix/sasl/smtpd.conf
root@bajoel:~#touch /etc/postfix/sasl/smtpd.conf
Isi file /etc/postfix/sasl/smtpd.conf dg baris-baris dibawah ini:
root@bajoel:~#mcedit /etc/postfix/sasl/smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sql
mech_list: plain login cram-md5 digest-md5
sql_engine: mysql
sql_hostnames: 127.0.0.1
sql_user: mailadmin
sql_passwd: passwordanda
sql_database: mail
sql_select: select password from users where email=’%u@%r’
log_level: 7
[Penting] Demi keamanan, pastikan hanya user root & postfix saja yang bisa mengakses file-file yang telah anda buat.
root@bajoel:~#chown root:postfix /etc/postfix/sasl/smtpd.conf
root@bajoel:~#chmod u=rw,g=r,o= /etc/postfix/sasl/smtpd.conf
Mengaktifkan TLS untuk meng-encrypt SMTP traffik, dg cara membuat sertifikat (certificate)
root@bajoel:~#openssl req -new -outform PEM -out /etc/postfix/smtpd.cert -newkey rsa:2048 -nodes -keyout /etc/postfix/smtpd.key -keyform PEM -days 365 -x509
[Penting] Demi keamanan, pastikan hanya user root & postfix saja yang bisa mengakses file-file yang telah anda buat.
root@bajoel:~#chown root:postfix /etc/postfix/smtpd.*
root@bajoel:~#chmod u=rw,g=r,o= /etc/postfix/smtpd.*
Step 7: Mengkonfigurasi courier sebagai server POP3 / IMAP
Edit file /etc/courier/authdaemonrc,
root@bajoel:~#mcedit /etc/courier/authdaemonrc
ubah parameter authmodulelist menjadi :
authmodulelist=”authmysql”
Lalu edit file /etc/courier/authmysqlrc,
root@bajoel:~#mcedit /etc/courier/authmysqlrc
Ubah beberapa parameter, shg menjadi seperti di bawah ini :
MYSQL_SERVER localhost
MYSQL_USERNAME mailadmin
MYSQL_PASSWORD passwordanda
MYSQL_PORT 0
MYSQL_DATABASE mail
MYSQL_USER_TABLE users
#MYSQL_CRYPT_PWFIELD (jadikan baris ini sebagai komentar)
MYSQL_CLEAR_PWFIELD password
MYSQL_UID_FIELD 5000
MYSQL_GID_FIELD 5000
MYSQL_LOGIN_FIELD email
MYSQL_HOME_FIELD “/home/mail”
MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,’@',-1),’/',SUBSTRING_INDEX(email,’@',1),’/')
#MYSQL_NAME_FIELD (jadikan baris ini sebagai komentar)
[Penting] Mengedit file authmysqlrc agak sedikit susah, pastikan anda berhati-hati dan tidak membuat kesalahan (jangan memakai tanda SPASI, tetapi gunakan tombol TAB)
Testing…
Restart service courier-authdaemon, dan cobalah untuk mengakses port 110 dengan telnet
root@bajoel:~#/etc/init.d/courier-authdaemon restart
Jika tidak muncul suatu pesan kesalahan, berarti anda sukses…….
root@bajoel:~#telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Hello there.
Jika muncul pesan seperti diatas, maka berbahagialah.
Tarik napas dalam-dalam dan ucapkan hamdalah atas keberhasilan anda :)
[Penting] Anda tidak dapat membuka mailbox / maildir anda sebelum ada email yang terkirim pada mailbox anda.Pesan kesalahan akan dimunculkan. Karena itulah anda harus mengirim welcome email pada setiap user baru.
Step 8: Test hasil konfigurasi anda
Selamat, anda telah menyelesaikan poin konfigurasi. Pada bagian ini anda anda hanya akan men-testing server yang telah anda konfig sebelumnya.
Sekarang kita akan membuat database pada domain yang akan kita coba, domain inilah yang kita jadikan sebagai domain percobaan untuk mengirim dan menerima email.
Buatlah domain baru dg nama lqman.org pada tabel domains, dan buatlah juga alamat email dan password baru pada tabel users.
Untuk lebih jelasnya ikutilah syntax mysql dibawah ini.
root@bajoel:~#mysql -u mailadmin -p mail
password:
mysql>INSERT INTO domains(domain) VALUES ('lqman.org');
mysql>INSERT INTO users(email,password) VALUES ('admin@lqman.org','admin');
mysql>INSERT INTO users(email,password) VALUES ('user@lqman.org','user');
Sekarang kita sudah punya sebuah virtual domain baru dg nama “lqman.org” dan 2 orang user, yaitu “admin@lqman.org” dan “user@lqman.org” yang masing-masing user ini mempunyai password “admin” dan “user”.
Jika anda tidak mempunyai MX record pada DNS server anda, maka kami menyarankan utk menambahkan MX record spt dibawah ini:
root@bajoel:~#mcedit /etc/bind/db.lqman.org
@ IN MX 5 mail.lqman.org.
mail IN A 10.122.1.22
IP-Address 10.122.1.22 hanya sebagai contoh saja, ubahlah sesuai dg IP-Address yg anda inginkan. Kemudian untuk mencoba pengiriman email dari smtp server anda, lakukan telnet pada localhost 25
root@bajoel:~#telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 mail.lqman.org ESMTP Postfix (Debian/GNU)
kemudian secara interaktif (pada mode telnet) berikan perintah spt dibawah ini:
Anda : ehlo virtual.test
Server : 250-mailtest
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN DIGEST-MD5 CRAM-MD5
250-AUTH=LOGIN PLAIN DIGEST-MD5 CRAM-MD5
250 8BITMIME
Anda : mail from:admin@lqman.org
Server : 250 Ok
Anda : rcpt to:user@lqman.org
Server : 250 Ok
Anda : data
Server : 354 End data with .
Anda : Subject:Just for test
This is a test email
. (tanda titik)
Server : 250 Ok: queued as ABC1D1C123
Anda : quit
Server : 221 BYE
Jika respon server seperti tulisan diatas, berarti email dari admin@lqman.org kepada user@lqman.org sudah masuk ke dalam antrian untuk segera dikirimkan oleh postfix (SMTP server).
Lihatlah pada log file yang berada pada /var/log/mail.info
root@bajoel:~#tail -f /var/log/mail/info | ccze
pasti akan kita lihat bagin seperti dibawah ini :
Jul 24 21:48:28 myserver postfix/smtpd[9119]: connect from myserver[127.0.0.1]
Jul 24 21:48:48 myserver postfix/smtpd[9119]: F2C1B47BD: client=myserver[127.0.0.1]
Jul 24 21:48:52 myserver postfix/cleanup[9144]: F2C1B47BD: message-id=
Jul 24 21:48:52 myserver postfix/qmgr[9117]: F2C1B47BD: from=, size=313, nrcpt=1 (queue active)
Jul 24 21:48:52 myserver postfix/virtual[9148]: F2C1B47BD: to=, relay=virtual, delay=10, status=sent (delivered to maildir)
Jika anda melihat “status=sent (delivered to maildir)” maka email yang anda kirimkan sudah berhasil dikirimkan ke dalam Maildir user yang bersangkutan (user@lqman.org). Jalankan perintah find untuk melihat seluruh file dan direktori yang ada dibawah direktori “/home/mail”.
root@bajoel:~#find /home/mail
/home/mail/
/home/mail/lqman.org
/home/mail/lqman.org/user
/home/mail/lqman.org/user/cur
/home/mail/lqman.org/user/new
/home/mail/lqman.org/user/new/1170803794.V805I1c1fbM98807.bajoel
/home/mail/lqman.org/user/new/1170803833.V805I1c1feM87660.bajoel
/home/mail/lqman.org/user/tmp
Semuanya berjalan Lancar? Bagus.. :) Sebagai langkah terakhir, anda harus mencoba login pada email baru nada melalui tampilan web yg telah disediakan oleh squirrelmail. Pada percobaan ini, username yang bisa digunakan adalah “user@lqman.org” dengan password “user”
Step 9: Menambahkan User Baru pada Mail-Server
Pada step yang terakhir ini anda tinggal memasukkan / menambahkan pada database setiap username dan password user baru pada mailserver anda.
Untuk setiap virtual-domain baru, Tambahkan nama virtual-domain tsb pada tabel ‘domains’
Untuk setiap user baru, Tambahkan username (email address) dan password (plain text) pada tabel ‘users’
Untuk setiap forwarding, Tambahkan source dan destination mail address pada tabel ‘forwardings’, jika anda punya banyak destination, pisahkan dengan koma. Tabel ini digunakan untuk me-redirect setiap email pada system anda, termasuk juga anda bisa me-redirect local mail-address.
Contoh :
source destination Effect
test@my.domain philip@my.domain me-redirect emails untuk postmaster kepada philip.
@my.domain @another.domain Ini adalah re-direction thd seluruh domain. Setiap email yang dialamatkan
kpd suatu user pada domain ‘my.domain’ akan di-forward kepada user
yang sama pada domain ‘another.domain’.
Jadi mail kpd lqman@my.domain akan di-redirect kepada
lqman@another.domain.
jesper@my.domain dilbert@my.domain,dilbert@gmail.com mem-forward email yg dialamatkan untuk jesper@my.domain kepada
dilbert@my.domain dan dilbert@gmail.com
Step 10: Interface WebMail dg squirrelmail
Untuk mempermudah user anda dalam menggunakan mailserver yg sdh anda buat, maka tampilan web merupakan interface yang paling mudah. Oleh karena itu paket squirrelmail yang sudah kita install pada step pertama harus dikonfigurasi sesuai dg mailserver yg sdh kita buat.
Untuk menyesuaikan dg konfigurasi mailserver ini, cukup lakukan perintah squirrelmail-configure
root@bajoel:~#squirrelmail-configure
lalu lakukan sesuai dg langkah-langkah yang sudah tersedia. Langkah yang paling penting disini adalah saat menentukan “Server Settings” saja, selain itu tidak ada yang terlalu penting.
Pada saat menentukan “Server Settings”, lakukan perubahan spt dibawah ini
Secure IMAP (TLS) : false
Server software : courier
kemudian save opsi tersebut dg cara menekan tombol “s”, lalu keluar dari configurasi dg menekan tombol “q”.
Step 11: Menjadikan webmail kita sebagai VirtualHost baru
Buatlah file baru pada konfigurasi webserver anda (pada tutorial ini dipakai webserver apache2)
root@bajoel:~#touch /etc/apache2/sites/available/squirrelmail
kemudian tambahkan baris-baris dibawah ini :
NameVirtualHost 10.122.1.22:80
ServerAdmin admin@lqman.org
ServerName mail.lqman.org
DocumentRoot /usr/share/squirrelmail
Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
setelah itu, buatlah symbolic link ke direktori /etc/apache2/sites-enable/ dengan cara
root@bajoel:~#ln -s /etc/apache2/sites-available/squirrelmail.conf /etc/apache/sites-enable/001squirrelmail.conf
lalu cek konfigurasi apache2 dg syntax :
root@bajoel:~#apache2ctl configtest
dan jika muncul tulisan Syntax OK, maka restart-lah apache2 dg :
root@bajoel:~#apache2ctl restart
( INTERNET )—————-| DMZ |—————-( Local Area Networks )
Step 1: Install paket-paket yang diperlukan
Paket yang diperlukan dalam tutorial ini antara lain :
Untuk Mengirim email (SMTP) : postfix (Pilih: “Local only”), postfix-tls, postfix-mysql, postfix-doc
Untuk Database user : mysql-client-5.0, mysql-server-5.0
Untuk menerima email (POP3 & IMAP) : courier-base (Pilih: “No”), courier-authdaemon, courier-authlib-mysql, courier-pop, courier-pop-ssl, courier-imap, courier-imap-ssl
Untuk Keamanan Pengiriman dan Penerimaan email : libsasl2, libsasl2-modules, libsasl2-modules-sql, openssl
Untuk Mencegah Virus dan Spam : amavisd-new, spamassassin, clamav, clamav-daemon, zoo, unzip, lha
Untuk tampilan WebMail : squirrelmail, phpmyadmin
Untuk testing tools : telnet
root@bajoel:~#apt-get install postfix postfix-tls postfix-mysql postfix-doc mysql-client-5.0 mysql-server-5.0 courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2 libsasl2-modules libsasl2-modules-sql openssl amavisd-new spamassassin clamav clamav-daemon zoo unzip lha squirrelmail phpmyadmin telnet
Step 2: Membuat user, database, dan tabel yang diperlukan pada mysql
Tambahkan database dan tabel-tabel baru pada mysql anda sebagai berikut
root@bajoel:~#mysql -u root -p
password:
mysql>CREATE DATABASE mail;
mysql>CREATE USER 'mailadmin'@'localhost' identified by 'passwordanda';
mysql>USE mail;
mysql>CREATE TABLE domains (
domain varchar(50) NOT NULL,
PRIMARY KEY (domain) )
TYPE=MyISAM;
mysql>CREATE TABLE forwardings (
source varchar(80) NOT NULL,
destination TEXT NOT NULL,
PRIMARY KEY (source) )
TYPE=MyISAM;
mysql>CREATE TABLE users (
email varchar(80) NOT NULL,
password varchar(20) NOT NULL,
PRIMARY KEY (email) )
TYPE=MyISAM;
mysql>GRANT all ON mail.* TO 'mailadmin'@'localhost';
Step 3: Membuat file2 baru sebagai penunjuk ke database mysql
Buat file baru dg nama mysql-virtual_domains.cf
root@bajoel:~#touch /etc/postfix/mysql-virtual_domains.cf
isi file mysql-virtual_domains.cf dg baris-baris dibawah ini:
root@bajoel:~#mcedit /etc/postfix/mysql-virtual_domains.cf
user = mailadmin
password = passwordanda
dbname = mail
table = domains
select_field = ‘virtual’
where_field = domain
hosts = 127.0.0.1
Buat file baru dg nama mysql-virtual_forwardings.cf yg berisi :
root@bajoel:~#touch /etc/postfix/mysql-virtual_forwardings.cf
isi file mysql-virtual_forwardings.cf dg baris-baris dibawah ini:
root@bajoel:~#mcedit /etc/postfix/mysql-virtual_forwardings.cf
user = mailadmin
password = passwordanda
dbname = mail
table = forwardings
select_field = destination
where_field = source
hosts = 127.0.0.1
Buat file baru dg nama user mysql-virtual_mailboxes.cf yg berisi :
root@bajoel:~#touch /etc/postfix/mysql-virtual_mailboxes.cf
isi file mysql-virtual_mailboxes.cf dg baris-baris dibawah ini:
root@bajoel:~#mcedit /etc/postfix/mysql-virtual_mailboxes.cf
user = mailadmin
password = passwordanda
dbname = mail
table = users
select_field = CONCAT(SUBSTRING_INDEX(email,’@',-1),’/',SUBSTRING_INDEX(email,’@',1),’/')
where_field = email
hosts = 127.0.0.1
Buat file baru mysql-virtual_email2email.cf yang berisi :
root@bajoel:~#touch /etc/postfix/mysql-virtual_email2email.cf
isi file mysql-virtual_email2email.cf dg baris-baris dibawah ini:
root@bajoel:~#mcedit /etc/postfix/mysql-virtual_email2email.cf
user = mailadmin
password = passwordanda
dbname = mail
table = users
select_field = email
where_field = email
hosts = 127.0.0.1
[Penting] Demi keamanan, pastikan hanya user root & postfix saja yang bisa mengakses file-file yang telah anda buat.
root@bajoel:~#chown root:postfix /etc/postfix/mysql-virtual_*.cf
root@bajoel:~#chmod u=rw,g=r,o= /etc/postfix/mysql-virtual_*.cf
Step 4: Membuat user baru pada system kita sebagai administrator-email
User ini bertugas untuk membuat maildir baru setiap ada user baru yang mendaftar pada mailserver anda
root@bajoel:~#groupadd -g 5000 mail-admin
root@bajoel:~#useradd -g mail-admin -u 5000 mail-admin -d /home/mail -m
root@bajoel:~#mkdir /home/mail
root@bajoel:~#chown -R mail-admin:mail-admin /home/mail
root@bajoel:~#chmod -R u=rwx,g=,o= /home/mail
Step 5: Mengkonfigurasi postfix sbg server SMTP
File main.cf ini adalah file konfigurasi utama dari postfix
root@bajoel:~#mcedit /etc/postfix/main.cf
Editlah file tsb, sehingga menjadi seperti dibawah ini:
inet_interfaces = all
myhostname = mail.domain-anda.org (fqdn)
mydestination = (jangan menuliskan virtual domain disini -> lebih baik dikosongi saja)
mynetworks = lqman.org (nama domain anda)
virtual_alias_domains =
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_forwardings.cf mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/mail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
Testing…
Restart service postfix, dan cobalah untuk mengakses port 25 dengan telnet
root@bajoel:~#/etc/init.d/postfix restart
root@bajoel:~#postfix check
Jika tidak muncul suatu pesan kesalahan, berarti anda sukses…….
root@bajoel:~#telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 mail.lqman.org ESMTP Postfix (Debian/GNU)
Jika muncul sebagaimana tulisan diatas, berarti postfix anda sudah berjalan lancar…….
Tekanlah tombol Ctrl+] lalu ketik quit untuk keluar dari sesi telnet,
Ambilah napas dalam-dalam, dan lanjutkan perjuangan ;)
Step 6: Mengaktifkan fasilitas authentikasi pada postfix (Auth-SMTP)
Tell Postfix to use SASL/MySQL, dg cara buat file baru dg nama /etc/postfix/sasl/smtpd.conf
root@bajoel:~#touch /etc/postfix/sasl/smtpd.conf
Isi file /etc/postfix/sasl/smtpd.conf dg baris-baris dibawah ini:
root@bajoel:~#mcedit /etc/postfix/sasl/smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sql
mech_list: plain login cram-md5 digest-md5
sql_engine: mysql
sql_hostnames: 127.0.0.1
sql_user: mailadmin
sql_passwd: passwordanda
sql_database: mail
sql_select: select password from users where email=’%u@%r’
log_level: 7
[Penting] Demi keamanan, pastikan hanya user root & postfix saja yang bisa mengakses file-file yang telah anda buat.
root@bajoel:~#chown root:postfix /etc/postfix/sasl/smtpd.conf
root@bajoel:~#chmod u=rw,g=r,o= /etc/postfix/sasl/smtpd.conf
Mengaktifkan TLS untuk meng-encrypt SMTP traffik, dg cara membuat sertifikat (certificate)
root@bajoel:~#openssl req -new -outform PEM -out /etc/postfix/smtpd.cert -newkey rsa:2048 -nodes -keyout /etc/postfix/smtpd.key -keyform PEM -days 365 -x509
[Penting] Demi keamanan, pastikan hanya user root & postfix saja yang bisa mengakses file-file yang telah anda buat.
root@bajoel:~#chown root:postfix /etc/postfix/smtpd.*
root@bajoel:~#chmod u=rw,g=r,o= /etc/postfix/smtpd.*
Step 7: Mengkonfigurasi courier sebagai server POP3 / IMAP
Edit file /etc/courier/authdaemonrc,
root@bajoel:~#mcedit /etc/courier/authdaemonrc
ubah parameter authmodulelist menjadi :
authmodulelist=”authmysql”
Lalu edit file /etc/courier/authmysqlrc,
root@bajoel:~#mcedit /etc/courier/authmysqlrc
Ubah beberapa parameter, shg menjadi seperti di bawah ini :
MYSQL_SERVER localhost
MYSQL_USERNAME mailadmin
MYSQL_PASSWORD passwordanda
MYSQL_PORT 0
MYSQL_DATABASE mail
MYSQL_USER_TABLE users
#MYSQL_CRYPT_PWFIELD (jadikan baris ini sebagai komentar)
MYSQL_CLEAR_PWFIELD password
MYSQL_UID_FIELD 5000
MYSQL_GID_FIELD 5000
MYSQL_LOGIN_FIELD email
MYSQL_HOME_FIELD “/home/mail”
MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,’@',-1),’/',SUBSTRING_INDEX(email,’@',1),’/')
#MYSQL_NAME_FIELD (jadikan baris ini sebagai komentar)
[Penting] Mengedit file authmysqlrc agak sedikit susah, pastikan anda berhati-hati dan tidak membuat kesalahan (jangan memakai tanda SPASI, tetapi gunakan tombol TAB)
Testing…
Restart service courier-authdaemon, dan cobalah untuk mengakses port 110 dengan telnet
root@bajoel:~#/etc/init.d/courier-authdaemon restart
Jika tidak muncul suatu pesan kesalahan, berarti anda sukses…….
root@bajoel:~#telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Hello there.
Jika muncul pesan seperti diatas, maka berbahagialah.
Tarik napas dalam-dalam dan ucapkan hamdalah atas keberhasilan anda :)
[Penting] Anda tidak dapat membuka mailbox / maildir anda sebelum ada email yang terkirim pada mailbox anda.Pesan kesalahan akan dimunculkan. Karena itulah anda harus mengirim welcome email pada setiap user baru.
Step 8: Test hasil konfigurasi anda
Selamat, anda telah menyelesaikan poin konfigurasi. Pada bagian ini anda anda hanya akan men-testing server yang telah anda konfig sebelumnya.
Sekarang kita akan membuat database pada domain yang akan kita coba, domain inilah yang kita jadikan sebagai domain percobaan untuk mengirim dan menerima email.
Buatlah domain baru dg nama lqman.org pada tabel domains, dan buatlah juga alamat email dan password baru pada tabel users.
Untuk lebih jelasnya ikutilah syntax mysql dibawah ini.
root@bajoel:~#mysql -u mailadmin -p mail
password:
mysql>INSERT INTO domains(domain) VALUES ('lqman.org');
mysql>INSERT INTO users(email,password) VALUES ('admin@lqman.org','admin');
mysql>INSERT INTO users(email,password) VALUES ('user@lqman.org','user');
Sekarang kita sudah punya sebuah virtual domain baru dg nama “lqman.org” dan 2 orang user, yaitu “admin@lqman.org” dan “user@lqman.org” yang masing-masing user ini mempunyai password “admin” dan “user”.
Jika anda tidak mempunyai MX record pada DNS server anda, maka kami menyarankan utk menambahkan MX record spt dibawah ini:
root@bajoel:~#mcedit /etc/bind/db.lqman.org
@ IN MX 5 mail.lqman.org.
mail IN A 10.122.1.22
IP-Address 10.122.1.22 hanya sebagai contoh saja, ubahlah sesuai dg IP-Address yg anda inginkan. Kemudian untuk mencoba pengiriman email dari smtp server anda, lakukan telnet pada localhost 25
root@bajoel:~#telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 mail.lqman.org ESMTP Postfix (Debian/GNU)
kemudian secara interaktif (pada mode telnet) berikan perintah spt dibawah ini:
Anda : ehlo virtual.test
Server : 250-mailtest
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN DIGEST-MD5 CRAM-MD5
250-AUTH=LOGIN PLAIN DIGEST-MD5 CRAM-MD5
250 8BITMIME
Anda : mail from:admin@lqman.org
Server : 250 Ok
Anda : rcpt to:user@lqman.org
Server : 250 Ok
Anda : data
Server : 354 End data with .
Anda : Subject:Just for test
This is a test email
. (tanda titik)
Server : 250 Ok: queued as ABC1D1C123
Anda : quit
Server : 221 BYE
Jika respon server seperti tulisan diatas, berarti email dari admin@lqman.org kepada user@lqman.org sudah masuk ke dalam antrian untuk segera dikirimkan oleh postfix (SMTP server).
Lihatlah pada log file yang berada pada /var/log/mail.info
root@bajoel:~#tail -f /var/log/mail/info | ccze
pasti akan kita lihat bagin seperti dibawah ini :
Jul 24 21:48:28 myserver postfix/smtpd[9119]: connect from myserver[127.0.0.1]
Jul 24 21:48:48 myserver postfix/smtpd[9119]: F2C1B47BD: client=myserver[127.0.0.1]
Jul 24 21:48:52 myserver postfix/cleanup[9144]: F2C1B47BD: message-id=
Jul 24 21:48:52 myserver postfix/qmgr[9117]: F2C1B47BD: from=, size=313, nrcpt=1 (queue active)
Jul 24 21:48:52 myserver postfix/virtual[9148]: F2C1B47BD: to=, relay=virtual, delay=10, status=sent (delivered to maildir)
Jika anda melihat “status=sent (delivered to maildir)” maka email yang anda kirimkan sudah berhasil dikirimkan ke dalam Maildir user yang bersangkutan (user@lqman.org). Jalankan perintah find untuk melihat seluruh file dan direktori yang ada dibawah direktori “/home/mail”.
root@bajoel:~#find /home/mail
/home/mail/
/home/mail/lqman.org
/home/mail/lqman.org/user
/home/mail/lqman.org/user/cur
/home/mail/lqman.org/user/new
/home/mail/lqman.org/user/new/1170803794.V805I1c1fbM98807.bajoel
/home/mail/lqman.org/user/new/1170803833.V805I1c1feM87660.bajoel
/home/mail/lqman.org/user/tmp
Semuanya berjalan Lancar? Bagus.. :) Sebagai langkah terakhir, anda harus mencoba login pada email baru nada melalui tampilan web yg telah disediakan oleh squirrelmail. Pada percobaan ini, username yang bisa digunakan adalah “user@lqman.org” dengan password “user”
Step 9: Menambahkan User Baru pada Mail-Server
Pada step yang terakhir ini anda tinggal memasukkan / menambahkan pada database setiap username dan password user baru pada mailserver anda.
Untuk setiap virtual-domain baru, Tambahkan nama virtual-domain tsb pada tabel ‘domains’
Untuk setiap user baru, Tambahkan username (email address) dan password (plain text) pada tabel ‘users’
Untuk setiap forwarding, Tambahkan source dan destination mail address pada tabel ‘forwardings’, jika anda punya banyak destination, pisahkan dengan koma. Tabel ini digunakan untuk me-redirect setiap email pada system anda, termasuk juga anda bisa me-redirect local mail-address.
Contoh :
source destination Effect
test@my.domain philip@my.domain me-redirect emails untuk postmaster kepada philip.
@my.domain @another.domain Ini adalah re-direction thd seluruh domain. Setiap email yang dialamatkan
kpd suatu user pada domain ‘my.domain’ akan di-forward kepada user
yang sama pada domain ‘another.domain’.
Jadi mail kpd lqman@my.domain akan di-redirect kepada
lqman@another.domain.
jesper@my.domain dilbert@my.domain,dilbert@gmail.com mem-forward email yg dialamatkan untuk jesper@my.domain kepada
dilbert@my.domain dan dilbert@gmail.com
Step 10: Interface WebMail dg squirrelmail
Untuk mempermudah user anda dalam menggunakan mailserver yg sdh anda buat, maka tampilan web merupakan interface yang paling mudah. Oleh karena itu paket squirrelmail yang sudah kita install pada step pertama harus dikonfigurasi sesuai dg mailserver yg sdh kita buat.
Untuk menyesuaikan dg konfigurasi mailserver ini, cukup lakukan perintah squirrelmail-configure
root@bajoel:~#squirrelmail-configure
lalu lakukan sesuai dg langkah-langkah yang sudah tersedia. Langkah yang paling penting disini adalah saat menentukan “Server Settings” saja, selain itu tidak ada yang terlalu penting.
Pada saat menentukan “Server Settings”, lakukan perubahan spt dibawah ini
Secure IMAP (TLS) : false
Server software : courier
kemudian save opsi tersebut dg cara menekan tombol “s”, lalu keluar dari configurasi dg menekan tombol “q”.
Step 11: Menjadikan webmail kita sebagai VirtualHost baru
Buatlah file baru pada konfigurasi webserver anda (pada tutorial ini dipakai webserver apache2)
root@bajoel:~#touch /etc/apache2/sites/available/squirrelmail
kemudian tambahkan baris-baris dibawah ini :
NameVirtualHost 10.122.1.22:80
ServerAdmin admin@lqman.org
ServerName mail.lqman.org
DocumentRoot /usr/share/squirrelmail
Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
setelah itu, buatlah symbolic link ke direktori /etc/apache2/sites-enable/ dengan cara
root@bajoel:~#ln -s /etc/apache2/sites-available/squirrelmail.conf /etc/apache/sites-enable/001squirrelmail.conf
lalu cek konfigurasi apache2 dg syntax :
root@bajoel:~#apache2ctl configtest
dan jika muncul tulisan Syntax OK, maka restart-lah apache2 dg :
root@bajoel:~#apache2ctl restart
Setting DNS Client
Table of Contents
Pendahuluan
/etc/hosts
/etc/resolv.conf
/etc/host.conf
Tool untuk Testing DNS
Pendahuluan
Supaya Linux dapat mengenali nama-nama site di Internet seperti linux.or.id atau nama host di jaringan LAN harus ada suatu mekanisme untuk mengubah nama-nama tersebut kedalam bentuk yang dikenali oleh komputer yaitu alamat IP misalnya linux.or.id diubah menjadi 64.29.24.175 . Mekanisme ini disediakan oleh Name Resolver yang terdapat dalam standard library linux. Tentu saja agar mekanisme ini bekerja dengan baik diperlukan beberapa konfigurasi.
/etc/hosts
File /etc/hosts berisi pemetaan nama host dengan alamat IPnya dengan format sebagai berikut:
IP nama.domain.lengkap alias
Perlu diperhatikan bahwa jumlah spasi atau tab antara masing-masing kolom tidak berpengaruh, yang penting ada pemisahnya baik spasi atau tab.
Contoh /etc/hosts
127.0.0.1 localhost.intra.aki localhost
192.168.1.100 linux.intra.aki linux
192.168.1.3 cctv.intra.aki cctv
Setting /etc/hosts melalui Linuxconf
Selain mengedit secara langsung file /etc/hosts anda juga bisa mengeditnya melalui linuxconf.
1. Jalankan linuxconf
2. Pilih Config -> Networking -> Misc -> Information about other hosts
3. Di dialog tersebut anda bisa menambah (Add) atau mengedit atau menghapus entry tertentu dengan menekan enter pada entry yang ingin diubah atau dihapus
Kelemahan /etc/hosts
Mekanisme /etc/hosts mempunyai beberapa kelemahan seperti:
* Tidak scalable untuk jaringan yang mempunyai banyak host
* Host yang berbeda bisa mempunyai isi /etc/hosts yang berbeda sehingga bisa tidak seragam dan menyulitkan peng-update-an
Karena itulah biasanya /etc/hosts hanya digunakan untuk mendaftarkan alamat IP lokal saja yaitu untuk alamat IP loopback (127.0.0.1) dan alamat IP ethernet card (jika ada).
/etc/resolv.conf
File /etc/resolv.conf adalah file konfigurasi utama bagi Name Resolver. Formatnya sederhana yaitu file text dengan satu keyword per baris. Ada tiga keyword yang biasa digunakan yaitu:
domain
9 menentukan nama domain lokal
search
menentukan daftar dari nama-nama domain yang digunakan untuk mencari nama host
namaserver
keyword ini yang bisa digunakan beberapa kali, menentukan alamat IP dari server DNS yang digunakan oleh Name Resolver
Contoh /etc/resolv.conf
domain intra.aki
search intra.aki cbn.net.id
nameserver 202.158.3.6
nameserver 202.158.3.7
Perlu diperhatikan bahwa semua domain yang terdapat dalam baris search akan dicari untuk setiap nama host yang di-resolve. Sehingga jika anda ingin telnet ke host cctv maka untuk mendapatkan alamat IP untuk host cctv dicari alamat IP untuk cctv.intra.aki pertama kali, lalu cctv.cbn.net.id dan terakhir cctv. Begitupun jika untuk linux.or.id maka akan dicoba dulu linux.or.id.intra.aki, lalu linux.or.id.cbn.net.id dan terakhir linux.or.id. Sebaiknya anda tidak menaruh terlalu banyak domain di dalam baris search karena akan memakan waktu untuk mencari domain-domain tersebut.
Biasanya yang diperlukan hanyalah keyword nameserver karena keyword domain mengambil default dari nama host dan keyword search defaultnya berisi isi dari keyword domain.
Setting /etc/resolv.conf melalui Linuxconf
Untuk mengedit /etc/resolv.conf menggunakan linuxconf jalankan langkah berikut
1. Jalankan linuxconf
2. Pilih Config -> Networking -> Client tasks-> Name server specification (DNS)
3. Di dialog tersebut anda bisa mengedit default domain, nameserver ke-1 s/d 3, search domain ke-1 s/d 6 dan apakah menggunakan DNS untuk operasi normal
/etc/host.conf
File ini mengatur cara kerja dari Name Resolver defaultnya adalah
order hosts,bind
multi on
Konfigurasi ini mengatur agar Name Resolver untuk mencari nama host di /etc/hosts dahulu sebelum bertanya ke nameserver dan mengembalikan semua alamat yang ditemukan di file /etc/hosts bukan cuma yang pertama saja.
Tool untuk Testing DNS
Untuk mengetes Setting DNS Client, anda bisa menggunakan perintah host dan nslookup. Misalnya:
[zakaria@linux zakaria]$ host cctv
cctv.intra.aki has address 192.168.1.3
[zakaria@linux zakaria]$ nslookup linux
Server: localhost
Address: 127.0.0.1
Name: linux.intra.aki
Address: 192.168.1.100
Untuk nslookup anda juga bisa melakukan test secara interaktif contohnya:
[zakaria@linux zakaria]$ nslookup
Default Server: localhost
Address: 127.0.0.1
> linux.or.id
Server: localhost
Address: 127.0.0.1
Non-authoritative answer:
Name: linux.or.id
Address: 64.29.24.175
> yahoo.com
Server: localhost
Address: 127.0.0.1
*** localhost can't find yahoo.com: Non-existent host/domain
Seperti biasa tekan Ctrl+D untuk kembali ke shell
Sumber Lebih Lanjut
Pendahuluan
/etc/hosts
/etc/resolv.conf
/etc/host.conf
Tool untuk Testing DNS
Pendahuluan
Supaya Linux dapat mengenali nama-nama site di Internet seperti linux.or.id atau nama host di jaringan LAN harus ada suatu mekanisme untuk mengubah nama-nama tersebut kedalam bentuk yang dikenali oleh komputer yaitu alamat IP misalnya linux.or.id diubah menjadi 64.29.24.175 . Mekanisme ini disediakan oleh Name Resolver yang terdapat dalam standard library linux. Tentu saja agar mekanisme ini bekerja dengan baik diperlukan beberapa konfigurasi.
/etc/hosts
File /etc/hosts berisi pemetaan nama host dengan alamat IPnya dengan format sebagai berikut:
IP nama.domain.lengkap alias
Perlu diperhatikan bahwa jumlah spasi atau tab antara masing-masing kolom tidak berpengaruh, yang penting ada pemisahnya baik spasi atau tab.
Contoh /etc/hosts
127.0.0.1 localhost.intra.aki localhost
192.168.1.100 linux.intra.aki linux
192.168.1.3 cctv.intra.aki cctv
Setting /etc/hosts melalui Linuxconf
Selain mengedit secara langsung file /etc/hosts anda juga bisa mengeditnya melalui linuxconf.
1. Jalankan linuxconf
2. Pilih Config -> Networking -> Misc -> Information about other hosts
3. Di dialog tersebut anda bisa menambah (Add) atau mengedit atau menghapus entry tertentu dengan menekan enter pada entry yang ingin diubah atau dihapus
Kelemahan /etc/hosts
Mekanisme /etc/hosts mempunyai beberapa kelemahan seperti:
* Tidak scalable untuk jaringan yang mempunyai banyak host
* Host yang berbeda bisa mempunyai isi /etc/hosts yang berbeda sehingga bisa tidak seragam dan menyulitkan peng-update-an
Karena itulah biasanya /etc/hosts hanya digunakan untuk mendaftarkan alamat IP lokal saja yaitu untuk alamat IP loopback (127.0.0.1) dan alamat IP ethernet card (jika ada).
/etc/resolv.conf
File /etc/resolv.conf adalah file konfigurasi utama bagi Name Resolver. Formatnya sederhana yaitu file text dengan satu keyword per baris. Ada tiga keyword yang biasa digunakan yaitu:
domain
9 menentukan nama domain lokal
search
menentukan daftar dari nama-nama domain yang digunakan untuk mencari nama host
namaserver
keyword ini yang bisa digunakan beberapa kali, menentukan alamat IP dari server DNS yang digunakan oleh Name Resolver
Contoh /etc/resolv.conf
domain intra.aki
search intra.aki cbn.net.id
nameserver 202.158.3.6
nameserver 202.158.3.7
Perlu diperhatikan bahwa semua domain yang terdapat dalam baris search akan dicari untuk setiap nama host yang di-resolve. Sehingga jika anda ingin telnet ke host cctv maka untuk mendapatkan alamat IP untuk host cctv dicari alamat IP untuk cctv.intra.aki pertama kali, lalu cctv.cbn.net.id dan terakhir cctv. Begitupun jika untuk linux.or.id maka akan dicoba dulu linux.or.id.intra.aki, lalu linux.or.id.cbn.net.id dan terakhir linux.or.id. Sebaiknya anda tidak menaruh terlalu banyak domain di dalam baris search karena akan memakan waktu untuk mencari domain-domain tersebut.
Biasanya yang diperlukan hanyalah keyword nameserver karena keyword domain mengambil default dari nama host dan keyword search defaultnya berisi isi dari keyword domain.
Setting /etc/resolv.conf melalui Linuxconf
Untuk mengedit /etc/resolv.conf menggunakan linuxconf jalankan langkah berikut
1. Jalankan linuxconf
2. Pilih Config -> Networking -> Client tasks-> Name server specification (DNS)
3. Di dialog tersebut anda bisa mengedit default domain, nameserver ke-1 s/d 3, search domain ke-1 s/d 6 dan apakah menggunakan DNS untuk operasi normal
/etc/host.conf
File ini mengatur cara kerja dari Name Resolver defaultnya adalah
order hosts,bind
multi on
Konfigurasi ini mengatur agar Name Resolver untuk mencari nama host di /etc/hosts dahulu sebelum bertanya ke nameserver dan mengembalikan semua alamat yang ditemukan di file /etc/hosts bukan cuma yang pertama saja.
Tool untuk Testing DNS
Untuk mengetes Setting DNS Client, anda bisa menggunakan perintah host dan nslookup. Misalnya:
[zakaria@linux zakaria]$ host cctv
cctv.intra.aki has address 192.168.1.3
[zakaria@linux zakaria]$ nslookup linux
Server: localhost
Address: 127.0.0.1
Name: linux.intra.aki
Address: 192.168.1.100
Untuk nslookup anda juga bisa melakukan test secara interaktif contohnya:
[zakaria@linux zakaria]$ nslookup
Default Server: localhost
Address: 127.0.0.1
> linux.or.id
Server: localhost
Address: 127.0.0.1
Non-authoritative answer:
Name: linux.or.id
Address: 64.29.24.175
> yahoo.com
Server: localhost
Address: 127.0.0.1
*** localhost can't find yahoo.com: Non-existent host/domain
Seperti biasa tekan Ctrl+D untuk kembali ke shell
Sumber Lebih Lanjut
Setting DNS Server
Table of Contents
Konsep & Cara Kerja DNS
DNS Server di Linux
Caching Only DNS Server
Membuat Domain Sendiri
Zona Reverse
Security
Konsep & Cara Kerja DNS
DNS (Domain Name System) adalah suatu system yang mengubah nama host (seperti linux.or.id) menjadi alamat IP (seperti 64.29.24.175) atas semua komputer yang terhubung langsung ke Internet. DNS juga dapat mengubah alamat IP menjadi nama host.
DNS bekerja secara hirarki dan berbentuk seperti pohon (tree). Bagian atas adalah Top Level Domain(TLD) seperti COM, ORG, EDU, MIL dsb. Seperti pohon DNS mempunyai cabang-cabang yang dicari dari pangkal sampai ke ujung. Pada waktu kita mencari alamat misalnya linux.or.id pertama-tama DNS bertanya pada TLD server tentang DNS Server yang melayani domain .id misalnya dijawab ns1.id, setelah itu dia bertanya pada ns1.id tentang DNS Server yang bertanggung jawab atas .or.id misalnya ns.or.id kemudian dia bertanya pada ns.or.id tentang linux.or.id dan dijawab 64.29.24.175
Sedangkan untuk mengubah IP menjadi nama host melibatkan domain in-addr.arpa. Seperti domain lainnya domain in-addr.arpa pun bercabang-cabang. Yang penting diingat adalah alamat IP-nya ditulis dalam urutan terbalik di bawah in-addr.arpa. Misalnya untuk alamat IP 64.29.24.275 prosesnya seperti contoh linux.or.id: cari server untuk arpa, cari server untuk in-addr.arpa, cari server untuk 64.in-addr.arpa, cari server 29.64.in-addr.arpa, cari server untuk 24.29.64.in-addr.arpa. Dan cari informasi untuk 275.24.29.64.in-addr.arpa. Pembalikan urutan angkanya memang bisa membingungkan.
DNS Server di Linux
DNS Server di linux biasanya dijalankan oleh program yang bernama named. Program ini merupakan bagian dari paket bind yang dikoordinasikan oleh Paul Vixie dari The Internet Software Consortium. Biasanya program ini terletak di /usr/sbin/named dan dijalankan pada waktu booting dari /etc/rc.d/init.d/named start. Agar named dijalankan pada setiap booting masukkan named ke daftar server yang harus distart dengan menggunakan ntsysv.
File Konfigurasi
File konfigurasi untuk named adalah /etc/named.conf yang seperti biasa adalah text file. Format file ini seperti format program C atau Pascal yakni tiap perintah diakhiri dengan ';' dan blok perintah di kurung dengan '{' dan '}'. Ada beberapa blok yang sering digunakan yaitu:
options
untuk mengatur konfigurasi server secara global dan menentukan default
zone
untuk mengatur konfigurasi zona DNS
Caching Only DNS Server
Caching Only DNS Server akan mencari jawaban dari pertanyaan DNS dan mengingat jawabannya ketika anda bertanya lagi. Ini akan mempersingkat waktu tunggu pada pertanyaan DNS berikutnya terutama jika anda menggunakan koneksi yang lambat seperti modem.
Konfigurasi
File konfigurasi Caching Only DNS sudah disediakan oleh RedHat dalam paket caching-nameserver anda tinggal menginstal paketnya dan mengedit file /etc/named.conf dan menambahkan baris berikut pada blok options:
forward first;
forwarders {
202.158.3.6;
202.158.3.7;
};
Kedua alamat IP diatas adalah alamat IP untuk DNS Server ISP saya yaitu CBN jika ISP anda berbeda anda harus menggantinya.
Membuat Domain Sendiri
Pada bagian ini kita akan membuat domain untuk jaringan lokal (LAN) misalnya intra.aki. Ada baiknya menggunakan domain yang benar-benar tidak ada di Internet sehingga kita tidak mengganggu domain siapa pun. Perlu diingat bahwa tidak semua karakter diperbolehkan untuk menjadi nama host yang dibolehkan hanya A-Z, a-z, 0-9 dan karakter '-'. Selain itu nama hostitu tidak bergantung pada huruf besar atau huruf kecil, jadi linux.intra.aki dan LINUX.Intra.AKI adalah sama. Kita masih mengedit file yang berasal dari paket caching-nameserver.
Tambahan di /etc/named.conf
Pertama kita mengedit file /etc/named.conf untuk menambahkan baris berikut:
zone "intra.aki" {
type master;
notify no;
file "intra.aki";
}
Yang berarti bahwa kita membuat zona domain intra.aki dimana kita adalah penguasa domain tersebut (type master) tetapi kita tidak ingin domain ini tersebar ke internet (notify no) dan informasi tentang anggota domainnya itu sendiri disimpan di file intra.aki di direktori yang ditentukan oleh keyword direktory dari blok options yang berisi /var/named
File Zona intra.aki
Kemudian kita membuat file zona intra.aki yang berisi informasi tentang anggota domain
; Zone file for intra.aki
@ IN SOA ns.intra.aki. root.intra.aki. (
2000091401 ; serial
8H ; refresh
3H ; retry
1W ; expire
1D ; default_ttl
)
NS ns
A 192.168.1.100
MX 10 linux.intra.aki.
MX 20 other.extra.aki.
localhost A 127.0.0.1
linux A 192.168.1.100
ns A 192.168.1.100
ftp CNAME linux
pop CNAME linux
www CNAME linux.intra.aki
cctv A 192.168.1.3
Perhatikan tanda '.' pada akhir dari nama domain di file ini. File zona ini mengandung 9 Resource Record(RR): satu SOA RR, satu NS RR, tiga CNAME RR dan empat AA RR. SOA merupakan singkatan dari Start Of Authority. Karakter “@” berarti nama domain dari zona yaitu intra.aki jadi baris kedua diatas berarti
intra.aki. IN SOA ....
NS adalah Name Server RR. Tidak ada “@” pada awal baris karena baris diatasnya dimulai dengan '@'. Menghemat waktu mengetiknya. Jadi baris NS bisa juga di tulis
intra.aki. IN NS ns
Ini memberitahu DNS host mana yang menjadi name server bagi domain intra.aki yakni ns.intra.aki. 'ns' adalah nama yang biasa dipakai untuk name server, tetapi seperti web server yang biasa dinamakan www.anu namanya bisa diubah menjadi apapun.
Baris SOA adalah pembuka bagi semua file zona dan harus ada satu dalam setiap file zona. Baris tersebut menjelaskan zona, darimana dia datang (host bernama ns.intra.aki), siapa yang bertanggung jawab atas isinya (root@intra.aki), versi zona file (serial: 2000091401) dan parameter lainnya yang berhubungan dengan caching dan secondary DNS Server. Perlu diperhatikan bahwa ns.intra.aki haruslah nama host dengan A RR. Tidak diperbolehkan membuat CNAME RR untuk nama yang disebutkan di SOA.
RR A mendefinisikan alamat IP dari suatu nama host sedangkan CNAME mendefinisikan nama alias dari suatu host yang harus merujuk ke RR lainnya.
Ada satu lagi tipe RR pada file ini yaitu MX atau Mail eXchanger. RR ini berfungsi untuk memberitahukan sistem mail kemana harus mengirim e-mail yang di alamatkan ke seseorang@intra.aki dalam hal ini linux.intra.aki atau other.extra.aki. Angka sebelum nama host adalah prioritas MX. RR dengan angka terendah (10) adalah host yang harus dikirimkan email pertama kali. Jika tidak berhasil maka e-mail bisa dikirim ke host lain dengan angka yang lebih besar misalnya other.extra.aki yang mempunyai prioritas 20.
Zona Reverse
Zona Reverse diperlukan untuk mengubah dari alamat IP menjadi nama. Nama ini digunakan oleh berbagai macam server (FTP, IRC, WWW dsb) untuk menentukan apakah anda diperbolehkan mengakses layanan tersebut atau sejauh mana prioritas yang diberikan kepada anda. Untuk mendapatkan akses yang penuh pada semua layanan di Internet diperlukan zona reverse.
Tambahan di /etc/named.conf
Tambahkan baris berikut di /etc/named.conf
zone "1.168.192.in-addr.arpa" {
notify no;
type master;
file "192.168.1";
}
Seperti sebelumnya artinya kita membuat zona domain 1.168.192.in-addr.arpa yang tidak disebar ke internet dan disimpan di file /var/named/192.168.1
File zona 192.168.1
Sekarang kita membuat file zona 192.168.1 untuk domain 1.168.192.in-addr.arpa seperti berikut:
; Zone file for reverse zone 1.168.192.in-addr.arpa (192.168.1.x)
@ IN SOA ns.intra.aki. root.intra.aki. (
2000072801 ; serial
28800 ; refresh
7200 ; retry
604800 ; expire
86400 ; default_ttl
)
@ IN NS ns.intra.aki.
100 IN PTR linux.intra.aki.
3 IN PTR cctv.intra.aki.
Ada RR baru disini yakni PTR yang berfungsi untuk memetakan IP ke nama host
Security
Jika anda memasang DNS server pada komputer yang berfungsi sebagai gateway antara jaringan internal anda dengan jaringan Internet serta DNS Server anda tidak melayani request dari luar (caching only DNS atau DNS untuk jaringan lokal saja) maka anda bisa membuat named untuk melayani hanya jaringan lokal saja dengan menambah baris berikut di dalam blok options:
listen-on { 127.0.0.1; 192.168.1.100; };
Sehingga named hanya membuka port pada interface loopback (127.0.0.1) dan eth0 (192.168.1.100).
Konsep & Cara Kerja DNS
DNS Server di Linux
Caching Only DNS Server
Membuat Domain Sendiri
Zona Reverse
Security
Konsep & Cara Kerja DNS
DNS (Domain Name System) adalah suatu system yang mengubah nama host (seperti linux.or.id) menjadi alamat IP (seperti 64.29.24.175) atas semua komputer yang terhubung langsung ke Internet. DNS juga dapat mengubah alamat IP menjadi nama host.
DNS bekerja secara hirarki dan berbentuk seperti pohon (tree). Bagian atas adalah Top Level Domain(TLD) seperti COM, ORG, EDU, MIL dsb. Seperti pohon DNS mempunyai cabang-cabang yang dicari dari pangkal sampai ke ujung. Pada waktu kita mencari alamat misalnya linux.or.id pertama-tama DNS bertanya pada TLD server tentang DNS Server yang melayani domain .id misalnya dijawab ns1.id, setelah itu dia bertanya pada ns1.id tentang DNS Server yang bertanggung jawab atas .or.id misalnya ns.or.id kemudian dia bertanya pada ns.or.id tentang linux.or.id dan dijawab 64.29.24.175
Sedangkan untuk mengubah IP menjadi nama host melibatkan domain in-addr.arpa. Seperti domain lainnya domain in-addr.arpa pun bercabang-cabang. Yang penting diingat adalah alamat IP-nya ditulis dalam urutan terbalik di bawah in-addr.arpa. Misalnya untuk alamat IP 64.29.24.275 prosesnya seperti contoh linux.or.id: cari server untuk arpa, cari server untuk in-addr.arpa, cari server untuk 64.in-addr.arpa, cari server 29.64.in-addr.arpa, cari server untuk 24.29.64.in-addr.arpa. Dan cari informasi untuk 275.24.29.64.in-addr.arpa. Pembalikan urutan angkanya memang bisa membingungkan.
DNS Server di Linux
DNS Server di linux biasanya dijalankan oleh program yang bernama named. Program ini merupakan bagian dari paket bind yang dikoordinasikan oleh Paul Vixie dari The Internet Software Consortium. Biasanya program ini terletak di /usr/sbin/named dan dijalankan pada waktu booting dari /etc/rc.d/init.d/named start. Agar named dijalankan pada setiap booting masukkan named ke daftar server yang harus distart dengan menggunakan ntsysv.
File Konfigurasi
File konfigurasi untuk named adalah /etc/named.conf yang seperti biasa adalah text file. Format file ini seperti format program C atau Pascal yakni tiap perintah diakhiri dengan ';' dan blok perintah di kurung dengan '{' dan '}'. Ada beberapa blok yang sering digunakan yaitu:
options
untuk mengatur konfigurasi server secara global dan menentukan default
zone
untuk mengatur konfigurasi zona DNS
Caching Only DNS Server
Caching Only DNS Server akan mencari jawaban dari pertanyaan DNS dan mengingat jawabannya ketika anda bertanya lagi. Ini akan mempersingkat waktu tunggu pada pertanyaan DNS berikutnya terutama jika anda menggunakan koneksi yang lambat seperti modem.
Konfigurasi
File konfigurasi Caching Only DNS sudah disediakan oleh RedHat dalam paket caching-nameserver anda tinggal menginstal paketnya dan mengedit file /etc/named.conf dan menambahkan baris berikut pada blok options:
forward first;
forwarders {
202.158.3.6;
202.158.3.7;
};
Kedua alamat IP diatas adalah alamat IP untuk DNS Server ISP saya yaitu CBN jika ISP anda berbeda anda harus menggantinya.
Membuat Domain Sendiri
Pada bagian ini kita akan membuat domain untuk jaringan lokal (LAN) misalnya intra.aki. Ada baiknya menggunakan domain yang benar-benar tidak ada di Internet sehingga kita tidak mengganggu domain siapa pun. Perlu diingat bahwa tidak semua karakter diperbolehkan untuk menjadi nama host yang dibolehkan hanya A-Z, a-z, 0-9 dan karakter '-'. Selain itu nama hostitu tidak bergantung pada huruf besar atau huruf kecil, jadi linux.intra.aki dan LINUX.Intra.AKI adalah sama. Kita masih mengedit file yang berasal dari paket caching-nameserver.
Tambahan di /etc/named.conf
Pertama kita mengedit file /etc/named.conf untuk menambahkan baris berikut:
zone "intra.aki" {
type master;
notify no;
file "intra.aki";
}
Yang berarti bahwa kita membuat zona domain intra.aki dimana kita adalah penguasa domain tersebut (type master) tetapi kita tidak ingin domain ini tersebar ke internet (notify no) dan informasi tentang anggota domainnya itu sendiri disimpan di file intra.aki di direktori yang ditentukan oleh keyword direktory dari blok options yang berisi /var/named
File Zona intra.aki
Kemudian kita membuat file zona intra.aki yang berisi informasi tentang anggota domain
; Zone file for intra.aki
@ IN SOA ns.intra.aki. root.intra.aki. (
2000091401 ; serial
8H ; refresh
3H ; retry
1W ; expire
1D ; default_ttl
)
NS ns
A 192.168.1.100
MX 10 linux.intra.aki.
MX 20 other.extra.aki.
localhost A 127.0.0.1
linux A 192.168.1.100
ns A 192.168.1.100
ftp CNAME linux
pop CNAME linux
www CNAME linux.intra.aki
cctv A 192.168.1.3
Perhatikan tanda '.' pada akhir dari nama domain di file ini. File zona ini mengandung 9 Resource Record(RR): satu SOA RR, satu NS RR, tiga CNAME RR dan empat AA RR. SOA merupakan singkatan dari Start Of Authority. Karakter “@” berarti nama domain dari zona yaitu intra.aki jadi baris kedua diatas berarti
intra.aki. IN SOA ....
NS adalah Name Server RR. Tidak ada “@” pada awal baris karena baris diatasnya dimulai dengan '@'. Menghemat waktu mengetiknya. Jadi baris NS bisa juga di tulis
intra.aki. IN NS ns
Ini memberitahu DNS host mana yang menjadi name server bagi domain intra.aki yakni ns.intra.aki. 'ns' adalah nama yang biasa dipakai untuk name server, tetapi seperti web server yang biasa dinamakan www.anu namanya bisa diubah menjadi apapun.
Baris SOA adalah pembuka bagi semua file zona dan harus ada satu dalam setiap file zona. Baris tersebut menjelaskan zona, darimana dia datang (host bernama ns.intra.aki), siapa yang bertanggung jawab atas isinya (root@intra.aki), versi zona file (serial: 2000091401) dan parameter lainnya yang berhubungan dengan caching dan secondary DNS Server. Perlu diperhatikan bahwa ns.intra.aki haruslah nama host dengan A RR. Tidak diperbolehkan membuat CNAME RR untuk nama yang disebutkan di SOA.
RR A mendefinisikan alamat IP dari suatu nama host sedangkan CNAME mendefinisikan nama alias dari suatu host yang harus merujuk ke RR lainnya.
Ada satu lagi tipe RR pada file ini yaitu MX atau Mail eXchanger. RR ini berfungsi untuk memberitahukan sistem mail kemana harus mengirim e-mail yang di alamatkan ke seseorang@intra.aki dalam hal ini linux.intra.aki atau other.extra.aki. Angka sebelum nama host adalah prioritas MX. RR dengan angka terendah (10) adalah host yang harus dikirimkan email pertama kali. Jika tidak berhasil maka e-mail bisa dikirim ke host lain dengan angka yang lebih besar misalnya other.extra.aki yang mempunyai prioritas 20.
Zona Reverse
Zona Reverse diperlukan untuk mengubah dari alamat IP menjadi nama. Nama ini digunakan oleh berbagai macam server (FTP, IRC, WWW dsb) untuk menentukan apakah anda diperbolehkan mengakses layanan tersebut atau sejauh mana prioritas yang diberikan kepada anda. Untuk mendapatkan akses yang penuh pada semua layanan di Internet diperlukan zona reverse.
Tambahan di /etc/named.conf
Tambahkan baris berikut di /etc/named.conf
zone "1.168.192.in-addr.arpa" {
notify no;
type master;
file "192.168.1";
}
Seperti sebelumnya artinya kita membuat zona domain 1.168.192.in-addr.arpa yang tidak disebar ke internet dan disimpan di file /var/named/192.168.1
File zona 192.168.1
Sekarang kita membuat file zona 192.168.1 untuk domain 1.168.192.in-addr.arpa seperti berikut:
; Zone file for reverse zone 1.168.192.in-addr.arpa (192.168.1.x)
@ IN SOA ns.intra.aki. root.intra.aki. (
2000072801 ; serial
28800 ; refresh
7200 ; retry
604800 ; expire
86400 ; default_ttl
)
@ IN NS ns.intra.aki.
100 IN PTR linux.intra.aki.
3 IN PTR cctv.intra.aki.
Ada RR baru disini yakni PTR yang berfungsi untuk memetakan IP ke nama host
Security
Jika anda memasang DNS server pada komputer yang berfungsi sebagai gateway antara jaringan internal anda dengan jaringan Internet serta DNS Server anda tidak melayani request dari luar (caching only DNS atau DNS untuk jaringan lokal saja) maka anda bisa membuat named untuk melayani hanya jaringan lokal saja dengan menambah baris berikut di dalam blok options:
listen-on { 127.0.0.1; 192.168.1.100; };
Sehingga named hanya membuka port pada interface loopback (127.0.0.1) dan eth0 (192.168.1.100).
Perintah - Perintah Pada Linux (Lanjutan)
Seperti halnya bila kita mengetikkan perintah di DOS, command line atau baris perintah di Linux juga diketikkan di prompt dan diakhiri enter untuk mengeksekusi perintah tersebut. Baris perintah merupakan cara yang lebih efisien untuk melakukan sesuatu pekerjaan oleh karena itu pemakai Linux tetap mengandalkan cara ini untuk bekerja. Sebaiknya pemula juga harus mengetahui dan sedikitnya pernah menggunanakan perintah baris ini karena suatu saat pengetahuan akan perintah-perintah ini bisa sangat diperlukan.
Saya mengumpulkan beberapa perintah dasar yang mungkin kelak akan sering digunakan terutama oleh para pemula. Perhatian: pengetahuan akan perintah-perintah yang lain akan segera bertambah seiring dengan kemajuan Anda menguasai sistem operasi Linux ini.
Penjelasan masing-masing perintah akan dipersingkat saja dan untuk mengetahui lebih detail lagi fungsi-fungsi suatu perintah, Anda dapat melihat manualnya, misalnya dengan mengetikkan perintah man:
$ man ls
Manual tersebut akan menampilkan bagaimana cara penggunaan perintah lsitu secara lengkap.
Daftar Perintah Menurut Alfabet
& adduser alias bg cat cd chgrp chmod chown
cp fg find grep gzip halt hostname kill less
login logout ls man mesg mkdir more mount mv
passwd pwd rm rmdir shutdown su tail talk tar
umount unalias unzip wall who xhost + xset zip
& index
Perintah & dipakai dibelakang perintah lain dan menjalankannya di background. Tujuannya adalah untuk membebaskan shell agar bisa dipergunakan menjalankan proses-proses yang lain. Lihat juga perintah bg dan fg.
adduser index
Biasanya hanya dilakukan oleh root untuk menambahkan user atau account yg baru. Setelah perintah ini bisa dilanjutkan dengan perintah passwd, yaitu perintah untuk membuat password bagi user tersebut.
# adduser udin
# passwd udin
Selanjutnya Anda akan diminta memasukkan password untuk user udin. Isikan password untuk udin dua kali dengan kata yang sama.
alias index
Digunakan untuk memberi nama lain dari sebuah perintah. Misalnya bila Anda ingin perintah ls dapat juga dijalankandengan mengetikkan perintah dir, maka buatlah aliasnya sbb:
$ alias dir=ls
Untuk melihat perintah-perintah apa saja yang mempunyai nama lain saat itu, cukup ketikkan alias. Lihat juga perintah unalias.
bg index
Untuk memaksa sebuah proses yang dihentikan sementara(suspend) agar berjalan di background. Misalnya Anda sedang menjalankan sebuah perintah di foreground (tanpa diakhiri perintah &) dan suatu saat Anda membutuhkan shell tersebut maka Anda dapat memberhentikan sementara perintah tersebut dengan Ctrl-Z kemudian ketikan perintah bg untuk menjalakannya di background. Dengan cara ini Anda telah membebaskanshell tapi tetap mempertahankan perintah lama berjalan di background. Lihat juga perintah fg.
cat index
Menampilkan isi dari sebuah file di layar.
$ cat namafile
cd index
Change Directoryatau untuk berpindah direktori dan saya kira Anda tidak akan menemui kesulitan menggunakan perintah ini karena cara penggunaanya mirip dengan perintah cd di DOS.
chgrp index
Perintah ini digunakan untuk merubah kepemilikan kelompok file atau direktori. Misalnya untuk memberi ijin pada kelompok atau grup agar dapat mengakses suatu file. Sintaks penulisannya adalah sbb:
# chgrp
chmod index
Digunakan untuk menambah dan mengurangi ijin pemakai untuk mengakses file atau direktori. Anda dapat menggunakan sistem numeric coding atau sistem letter coding. Ada tiga jenis permission/perijinan yang dapat dirubah yaitu r untuk read, w untuk write dan x untuk execute.
Dengan menggunakan letter coding, Anda dapat merubah permission diatas untuk masing-masing u (user), g (group), o (other) dan a (all) dengan hanya memberi tanda plus (+) untuk menambah ijin dan tanda minus (-) untuk mencabut ijin.
Misalnya untuk memberikan ijin baca dan eksekusi file coba1 kepada owner dan group, perintahnya adalah:
$ chmod ug+rx coba1
Untuk mencabut ijin-ijin tersebut:
$ chmod ug-rx coba1
Dengan menggunakan sitem numeric coding, permission untukuser, group dan other ditentukan dengan menggunakan kombinasi angka-angka, 4, 2 dan 1 dimana 4 (read), 2 (write) dan 1 (execute).
Misalnya untuk memberikan ijin baca(4), tulis(2) dan eksekusi(1) file coba2 kepada owner, perintahnya adalah:
$ chmod 700 coba2
Contoh lain, untuk memberi ijin baca(4) dan tulis(2) file coba3 kepada user, baca(4) saja kepada group dan other, perintahnya adalah:
$ chmod 644 coba3
chown index
Merubah user ID (owner) sebuah file atau direktori
$ chown
cp index
Untuk menyalin file atau copy. Misalnya untuk menyalin file1 menjadi file2:
$ cp
fg index
Mengembalikan suatu proses yang dihentikan sementar(suspend) agar berjalan kembali di foreground. Lihat juga perintah bg diatas.
find index
Untuk menemukan dimana letak sebuah file. Perintah ini akan mencari file sesuai dengan kriteria yang Anda tentukan. Sintaksnya adalah perintah itu sendiri diikuti dengan nama direktori awal pencarian, kemudian nama file (bisa menggunakan wildcard, metacharacters) dan terakhir menentukan bagaimana hasil pencarian itu akan ditampilkan. Misalnya akan dicari semua file yang berakhiran .doc di current direktori serta tampilkan hasilnya di layar:
$ find . -name *.doc -print
. /public/docs/account.doc
. /public/docs/balance.doc
. /public/docs/statistik/prospek.doc
./public/docs/statistik/presconf.doc
grep index
Global regular expresion parse atau grep adalah perintah untuk mencari file-file yang mengandung teks dengan kriteria yang telah Anda tentukan.
$ grep
Misalnya akan dicari file-file yang mengandung teks marginal di current direktori:
$ grep marginal
diferent.doc: Catatan: perkataan marginal luas dipergunakan di dalam ilmu ekonomi
prob.rtf: oleh fungsi hasil marginal dan fungsi biaya marginal jika fungsi
prob.rtf: jika biaya marginal dan hasil marginal diketahui maka biaya total
gzip index
Ini adalah software kompresi zip versi GNU, fungsinya untuk mengkompresi sebuah file. Sintaksnya sangat sederhana:
$ gzip
Walaupun demikian Anda bisa memberikan parameter tertentu bila memerlukan kompresi file yang lebih baik, silakan melihat manual page-nya. Lihat juga file tar, unzip dan zip.
halt index
Perintah ini hanya bisa dijalankan oleh super useratau Anda harus login sebagai root. Perintah ini untuk memberitahu kernel supaya mematikan sistem atau shutdown.
hostname index
Untuk menampilkan host atau domain name sistem dan bisa pula digunakan untuk mengesset nama host sistem.
[flory@localhost docs] $ hostname
localhost.localdomain
kill index
Perintah ini akan mengirimkan sinyal ke sebuah proses yang kita tentukan. Tujuannya adalah menghentikan proses.
$ kill
PID adalah nomor proses yang akan di hentikan.
less index
Fungsinya seperti perintah more.
login index
Untuk masuk ke sistem dengan memasukkan login ID atau dapat juga digunakan untuk berpindah dari user satu ke user lainnya.
logout index
Untuk keluar dari sistem.
ls index
Menampilkan isi dari sebuah direktori seperti perintah dirdi DOS. Anda dapat menggunakan beberapa option yang disediakan untuk mengatur tampilannya di layar. Bila Anda menjalankan perintah ini tanpa option maka akan ditampilkan seluruh file nonhidden(file tanpa awalan tanda titik) secara alfabet dan secara melebar mengisi kolom layar. Option -la artinya menampilkan seluruh file/all termasuk file hidden(file dengan awalan tanda titik) dengan format panjang.
man index
Untuk menampilkan manual pageatau teks yang menjelaskan secara detail bagaimana cara penggunaan sebuah perintah. Perintah ini berguna sekali bila sewaktu-waktu Anda lupa atau tidak mengetahui fungsi dan cara menggunakan sebuah perintah.
$ man
mesg index
Perintah ini digunakan oleh user untuk memberikan ijin user lain menampilkan pesan dilayar terminal. Misalnya mesg Anda dalam posisi y maka user lain bisa menampilkan pesan di layar Anda dengan write atau talk.
$ mesg y atau mesg n
Gunakan mesg n bila Anda tidak ingin diganggu dengan tampilan pesan-pesan dari user lain.
mkdir index
Membuat direktori baru, sama dengan perintah md di DOS.
more index
Mempaging halaman, seperti halnya less
mount index
Perintah ini akan me-mount filesystem ke suatu direktori atau mount-point yang telah ditentukan. Hanya superuser yang bisa menjalankan perintah ini. Untuk melihat filesystem apa saja beserta mount-pointnya saat itu, ketikkan perintah mount. Perintah ini dapat Anda pelajari di bab mengenai filesystem. Lihat juga perintah umount.
$ mount
/dev/hda3 on / type ext2 (rw)
none on /proc type proc (rw)
/dev/hda1 on /dos type vfat (rw)
/dev/hda4 on /usr type ext2 (rw)
none on /dev/pts type devpts (rw,mode=0622)
mv index
Untuk memindahkan file dari satu lokasi ke lokasi yang lain. Bila argumen yang kedua berupa sebuah direktori maka mv akan memindahkan file ke direktori tersebut. Bila kedua argumen berupa file maka nama file pertama akan menimpa file kedua. Akan terjadi kesalahan bila Anda memasukkan lebih dari dua argumen kecuali argumen terakhir berupa sebuah direktori.
passwd index
Digunakan untuk mengganti password. Anda akan selalu diminta mengisikan password lama dan selanjutnya akan diminta mengisikan password baru sebanyak dua kali. Password sedikitnya terdiri dari enam karakter dan sedikitnya mengandung sebuah karakter.
pwd index
Menampilkan nama direktori dimana Anda saat itu sedang berada.
rm index
Untuk menghapus file dan secara default rm tidak menghapus direktori. Gunakan secara hati-hati perintah ini terutama dengan option -r yang secara rekursif dapat mengapus seluruh file.
rmdir index
Untuk menghapus direktori kosong.
shutdown index
Perintah ini untuk mematikan sistem, seperti perintah halt. Pada beberapa sistem anda bisa menghentikan komputer dengan perintah shutdown -h now dan merestart sistem dengan perintah shutdown -r now atau dengan kombinasi tombol Ctr-Alt-Del.
su index
Untuk login sementara sebagai user lain. Bila user ID tidak disertakan maka komputer menganggap Anda ingin login sementara sebagai super user atau root. Bila Anda bukan root dan user lain itu memiliki password maka Anda harus memasukkan passwordnya dengan benar. Tapi bila Anda adalah root maka Anda dapat login sebagai user lain tanpa perlu mengetahui password user tersebut.
tail index
Menampilkan 10 baris terakhir dari suatu file. Default baris yang ditampilkan adalah 10 tapi Anda bisa menentukan sendiri berapa baris yang ingin ditampilkan:
$ tail
talk index
Untuk mengadakan percakapan melalui terminal. Input dari terminal Anda akan disalin di terminal user lain, begitu sebaliknya.
tar index
Menyimpan dan mengekstrak file dari media seperti tape drive atau hard disk. File arsip tersebut sering disebut sebagai file tar. Sintaknya sebagai berikut:
$ tar
Saya mengumpulkan beberapa perintah dasar yang mungkin kelak akan sering digunakan terutama oleh para pemula. Perhatian: pengetahuan akan perintah-perintah yang lain akan segera bertambah seiring dengan kemajuan Anda menguasai sistem operasi Linux ini.
Penjelasan masing-masing perintah akan dipersingkat saja dan untuk mengetahui lebih detail lagi fungsi-fungsi suatu perintah, Anda dapat melihat manualnya, misalnya dengan mengetikkan perintah man:
$ man ls
Manual tersebut akan menampilkan bagaimana cara penggunaan perintah lsitu secara lengkap.
Daftar Perintah Menurut Alfabet
& adduser alias bg cat cd chgrp chmod chown
cp fg find grep gzip halt hostname kill less
login logout ls man mesg mkdir more mount mv
passwd pwd rm rmdir shutdown su tail talk tar
umount unalias unzip wall who xhost + xset zip
& index
Perintah & dipakai dibelakang perintah lain dan menjalankannya di background. Tujuannya adalah untuk membebaskan shell agar bisa dipergunakan menjalankan proses-proses yang lain. Lihat juga perintah bg dan fg.
adduser index
Biasanya hanya dilakukan oleh root untuk menambahkan user atau account yg baru. Setelah perintah ini bisa dilanjutkan dengan perintah passwd, yaitu perintah untuk membuat password bagi user tersebut.
# adduser udin
# passwd udin
Selanjutnya Anda akan diminta memasukkan password untuk user udin. Isikan password untuk udin dua kali dengan kata yang sama.
alias index
Digunakan untuk memberi nama lain dari sebuah perintah. Misalnya bila Anda ingin perintah ls dapat juga dijalankandengan mengetikkan perintah dir, maka buatlah aliasnya sbb:
$ alias dir=ls
Untuk melihat perintah-perintah apa saja yang mempunyai nama lain saat itu, cukup ketikkan alias. Lihat juga perintah unalias.
bg index
Untuk memaksa sebuah proses yang dihentikan sementara(suspend) agar berjalan di background. Misalnya Anda sedang menjalankan sebuah perintah di foreground (tanpa diakhiri perintah &) dan suatu saat Anda membutuhkan shell tersebut maka Anda dapat memberhentikan sementara perintah tersebut dengan Ctrl-Z kemudian ketikan perintah bg untuk menjalakannya di background. Dengan cara ini Anda telah membebaskanshell tapi tetap mempertahankan perintah lama berjalan di background. Lihat juga perintah fg.
cat index
Menampilkan isi dari sebuah file di layar.
$ cat namafile
cd index
Change Directoryatau untuk berpindah direktori dan saya kira Anda tidak akan menemui kesulitan menggunakan perintah ini karena cara penggunaanya mirip dengan perintah cd di DOS.
chgrp index
Perintah ini digunakan untuk merubah kepemilikan kelompok file atau direktori. Misalnya untuk memberi ijin pada kelompok atau grup agar dapat mengakses suatu file. Sintaks penulisannya adalah sbb:
# chgrp
chmod index
Digunakan untuk menambah dan mengurangi ijin pemakai untuk mengakses file atau direktori. Anda dapat menggunakan sistem numeric coding atau sistem letter coding. Ada tiga jenis permission/perijinan yang dapat dirubah yaitu r untuk read, w untuk write dan x untuk execute.
Dengan menggunakan letter coding, Anda dapat merubah permission diatas untuk masing-masing u (user), g (group), o (other) dan a (all) dengan hanya memberi tanda plus (+) untuk menambah ijin dan tanda minus (-) untuk mencabut ijin.
Misalnya untuk memberikan ijin baca dan eksekusi file coba1 kepada owner dan group, perintahnya adalah:
$ chmod ug+rx coba1
Untuk mencabut ijin-ijin tersebut:
$ chmod ug-rx coba1
Dengan menggunakan sitem numeric coding, permission untukuser, group dan other ditentukan dengan menggunakan kombinasi angka-angka, 4, 2 dan 1 dimana 4 (read), 2 (write) dan 1 (execute).
Misalnya untuk memberikan ijin baca(4), tulis(2) dan eksekusi(1) file coba2 kepada owner, perintahnya adalah:
$ chmod 700 coba2
Contoh lain, untuk memberi ijin baca(4) dan tulis(2) file coba3 kepada user, baca(4) saja kepada group dan other, perintahnya adalah:
$ chmod 644 coba3
chown index
Merubah user ID (owner) sebuah file atau direktori
$ chown
cp index
Untuk menyalin file atau copy. Misalnya untuk menyalin file1 menjadi file2:
$ cp
fg index
Mengembalikan suatu proses yang dihentikan sementar(suspend) agar berjalan kembali di foreground. Lihat juga perintah bg diatas.
find index
Untuk menemukan dimana letak sebuah file. Perintah ini akan mencari file sesuai dengan kriteria yang Anda tentukan. Sintaksnya adalah perintah itu sendiri diikuti dengan nama direktori awal pencarian, kemudian nama file (bisa menggunakan wildcard, metacharacters) dan terakhir menentukan bagaimana hasil pencarian itu akan ditampilkan. Misalnya akan dicari semua file yang berakhiran .doc di current direktori serta tampilkan hasilnya di layar:
$ find . -name *.doc -print
. /public/docs/account.doc
. /public/docs/balance.doc
. /public/docs/statistik/prospek.doc
./public/docs/statistik/presconf.doc
grep index
Global regular expresion parse atau grep adalah perintah untuk mencari file-file yang mengandung teks dengan kriteria yang telah Anda tentukan.
$ grep
Misalnya akan dicari file-file yang mengandung teks marginal di current direktori:
$ grep marginal
diferent.doc: Catatan: perkataan marginal luas dipergunakan di dalam ilmu ekonomi
prob.rtf: oleh fungsi hasil marginal dan fungsi biaya marginal jika fungsi
prob.rtf: jika biaya marginal dan hasil marginal diketahui maka biaya total
gzip index
Ini adalah software kompresi zip versi GNU, fungsinya untuk mengkompresi sebuah file. Sintaksnya sangat sederhana:
$ gzip
Walaupun demikian Anda bisa memberikan parameter tertentu bila memerlukan kompresi file yang lebih baik, silakan melihat manual page-nya. Lihat juga file tar, unzip dan zip.
halt index
Perintah ini hanya bisa dijalankan oleh super useratau Anda harus login sebagai root. Perintah ini untuk memberitahu kernel supaya mematikan sistem atau shutdown.
hostname index
Untuk menampilkan host atau domain name sistem dan bisa pula digunakan untuk mengesset nama host sistem.
[flory@localhost docs] $ hostname
localhost.localdomain
kill index
Perintah ini akan mengirimkan sinyal ke sebuah proses yang kita tentukan. Tujuannya adalah menghentikan proses.
$ kill
PID adalah nomor proses yang akan di hentikan.
less index
Fungsinya seperti perintah more.
login index
Untuk masuk ke sistem dengan memasukkan login ID atau dapat juga digunakan untuk berpindah dari user satu ke user lainnya.
logout index
Untuk keluar dari sistem.
ls index
Menampilkan isi dari sebuah direktori seperti perintah dirdi DOS. Anda dapat menggunakan beberapa option yang disediakan untuk mengatur tampilannya di layar. Bila Anda menjalankan perintah ini tanpa option maka akan ditampilkan seluruh file nonhidden(file tanpa awalan tanda titik) secara alfabet dan secara melebar mengisi kolom layar. Option -la artinya menampilkan seluruh file/all termasuk file hidden(file dengan awalan tanda titik) dengan format panjang.
man index
Untuk menampilkan manual pageatau teks yang menjelaskan secara detail bagaimana cara penggunaan sebuah perintah. Perintah ini berguna sekali bila sewaktu-waktu Anda lupa atau tidak mengetahui fungsi dan cara menggunakan sebuah perintah.
$ man
mesg index
Perintah ini digunakan oleh user untuk memberikan ijin user lain menampilkan pesan dilayar terminal. Misalnya mesg Anda dalam posisi y maka user lain bisa menampilkan pesan di layar Anda dengan write atau talk.
$ mesg y atau mesg n
Gunakan mesg n bila Anda tidak ingin diganggu dengan tampilan pesan-pesan dari user lain.
mkdir index
Membuat direktori baru, sama dengan perintah md di DOS.
more index
Mempaging halaman, seperti halnya less
mount index
Perintah ini akan me-mount filesystem ke suatu direktori atau mount-point yang telah ditentukan. Hanya superuser yang bisa menjalankan perintah ini. Untuk melihat filesystem apa saja beserta mount-pointnya saat itu, ketikkan perintah mount. Perintah ini dapat Anda pelajari di bab mengenai filesystem. Lihat juga perintah umount.
$ mount
/dev/hda3 on / type ext2 (rw)
none on /proc type proc (rw)
/dev/hda1 on /dos type vfat (rw)
/dev/hda4 on /usr type ext2 (rw)
none on /dev/pts type devpts (rw,mode=0622)
mv index
Untuk memindahkan file dari satu lokasi ke lokasi yang lain. Bila argumen yang kedua berupa sebuah direktori maka mv akan memindahkan file ke direktori tersebut. Bila kedua argumen berupa file maka nama file pertama akan menimpa file kedua. Akan terjadi kesalahan bila Anda memasukkan lebih dari dua argumen kecuali argumen terakhir berupa sebuah direktori.
passwd index
Digunakan untuk mengganti password. Anda akan selalu diminta mengisikan password lama dan selanjutnya akan diminta mengisikan password baru sebanyak dua kali. Password sedikitnya terdiri dari enam karakter dan sedikitnya mengandung sebuah karakter.
pwd index
Menampilkan nama direktori dimana Anda saat itu sedang berada.
rm index
Untuk menghapus file dan secara default rm tidak menghapus direktori. Gunakan secara hati-hati perintah ini terutama dengan option -r yang secara rekursif dapat mengapus seluruh file.
rmdir index
Untuk menghapus direktori kosong.
shutdown index
Perintah ini untuk mematikan sistem, seperti perintah halt. Pada beberapa sistem anda bisa menghentikan komputer dengan perintah shutdown -h now dan merestart sistem dengan perintah shutdown -r now atau dengan kombinasi tombol Ctr-Alt-Del.
su index
Untuk login sementara sebagai user lain. Bila user ID tidak disertakan maka komputer menganggap Anda ingin login sementara sebagai super user atau root. Bila Anda bukan root dan user lain itu memiliki password maka Anda harus memasukkan passwordnya dengan benar. Tapi bila Anda adalah root maka Anda dapat login sebagai user lain tanpa perlu mengetahui password user tersebut.
tail index
Menampilkan 10 baris terakhir dari suatu file. Default baris yang ditampilkan adalah 10 tapi Anda bisa menentukan sendiri berapa baris yang ingin ditampilkan:
$ tail
talk index
Untuk mengadakan percakapan melalui terminal. Input dari terminal Anda akan disalin di terminal user lain, begitu sebaliknya.
tar index
Menyimpan dan mengekstrak file dari media seperti tape drive atau hard disk. File arsip tersebut sering disebut sebagai file tar. Sintaknya sebagai berikut:
$ tar
Alasan mengapa CPU lebih cepat membaca data dari RAM dari pada data di Hardisk
Dalam bekerja dengan komputer kita banyak sekali menemui masalah yang tentu saja membuat kerja kita lambat, masalah tersebut dapat berupa hardware kita yang tidak dapat bekerja dengan maksimal atau malah tidak bisa bekerja sama sekali. Orang yang awam dengan masalah hardware seringkali menjadi bingung dan tidak tahu harus berbuat apa untuk menangani masalahnya sendiri dengan ini Agus Suryanto akan sedikit merangkum,merumuskan masalah dan memberi solusi untuk penangannan agar pembaca dapat mengambil langkah yang tepat dalam perbaikan komputernya. Rangkuman ini hanya bersifat ringan dan tentu saja tida terlalu lengkap merangkum semua kerusakan yang mengkin terjadi pada komputer anda.
Komputer anda tidak bisa display atau muncul gambar dan suara ti……t dengan suara panjang : Penangannannya adalah dengan mengecek VGA (video grafik adapter) jika anda menggunakan VGA diluar dari mainboard maka langkah yang harus anda ambil adalah membukanya dan membersikan dengan kuas, debu yang menempel pada bodi,kaki,dan slot VGA tersebut. Ada baiknya jika anda menggosokkan penghapus pada kaki VGA untuk lebih menjamin VGA itu bersih dari debu karena VGA sangat sensitif dengan debu sedikit saja debu yang masuk maka akan mengganggu kinerja VGA anda. Bila anda sudah melakukan langkah tersebut dan masih saja ada masalah anda sebaiknya mengganti VGA, jika dalam komputer anda dilengkapi dengan fasilitas VGA onboard maka yang anda harus lakukan adalah memindahkan kabel monitor display pada VGA yang di luar mainboard dengan dengan VGA mainboard,jika tidak bisa display/muncul gambar maka sebaiknya anda meminjam monitor teman untuk mengatur setingan BIOS untuk mengatur VGA onboard anda. Mengapa tidak bisa onboard karena resolusi VGA ad-on lebih tinggi kualitas gambarnya daripada VGA onboard sehingga setingan monitor anda tidak mampu menditeksi gambar yang lebih besar resolusinya. Caranya menseting di BIOS adalah seting pada slot PCI dengan men disable VGA ad-on nya. Komputer anda tidak bisa display atau muncul gambar dan suara tit..tit..ti..t : Penangannya adalah dengan anda mengecek memory RAM (random accsess memory pada komputer anda langkah penanganannya sama seperti yang diatas. Jika masih terjadi hal yang demikian sebaiknya anda melepas memori dan mengganti dengan yang baru,jika di koputer anda terisi dua RAM (dual chanel) maka anda tidak harus langsung menggantinya anda dapat memakai satu RAM komputer anda tidak apa-apa hanya lebih lambat saja dalam proses kerjanya.
Ada baiknnya anda mengetahui tentang cara kerja dan fungsi masing-masing hardware yang ada dalam komputer. Hardware yang ada dalam komputer adalah suatu susunan perangkat elektronik yang mengubah data atau input dari user/pengguna dan mengeksekusinya melalui bantuan software atau sistem operasi. Hardware yang ada dalam komputer anda diantaranya adalah :
1. PROCESSOR
The Processor atau CPU (Central Processing Unit) adalah otak dari komputer. Ketika Anda mengetikkan sesuatu di Word, misalnya, itu masuk ke dalam Random Access Memory (RAM). CPU akan melihatnya dan memutuskan apakah perlu untuk mengirim instruksi ke bagian lain dari komputer. Ini kemudian memberikan berbagai tugas bagian-bagian yang sesuai, dan apa yang baru saja diketik muncul pada layar Anda. Sebuah prosesor dinilai oleh para "clock speed" (GHz atau gigahertz), yang menunjukkan berapa banyak instruksi per detik itu bisa menangani.
Processor Contoh : Intel Core 2 Duo Processor T8300 (2. 4 GHz/800MHz FSB, 3MB Cache).
Prosesor ini dapat mengelola 2. 4 milyar instruksi per detik; informasi berjalan pada 800 juta siklus per detik (MHz atau megahertz) antara processor dan Random Access Memory (RAM) ( "bus speed") di sepanjang "Front Side Bus" (FSB), yang adalah sebuah "jalan" di dalam komputer sepanjang informasi yang bepergian, tetapi dapat menyimpan 3MB (Mega Bytes) informasi dalam cache, yang merupakan memori berkecepatan tinggi di mana yang paling terakhir diakses data dan informasi disimpan untuk proses lebih cepat.
Secara umum, lebih GHz adalah lebih baik, tetapi jika Anda menggunakan laptop Anda hanya untuk pengolah kata, email dan internet, biasanya Anda tidak perlu meng-upgrade GHz maksimum yang ditawarkan. Hal yang sama berlaku bagi MHz, tapi ingat bahwa mereka bekerja sama, jadi jika Anda memiliki sangat cepat bus (= lebih MHz), anda juga perlu cepat CPU (# GHz) agar komputer Anda bekerja lebih cepat. Jika Anda dapat memilih hanya satu hal untuk meng-upgrade ketika datang ke CPU, pergi dengan lebih GHz.
2. FSB Prosesor (Front Side Bus)
Adalah lebar jalur pengiriman dan pengambilan data,FSB pada prosesor ditandai dengan "Pc" misalnya Intel pentium III Pc-133 berarti dalam satu kali pengiriman prosesor itu mampu mengirim data (dalam bit) sebanyak 133 juta. Bus prosesor sebaiknya sama dengan Bus pada mainboard agar diperoleh kerja PC yang optimal.
3. CPU
Fungsi utama CPU adalah menjalankan program-program yang disimpan di memori utama. Hal ini dilakukan dengan cara mengambil instruksi-instruksi dari memori utama dan mengeksekusinya satu persatu sesuai dengan alur perintah. Pekerjaan ini dilakukan dalam dua tahapan yaitu membaca instruksi (fetch) dan melaksanakan instruksi tersebut (execute). Proses membaca dan melaksankan ini dilakukan berulang-ulang sampai semua instruksi yang terdapat di memori utama dijalankan atau komputer dimatikan. Proses ini dikenal juga sebagai siklus fetch-eksekusi.
Siklus fetch-eksekusi bisa dijelaskan sebagai berikut:
1. di awal setiap siklus, CPU akan membaca dari memori utama,
2. sebuah register, yang disebut Program Counter (PC), akan mengawasi dan menghitung instruksi selanjutnya,
3. ketika CPU membaca sebuah instruksi, Program Counter akan menambah satu hitungannya,
4. lalu instruksi-instruksi yang dibaca tersebut akan dimuat dalam suatu register yang disebut register instruksi (IR), dan akhirnya
5. CPU akan melakukan interpretasi terhadap instruksi yang disimpan dalam bentuk kode binari, dan melakukan aksi yang sesuai dengan instruksi tersebut.
4. RAM
Ketika orang berbicara tentang memori komputer, RAM biasanya mengacu pada mereka. RAM, atau Random Access Memory, fungsi seperti memegang sementara tempat dan hanya aktif bila komputer Anda diaktifkan. Semua informasi yang dimasukkan ke dalam komputer masuk ke RAM sebelum diproses oleh CPU. Program Anda sedang bekerja di juga disimpan dalam RAM (misalnya, Anda tidak perlu untuk memulai Word lagi setiap kali Anda kembali ke program, itu ada di sana dan menunggu untuk Anda, kecuali jika Anda menutup itu).
Contoh RAM : 3GB Shared Dual Channel DDR2 SDRAM at 667MHz.
The 3GB berarti bahwa ia memiliki total 3GB memori; "Bersama" berarti saham memori dengan kartu grafis. Ini bagus untuk word processing, browsing internet dan email, tapi akan memperlambat komputer Anda bawah jika Anda, misalnya, bermain online game, merekam musik atau mengedit video (jika anda memiliki kartu grafis yang terpisah, ini tidak akan terjadi). "Dual Channel" berarti bahwa memori sudah ditransfer ke CPU menggunakan 2 saluran, yang membuatnya lebih cepat. DDR2 SDRAM adalah nama dan jenis memori, dan MHz memberitahu Anda seberapa cepat memori perjalanan (dalam hal ini 667 million siklus per detik). Jika Anda ingin komputer anda bekerja cepat, ini adalah di mana Anda perlu untuk menghabiskan uang, lebih banyak dan lebih cepat RAM (yaitu lebih GB dan MHz).
Fungsi RAM ( Random Access Memory)
Yang disebut memory pada PC, sebetulnya mengacu pada RAM (Random Access Memory). Sebuah komputer membutuhkan RAM untuk menyimpan data dan instruksi yang dibutuhkan untuk menyelesaikan sebuah perintah (task). Data ataupun instruksi yang tersedia pada RAM memungkinkan processor atau CPU (Central Processing Unit) untuk mengaksesnya dengan cepat. Saat CPU membuka sebuah program aplikasi dari harddisk-seperti word processing, spreadsheet, ataupun game-ia akan me-loading-nya ke memory. Hal ini memungkinkan aplikasi bekerja lebih cepat dibandingkan harus mengakses langsung ke harddisk yang memang jauh lebih lambat. Sebab harddisk memang bertugas sebagai storage data, bukan sebagai memory. Dengan mengakses data ataupun aplikasi yang tersedia di RAM, mempercepat PC Anda dalam menyelesaikan tugasnya.
Analogi sederhana untuk mengerti hal ini, lebih mudah jika mengambil pada kegiatan nyata dalam kehidupan sehari-hari. Misalnya pada lingkungan kerja. Di mana ada meja kerja, dan sebuah lemari arsip. Lemari arsip dapat diandaikan layaknya harddisk, di mana tersedia berkas-berkas dan informasi yang dibutuhkan. Saat mulai bekerja, berkas-berkas informasi akan dikeluarkan dari dalam lemari ke meja kerja. Ini untuk memudahkan dan mempercepat akses ke informasi yang dibutuhkan. Maka, meja kerja dapat dianalogikan sebagai memory pada PC.
Dengan analogi sederhana tersebut, tentunya Anda sudah dapat membayangkan perbedaan kecepatan akses, antara memory dan harddisk. Juga sudah terbayang, pentingnya ketersediaan jumlah RAM yang mencukupi untuk dapat melayani data dan informasi yang dibutuhkan oleh CPU.
5. Harddisk
Alat ini merupakan tempat menyimpan data pada CPU. Jika hardisk dibuka, maka di dalamnya terlihat piringan logam sebagai tempat menulis data. Kecepatan putarannya bervariasi. Ada yang 5400 putaran per menit bahkan ada yang sampai 7200 putaran per menit. Kemampuan sebuah hardisk biasanya ditentukan oleh banyaknya data yang bisa disimpan. Besarnya bervariasi, ada yang 1,2 Gigabyte (GB) hingga 80 GB. Satu GB sama dengan 1000 Megabyte, sedangkan 1 Megabyte sama dengan 1000 Kilobyte. Sangat besar kan ? Kita bisa menyimpan semua data kita pada hardisk ini.
Fungsi Hardisk
* Harddisk merupakan ruang simpan utama dalam sebuah computer. Di situlah seluruh sistem operasi dan mekanisme kerja kantor dijalankan, setiap data dan informasi disimpan.
* Dalam sebongkah harddisk, terdapat berbagai macam ruangruang kecil (direktori, folder, subdirektori, subfolder), yang masing-masing dikelompokkan berdasarkan fungsi dan kegunaannya. Di situlah data-data diletakkan.
* Ruang kecil dalam harddisk bekerja dalam logika saling tergantung (interdependent). Data/informasi dalam satu ruang kadangkala diperlukan untuk menggerakkan data/ informasi yang berada di ruang lain. Ada ruang di mana data di dalamnya tidak boleh diutak-atik atau dipindahkan ke tempat lain, ada ruang di mana kita bisa membuang dan menaruh data secara bergantian sesuai kebutuhan.
* Harddisk terdiri atas beberapa komponen penting. Komponen utamanya adalah pelat (platter) yang berfungsi sebagai penyimpan data. Pelat ini adalah suatu cakram padat yang berbentuk bulat datar, kedua sisi permukaannya dilapisi dengan material khusus sehingga memiliki pola-pola magnetis. Pelat ini ditempatkan dalam suatu poros yang disebut spindle.
6. CHACE MEMORY
Adalah tempat atau media penyimpanan sementara data atau informasi yang sering digunakan oleh komputer. Cache memory dibagi menjadi level 1 dan level 2 (L1,L2) dalam cache memory dibagi menjadi 2 yaitu lokalitas yaitu lokalitas temporal dan lokalitas spasial, lokalitas temporal digunakan untuk menggunakan data atau instruksi dengan berulang-ulang,sedangkan lokalitas spasial digunakan
untuk program-program yang membutuhkan pengaksesan secara berurutan. Prosesor yang menjalankan perintah eksekusi akan mencari dan mengumpulkan sejumlah informasi dari chace L1 terlebih dahulu,secara teknis proses ini dinamakan ( HIT ). Jika informasi tersedia di chace L1 maka prosesor akan langsung mengeksekusinya tanpa ada jeda waktu, jIka tidak ditemukan di chace L1 maka prosesor akan melanjutkan mencarinya di chace L2 proses ini tentu saja akan menambah waktu kerja prosesor itu. Chace memory L1 berada paling dekat dengan inti (core) prosesor da ukurannya lebih kecil daripada chace memory L2. Dalam inti prosesor juga terdapat chace controller yang berfungsi sebagai pengaturan lalu lintas pengaksesan data atau program. Sementara itu chace L2 terdiri dari 2 komponen utama diantaranya adalah:
TAG RAM berfungsi untuk menjaga dan mengatur perletakan data dalam chace memory.DATA STORAGE berfungsi untuk menjaga aktualitas data dalam chace memory.
7. HYPER TREADING
Adalah teknologi yang memungkinkan sistem operasi membaca dua buah prosesor (Logical) walaupun kenyataannya dalam mainboard hanya ada 1 prosesor (Physical) hal ini akan memungkinkan sistem operasi menjalankan dua proses eksekusi secara paralel dengan demikian akan didapatkan efisiensi waktu eksekusi yang lebih cepat jika dibandingkan dengan prosesor yang tidak memiliki kemampuan hyper treading.
Download Software Cek CPU
Komputer anda tidak bisa display atau muncul gambar dan suara ti……t dengan suara panjang : Penangannannya adalah dengan mengecek VGA (video grafik adapter) jika anda menggunakan VGA diluar dari mainboard maka langkah yang harus anda ambil adalah membukanya dan membersikan dengan kuas, debu yang menempel pada bodi,kaki,dan slot VGA tersebut. Ada baiknya jika anda menggosokkan penghapus pada kaki VGA untuk lebih menjamin VGA itu bersih dari debu karena VGA sangat sensitif dengan debu sedikit saja debu yang masuk maka akan mengganggu kinerja VGA anda. Bila anda sudah melakukan langkah tersebut dan masih saja ada masalah anda sebaiknya mengganti VGA, jika dalam komputer anda dilengkapi dengan fasilitas VGA onboard maka yang anda harus lakukan adalah memindahkan kabel monitor display pada VGA yang di luar mainboard dengan dengan VGA mainboard,jika tidak bisa display/muncul gambar maka sebaiknya anda meminjam monitor teman untuk mengatur setingan BIOS untuk mengatur VGA onboard anda. Mengapa tidak bisa onboard karena resolusi VGA ad-on lebih tinggi kualitas gambarnya daripada VGA onboard sehingga setingan monitor anda tidak mampu menditeksi gambar yang lebih besar resolusinya. Caranya menseting di BIOS adalah seting pada slot PCI dengan men disable VGA ad-on nya. Komputer anda tidak bisa display atau muncul gambar dan suara tit..tit..ti..t : Penangannya adalah dengan anda mengecek memory RAM (random accsess memory pada komputer anda langkah penanganannya sama seperti yang diatas. Jika masih terjadi hal yang demikian sebaiknya anda melepas memori dan mengganti dengan yang baru,jika di koputer anda terisi dua RAM (dual chanel) maka anda tidak harus langsung menggantinya anda dapat memakai satu RAM komputer anda tidak apa-apa hanya lebih lambat saja dalam proses kerjanya.
Ada baiknnya anda mengetahui tentang cara kerja dan fungsi masing-masing hardware yang ada dalam komputer. Hardware yang ada dalam komputer adalah suatu susunan perangkat elektronik yang mengubah data atau input dari user/pengguna dan mengeksekusinya melalui bantuan software atau sistem operasi. Hardware yang ada dalam komputer anda diantaranya adalah :
1. PROCESSOR
The Processor atau CPU (Central Processing Unit) adalah otak dari komputer. Ketika Anda mengetikkan sesuatu di Word, misalnya, itu masuk ke dalam Random Access Memory (RAM). CPU akan melihatnya dan memutuskan apakah perlu untuk mengirim instruksi ke bagian lain dari komputer. Ini kemudian memberikan berbagai tugas bagian-bagian yang sesuai, dan apa yang baru saja diketik muncul pada layar Anda. Sebuah prosesor dinilai oleh para "clock speed" (GHz atau gigahertz), yang menunjukkan berapa banyak instruksi per detik itu bisa menangani.
Processor Contoh : Intel Core 2 Duo Processor T8300 (2. 4 GHz/800MHz FSB, 3MB Cache).
Prosesor ini dapat mengelola 2. 4 milyar instruksi per detik; informasi berjalan pada 800 juta siklus per detik (MHz atau megahertz) antara processor dan Random Access Memory (RAM) ( "bus speed") di sepanjang "Front Side Bus" (FSB), yang adalah sebuah "jalan" di dalam komputer sepanjang informasi yang bepergian, tetapi dapat menyimpan 3MB (Mega Bytes) informasi dalam cache, yang merupakan memori berkecepatan tinggi di mana yang paling terakhir diakses data dan informasi disimpan untuk proses lebih cepat.
Secara umum, lebih GHz adalah lebih baik, tetapi jika Anda menggunakan laptop Anda hanya untuk pengolah kata, email dan internet, biasanya Anda tidak perlu meng-upgrade GHz maksimum yang ditawarkan. Hal yang sama berlaku bagi MHz, tapi ingat bahwa mereka bekerja sama, jadi jika Anda memiliki sangat cepat bus (= lebih MHz), anda juga perlu cepat CPU (# GHz) agar komputer Anda bekerja lebih cepat. Jika Anda dapat memilih hanya satu hal untuk meng-upgrade ketika datang ke CPU, pergi dengan lebih GHz.
2. FSB Prosesor (Front Side Bus)
Adalah lebar jalur pengiriman dan pengambilan data,FSB pada prosesor ditandai dengan "Pc" misalnya Intel pentium III Pc-133 berarti dalam satu kali pengiriman prosesor itu mampu mengirim data (dalam bit) sebanyak 133 juta. Bus prosesor sebaiknya sama dengan Bus pada mainboard agar diperoleh kerja PC yang optimal.
3. CPU
Fungsi utama CPU adalah menjalankan program-program yang disimpan di memori utama. Hal ini dilakukan dengan cara mengambil instruksi-instruksi dari memori utama dan mengeksekusinya satu persatu sesuai dengan alur perintah. Pekerjaan ini dilakukan dalam dua tahapan yaitu membaca instruksi (fetch) dan melaksanakan instruksi tersebut (execute). Proses membaca dan melaksankan ini dilakukan berulang-ulang sampai semua instruksi yang terdapat di memori utama dijalankan atau komputer dimatikan. Proses ini dikenal juga sebagai siklus fetch-eksekusi.
Siklus fetch-eksekusi bisa dijelaskan sebagai berikut:
1. di awal setiap siklus, CPU akan membaca dari memori utama,
2. sebuah register, yang disebut Program Counter (PC), akan mengawasi dan menghitung instruksi selanjutnya,
3. ketika CPU membaca sebuah instruksi, Program Counter akan menambah satu hitungannya,
4. lalu instruksi-instruksi yang dibaca tersebut akan dimuat dalam suatu register yang disebut register instruksi (IR), dan akhirnya
5. CPU akan melakukan interpretasi terhadap instruksi yang disimpan dalam bentuk kode binari, dan melakukan aksi yang sesuai dengan instruksi tersebut.
4. RAM
Ketika orang berbicara tentang memori komputer, RAM biasanya mengacu pada mereka. RAM, atau Random Access Memory, fungsi seperti memegang sementara tempat dan hanya aktif bila komputer Anda diaktifkan. Semua informasi yang dimasukkan ke dalam komputer masuk ke RAM sebelum diproses oleh CPU. Program Anda sedang bekerja di juga disimpan dalam RAM (misalnya, Anda tidak perlu untuk memulai Word lagi setiap kali Anda kembali ke program, itu ada di sana dan menunggu untuk Anda, kecuali jika Anda menutup itu).
Contoh RAM : 3GB Shared Dual Channel DDR2 SDRAM at 667MHz.
The 3GB berarti bahwa ia memiliki total 3GB memori; "Bersama" berarti saham memori dengan kartu grafis. Ini bagus untuk word processing, browsing internet dan email, tapi akan memperlambat komputer Anda bawah jika Anda, misalnya, bermain online game, merekam musik atau mengedit video (jika anda memiliki kartu grafis yang terpisah, ini tidak akan terjadi). "Dual Channel" berarti bahwa memori sudah ditransfer ke CPU menggunakan 2 saluran, yang membuatnya lebih cepat. DDR2 SDRAM adalah nama dan jenis memori, dan MHz memberitahu Anda seberapa cepat memori perjalanan (dalam hal ini 667 million siklus per detik). Jika Anda ingin komputer anda bekerja cepat, ini adalah di mana Anda perlu untuk menghabiskan uang, lebih banyak dan lebih cepat RAM (yaitu lebih GB dan MHz).
Fungsi RAM ( Random Access Memory)
Yang disebut memory pada PC, sebetulnya mengacu pada RAM (Random Access Memory). Sebuah komputer membutuhkan RAM untuk menyimpan data dan instruksi yang dibutuhkan untuk menyelesaikan sebuah perintah (task). Data ataupun instruksi yang tersedia pada RAM memungkinkan processor atau CPU (Central Processing Unit) untuk mengaksesnya dengan cepat. Saat CPU membuka sebuah program aplikasi dari harddisk-seperti word processing, spreadsheet, ataupun game-ia akan me-loading-nya ke memory. Hal ini memungkinkan aplikasi bekerja lebih cepat dibandingkan harus mengakses langsung ke harddisk yang memang jauh lebih lambat. Sebab harddisk memang bertugas sebagai storage data, bukan sebagai memory. Dengan mengakses data ataupun aplikasi yang tersedia di RAM, mempercepat PC Anda dalam menyelesaikan tugasnya.
Analogi sederhana untuk mengerti hal ini, lebih mudah jika mengambil pada kegiatan nyata dalam kehidupan sehari-hari. Misalnya pada lingkungan kerja. Di mana ada meja kerja, dan sebuah lemari arsip. Lemari arsip dapat diandaikan layaknya harddisk, di mana tersedia berkas-berkas dan informasi yang dibutuhkan. Saat mulai bekerja, berkas-berkas informasi akan dikeluarkan dari dalam lemari ke meja kerja. Ini untuk memudahkan dan mempercepat akses ke informasi yang dibutuhkan. Maka, meja kerja dapat dianalogikan sebagai memory pada PC.
Dengan analogi sederhana tersebut, tentunya Anda sudah dapat membayangkan perbedaan kecepatan akses, antara memory dan harddisk. Juga sudah terbayang, pentingnya ketersediaan jumlah RAM yang mencukupi untuk dapat melayani data dan informasi yang dibutuhkan oleh CPU.
5. Harddisk
Alat ini merupakan tempat menyimpan data pada CPU. Jika hardisk dibuka, maka di dalamnya terlihat piringan logam sebagai tempat menulis data. Kecepatan putarannya bervariasi. Ada yang 5400 putaran per menit bahkan ada yang sampai 7200 putaran per menit. Kemampuan sebuah hardisk biasanya ditentukan oleh banyaknya data yang bisa disimpan. Besarnya bervariasi, ada yang 1,2 Gigabyte (GB) hingga 80 GB. Satu GB sama dengan 1000 Megabyte, sedangkan 1 Megabyte sama dengan 1000 Kilobyte. Sangat besar kan ? Kita bisa menyimpan semua data kita pada hardisk ini.
Fungsi Hardisk
* Harddisk merupakan ruang simpan utama dalam sebuah computer. Di situlah seluruh sistem operasi dan mekanisme kerja kantor dijalankan, setiap data dan informasi disimpan.
* Dalam sebongkah harddisk, terdapat berbagai macam ruangruang kecil (direktori, folder, subdirektori, subfolder), yang masing-masing dikelompokkan berdasarkan fungsi dan kegunaannya. Di situlah data-data diletakkan.
* Ruang kecil dalam harddisk bekerja dalam logika saling tergantung (interdependent). Data/informasi dalam satu ruang kadangkala diperlukan untuk menggerakkan data/ informasi yang berada di ruang lain. Ada ruang di mana data di dalamnya tidak boleh diutak-atik atau dipindahkan ke tempat lain, ada ruang di mana kita bisa membuang dan menaruh data secara bergantian sesuai kebutuhan.
* Harddisk terdiri atas beberapa komponen penting. Komponen utamanya adalah pelat (platter) yang berfungsi sebagai penyimpan data. Pelat ini adalah suatu cakram padat yang berbentuk bulat datar, kedua sisi permukaannya dilapisi dengan material khusus sehingga memiliki pola-pola magnetis. Pelat ini ditempatkan dalam suatu poros yang disebut spindle.
6. CHACE MEMORY
Adalah tempat atau media penyimpanan sementara data atau informasi yang sering digunakan oleh komputer. Cache memory dibagi menjadi level 1 dan level 2 (L1,L2) dalam cache memory dibagi menjadi 2 yaitu lokalitas yaitu lokalitas temporal dan lokalitas spasial, lokalitas temporal digunakan untuk menggunakan data atau instruksi dengan berulang-ulang,sedangkan lokalitas spasial digunakan
untuk program-program yang membutuhkan pengaksesan secara berurutan. Prosesor yang menjalankan perintah eksekusi akan mencari dan mengumpulkan sejumlah informasi dari chace L1 terlebih dahulu,secara teknis proses ini dinamakan ( HIT ). Jika informasi tersedia di chace L1 maka prosesor akan langsung mengeksekusinya tanpa ada jeda waktu, jIka tidak ditemukan di chace L1 maka prosesor akan melanjutkan mencarinya di chace L2 proses ini tentu saja akan menambah waktu kerja prosesor itu. Chace memory L1 berada paling dekat dengan inti (core) prosesor da ukurannya lebih kecil daripada chace memory L2. Dalam inti prosesor juga terdapat chace controller yang berfungsi sebagai pengaturan lalu lintas pengaksesan data atau program. Sementara itu chace L2 terdiri dari 2 komponen utama diantaranya adalah:
TAG RAM berfungsi untuk menjaga dan mengatur perletakan data dalam chace memory.DATA STORAGE berfungsi untuk menjaga aktualitas data dalam chace memory.
7. HYPER TREADING
Adalah teknologi yang memungkinkan sistem operasi membaca dua buah prosesor (Logical) walaupun kenyataannya dalam mainboard hanya ada 1 prosesor (Physical) hal ini akan memungkinkan sistem operasi menjalankan dua proses eksekusi secara paralel dengan demikian akan didapatkan efisiensi waktu eksekusi yang lebih cepat jika dibandingkan dengan prosesor yang tidak memiliki kemampuan hyper treading.
Download Software Cek CPU
Perintah-Perintah Pada Linux
Ø Dalam Shell
1. Menampilkan semua IP dalam shell : $ /sbin/ifconfig | grep inet
2. Mematikan proses dalam shell : $ kill -9
3. Melihat daftar file dalam direktori : $ ls -la
4. Mencari direktori yang ada permittion : $ find / -type d -perm 777
5. Menjadikan file read only : $ chmod 755
6. Download file : $ wget
7. Download file : $ curl -o
8. Download file : $ lwp-download
9. Memeriksa posisi direktori kita bekerja : $ pwd
10. Masuk ke direktori : $ cd
11. Menampilkan semua file yg tersembunyi (drwxrwxrwx): $ ls -FRla | grep
drwxrwxrwx
12. Mencari isi direktori : $ find . -name [nama direktori] -print
13. Mencari semua ID nobody : $ find / -name *gz* -user nobody
14. Menampilkan proses background : $ ps -x
15. Menampilkan semua proses background : $ ps -ax
16. Mengganti nama file ato direktori : $ mv
17. Mencari proses file secara spesifikasi : $ find | grep
18. Menghapus history : $ history -c
19. Menghapus logs history : $ rm -f /.bash_history /root/.bash_history
/var/log/messages
20. Extract file zip : $ tar -zxvf
21. Membuat file zip hanya dengan target file/direktori : $ tar -zcf
22. Membuat file zip dengan target seluruh isi direktori : $ tar –zcf
Ø Perintah berat linux orisinil
1. $ man ls
Manual tersebut akan menampilkan bagaimana cara penggunaan perintah ls itu secara lengkap.
2. Perintah &
Perintah & dipakai dibelakang perintah lain dan menjalankannya di background. Tujuannya adalahuntuk membebaskan shell agar bisa dipergunakan menjalankan proses-proses yang lain. Lihat juga perintah bg dan fg.
3. Perintah adduser
Biasanya hanya dilakukan oleh root untuk menambahkan user atau account yg baru. Setelah perintah ini bisa dilanjutkan dengan perintah passwd, yaitu perintah untuk membuat password bagi user tersebut.
# adduser rayman
# passwd rayman
Selanjutnya Anda akan diminta memasukkan password untuk user rayman. Isikan password untuk rayman dua kali
dengan kata yang sama.
4. Perintah alias
Digunakan untuk memberi nama lain dari sebuah perintah. Misalnya bila Anda ingin perintah ls dapat juga dijalankandengan mengetikkan perintah dir, maka buatlah aliasnya sbb:
$ alias dir=ls
Untuk melihat perintah-perintah apa saja yang mempunyai nama lain saat itu, cukup ketikkan alias. Lihat juga perintah unalias.
5. Perintah bg
Untuk memaksa sebuah proses yang dihentikan sementara(suspend) agar berjalan di background. Misalnya Anda sedang menjalankan sebuah perintah di foreground (tanpa diakhiri perintah &) dan suatu saat Anda membutuhkan shell
tersebut maka Anda dapat memberhentikan sementara perintah tersebut dengan Ctrl-Z kemudian ketikan perintah bg untuk menjalakannya di background. Dengan cara ini Anda telah membebaskanshell tapi tetap mempertahankan perintah lama berjalan di background. Lihat juga perintah fg.
6. Perintah cat
Menampilkan isi dari sebuah file di layar.
$ cat namafile
7. Perintah cd
Change Directory atau untuk berpindah direktori dan saya kira Anda tidak akan menemui kesulitan menggunakan perintah ini karena cara penggunaanya mirip dengan perintah cd di DOS.
8. Perintah chgrp
Perintah ini digunakan untuk merubah kepemilikan kelompok file atau direktori. Misalnya untuk memberi ijin pada kelompok atau grup agar dapat mengakses suatu file. Sintaks penulisannya adalah sbb:
# chgrp
9. Perintah chmod
Digunakan untuk menambah dan mengurangi ijin pemakai untuk mengakses file atau direktori. Anda dapat menggunakan sistem numeric coding atau sistem letter coding. Ada tiga jenis permission/perijinan yang dapat dirubah yaitu r untuk read, w untuk write dan x untuk execute. Dengan menggunakan letter coding, Anda dapat merubah permission diatas untuk masing-masing u (user), g (group), o (other) dan a (all) dengan hanya memberi tanda plus (+) untuk menambah ijin dan tanda minus (-) untuk mencabut ijin. Misalnya untuk memberikan ijin baca dan eksekusi file coba1 kepada owner dan group, perintahnya adalah:
$ chmod ug+rx coba1
Untuk mencabut ijin-ijin tersebut:
$ chmod ug-rx coba1
Dengan menggunakan sitem numeric coding, permission untukuser, group dan other ditentukan dengan menggunakan kombinasi angka-angka, 4, 2 dan 1 dimana 4 (read), 2 (write) dan 1 (execute).
Misalnya untuk memberikan ijin baca(4), tulis(2) dan eksekusi(1) file
coba2 kepada owner, perintahnya adalah:
$ chmod 700 coba2
Contoh lain, untuk memberi ijin baca(4) dan tulis(2) file coba3 kepada user, baca(4) saja kepada group dan other,
perintahnya adalah:
$ chmod 644 coba3
10. Perintah chown
Merubah user ID (owner) sebuah file atau direktori $ chown
11. Perintah cp
Untuk menyalin file atau copy. Misalnya untuk menyalin file1 menjadi file2: $ cp
12. Perintah fg
Mengembalikan suatu proses yang dihentikan sementar(suspend) agar berjalan kembali di foreground. Lihat juga perintah bg diatas.
13. Perintah find
Untuk menemukan dimana letak sebuah file. Perintah ini akan mencari file sesuai dengan kriteria yang Anda tentukan.
Sintaksnya adalah perintah itu sendiri diikuti dengan nama direktori awal pencarian, kemudian nama file (bisa menggunakan wildcard, metacharacters) dan terakhir menentukan bagaimana hasil pencarian itu akan ditampilkan. Misalnya akan dicari semua file yang berakhiran .doc di current direktori serta tampilkan hasilnya di layar:
$ find . -name *.doc -print
. /public/docs/account.doc
. /public/docs/balance.doc
. /public/docs/statistik/prospek.doc
./public/docs/statistik/presconf.doc
14. Perintah grep
Global regular expresion parse atau grep adalah perintah untuk mencari file-file yang mengandung teks dengan criteria yang telah Anda tentukan. $ grep Misalnya akan dicari file-file yang mengandung teks marginal di current direktori:
$ grep marginal
diferent.doc: Catatan: perkataan marginal luas dipergunakan di dalam ilmu ekonomi prob.rtf: oleh fungsi hasil marginal
dan fungsi biaya marginal jika fungsi prob.rtf: jika biaya marginal dan hasil marginal diketahui maka biaya total
15. Perintah gzip
Ini adalah software kompresi zip versi GNU, fungsinya untuk mengkompresi sebuah file. Sintaksnya sangat sederhana: $ gzip Walaupun demikian Anda bisa memberikan parameter tertentu bila memerlukan kompresi file yang lebih baik,
silakan melihat manual page-nya. Lihat juga file tar, unzip dan zip.
16. Perintah halt
Perintah ini hanya bisa dijalankan oleh super user atau Anda harus
login sebagai root. Perintah ini untuk memberitahu kernel supaya mematikan sistem atau shutdown.
17. Perintah hostname
Untuk menampilkan host atau domain name sistem dan bisa pula digunakan untuk mengesset nama host sistem. $
hostname localhost.localdomain
18. Perintah kill
Perintah ini akan mengirimkan sinyal ke sebuah proses yang kita tentukan. Tujuannya adalah menghentikan proses. $
kill PID adalah nomor proses yang akan di hentikan.
19. Perintah less
Perintah ini sama fungsinya dengan perintah more (melihat isi dari sebuah file) dan hampir sama juga dengan perintah cat. 20. Perintah login Untuk masuk ke sistem dengan memasukkan login ID atau dapat juga digunakan untuk berpindah
dari user satu ke user lainnya.
21. Perintah logout
Perintah yang digunakan apabila kita mau keluar dari sistem
22. Perintah ls
Menampilkan isi dari sebuah direktori seperti perintah dir di DOS. Anda dapat menggunakan beberapa option yang disediakan untuk mengatur tampilannya di layar. Bila Anda menjalankan perintah ini tanpa option maka akan ditampilkan
seluruh file nonhidden(file tanpa awalan tanda titik) secara alfabet dan secara melebar mengisi kolom layar. Option –la artinya menampilkan seluruh file/all termasuk file hidden(file dengan awalan tanda titik) dengan format panjang.
$ ls
$ ls -al
$ ls -la
23. Perintah man
Untuk menampilkan manual page atau teks yang menjelaskan secara detail bagaimana cara penggunaan sebuah perintah. Perintah ini berguna sekali bila sewaktu-waktu Anda lupa atau tidak mengetahui fungsi dan cara menggunakan
sebuah perintah. $ man
24. Perintah mesg
Perintah ini digunakan oleh user untuk memberikan ijin user lain menampilkan pesan dilayar terminal. Misalnya mesg Anda dalam posisi y maka user lain bisa menampilkan pesan di layar Anda dengan write atau talk. $ mesg y atau mesg n Gunakan mesg n bila Anda tidak ingin diganggu dengan tampilan pesan-pesan dari user lain.
25. Perintah mkdir
Membuat direktori baru, sama dengan perintah md di DOS. $ mkdir
26. Perintah more
Mempaging halaman, seperti halnya less.
27. Perintah mount
Perintah ini akan me-mount filesystem ke suatu direktori atau mount-point yang telah ditentukan. Hanya superuser yang bisa menjalankan perintah ini. Untuk melihat filesystem apa saja beserta mount-pointnya saat itu, ketikkan perintah mount. Perintah ini dapat Anda pelajari di bab mengenai filesystem. Lihat juga perintah umount.
$ mount
/dev/hda3 on / type ext2 (rw)
none on /proc type proc (rw)
/dev/hda1 on /dos type vfat (rw)
/dev/hda4 on /usr type ext2 (rw)
none on /dev/pts type devpts (rw,mode=0622)
28. Perintah mv
Untuk memindahkan file dari satu lokasi ke lokasi yang lain. Bila argumen yang kedua berupa sebuah direktori maka mv akan memindahkan file ke direktori tersebut. Bila kedua argumen berupa file maka nama file pertama akan menimpa file kedua. Akan terjadi kesalahan bila Anda memasukkan lebih dari dua argumen kecuali argumen terakhir berupa sebuah direktori.
$ mv psybnc /var/tmp
$ mv psybnc
29. Perintah passwd
Digunakan untuk mengganti password. Anda akan selalu diminta mengisikan password lama dan selanjutnya akan diminta mengisikan password baru sebanyak dua kali. Password sedikitnya terdiri dari enam karakter dan sedikitnya mengandung sebuah karakter. $ passwd
30. Perintah pwd
Menampilkan nama direktori dimana Anda saat itu sedang berada.
31. Perintah rm
Untuk menghapus file dan secara default rm tidak menghapus direktori. Gunakan secara hati-hati perintah ini terutama dengan option -r yang secara rekursif dapat mengapus seluruh file.
$ rm -rf
$ rm -f
$ rm
32. Perintah rmdir
Untuk menghapus direktori kosong. $ rmdir
33. Perintah shutdown
Perintah ini untuk mematikan sistem, seperti perintah halt. Pada beberapa sistem anda bisa menghentikan komputer dengan perintah shutdown -h now dan merestart sistem dengan perintah shutdown -r now atau dengan kombinasi tombol Ctr-Alt-Del.
# shutdown -r now
34. Perintah su
Untuk login sementara sebagai user lain. Bila user ID tidak disertakan maka komputer menganggap Anda ingin login sementara sebagai super user atau root. Bila Anda bukan root dan user lain itu memiliki password maka Anda harus memasukkan passwordnya dengan benar. Tapi bila Anda adalah root maka Anda dapat login sebagai user lain tanpa perlu mengetahui password user tersebut.
35. Perintah tail
Menampilkan 10 baris terakhir dari suatu file. Default baris yang ditampilkan adalah 10 tapi Anda bisa menentukan sendiri berapa baris yang ingin ditampilkan:
$ tail
36. Perintah talk
Untuk mengadakan percakapan melalui terminal. Input dari terminal Anda akan disalin di terminal user lain, begitu sebaliknya.
37. Perintah tar
Menyimpan dan mengekstrak file dari media seperti tape drive atau hard disk. File arsip tersebut sering disebut sebagai file tar. Sintaknya sebagai berikut:
$ tar
38. Perintah umount
Adalah kebalikan dari perintah mount, yaitu untuk meng-unmount filesystem dari mount-pointnya. Setelah perintah ini dijalankan direktori yang menjadi mount-point tidak lagi bisa digunakan.
# umount
39. Perintah unalias
Kebalikan dari perintah alias, perintah ini akan membatalkan sebuah alias. Jadi untuk membatalkan alias dir seperti telah dicontohkan diatas, gunakan perintah:
$ unalias dir
40. Perintah unzip
Digunakan untuk mengekstrak atau menguraikan file yang dikompres dengan zip. Sintaknya sederhana dan akan mengekstrak file yang anda tentukan:
$ unzip
Lihat juga perintah-perintah gzip dan unzip.
41. Perintah wall
Mengirimkan pesan dan menampilkannya di terminal tiap user yang sedang login. Perintah ini berguna bagi superuser atau root untuk memberikan peringatan ke seluruh user, misalnya pemberitahuan bahwa server sesaat lagi akan dimatikan. # who Dear, everyone….. segera simpan pekerjaan kalian, server akan saya matikan 10 menit lagi.
42. Perintah who
Untuk menampilkan siapa saja yang sedang login. Perintah ini akan menampilkan informasi mengenai login name, jenis terminal, waktu login dan remote hostname untuk setiap user yang saat itu sedang login. Misalnya:
$ who
43. Perintah xhost +
Perintah ini digunakan untuk memberi akses atau menghapus akses(xhost -) host atau user ke sebuah server X.
44. Perintah xset
Perintah ini untuk mengeset beberapa option di X Window seperti bunyi bel, kecepatan mouse, font, parameter screen saver dan sebagainya. Misalnya bunyi bel dan kecepatan mouse dapat Anda set menggunakan perintah ini:
$ xset b $ xset m
45. Perintah zip
Perintah ini akan membuat dan menambahkan file ke dalam file arsip zip. Lihat juga perintah gzip dan unzip.
1. Menampilkan semua IP dalam shell : $ /sbin/ifconfig | grep inet
2. Mematikan proses dalam shell : $ kill -9
3. Melihat daftar file dalam direktori : $ ls -la
4. Mencari direktori yang ada permittion : $ find / -type d -perm 777
5. Menjadikan file read only : $ chmod 755
6. Download file : $ wget
7. Download file : $ curl -o
8. Download file : $ lwp-download
9. Memeriksa posisi direktori kita bekerja : $ pwd
10. Masuk ke direktori : $ cd
11. Menampilkan semua file yg tersembunyi (drwxrwxrwx): $ ls -FRla | grep
drwxrwxrwx
12. Mencari isi direktori : $ find . -name [nama direktori] -print
13. Mencari semua ID nobody : $ find / -name *gz* -user nobody
14. Menampilkan proses background : $ ps -x
15. Menampilkan semua proses background : $ ps -ax
16. Mengganti nama file ato direktori : $ mv
17. Mencari proses file secara spesifikasi : $ find | grep
18. Menghapus history : $ history -c
19. Menghapus logs history : $ rm -f /.bash_history /root/.bash_history
/var/log/messages
20. Extract file zip : $ tar -zxvf
21. Membuat file zip hanya dengan target file/direktori : $ tar -zcf
22. Membuat file zip dengan target seluruh isi direktori : $ tar –zcf
Ø Perintah berat linux orisinil
1. $ man ls
Manual tersebut akan menampilkan bagaimana cara penggunaan perintah ls itu secara lengkap.
2. Perintah &
Perintah & dipakai dibelakang perintah lain dan menjalankannya di background. Tujuannya adalahuntuk membebaskan shell agar bisa dipergunakan menjalankan proses-proses yang lain. Lihat juga perintah bg dan fg.
3. Perintah adduser
Biasanya hanya dilakukan oleh root untuk menambahkan user atau account yg baru. Setelah perintah ini bisa dilanjutkan dengan perintah passwd, yaitu perintah untuk membuat password bagi user tersebut.
# adduser rayman
# passwd rayman
Selanjutnya Anda akan diminta memasukkan password untuk user rayman. Isikan password untuk rayman dua kali
dengan kata yang sama.
4. Perintah alias
Digunakan untuk memberi nama lain dari sebuah perintah. Misalnya bila Anda ingin perintah ls dapat juga dijalankandengan mengetikkan perintah dir, maka buatlah aliasnya sbb:
$ alias dir=ls
Untuk melihat perintah-perintah apa saja yang mempunyai nama lain saat itu, cukup ketikkan alias. Lihat juga perintah unalias.
5. Perintah bg
Untuk memaksa sebuah proses yang dihentikan sementara(suspend) agar berjalan di background. Misalnya Anda sedang menjalankan sebuah perintah di foreground (tanpa diakhiri perintah &) dan suatu saat Anda membutuhkan shell
tersebut maka Anda dapat memberhentikan sementara perintah tersebut dengan Ctrl-Z kemudian ketikan perintah bg untuk menjalakannya di background. Dengan cara ini Anda telah membebaskanshell tapi tetap mempertahankan perintah lama berjalan di background. Lihat juga perintah fg.
6. Perintah cat
Menampilkan isi dari sebuah file di layar.
$ cat namafile
7. Perintah cd
Change Directory atau untuk berpindah direktori dan saya kira Anda tidak akan menemui kesulitan menggunakan perintah ini karena cara penggunaanya mirip dengan perintah cd di DOS.
8. Perintah chgrp
Perintah ini digunakan untuk merubah kepemilikan kelompok file atau direktori. Misalnya untuk memberi ijin pada kelompok atau grup agar dapat mengakses suatu file. Sintaks penulisannya adalah sbb:
# chgrp
9. Perintah chmod
Digunakan untuk menambah dan mengurangi ijin pemakai untuk mengakses file atau direktori. Anda dapat menggunakan sistem numeric coding atau sistem letter coding. Ada tiga jenis permission/perijinan yang dapat dirubah yaitu r untuk read, w untuk write dan x untuk execute. Dengan menggunakan letter coding, Anda dapat merubah permission diatas untuk masing-masing u (user), g (group), o (other) dan a (all) dengan hanya memberi tanda plus (+) untuk menambah ijin dan tanda minus (-) untuk mencabut ijin. Misalnya untuk memberikan ijin baca dan eksekusi file coba1 kepada owner dan group, perintahnya adalah:
$ chmod ug+rx coba1
Untuk mencabut ijin-ijin tersebut:
$ chmod ug-rx coba1
Dengan menggunakan sitem numeric coding, permission untukuser, group dan other ditentukan dengan menggunakan kombinasi angka-angka, 4, 2 dan 1 dimana 4 (read), 2 (write) dan 1 (execute).
Misalnya untuk memberikan ijin baca(4), tulis(2) dan eksekusi(1) file
coba2 kepada owner, perintahnya adalah:
$ chmod 700 coba2
Contoh lain, untuk memberi ijin baca(4) dan tulis(2) file coba3 kepada user, baca(4) saja kepada group dan other,
perintahnya adalah:
$ chmod 644 coba3
10. Perintah chown
Merubah user ID (owner) sebuah file atau direktori $ chown
11. Perintah cp
Untuk menyalin file atau copy. Misalnya untuk menyalin file1 menjadi file2: $ cp
12. Perintah fg
Mengembalikan suatu proses yang dihentikan sementar(suspend) agar berjalan kembali di foreground. Lihat juga perintah bg diatas.
13. Perintah find
Untuk menemukan dimana letak sebuah file. Perintah ini akan mencari file sesuai dengan kriteria yang Anda tentukan.
Sintaksnya adalah perintah itu sendiri diikuti dengan nama direktori awal pencarian, kemudian nama file (bisa menggunakan wildcard, metacharacters) dan terakhir menentukan bagaimana hasil pencarian itu akan ditampilkan. Misalnya akan dicari semua file yang berakhiran .doc di current direktori serta tampilkan hasilnya di layar:
$ find . -name *.doc -print
. /public/docs/account.doc
. /public/docs/balance.doc
. /public/docs/statistik/prospek.doc
./public/docs/statistik/presconf.doc
14. Perintah grep
Global regular expresion parse atau grep adalah perintah untuk mencari file-file yang mengandung teks dengan criteria yang telah Anda tentukan. $ grep Misalnya akan dicari file-file yang mengandung teks marginal di current direktori:
$ grep marginal
diferent.doc: Catatan: perkataan marginal luas dipergunakan di dalam ilmu ekonomi prob.rtf: oleh fungsi hasil marginal
dan fungsi biaya marginal jika fungsi prob.rtf: jika biaya marginal dan hasil marginal diketahui maka biaya total
15. Perintah gzip
Ini adalah software kompresi zip versi GNU, fungsinya untuk mengkompresi sebuah file. Sintaksnya sangat sederhana: $ gzip Walaupun demikian Anda bisa memberikan parameter tertentu bila memerlukan kompresi file yang lebih baik,
silakan melihat manual page-nya. Lihat juga file tar, unzip dan zip.
16. Perintah halt
Perintah ini hanya bisa dijalankan oleh super user atau Anda harus
login sebagai root. Perintah ini untuk memberitahu kernel supaya mematikan sistem atau shutdown.
17. Perintah hostname
Untuk menampilkan host atau domain name sistem dan bisa pula digunakan untuk mengesset nama host sistem. $
hostname localhost.localdomain
18. Perintah kill
Perintah ini akan mengirimkan sinyal ke sebuah proses yang kita tentukan. Tujuannya adalah menghentikan proses. $
kill PID adalah nomor proses yang akan di hentikan.
19. Perintah less
Perintah ini sama fungsinya dengan perintah more (melihat isi dari sebuah file) dan hampir sama juga dengan perintah cat. 20. Perintah login Untuk masuk ke sistem dengan memasukkan login ID atau dapat juga digunakan untuk berpindah
dari user satu ke user lainnya.
21. Perintah logout
Perintah yang digunakan apabila kita mau keluar dari sistem
22. Perintah ls
Menampilkan isi dari sebuah direktori seperti perintah dir di DOS. Anda dapat menggunakan beberapa option yang disediakan untuk mengatur tampilannya di layar. Bila Anda menjalankan perintah ini tanpa option maka akan ditampilkan
seluruh file nonhidden(file tanpa awalan tanda titik) secara alfabet dan secara melebar mengisi kolom layar. Option –la artinya menampilkan seluruh file/all termasuk file hidden(file dengan awalan tanda titik) dengan format panjang.
$ ls
$ ls -al
$ ls -la
23. Perintah man
Untuk menampilkan manual page atau teks yang menjelaskan secara detail bagaimana cara penggunaan sebuah perintah. Perintah ini berguna sekali bila sewaktu-waktu Anda lupa atau tidak mengetahui fungsi dan cara menggunakan
sebuah perintah. $ man
24. Perintah mesg
Perintah ini digunakan oleh user untuk memberikan ijin user lain menampilkan pesan dilayar terminal. Misalnya mesg Anda dalam posisi y maka user lain bisa menampilkan pesan di layar Anda dengan write atau talk. $ mesg y atau mesg n Gunakan mesg n bila Anda tidak ingin diganggu dengan tampilan pesan-pesan dari user lain.
25. Perintah mkdir
Membuat direktori baru, sama dengan perintah md di DOS. $ mkdir
26. Perintah more
Mempaging halaman, seperti halnya less.
27. Perintah mount
Perintah ini akan me-mount filesystem ke suatu direktori atau mount-point yang telah ditentukan. Hanya superuser yang bisa menjalankan perintah ini. Untuk melihat filesystem apa saja beserta mount-pointnya saat itu, ketikkan perintah mount. Perintah ini dapat Anda pelajari di bab mengenai filesystem. Lihat juga perintah umount.
$ mount
/dev/hda3 on / type ext2 (rw)
none on /proc type proc (rw)
/dev/hda1 on /dos type vfat (rw)
/dev/hda4 on /usr type ext2 (rw)
none on /dev/pts type devpts (rw,mode=0622)
28. Perintah mv
Untuk memindahkan file dari satu lokasi ke lokasi yang lain. Bila argumen yang kedua berupa sebuah direktori maka mv akan memindahkan file ke direktori tersebut. Bila kedua argumen berupa file maka nama file pertama akan menimpa file kedua. Akan terjadi kesalahan bila Anda memasukkan lebih dari dua argumen kecuali argumen terakhir berupa sebuah direktori.
$ mv psybnc /var/tmp
$ mv psybnc
29. Perintah passwd
Digunakan untuk mengganti password. Anda akan selalu diminta mengisikan password lama dan selanjutnya akan diminta mengisikan password baru sebanyak dua kali. Password sedikitnya terdiri dari enam karakter dan sedikitnya mengandung sebuah karakter. $ passwd
30. Perintah pwd
Menampilkan nama direktori dimana Anda saat itu sedang berada.
31. Perintah rm
Untuk menghapus file dan secara default rm tidak menghapus direktori. Gunakan secara hati-hati perintah ini terutama dengan option -r yang secara rekursif dapat mengapus seluruh file.
$ rm -rf
$ rm -f
$ rm
32. Perintah rmdir
Untuk menghapus direktori kosong. $ rmdir
33. Perintah shutdown
Perintah ini untuk mematikan sistem, seperti perintah halt. Pada beberapa sistem anda bisa menghentikan komputer dengan perintah shutdown -h now dan merestart sistem dengan perintah shutdown -r now atau dengan kombinasi tombol Ctr-Alt-Del.
# shutdown -r now
34. Perintah su
Untuk login sementara sebagai user lain. Bila user ID tidak disertakan maka komputer menganggap Anda ingin login sementara sebagai super user atau root. Bila Anda bukan root dan user lain itu memiliki password maka Anda harus memasukkan passwordnya dengan benar. Tapi bila Anda adalah root maka Anda dapat login sebagai user lain tanpa perlu mengetahui password user tersebut.
35. Perintah tail
Menampilkan 10 baris terakhir dari suatu file. Default baris yang ditampilkan adalah 10 tapi Anda bisa menentukan sendiri berapa baris yang ingin ditampilkan:
$ tail
36. Perintah talk
Untuk mengadakan percakapan melalui terminal. Input dari terminal Anda akan disalin di terminal user lain, begitu sebaliknya.
37. Perintah tar
Menyimpan dan mengekstrak file dari media seperti tape drive atau hard disk. File arsip tersebut sering disebut sebagai file tar. Sintaknya sebagai berikut:
$ tar
38. Perintah umount
Adalah kebalikan dari perintah mount, yaitu untuk meng-unmount filesystem dari mount-pointnya. Setelah perintah ini dijalankan direktori yang menjadi mount-point tidak lagi bisa digunakan.
# umount
39. Perintah unalias
Kebalikan dari perintah alias, perintah ini akan membatalkan sebuah alias. Jadi untuk membatalkan alias dir seperti telah dicontohkan diatas, gunakan perintah:
$ unalias dir
40. Perintah unzip
Digunakan untuk mengekstrak atau menguraikan file yang dikompres dengan zip. Sintaknya sederhana dan akan mengekstrak file yang anda tentukan:
$ unzip
Lihat juga perintah-perintah gzip dan unzip.
41. Perintah wall
Mengirimkan pesan dan menampilkannya di terminal tiap user yang sedang login. Perintah ini berguna bagi superuser atau root untuk memberikan peringatan ke seluruh user, misalnya pemberitahuan bahwa server sesaat lagi akan dimatikan. # who Dear, everyone….. segera simpan pekerjaan kalian, server akan saya matikan 10 menit lagi.
42. Perintah who
Untuk menampilkan siapa saja yang sedang login. Perintah ini akan menampilkan informasi mengenai login name, jenis terminal, waktu login dan remote hostname untuk setiap user yang saat itu sedang login. Misalnya:
$ who
43. Perintah xhost +
Perintah ini digunakan untuk memberi akses atau menghapus akses(xhost -) host atau user ke sebuah server X.
44. Perintah xset
Perintah ini untuk mengeset beberapa option di X Window seperti bunyi bel, kecepatan mouse, font, parameter screen saver dan sebagainya. Misalnya bunyi bel dan kecepatan mouse dapat Anda set menggunakan perintah ini:
$ xset b $ xset m
45. Perintah zip
Perintah ini akan membuat dan menambahkan file ke dalam file arsip zip. Lihat juga perintah gzip dan unzip.
Senin, 21 Desember 2009
Membuat mirror update anti virus AVIRA
Pada dasarnya mirror yg dimaksud disini adalah download secara otomatis, sebagaimana bisa anda baca pada tulisan saya yang ini.
ok langsung saja kita terjemahkan script avira.sh
1. Membuat direktori temporary
mkdir -p /mnt/website/update/avira/inprogress/
cd /mnt/website/update/avira/inprogress/
2. Saya asumsikan update avira mempunyai alamat url dan filename yg static (tdk berubah-ubah), sehingga kita bisa langsung mendownloadnya.
wget -c http://dl.antivir.de/down/vdf/ivdf_fusebundle_nt_en.zip
3. Delete update kemarin dan memindahkan update-an yg baru saja di download ke direktori yg diinginkan.
rm -f /mnt/website/update/avira/*.zip
cp /mnt/website/update/avira/inprogress/*.zip /mnt/website/update/avira/
rm -rf /mnt/website/update/avira/inprogress/
4. Memperbaharui tanggal direktori : utk untuk mempermudah kita mengetahui kapan update terakhir dilakukan
touch /mnt/website/update/avira/
5. setting permission
chown -R root:root /mnt/website/update/avira/
6. Jadikan script avira.sh mempunyai mode executable
lqman@constantine:~$ chmod +x /home/lqman/script-mirror/avira.sh
7. Jadikan proses update ini berulang sesuai periode yg anda inginkan dengan memasukkannya pada crontab.
root@agus:~$ crontab -e
# daily update avira by LQman every 21:00
0 21 * * * /home/root/script-mirror/avira.sh
Beres, selamat menikmati mirror update avira.
Script :
avira.sh
Hasil:
http://mirror.ee.its.ac.id/update/avira/
ok langsung saja kita terjemahkan script avira.sh
1. Membuat direktori temporary
mkdir -p /mnt/website/update/avira/inprogress/
cd /mnt/website/update/avira/inprogress/
2. Saya asumsikan update avira mempunyai alamat url dan filename yg static (tdk berubah-ubah), sehingga kita bisa langsung mendownloadnya.
wget -c http://dl.antivir.de/down/vdf/ivdf_fusebundle_nt_en.zip
3. Delete update kemarin dan memindahkan update-an yg baru saja di download ke direktori yg diinginkan.
rm -f /mnt/website/update/avira/*.zip
cp /mnt/website/update/avira/inprogress/*.zip /mnt/website/update/avira/
rm -rf /mnt/website/update/avira/inprogress/
4. Memperbaharui tanggal direktori : utk untuk mempermudah kita mengetahui kapan update terakhir dilakukan
touch /mnt/website/update/avira/
5. setting permission
chown -R root:root /mnt/website/update/avira/
6. Jadikan script avira.sh mempunyai mode executable
lqman@constantine:~$ chmod +x /home/lqman/script-mirror/avira.sh
7. Jadikan proses update ini berulang sesuai periode yg anda inginkan dengan memasukkannya pada crontab.
root@agus:~$ crontab -e
# daily update avira by LQman every 21:00
0 21 * * * /home/root/script-mirror/avira.sh
Beres, selamat menikmati mirror update avira.
Script :
avira.sh
Hasil:
http://mirror.ee.its.ac.id/update/avira/
Membuat mirror update anti virus AVG8FREE
Tutorial ini merupakan kelanjutan dari tulisan ini, maka sebaiknya anda baca terlebih dahulu tulisan tersebut, kemudian baru melanjutkan ke tutorial yang ini.
1. Membuat direktori sementara (temporary directory) untuk proses download dan masuk pada direktori tersebut
lqman@constantine:~$ mkdir -p /mnt/website/update/avg8free/inprogress/
lqman@constantine:~$ cd /mnt/website/update/avg8free/inprogress/
2. Mendonlod halaman awal pada bagian update
lqman@constantine:~$ wget -c http://free.grisoft.com/ww.download-update -O /mnt/website/update/avg8free/inprogress/donlod.html
3. Parsing text dari file donlod.html
Pada halaman awal yg sudah kita donlod, ada link yang akan menunjukkan pada kita letak file updater yg sebenarnya, cuman kita harus sedikit melakukan rekayasa, sehingga keinginan kita bisa dilakukan secara otomatis. Dari file donlod.html yang harus diambil adalah baris yang mengandung tulisan .bin
lqman@constantine:~$ cat donlod.html | grep .bin | cut -d '=' -f8 > donlod2.html
lqman@constantine:~$ cat donlod2.html | cut -d '"' -f2 > donlod3.html
untuk menguji apakah script kita diatas sdh sesuai dg yg kita inginkan, kita harus melihat file donlod3.html yg baru saja dihasilkan.
lqman@constantine:~$ cat /mnt/website/update/avg8free/inprogress/donlod3.html
http://free.avg.com/softw/80free/update/f8all237ns.bin
http://free.avg.com/softw/80free/update/x8all110io.bin
http://free.avg.com/softw/80free/update/u7avi1481pm.bin
http://free.avg.com/softw/80free/update/u7iavi2046pm.bin
4. Hitung banyak file yg hrs d donlod = banyak baris pd donlod3.html
lqman@constantine:~$ jmlbrs=`wc donlod3.html | awk '{print $1}'`
5. Mendefinisikan nama file yg akan di download
lqman@constantine:~$ for i in `seq 1 $jmlbrs`; do basename `head -n $i donlod3.html | tail -n 1`; done > namafile
6. Mulai donload tiap baris
lqman@constantine:~$ for i in `seq 1 $jmlbrs`; do wget -c `head -n $i donlod3.html | tail -n 1` -O `head -n $i namafile | tail -n 1`; done
7. Membersihkan file temporary dan memindahkan update-an ke tempat yg sebenarnya
lqman@constantine:~$ rm -f /mnt/website/update/avg8free/*.*
mv /mnt/website/update/avg8free/inprogress/*.bin /mnt/website/update/avg8free/
rm -rf /mnt/website/update/avg8free/inprogress
8. Memperbaharui tanggal direktori
Perbaharuan tanggal direktori ini sengaja dilakukan untuk mempermudah kita mengetahui kapan update terakhir dilakukan.
lqman@constantine:~$ touch /mnt/website/update/avg8free/
9. Setting permission
lqman@constantine:~$ chown -R lqman:lqman /mnt/website/update/avg8free/
10. Jadikan file tsb dalam satu script
lqman@constantine:~$ touch /home/lqman/script-mirror/avg8free.sh
lqman@constantine:~$ mcedit /home/lqman/script-mirror/avg8free.sh
#!/bin/bash
mkdir -p /mnt/website/update/avg8free/inprogress/
cd /mnt/website/update/avg8free/inprogress/
wget -c http://free.grisoft.com/ww.download-update -O /mnt/website/update/avg8free/inprogress/donlod.html
cat donlod.html | grep .bin | cut -d ‘=’ -f8 > donlod2.html
cat donlod2.html | cut -d ‘”‘ -f2 > donlod3.html
cat /mnt/website/update/avg8free/inprogress/donlod3.html
jmlbrs=`wc donlod3.html | awk ‘{print $1}’`
for i in `seq 1 $jmlbrs`; do basename `head -n $i donlod3.html | tail -n 1`; done > namafile
for i in `seq 1 $jmlbrs`; do wget -c `head -n $i donlod3.html | tail -n 1` -O `head -n $i namafile | tail -n 1`; done
rm -f /mnt/website/update/avg8free/*.*
mv /mnt/website/update/avg8free/inprogress/*.bin /mnt/website/update/avg8free/
rm -rf /mnt/website/update/avg8free/inprogress
touch /mnt/website/update/avg8free/
11. Jadikan script avg8free.sh mempunyai mode executable
lqman@constantine:~$ chmod +x /home/lqman/script-mirror/avg8free.sh
12. Jadikan proses update ini berulang sesuai periode yg anda inginkan dengan memasukkannya pada crontab.
lqman@constantine:~$ crontab -e
# daily update avg8free by LQman every 21:00
0 21 * * * /home/lqman/script-mirror/avg8free.sh
Beres, selamat menikmati mirror update avg8free.
1. Membuat direktori sementara (temporary directory) untuk proses download dan masuk pada direktori tersebut
lqman@constantine:~$ mkdir -p /mnt/website/update/avg8free/inprogress/
lqman@constantine:~$ cd /mnt/website/update/avg8free/inprogress/
2. Mendonlod halaman awal pada bagian update
lqman@constantine:~$ wget -c http://free.grisoft.com/ww.download-update -O /mnt/website/update/avg8free/inprogress/donlod.html
3. Parsing text dari file donlod.html
Pada halaman awal yg sudah kita donlod, ada link yang akan menunjukkan pada kita letak file updater yg sebenarnya, cuman kita harus sedikit melakukan rekayasa, sehingga keinginan kita bisa dilakukan secara otomatis. Dari file donlod.html yang harus diambil adalah baris yang mengandung tulisan .bin
lqman@constantine:~$ cat donlod.html | grep .bin | cut -d '=' -f8 > donlod2.html
lqman@constantine:~$ cat donlod2.html | cut -d '"' -f2 > donlod3.html
untuk menguji apakah script kita diatas sdh sesuai dg yg kita inginkan, kita harus melihat file donlod3.html yg baru saja dihasilkan.
lqman@constantine:~$ cat /mnt/website/update/avg8free/inprogress/donlod3.html
http://free.avg.com/softw/80free/update/f8all237ns.bin
http://free.avg.com/softw/80free/update/x8all110io.bin
http://free.avg.com/softw/80free/update/u7avi1481pm.bin
http://free.avg.com/softw/80free/update/u7iavi2046pm.bin
4. Hitung banyak file yg hrs d donlod = banyak baris pd donlod3.html
lqman@constantine:~$ jmlbrs=`wc donlod3.html | awk '{print $1}'`
5. Mendefinisikan nama file yg akan di download
lqman@constantine:~$ for i in `seq 1 $jmlbrs`; do basename `head -n $i donlod3.html | tail -n 1`; done > namafile
6. Mulai donload tiap baris
lqman@constantine:~$ for i in `seq 1 $jmlbrs`; do wget -c `head -n $i donlod3.html | tail -n 1` -O `head -n $i namafile | tail -n 1`; done
7. Membersihkan file temporary dan memindahkan update-an ke tempat yg sebenarnya
lqman@constantine:~$ rm -f /mnt/website/update/avg8free/*.*
mv /mnt/website/update/avg8free/inprogress/*.bin /mnt/website/update/avg8free/
rm -rf /mnt/website/update/avg8free/inprogress
8. Memperbaharui tanggal direktori
Perbaharuan tanggal direktori ini sengaja dilakukan untuk mempermudah kita mengetahui kapan update terakhir dilakukan.
lqman@constantine:~$ touch /mnt/website/update/avg8free/
9. Setting permission
lqman@constantine:~$ chown -R lqman:lqman /mnt/website/update/avg8free/
10. Jadikan file tsb dalam satu script
lqman@constantine:~$ touch /home/lqman/script-mirror/avg8free.sh
lqman@constantine:~$ mcedit /home/lqman/script-mirror/avg8free.sh
#!/bin/bash
mkdir -p /mnt/website/update/avg8free/inprogress/
cd /mnt/website/update/avg8free/inprogress/
wget -c http://free.grisoft.com/ww.download-update -O /mnt/website/update/avg8free/inprogress/donlod.html
cat donlod.html | grep .bin | cut -d ‘=’ -f8 > donlod2.html
cat donlod2.html | cut -d ‘”‘ -f2 > donlod3.html
cat /mnt/website/update/avg8free/inprogress/donlod3.html
jmlbrs=`wc donlod3.html | awk ‘{print $1}’`
for i in `seq 1 $jmlbrs`; do basename `head -n $i donlod3.html | tail -n 1`; done > namafile
for i in `seq 1 $jmlbrs`; do wget -c `head -n $i donlod3.html | tail -n 1` -O `head -n $i namafile | tail -n 1`; done
rm -f /mnt/website/update/avg8free/*.*
mv /mnt/website/update/avg8free/inprogress/*.bin /mnt/website/update/avg8free/
rm -rf /mnt/website/update/avg8free/inprogress
touch /mnt/website/update/avg8free/
11. Jadikan script avg8free.sh mempunyai mode executable
lqman@constantine:~$ chmod +x /home/lqman/script-mirror/avg8free.sh
12. Jadikan proses update ini berulang sesuai periode yg anda inginkan dengan memasukkannya pada crontab.
lqman@constantine:~$ crontab -e
# daily update avg8free by LQman every 21:00
0 21 * * * /home/lqman/script-mirror/avg8free.sh
Beres, selamat menikmati mirror update avg8free.
Membuat mirror update anti virus AVG7FREE
Sebelum membaca turorial ini, anda saya anggap sudah terbiasa dengan bash scripting languange, dan tools2 konsole lainnya. Ingat, sifat dari tulisan adalah seperti biasanya, yaitu ABSOLUTELY NO WARRANTY :) dan akan sewaktu2 menjadi tidak bisa di implementasikan apabila website yg bersangkutan (http://www.grisoft.com/ww.download-update-7), melakukan perubahan hierarki direktori / file-nya.
Sebagai tambahan saja, tutorial ini cocok di implementasikan pada LAN yang cukup middle/besar, dan tidak cocok utk digunakan pada LAN yang kecil karena hanya kan memboroskan bandwidth saja.
Pada dasarnya tutorial ini adalah simple shell script biasa yang fungsinya untuk melakukan parsing text pada file .html, intinya kita ingin mengetahui sebenarnya letak dari file update yg disediakan oleh http://www.grisoft.com/ww.download-update-7, untuk itu kita bisa melakukan langkah2 sbb :
1. Membuat direktori sementara (temporary directory) untuk proses download
lqman@constantine:~$ mkdir -p /mnt/website/update/avg7free/inprogress/
lqman@constantine:~$ cd /mnt/website/update/avg7free/inprogress/
2. Mendonlod halaman awal pada bagian update dari www.grisoft.com
lqman@constantine:~$ wget -c http://www.grisoft.com/ww.download-update-7 -O /mnt/website/update/avg7free/inprogress/donlod.html
3. Parsing text dari file donlod.html
Pada halaman awal yg sudah kita donlod, ada link yang akan menunjukkan pada kita letak file updater yg sebenarnya, cuman kita harus sedikit melakukan rekayasa, sehingga keinginan kita bisa dilakukan secara otomatis. Dari file donlod.html yang harus diambil adalah baris yang mengandung tulisan .bin
lqman@constantine:~$ cat donlod.html | grep .bin | cut -d'=' -f6 > donlod2.html
lqman@constantine:~$ cat donlod.html | grep .bin | cut -d'=' -f8 >> donlod2.html
lqman@constantine:~$ cat donlod.html | grep .bin | cut -d'=' -f9 >> donlod2.html
lqman@constantine:~$ cat donlod2.html | grep "http:" | cut -d '"' -f2 > donlod3.html
untuk menguji apakah script kita diatas sdh sesuai dg yg kita inginkan, kita harus melihat file donlod3.html yg baru saja dihasilkan.
lqman@constantine:~$ cat /mnt/website/update/avg7free/inprogress/donlod3.html
http://www.avg.com/softw/70/update/u7fbsd5291.bin
http://www.avg.com/softw/70/update/u7avi1386g2.bin
http://www.avg.com/softw/70/update/u7iavi17514m.bin
http://www.avg.com/softw/70/update/antispy/u7aspydb2035he.bin
http://www.avg.com/softw/70/update/u7f549yg.bin
http://www.avg.com/softw/70/update/u7fw533yh.bin
http://www.avg.com/softw/70/update/u7lx5298.bin
http://www.avg.com/softw/70/update/u7aspam510yb.bin
http://www.avg.com/softw/70/update/antispy/u7aspy494yb.bin
http://www.avg.com/softw/70/update/u7setup533yc.bin
http://www.avg.com/softw/70/update/u7avi1386u1323g2.bin
http://www.avg.com/softw/70/update/u7avi1386u1382g2.bin
http://www.avg.com/softw/70/update/antispy/u7aspydb3143u2246p1.bin
http://www.avg.com/softw/70/update/antispy/u7aspydb2246u2035zl.bin
4. Hitung banyak file yg hrs d donlod = banyak baris pd donlod3.html
lqman@constantine:~$ jmlbrs=`wc donlod3.html | awk '{print $1}'`
5. Mendefinisikan nama file yg akan di download
lqman@constantine:~$ for i in `seq 1 $jmlbrs`; do basename `head -n $i donlod3.html | tail -n 1`; done > namafile
6. Mulai donload tiap baris
lqman@constantine:~$ for i in `seq 1 $jmlbrs`
do
wget -c `head -n $i donlod3.html | tail -n 1` -O `head -n $i namafile | tail -n 1`
done
7. Membersihkan file temporary dan memindahkan update-an ke tempat yg sebenarnya
lqman@constantine:~$ rm -f /mnt/website/update/avg7free/*.*
lqman@constantine:~$ mv /mnt/website/update/avg7free/inprogress/*.bin /mnt/website/update/avg7free/
lqman@constantine:~$ rm -rf /mnt/website/update/avg7free/inprogress
8. Memperbaharui tanggal direktori
Perbaharuan tanggal direktori ini sengaja dilakukan untuk mempermudah kita mengetahui kapan update terakhir dilakukan.
lqman@constantine:~$ touch /mnt/website/update/avg7free/
9. Setting permission
lqman@constantine:~$ chown -R lqman:lqman /mnt/website/update/avg7free/
10. Jadikan file tsb dalam satu script
lqman@constantine:~$ touch /home/lqman/script-mirror/avg7free.sh
lqman@constantine:~$ mcedit /home/lqman/script-mirror/avg7free.sh
#!/bin/bash
mkdir -p /mnt/website/update/avg7free/inprogress/
cd /mnt/website/update/avg7free/inprogress/
wget -c http://www.grisoft.com/ww.download-update-7 -O /mnt/website/update/avg7free/inprogress/donlod.html
cat donlod.html | grep .bin | cut -d’=’ -f6 > donlod2.html
cat donlod.html | grep .bin | cut -d’=’ -f8 >> donlod2.html
cat donlod.html | grep .bin | cut -d’=’ -f9 >> donlod2.html
cat donlod2.html | grep “http:” | cut -d ‘”‘ -f2 > donlod3.html
cat /mnt/website/update/avg7free/inprogress/donlod3.html
jmlbrs=`wc donlod3.html | awk ‘{print $1}’`
for i in `seq 1 $jmlbrs`; do basename `head -n $i donlod3.html | tail -n 1`; done > namafile
for i in `seq 1 $jmlbrs`
do
$donlod `head -n $i donlod3.html | tail -n 1`$magic -O `head -n $i namafile | tail -n 1`
done
rm -f /mnt/website/update/avg7free/*.*
mv /mnt/website/update/avg7free/inprogress/*.bin /mnt/website/update/avg7free/
rm -rf /mnt/website/update/avg7free/inprogress
touch /mnt/website/update/avg7free/
chown -R lqman:lqman /mnt/website/update/avg7free/
11. Jadikan script avg7free.sh mempunyai mode executable
lqman@constantine:~$ chmod +x /home/lqman/script-mirror/avg7free.sh
12. Jadikan proses update ini berulang sesuai periode yg anda inginkan dengan memasukkannya pada crontab.
lqman@constantine:~$ crontab -e
# daily update avg7free by LQman every 21:00
0 21 * * * /home/lqman/script-mirror/avg7free.sh
Sebagai tambahan saja, tutorial ini cocok di implementasikan pada LAN yang cukup middle/besar, dan tidak cocok utk digunakan pada LAN yang kecil karena hanya kan memboroskan bandwidth saja.
Pada dasarnya tutorial ini adalah simple shell script biasa yang fungsinya untuk melakukan parsing text pada file .html, intinya kita ingin mengetahui sebenarnya letak dari file update yg disediakan oleh http://www.grisoft.com/ww.download-update-7, untuk itu kita bisa melakukan langkah2 sbb :
1. Membuat direktori sementara (temporary directory) untuk proses download
lqman@constantine:~$ mkdir -p /mnt/website/update/avg7free/inprogress/
lqman@constantine:~$ cd /mnt/website/update/avg7free/inprogress/
2. Mendonlod halaman awal pada bagian update dari www.grisoft.com
lqman@constantine:~$ wget -c http://www.grisoft.com/ww.download-update-7 -O /mnt/website/update/avg7free/inprogress/donlod.html
3. Parsing text dari file donlod.html
Pada halaman awal yg sudah kita donlod, ada link yang akan menunjukkan pada kita letak file updater yg sebenarnya, cuman kita harus sedikit melakukan rekayasa, sehingga keinginan kita bisa dilakukan secara otomatis. Dari file donlod.html yang harus diambil adalah baris yang mengandung tulisan .bin
lqman@constantine:~$ cat donlod.html | grep .bin | cut -d'=' -f6 > donlod2.html
lqman@constantine:~$ cat donlod.html | grep .bin | cut -d'=' -f8 >> donlod2.html
lqman@constantine:~$ cat donlod.html | grep .bin | cut -d'=' -f9 >> donlod2.html
lqman@constantine:~$ cat donlod2.html | grep "http:" | cut -d '"' -f2 > donlod3.html
untuk menguji apakah script kita diatas sdh sesuai dg yg kita inginkan, kita harus melihat file donlod3.html yg baru saja dihasilkan.
lqman@constantine:~$ cat /mnt/website/update/avg7free/inprogress/donlod3.html
http://www.avg.com/softw/70/update/u7fbsd5291.bin
http://www.avg.com/softw/70/update/u7avi1386g2.bin
http://www.avg.com/softw/70/update/u7iavi17514m.bin
http://www.avg.com/softw/70/update/antispy/u7aspydb2035he.bin
http://www.avg.com/softw/70/update/u7f549yg.bin
http://www.avg.com/softw/70/update/u7fw533yh.bin
http://www.avg.com/softw/70/update/u7lx5298.bin
http://www.avg.com/softw/70/update/u7aspam510yb.bin
http://www.avg.com/softw/70/update/antispy/u7aspy494yb.bin
http://www.avg.com/softw/70/update/u7setup533yc.bin
http://www.avg.com/softw/70/update/u7avi1386u1323g2.bin
http://www.avg.com/softw/70/update/u7avi1386u1382g2.bin
http://www.avg.com/softw/70/update/antispy/u7aspydb3143u2246p1.bin
http://www.avg.com/softw/70/update/antispy/u7aspydb2246u2035zl.bin
4. Hitung banyak file yg hrs d donlod = banyak baris pd donlod3.html
lqman@constantine:~$ jmlbrs=`wc donlod3.html | awk '{print $1}'`
5. Mendefinisikan nama file yg akan di download
lqman@constantine:~$ for i in `seq 1 $jmlbrs`; do basename `head -n $i donlod3.html | tail -n 1`; done > namafile
6. Mulai donload tiap baris
lqman@constantine:~$ for i in `seq 1 $jmlbrs`
do
wget -c `head -n $i donlod3.html | tail -n 1` -O `head -n $i namafile | tail -n 1`
done
7. Membersihkan file temporary dan memindahkan update-an ke tempat yg sebenarnya
lqman@constantine:~$ rm -f /mnt/website/update/avg7free/*.*
lqman@constantine:~$ mv /mnt/website/update/avg7free/inprogress/*.bin /mnt/website/update/avg7free/
lqman@constantine:~$ rm -rf /mnt/website/update/avg7free/inprogress
8. Memperbaharui tanggal direktori
Perbaharuan tanggal direktori ini sengaja dilakukan untuk mempermudah kita mengetahui kapan update terakhir dilakukan.
lqman@constantine:~$ touch /mnt/website/update/avg7free/
9. Setting permission
lqman@constantine:~$ chown -R lqman:lqman /mnt/website/update/avg7free/
10. Jadikan file tsb dalam satu script
lqman@constantine:~$ touch /home/lqman/script-mirror/avg7free.sh
lqman@constantine:~$ mcedit /home/lqman/script-mirror/avg7free.sh
#!/bin/bash
mkdir -p /mnt/website/update/avg7free/inprogress/
cd /mnt/website/update/avg7free/inprogress/
wget -c http://www.grisoft.com/ww.download-update-7 -O /mnt/website/update/avg7free/inprogress/donlod.html
cat donlod.html | grep .bin | cut -d’=’ -f6 > donlod2.html
cat donlod.html | grep .bin | cut -d’=’ -f8 >> donlod2.html
cat donlod.html | grep .bin | cut -d’=’ -f9 >> donlod2.html
cat donlod2.html | grep “http:” | cut -d ‘”‘ -f2 > donlod3.html
cat /mnt/website/update/avg7free/inprogress/donlod3.html
jmlbrs=`wc donlod3.html | awk ‘{print $1}’`
for i in `seq 1 $jmlbrs`; do basename `head -n $i donlod3.html | tail -n 1`; done > namafile
for i in `seq 1 $jmlbrs`
do
$donlod `head -n $i donlod3.html | tail -n 1`$magic -O `head -n $i namafile | tail -n 1`
done
rm -f /mnt/website/update/avg7free/*.*
mv /mnt/website/update/avg7free/inprogress/*.bin /mnt/website/update/avg7free/
rm -rf /mnt/website/update/avg7free/inprogress
touch /mnt/website/update/avg7free/
chown -R lqman:lqman /mnt/website/update/avg7free/
11. Jadikan script avg7free.sh mempunyai mode executable
lqman@constantine:~$ chmod +x /home/lqman/script-mirror/avg7free.sh
12. Jadikan proses update ini berulang sesuai periode yg anda inginkan dengan memasukkannya pada crontab.
lqman@constantine:~$ crontab -e
# daily update avg7free by LQman every 21:00
0 21 * * * /home/lqman/script-mirror/avg7free.sh
Membangun Mail Server Menggunakan Postfix + Courier IMAP/POP + MySQL + Squirrelmail
Kali ini saya akan memberikan tutorial tentang membangun sebuah mail server menggunakan postfix sebagai MTA-nya, Courier IMAP dan POP sebagai MDA, MySQL sebagai database, dan Squirrelmail sebagai webmail-nya. Saya menggunakan Linux Ubuntu 8.04 Hardy Heron. Berikut adalah langkah-langkah yang harus dilakukan :
Langkah1 : Menyiapkan paket-paket yang kita butuhkan
1. postfix, postfix-tls, postfix-mysql
2. courier-base, courier-authdaemon, courier-authlib-mysql, courier-pop, courier-imap, courier-pop-ssl, courier-imap-ssl
3. mysql-server-5.0
4. squirrelmail
5. libsasl2, libsasl2-modules, libsasl2-modules-sql, openssl
Kemudian install paket-paket tersebut.
root@baladewa:~#apt-get install postfix postfix-tls postfix-mysql mysql-server-5.0 courier-authdaemon courier-authlib-mysql courier-pop courier-imap squirrelmail
Langkah2 : Mempersiapkan database dan tabel-tabel yang dibutuhkan
root@baladewa:~#mysql -u root -p
#Kita membuat user di MySQL untuk mengatur database email
mysql>CREATE DATABASE mail;
mysql>CREATE USER ‘mailadmin’@'localhost’ identified by ‘mailadmin’;
mysql>USE mail;
#membuat tabel-tabel yan dibutuhkan
mysql>CREATE TABLE domains (
domain varchar(50) NOT NULL,
PRIMARY KEY (domain) )
TYPE=MyISAM;
mysql>CREATE TABLE forwardings (
source varchar(80) NOT NULL,
destination TEXT NOT NULL,
PRIMARY KEY (source) )
TYPE=MyISAM;
mysql>CREATE TABLE users (
email varchar(80) NOT NULL,
password varchar(20) NOT NULL,
PRIMARY KEY (email) )
TYPE=MyISAM;
mysql>GRANT all ON mail.* TO ‘mailadmin’@'localhost’;
Langkah3 : Membuat file-file yan dibutuhkan
Buat file mysql_domains.cf dg kemudian isi dengan baris-baris dibawah ini:
vim /etc/postfix/mysql_domains.cf
user = mailadmin
password = mailadmin
dbname = mail
table = domains
select_field = ‘virtual’
where_field = domain
hosts = 127.0.0.1
isi file mysql_forwardings.cf dg baris-baris dibawah ini:
vim /etc/postfix/mysql_forwardings.cf
user = mailadmin
password = mailadmin
dbname = mail
table = forwardings
select_field = destination
where_field = source
hosts = 127.0.0.1
isi file mysql_mailboxes.cf dg baris-baris dibawah ini:
vim /etc/postfix/mysql-virtual_mailboxes.cf
user = mailadmin
password = mailadmin
dbname = mail
table = users
select_field = CONCAT(SUBSTRING_INDEX(email,’@',-1),’/',SUBSTRING_INDEX(email,’@',1),’/')
where_field = email
hosts = 127.0.0.1
Langkah4 : pastikan hanya user root & postfix saja yang bisa mengakses file-file tadi
root@baladewa:~#chown root:postfix /etc/postfix/mysql_*.cf
root@baladewa:~#chmod u=rw,g=r,o= /etc/postfix/mysql_*.cf
Langkah5: Buat user yang bertugas untuk membuat maildir baru setiap ada user baru yang mendaftar pada mailserver
root@baladewa:~#groupadd -g 500 mail-admin
root@baladewa:~#useradd -g mail-admin -u 500 mail-admin -d /home/mail -m
root@baladewa:~#mkdir /home/mail
root@baladewa:~#chown -R mail-admin:mail-admin /home/mail
root@baladewa:~#chmod -R u=rwx,g=,o= /home/mail
Langkah6 : Konfigurasi postfix
Edit file /etc/postfix/main.cf seperti berikut:
myhostname = baladewa.ncc.its-sby.edu
#mydomain = ncc.its-sby.edu
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = ncc.its-sby.edu
mydestination = #kosongi saja
relayhost = #kosongi saja
mynetworks = ncc.its-sby.edu #domain network anda
mailbox_size_limit = 51200000 #Ukuran mailbox 50MB
recipient_delimiter = +
inet_interfaces = all
virtual_alias_domains =
virtual_alias_maps = mysql:/etc/postfix/mysql_forwardings.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/mail
virtual_uid_maps = static:500
virtual_gid_maps = static:500
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
Kemudian restart postfix
root@baladewa:~# /etc/init.d/postfix restart
Test postfix menggunakan telnet
root@baladewa:~# telnet 127.0.0.1 25
Trying 127.0.0.1…
Connected to 127.0.0.1.
Escape character is ‘^]’.
220 baladewa.ncc.its-sby.edu ESMTP Postfix (Ubuntu)
Jika muncul sebagaimana tulisan diatas, berarti postfix anda sudah berjalan lancar…….
Tekanlah tombol Ctrl+] lalu ketik quit untuk keluar dari sesi telnet.
Langkah7 : Mengaktifkan fasilitas autentikasi Auth-SMTP
buat file baru dg nama /etc/postfix/sasl/smtpd.conf
root@baladewa:~#vim /etc/postfix/sasl/smtpd.conf
Isi file /etc/postfix/sasl/smtpd.conf seperti berikut:
pwcheck_method: auxprop
auxprop_plugin: sql
mech_list: plain login cram-md5 digest-md5
sql_engine: mysql
sql_hostnames: 127.0.0.1
sql_user: mailadmin
sql_passwd: mailadmin
sql_database: mail
sql_select: select password from users where email=’%u@%r’
log_level: 7
Save file smtpd.conf.
pastikan hanya user root & postfix saja yang bisa mengakses file-file yang telah anda buat.
root@baladewa:~#chown root:postfix /etc/postfix/sasl/smtpd.conf
root@baladewa:~#chmod u=rw,g=r,o= /etc/postfix/sasl/smtpd.conf
Mengaktifkan TLS untuk meng-encrypt SMTP traffik, dg cara membuat sertifikat
root@baladewa:~#openssl req -new -outform PEM -out /etc/postfix/smtpd.cert -newkey rsa:2048 -nodes -keyout /etc/postfix/smtpd.key -keyform PEM -days 365 -x509
Demi keamanan, pastikan hanya user root & postfix saja yang bisa mengakses file-file yang telah dibuat.
root@baladewa:~#chown root:postfix /etc/postfix/smtpd.*
root@baladewa:~#chmod u=rw,g=r,o= /etc/postfix/smtpd.*
Step 7: Mengkonfigurasi courier sebagai server POP3 / IMAP
Edit file /etc/courier/authdaemonrc,
root@baladewa:~#vim /etc/courier/authdaemonrc
ubah parameter authmodulelist menjadi :
authmodulelist=”authmysql”
Lalu edit file /etc/courier/authmysqlrc,
root@baladewa:~#vim /etc/courier/authmysqlrc
Ubah beberapa parameter, shg menjadi seperti di bawah ini :
MYSQL_SERVER localhost
MYSQL_USERNAME mailadmin
MYSQL_PASSWORD mailadmin
MYSQL_PORT 0
MYSQL_DATABASE mail
MYSQL_USER_TABLE users
#MYSQL_CRYPT_PWFIELD (di comment)
MYSQL_CLEAR_PWFIELD password
MYSQL_UID_FIELD 500
MYSQL_GID_FIELD 500
MYSQL_LOGIN_FIELD email
MYSQL_HOME_FIELD “/home/mail”
MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,’@',-1),’/',SUBSTRING_INDEX(email,’@',1),’/')
#MYSQL_NAME_FIELD (di comment)
10. Testing POP3 dan IMAP
Restart service courier-authdaemon, /etc/init.d/courier-authdaemon restart
kemudian telnet ke port 110 (POP3)
root@baladewa:~#telnet 127.0.0.1 110
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
+OK Hello there.
telnet ke port 143
root@baladewa:~# telnet 127.0.0.1 143
Trying 127.0.0.1…
Connected to 127.0.0.1.
Escape character is ‘^]’.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION] Courier-IMAP ready. Copyright 1998-2005 Double Precision, Inc. See COPYING for distribution information.
Connection closed by foreign host.
Jika muncul seperti tampilan di atas, berarti konfigurasi POP3 dan IMAP server sudah benar.
11. Konfigurasi squirrelmail
Sekarang kita mengkonfigurasi webmail squirrelmail yang akan kita gunakan sebagai interfase dengan mail server.
root@baladewa:~#squirrelmail-configure
Lakukan konfigurasi yang anda perlukan. Yang terpenting dari konfigurasi ini adalah bagian Server Setting. Selain itu tidak terlalu penting.
Pada saat menentukan “Server Settings”, lakukan perubahan spt dibawah ini
Secure IMAP (TLS) : false
Server software : courier
kemudian save opsi tersebut dg cara menekan tombol “s”, lalu keluar dari configurasi dg menekan tombol “q”.
12. Menjadikan squirrelmail sebagai virtual host di Apache2
Buat file virtual host baru di apache2
root@baladewa:~# vim /etc/apache2/sites-available/squirrelmail
Kemudian isi seperti berikut ini:
ServerName mail.ncc.its-sby.edu
ServerAlias ncc.its-sby.edu
DocumentRoot /usr/share/squirrelmail
#CustomLog logs/www.example.com-access_log common
Simpan file, kemudian aktifkan virtual host yang baru kita buat tadi.
root@baladewa:~# a2ensite squirrelmail
Restart apache
/etc/init.d/apache2 reload
Kemudian kita lakukan penambahan host pada DNS
@ IN MX 5 mail
mail IN A 10.151.36.9
13. Testing mail server
Sekarang kita akan membuat database pada domain yang akan kita coba, domain inilah yang kita jadikan sebagai domain percobaan untuk mengirim dan menerima email. Buatlah domain baru dengan nama domain “ncc.its-sby.edu” pada tabel domains, dan buatlah juga alamat email dan password baru pada tabel users.
Untuk lebih jelasnya ikutilah syntax mysql dibawah ini.
root@bajoel:~#mysql -u mailadmin -p
password:
mysql>INSERT INTO domains(domain) VALUES ('ncc.its-sby.edu');
mysql>INSERT INTO users(email,password) VALUES ('joep@ncc.its-sby.edu','joep');
mysql>INSERT INTO users(email,password) VALUES ('fahim@ncc.its-sby.edu','fahim');
mysql>INSERT INTO forwarding(source,destination) VALUES ('mailadmin@ncc.its-sby.edu','joep@ncc.its-sby.edu');
Sekarang kita sudah punya sebuah virtual domain baru dg nama “ncc.its-sby.edu” dan 2 orang user, yaitu “joep@ncc.its-sby.edu” dan “fahim@ncc.its-sby.edu” yang masing-masing user ini mempunyai password “joep” dan “fahim”. Ada juga 1 forwarding, yaitu “mailadmin@ncc.its-sby.edu” yang akan di forward ke “joep@ncc.its-sby.edu”.
sekarang buka we browser. Kemudian ketik alamat http://mail.ncc.its-sby.edu
Maka akan tampil form login dari squirrelmail.
Login dengan username dan password yang sudah didaftarkan dala database tadi.Kemudian cobalah untk mengirim email ke user lain.
Langkah1 : Menyiapkan paket-paket yang kita butuhkan
1. postfix, postfix-tls, postfix-mysql
2. courier-base, courier-authdaemon, courier-authlib-mysql, courier-pop, courier-imap, courier-pop-ssl, courier-imap-ssl
3. mysql-server-5.0
4. squirrelmail
5. libsasl2, libsasl2-modules, libsasl2-modules-sql, openssl
Kemudian install paket-paket tersebut.
root@baladewa:~#apt-get install postfix postfix-tls postfix-mysql mysql-server-5.0 courier-authdaemon courier-authlib-mysql courier-pop courier-imap squirrelmail
Langkah2 : Mempersiapkan database dan tabel-tabel yang dibutuhkan
root@baladewa:~#mysql -u root -p
#Kita membuat user di MySQL untuk mengatur database email
mysql>CREATE DATABASE mail;
mysql>CREATE USER ‘mailadmin’@'localhost’ identified by ‘mailadmin’;
mysql>USE mail;
#membuat tabel-tabel yan dibutuhkan
mysql>CREATE TABLE domains (
domain varchar(50) NOT NULL,
PRIMARY KEY (domain) )
TYPE=MyISAM;
mysql>CREATE TABLE forwardings (
source varchar(80) NOT NULL,
destination TEXT NOT NULL,
PRIMARY KEY (source) )
TYPE=MyISAM;
mysql>CREATE TABLE users (
email varchar(80) NOT NULL,
password varchar(20) NOT NULL,
PRIMARY KEY (email) )
TYPE=MyISAM;
mysql>GRANT all ON mail.* TO ‘mailadmin’@'localhost’;
Langkah3 : Membuat file-file yan dibutuhkan
Buat file mysql_domains.cf dg kemudian isi dengan baris-baris dibawah ini:
vim /etc/postfix/mysql_domains.cf
user = mailadmin
password = mailadmin
dbname = mail
table = domains
select_field = ‘virtual’
where_field = domain
hosts = 127.0.0.1
isi file mysql_forwardings.cf dg baris-baris dibawah ini:
vim /etc/postfix/mysql_forwardings.cf
user = mailadmin
password = mailadmin
dbname = mail
table = forwardings
select_field = destination
where_field = source
hosts = 127.0.0.1
isi file mysql_mailboxes.cf dg baris-baris dibawah ini:
vim /etc/postfix/mysql-virtual_mailboxes.cf
user = mailadmin
password = mailadmin
dbname = mail
table = users
select_field = CONCAT(SUBSTRING_INDEX(email,’@',-1),’/',SUBSTRING_INDEX(email,’@',1),’/')
where_field = email
hosts = 127.0.0.1
Langkah4 : pastikan hanya user root & postfix saja yang bisa mengakses file-file tadi
root@baladewa:~#chown root:postfix /etc/postfix/mysql_*.cf
root@baladewa:~#chmod u=rw,g=r,o= /etc/postfix/mysql_*.cf
Langkah5: Buat user yang bertugas untuk membuat maildir baru setiap ada user baru yang mendaftar pada mailserver
root@baladewa:~#groupadd -g 500 mail-admin
root@baladewa:~#useradd -g mail-admin -u 500 mail-admin -d /home/mail -m
root@baladewa:~#mkdir /home/mail
root@baladewa:~#chown -R mail-admin:mail-admin /home/mail
root@baladewa:~#chmod -R u=rwx,g=,o= /home/mail
Langkah6 : Konfigurasi postfix
Edit file /etc/postfix/main.cf seperti berikut:
myhostname = baladewa.ncc.its-sby.edu
#mydomain = ncc.its-sby.edu
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = ncc.its-sby.edu
mydestination = #kosongi saja
relayhost = #kosongi saja
mynetworks = ncc.its-sby.edu #domain network anda
mailbox_size_limit = 51200000 #Ukuran mailbox 50MB
recipient_delimiter = +
inet_interfaces = all
virtual_alias_domains =
virtual_alias_maps = mysql:/etc/postfix/mysql_forwardings.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/mail
virtual_uid_maps = static:500
virtual_gid_maps = static:500
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
Kemudian restart postfix
root@baladewa:~# /etc/init.d/postfix restart
Test postfix menggunakan telnet
root@baladewa:~# telnet 127.0.0.1 25
Trying 127.0.0.1…
Connected to 127.0.0.1.
Escape character is ‘^]’.
220 baladewa.ncc.its-sby.edu ESMTP Postfix (Ubuntu)
Jika muncul sebagaimana tulisan diatas, berarti postfix anda sudah berjalan lancar…….
Tekanlah tombol Ctrl+] lalu ketik quit untuk keluar dari sesi telnet.
Langkah7 : Mengaktifkan fasilitas autentikasi Auth-SMTP
buat file baru dg nama /etc/postfix/sasl/smtpd.conf
root@baladewa:~#vim /etc/postfix/sasl/smtpd.conf
Isi file /etc/postfix/sasl/smtpd.conf seperti berikut:
pwcheck_method: auxprop
auxprop_plugin: sql
mech_list: plain login cram-md5 digest-md5
sql_engine: mysql
sql_hostnames: 127.0.0.1
sql_user: mailadmin
sql_passwd: mailadmin
sql_database: mail
sql_select: select password from users where email=’%u@%r’
log_level: 7
Save file smtpd.conf.
pastikan hanya user root & postfix saja yang bisa mengakses file-file yang telah anda buat.
root@baladewa:~#chown root:postfix /etc/postfix/sasl/smtpd.conf
root@baladewa:~#chmod u=rw,g=r,o= /etc/postfix/sasl/smtpd.conf
Mengaktifkan TLS untuk meng-encrypt SMTP traffik, dg cara membuat sertifikat
root@baladewa:~#openssl req -new -outform PEM -out /etc/postfix/smtpd.cert -newkey rsa:2048 -nodes -keyout /etc/postfix/smtpd.key -keyform PEM -days 365 -x509
Demi keamanan, pastikan hanya user root & postfix saja yang bisa mengakses file-file yang telah dibuat.
root@baladewa:~#chown root:postfix /etc/postfix/smtpd.*
root@baladewa:~#chmod u=rw,g=r,o= /etc/postfix/smtpd.*
Step 7: Mengkonfigurasi courier sebagai server POP3 / IMAP
Edit file /etc/courier/authdaemonrc,
root@baladewa:~#vim /etc/courier/authdaemonrc
ubah parameter authmodulelist menjadi :
authmodulelist=”authmysql”
Lalu edit file /etc/courier/authmysqlrc,
root@baladewa:~#vim /etc/courier/authmysqlrc
Ubah beberapa parameter, shg menjadi seperti di bawah ini :
MYSQL_SERVER localhost
MYSQL_USERNAME mailadmin
MYSQL_PASSWORD mailadmin
MYSQL_PORT 0
MYSQL_DATABASE mail
MYSQL_USER_TABLE users
#MYSQL_CRYPT_PWFIELD (di comment)
MYSQL_CLEAR_PWFIELD password
MYSQL_UID_FIELD 500
MYSQL_GID_FIELD 500
MYSQL_LOGIN_FIELD email
MYSQL_HOME_FIELD “/home/mail”
MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,’@',-1),’/',SUBSTRING_INDEX(email,’@',1),’/')
#MYSQL_NAME_FIELD (di comment)
10. Testing POP3 dan IMAP
Restart service courier-authdaemon, /etc/init.d/courier-authdaemon restart
kemudian telnet ke port 110 (POP3)
root@baladewa:~#telnet 127.0.0.1 110
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
+OK Hello there.
telnet ke port 143
root@baladewa:~# telnet 127.0.0.1 143
Trying 127.0.0.1…
Connected to 127.0.0.1.
Escape character is ‘^]’.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION] Courier-IMAP ready. Copyright 1998-2005 Double Precision, Inc. See COPYING for distribution information.
Connection closed by foreign host.
Jika muncul seperti tampilan di atas, berarti konfigurasi POP3 dan IMAP server sudah benar.
11. Konfigurasi squirrelmail
Sekarang kita mengkonfigurasi webmail squirrelmail yang akan kita gunakan sebagai interfase dengan mail server.
root@baladewa:~#squirrelmail-configure
Lakukan konfigurasi yang anda perlukan. Yang terpenting dari konfigurasi ini adalah bagian Server Setting. Selain itu tidak terlalu penting.
Pada saat menentukan “Server Settings”, lakukan perubahan spt dibawah ini
Secure IMAP (TLS) : false
Server software : courier
kemudian save opsi tersebut dg cara menekan tombol “s”, lalu keluar dari configurasi dg menekan tombol “q”.
12. Menjadikan squirrelmail sebagai virtual host di Apache2
Buat file virtual host baru di apache2
root@baladewa:~# vim /etc/apache2/sites-available/squirrelmail
Kemudian isi seperti berikut ini:
ServerName mail.ncc.its-sby.edu
ServerAlias ncc.its-sby.edu
DocumentRoot /usr/share/squirrelmail
#CustomLog logs/www.example.com-access_log common
Simpan file, kemudian aktifkan virtual host yang baru kita buat tadi.
root@baladewa:~# a2ensite squirrelmail
Restart apache
/etc/init.d/apache2 reload
Kemudian kita lakukan penambahan host pada DNS
@ IN MX 5 mail
mail IN A 10.151.36.9
13. Testing mail server
Sekarang kita akan membuat database pada domain yang akan kita coba, domain inilah yang kita jadikan sebagai domain percobaan untuk mengirim dan menerima email. Buatlah domain baru dengan nama domain “ncc.its-sby.edu” pada tabel domains, dan buatlah juga alamat email dan password baru pada tabel users.
Untuk lebih jelasnya ikutilah syntax mysql dibawah ini.
root@bajoel:~#mysql -u mailadmin -p
password:
mysql>INSERT INTO domains(domain) VALUES ('ncc.its-sby.edu');
mysql>INSERT INTO users(email,password) VALUES ('joep@ncc.its-sby.edu','joep');
mysql>INSERT INTO users(email,password) VALUES ('fahim@ncc.its-sby.edu','fahim');
mysql>INSERT INTO forwarding(source,destination) VALUES ('mailadmin@ncc.its-sby.edu','joep@ncc.its-sby.edu');
Sekarang kita sudah punya sebuah virtual domain baru dg nama “ncc.its-sby.edu” dan 2 orang user, yaitu “joep@ncc.its-sby.edu” dan “fahim@ncc.its-sby.edu” yang masing-masing user ini mempunyai password “joep” dan “fahim”. Ada juga 1 forwarding, yaitu “mailadmin@ncc.its-sby.edu” yang akan di forward ke “joep@ncc.its-sby.edu”.
sekarang buka we browser. Kemudian ketik alamat http://mail.ncc.its-sby.edu
Maka akan tampil form login dari squirrelmail.
Login dengan username dan password yang sudah didaftarkan dala database tadi.Kemudian cobalah untk mengirim email ke user lain.
Langganan:
Postingan (Atom)