Professional Documents
Culture Documents
Panduan Linux Ubuntu PDF
Panduan Linux Ubuntu PDF
MAIL:
WEBSITE : http://www.capoex.net
http://scorvia.capoex.net
iv
License:
Copyright (c) 2008, Yunifa Wirman, Scorvia Foundation & CaPoeX
.dot. Net
All rights reserved.
Redistribution and use this document in any forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the Scorvia Foundation & CaPoeX .dot. Net nor
the names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS DOCUMENTS IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
v
Dedicated for:
My wonderful girlfriend Devita "Bunda" Denavia... Yang udah menjadi
sumber inspirasi buat aku, she has supported me more than I ever can
support her to any degree.
Dirimu adalah hal terbaik yang pernah terjadi sama aku. You're so special
girl to me. I hope I love you all my life.
Makasih Tuhan, udah menghadirkan dirinya dalam hidupku. I wish I
could make you just as happy as you make me. I MiSs U Bunda ^_^
vi
Thanks To:
Allah SWT (pemilik segalanya di alam ini), keluarga besarku (ayah,
ibu, kakak, adik, keponakanku) yang selalu mendukung setiap
langkahku, serta seluruh Komunitas Open Source
License ......................................................................................................... iv
Thanks to ............................................................................................................... vi
1.3 GNU/Linux
Linux secara teknis merupakan sebuah kernel yang menjalankan
komputer dalam mode low level. Secara umum saat ini Linux
merupakan gabungan kernel dan program-program tambahan lainnya
(kernel, driver, X Window, fonts, dan lain-lain) yang bersifat
multitasking, multiuser sehingga menjadi sebuah sistem operasi
lengkap.
Kernel Linux pada awalnya merupakan proyek hobi yang ditulis oleh
Linus Torvald pada tahun 1991, pada awalnya hanya bisa
menjalankan GNU Bourne Again Shell (bash) dan GNU C Compiler
(gcc). Pada 25 Agustus 1991, Linus Torvald mengirimkan email email
ke comp.os.minix yang isinya:
From: torvalds@klaava.Helsinki.FI (Linus Benedict
Torvalds)
4 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID:
<1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby,
won't be big and professional like gnu) for
386(486) AT clones. This has been brewing since
april, and is starting to get ready. I'd like any
feedback on things people like/dislike in minix, as
my OS resembles it somewhat (same physical layout
of the file-system (due to practical reasons) among
other things).
I've currently ported bash(1.08) and gcc(1.40), and
things seem to work. This implies that I'll get
something practical within a few months, and I'd
like to know what features most people would want.
Any suggestions are welcome, but I won't promise
I'll implement them :-)
Linus (torvalds@kruuna.helsinki.fi)
PS. Yes - it's free of any minix code, and it has a
multi-threaded fs. It is NOT protable (uses 386
task switching etc), and it probably never will
support anything other than AT-hard disks, as
that's all I have :-(.
Email ini memperoleh respon yang mengejutkan dari para komputer
hackers, komputer geek dan berkolaborasi untuk menjadikan kernel
ini menjadi lebih sempurna. Pada saat yang bersamaan, program-
program dari GNU membutuhkan kernel untuk bisa berjalan dengan
baik. Gabungan dari kernel yang di ciptakan oleh Linus Torvald dan
Pengantar GNU/Linux 5
distro yang terkenal diantaranya adalah Red Hat, Fedora Core, SuSe,
Mandriva, Debian, Slackware, Gentoo dan Ubuntu. Kebanyakan dari
distro GNU/Linux ini bisa diperoleh dengan cara mendownload dari
website distro tersebut atau dari mirrornya tanpa dikenai biaya oleh
distro tersebut. Atau bisa juga membeli CD yang dibuat oleh distro
tersebut jika tidak memiliki bandwith yang cukup untuk
mendownload. Selain itu kita bisa juga meng-copynya dari teman.
keadaan terpilih. Pilih teks Install in text mode, tekan ENTER untuk
melanjutkan.
tersedia). Saat ditanyakan Type for the new partition, pilih Logical
untuk tipe partisi ini.
Hal ini terjadi apabila kita tidak terhubung dengan internet, sedangkan
installer Ubuntu akan mencoba menghubungi website repository
Ubuntu, maka proses ini akan memakan waktu yang cukup lama,
karena installer akan mencoba menghubungi semua website yang
terdapat dalam file sources.list.
Untuk memastikan bahwa proses installasi tidak hang pada saat 85 %
tersebut, tekan tombol ALT + F4 (tombol ALT dan F4 secara
bersamaan) untuk pindah ke konsol sehingga kita bisa melihat proses
installasinya. Jika installer Ubuntu mencoba menghubungi website
yang ada dalam sources.list, sementara kita tidak terhubung
dengan internet, maka akan ada tulisan seperti Could not resolve
„security.ubuntu.com‟, tampilan gambar 2.45 dan 2.46 ini penulis
ambil sewaktu melakukan installasi Ubuntu 7.04.
Untuk menampilkan menu dari GRUB tekan tombol ESC, maka akan
terlihat menu GRUB seperti gambar 3.2 (hal ini bisa jadi berbeda
dengan menu GRUB anda, terutama jika melakukan dual boot
dengan sistem operasi lainnya).
Untuk log in kedalam Ubuntu, isikan username dan password pada text
box yang tersedia. Tekan ENTER untuk setiap kali mengetikkan
username dan password. Jika username dan password yang dimasukkan
benar, akan muncul layar splash screen dari Gnome.
Setelah kita memasukkan password username kita, maka isi dari file
/etc/shadow akan ditampilkan, seperti yang terlihat pada gambar
berikut.
Jika sudah selesai, klik Close untuk menutupnya, dan kita kembali ke
tampilan Profiles. Pada Profile used when launching a new terminal
pilih nama profil yang baru kita buat, kemudian klik Close
$ id
Melihat informasi mengenai distro yang digunakan
$ lsb_release -a
Melihat user yang sedang login dalam sistem
$ w
Mengganti password log in. Sesuaikan dengan username yang
digunakan.
$ passwd urangkayo
Melihat informasi mengenai cpu yang kita gunakan
$ cat /proc/cpuinfo
Melihat informasi dari versi kernel yang digunakan, cpu
$ uname -a
Mengenai command line pada linux nantinya akan dibahas dalam bab
yang membahas mengenai shell dan command line.
gedit
gedit merupakan GUI teks editor yang ada pada Gnome. Pada Linux
ada banyak teks editor, seperti vi/vim serta emacs yang merupakan
teks editor yang memiliki fitur-fitur yag luar biasa. Untuk vim dan
emacs, akan dibahas pada bagian lain dari buku ini. Untuk saat ini kita
akan membahas mengenai gedit.
Jalankan program gedit dari menu Applications → Accessories →
Text Editor, bisa juga dengan menekan ALT + F2 kemudian ketik
gedit.
file-roller
Untuk menggunakan file-roller, tekan ALT + F2, kemudian ketik file-
roller, akan terlihat tampilan dari program seperti yang terlihat pada
gambar berikut ini
Perlu diingat adalah pada tab General isikan sesuai dengan data yang
anda peroleh dari ISP anda. Satu hal yang menjadi kesulitan bagi kita
adalah jika kita menggunakan hardware modem yang dikenal dengan
winmodem yaitu modem yang hanya bisa berjalan pada Windows. Jika
kita memiliki winmodem silahkan mengunjungi website
http://www.linmodems.org untuk mencari driver dari modem yang anda
64 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
miliki. Untuk mengetahui vendor dan tipe dari modem kita bisa
menggunakan perintah lspci untuk menampilkan informasi mengenai
card pci yang terpasang (modem biasanya dipasang di card pci). Jika
kita sudah mengetahui vendor dari winmodem yang digunakan,
maka cari drivernya pada http://www.linmodems.org. Beberapa website
lain yang berguna seperti http://www.linuxant.com jika menggunakan
chipset Connexant, untuk modem Lucent bisa melihat di
http://www.physcip.uni-stuttgart.de/heby/ltmodem/.
Sekarang klik tab Updates, dan berikan tanda pada check box didepan
Important security updates dan Recommended updates, untuk
Check for updates pilih Daily, serta tandai pilihan Only notify about
available updates lihat gambar berikut.
Klik icon yang terdapat pada notification area, akan muncul sebuah
window yang menanyakan apakan kita akan merestart komputer. Klik
button Restart Now untuk merestart. Setelah proses restart selesai, dan
log in kembali kedalam Ubuntu, maka driver yang telah diinstall sudah
berfungsi dengan baik. Untuk itu kita bisa mencoba kemampuan 3D
dari VGA tersebut, buka gnome-terminal, kemudian jalankan perintah
berikut. Untuk VGA dengan chipset NVIDIA
$ glxgears
Dan untuk VGA dengan chipset ATI, gunakan perintah berikut
$ fgl_glxgears
Desktop Search
Applet ini pada Ubuntu 7.10 ditampilkan pada konfigurasi default,
begitu pertama kali memasuki desktop Ubuntu, akan terlihat icon
seperti , untuk memunculkan desktop search, klik pada icon
tersebut, disini kita bisa menggunakannya untuk mencari content dari
komputer sendiri atau mencari menggunakan web search.
Firefox Plugins
Pada Ubuntu 7.10 kita bisa menggunakan installer Ubuntu
(Add/Remove Programs) untuk menginstall atau mencari plugins
untuk firefox, yang bisa dilihat pada gambar berikut
NTSF Support
Ubuntu 7.10 secara default sudah mendukung proses read dan write
untuk partisi Windows yang memiliki format NTFS, dengan sudah
terinstallnya program ntfs-3g secara default pada Ubuntu 7.10. Dengan
dukungan penuh terhadap format NTFS, akan memudahkan kita jika
melakukan dual boot dengan system Windows seperti Windows XP
yang menggunakan format NTFS untuk partisinya. Kita bisa langsung
melakukan akses read dan write pada partisi tersebut setelah proses
installasi Ubuntu 7.10 selesai. Untuk mengetahui cara melakukan
mount pada file system bisa melihat pada Bab 9 dari buku ini.
Beberapa fitur lain seperti GNOME 2.20, Dynamic screen
configuration, GUI untuk mengkonfgurasi monitor dan graphic card
yang bisa diakses melalui menu System Administration Screens and
Graphics. Fitur lainnya yaitu proses install printer secara otomatis,
cukup dengan menghubungkannya ke PC dan nyalakan printernya.
Fitur-fitur lainnya untuk lebih lengkapnya bisa dilihat pada website
resmi Ubuntu di http://www.ubuntu.com/.
4.1 Nautilus
Nautilus merupakan file manager pada Gnome. Jika kita mengenal
Windows Explorer pada Windows, maka pada Linux dengan X
Window Gnome, nautilus memiliki fungsi yang sama. Untuk
menjalankan nautilus klik menu Places → Home Folder (nautilus)
alamat yang dituju tadi yaitu /usr/local dan ENTER, maka kita
akan langsung berada pada /usr/local.
side pane. Misalkan kita saat ini berada pada /usr/local, dan ingin
membuat bookmarks, klik menu Bookmarks → Add Bookmarks
(CTRL + D). Maka direktori yang kita bookmarks ini akan muncul
didalam pada side pane dari nautilus.
Untuk memindahkan file atau direktori klik Cut dari menu yang
muncul, kemudian Paste ke direktori tujuan. Kita juga bisa
menggunakan shortcut seperti CTRL + C untuk copy, CTRL + V untuk
paste, CTRL + X untuk cut.
Jika kita perhatikan gambar 4.9 dan 4.10 mungkin anda akan bertanya,
bagaimana jika kita ingin menghapus file atau direktori yang tidak
diinginkan. Untuk men-delete file atau direktori, klik kanan file atau
direktori tersebut, kemudian pilih Move to Trash. Trash berfungsi
sama dengan Recycle Bin pada Windows. Untuk menghapus secara
permanen, kita bisa menggunakan keyboard, klik file atau direktori
yang diinginkan, kemudian tekan tombol SHIFT + DELETE (tekan
SHIFT tahan dan tekan DELETE).
Untuk membuat archive dengan nautilus, pilih file dan direktori yang
ingin di buat archivenya, kemudian klik kanan dan pilih menu Create
Archive, akan muncul kotak dialog untuk membuat archive.
Emblems Keterangan
Untuk menambahkan notes pada file atau direktori, klik tab Notes, dan
isikan notes yang diinginkan. Lihat pada gambar 4.14, dimana emblem
bagian atas menandakan file tersebut memilik notes.
Sekarang kita akan mencoba membuat templates untuk file yang sering
digunakan. Contohnya kita ingin membuat file dengan extension .php,
pada saat kita melakukan klik kanan pada bagian kosong nautilus atau
desktop dan memilih menu Create Document.
klik menu Go → Templates pada nautilus, sekarang kita
akan berada pada direktori Templates
lakukan klik kanan dan pilih menu Create Document →
Empty File, ganti nama file yang dibuat menjadi PHP
File.php
Untuk menggunakan template, klik kanan pada nautilus
atau desktop, klik Create Document→ PHP File.php,
sekarang akan ada file dengan ekstension .php, ganti nama
filenya sesuai dengan yang diinginkan.
4. Owner (pemilik dari file), pada contoh diatas owner file ini adalah
urangkayo
5. Group, yaitu group dari user yang diizinkan untuk mengakses file
ini, pada contoh group file tersebut adalah urangkayo
6. Dua elemen terakhir merepresentasikan ukuran dari file serta
tanggal file dibuat atau dimodifikasi.
Ada tiga jenis permission yang bisa diberikan pada sebuah file:
read (baca): pada file berarti kita bisa melihat isi dari file
ini, untuk direktori permission ini berarti bisa melihat isi
dari direktori.
write (tulis): pada file kita bisa merubah isi file, pada
direktori berarti bisa menambah dan menghapus file
dalam direktori.
execute (eksekusi): jika diberikan pada file berarti file
tersebut bisa di jalankan sebagai sebuah program, untuk
direktori berarti kita bisa mengakses isi dari direktori.
Dari jenis-jenis permission ini, maka ada tiga kategori user yang bisa
memiliki permission yang berbeda terhadap sebuah file
File owner (pemilik file)
Group (user yang menjadi anggota dari sebuah group)
Other (selain dari owner dan group, biasa disebut dengan
worl)
Sebuah file diberi owner dan group pada saat dibuat, dimana owner
biasanya user yang membuat file tersebut, dan group merupakan
group dari direktori tempat file tersebut dibuat.
Memberikan permission pada file dan direktori
Kita bisa memberikan permission pada file dan direktori secara
symbolic dan menggunakan angka. Karakter yang digunakan untuk
symbolic adalah
r : untuk read permission
w : untuk write permission
Nautilus dan File Manager 93
x : untuk excute
Jika menggunakan angka yaitu
4 : untuk read
2 : untuk write
1 : untuk eksekusi
Untuk memberikan read, write, execute permission, maka angka untuk
permission itu adalah 7 (4+2+1). Untuk setiap owner, group, other
masing-masing memiliki satu digit angka. Contoh jika ingin
memberikan hak akses read, write, execute untuk owner, read, execute
untuk group dan read, execute untuk other, perintah yang digunakan
adalah
$ chmod 755 latihan.txt
Sedangkan karakter yang digunakan untuk user memiliki arti sebagai
berikut:
u : user yang menjadi owner dari file
g : group owner dari file
o : untuk user selain dari owner dan group
a : untuk semua user (user, group, dan other)
Jika menggunakan symbolic, maka operator yang digunakan dalam
men-setting permission adalah
+ : untuk menambahkan permission
- : untuk menghapus permission
= : untuk memberikan permission sesuai dengan yang
dimiliki.
Berdasarkan file yang telah kita buat sebelumnya, maka kita akan
mencoba memodifikasi permissin dari file tersebut dengan
menggunakan perintah chmod.
Untuk menambah permissian execute bagi owner gunakan u+x dan
menghapus read permission dari group dan other gunakan go-r
$ chmod u+x,go-r latihan.txt
94 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
$ ls -l latihan.txt
-rwx------ 1 urangkayo urangkayo 0 2007-04-17 16:11
latihan.txt
Untu mereset permission dari sebuah file, gunakan tanda ‘=’ dan diikuti
nama file
$ chmod = latihan.txt
$ ls -l latihan.txt
---------- 1 urangkayo urangkayo 0 2007-04-17 16:11
latihan.txt
Mengeset permission dengan menggunakan angka. Digit pertama
untuk owner (6 berarti 4+2= read, write), group (4 = read) dan other (4
= read)
$ chmod 644 latihan.txt
$ ls -l latihan.txt
-rwr--r-- 1 urangkayo urangkayo 0 2007-04-17 16:11
latihan.txt
Selain tiga jenis file permission diatas, sebuah file juga bisa memiliki bit
tertentu yang berpengaruh pada file-file executable dan direktori pada
beberapa sistem:
Set User ID (SUID): jika bit diset pada sebuah file, pada
saat file dijalankan akan menjadikan user yang
menjalankan program ini bertindak sebagai file owner.
Set Group ID (SGID): jika bit ini diset, pada saat file
dijalankan akan menjadikan user yang menjalankan
program ini bertindak sebagai group owner.
Sticky bit: berfungi untuk mencegah user menghapus dan
me-rename file dalam direktori kecuali file tersebut
dimiliki oleh user yang bersangkutan. Biasanya diterapkan
pada direktori /tmp.
Contoh file yang memiliki SUID, SGID dan Sticky bit adalah
$ ls -l /usr/bin/chfn
Nautilus dan File Manager 95
/ root direktori
/proc direktori
Direktori ini hanya ada pada saat Linux digunakan (running). Isi dari
direktori ini merupakan informasi yang ada pada memori dan kernel.
Isi dari file-file pada direktori ini bisa dilihat dengan perintah cat.
Beberapa file-file yang biasa digunakan dalam mengetahui system
yang sedang berjalan adalah:
/proc/cpuinfo : untuk melihat informasi CPU
$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 7
/proc/net : direktori yang berisikan file-file informasi
tentang networking seperti /proc/net/dev
/proc/version : untuk mengetahui versi dari kernel
/proc/meminfo : mengetahui informasi mengenai kernel
yang sedang kita gunakan.
/bin dan /sbin direktori
Program-program pada direktori ini merupakan program-program
dasar yang dibutuhkan pada saat sistem booting serta pada saat
digunakan. Untuk /sbin, umumnya program pada direktori ini hanya
bisa diakses sebagai root.
/dev direktori
Direktori ini berisikan informasi mengenai devices-devices yang ada
maupun yang ada pada sistem yang kita gunakan. Beberapa devices
yang umum ada pada setiap sistem adalah:
IDE atau SCSI harddisk. Untuk IDE biasanya dinamakan
dengan /dev/hda1, /dev/hdb4 dan seterusnya. Untuk
SCSI dinamakan dengan /dev/sda1, /dev/sdb2. Hal ini
juga bisa berlaku untuk CD ROM devices.
102 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
4.4 Trash
Trash merupakan spesial direktori pada Linux disaat kita
menggunakan X Window. Jika kita menghapus file atau direktori
maka file atau direktori tersebut akan dipindahkan kedalam direktori
Trash. Hal ini hanya berlaku apabila kita menghapus file atau
direktori menggunakan program file browser seperti nautilus (dalam
mode grafik), jika kita menghapus file menggunakan command line
maka file yang dihapus akan benar-benar terhapus, tanpa
dipindahkan kedalam direktori Trash. Anda bisa bayangkan seperti
Recycle Bin pada Windows.
File atau direktori yang telah dihapus dan berada dalam Trash akan
membuat kapasitas dari harddisk kita berkurang sebesar ukuran file
yang ada. Hal ini bisa membuat harddisk penuh dengan file-file yang
tidak kita butuhkan. Untuk itu kita perlu menghapus isi dari Trash.
Untuk menghapus isi Trash, klik kanan pada icon trash yang ada di
Nautilus dan File Manager 103
pojok kanan bawah pada bottom panel, dari menu yang muncul klik
Empty Trash
FontPath
"/usr/share/fonts/X11/100dpi/:unscaled"
FontPath
"/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath
"/usr/share/fonts/X11/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
# path to defoma fonts
FontPath "/var/lib/defoma/x-
ttcidfont-conf.d/dirs/TrueType"
EndSection
3. Module
Berisikan informasi mengenai modules atau driver yang akan diload
untuk X session, seperti module bitmap, ddc dan lainnya. Module-
module yang dibutuhkan ini terdapat pada /usr/lib/xorg/modules
direktori
Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
Load "extmod"
Load "freetype"
Load "int10"
Load "vbe"
Load "glx"
EndSection
108 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
4. InputDevice
Memuat informasi mengenai konfigurasi untuk input device seperti
keyboard, mouse, stylus dan input device lainnya. Berikut ini
merupakan layout dari InputDevice untuk keyboard dan mouse
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
Option "XkbOptions" "lv3:ralt_switch"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" " ExplorerPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
5. Monitor
Konfigurasi yang digunakan untuk monitor. X server secara otomatis
akan mengkonfigurasi sesuai dengan kemampuan terbaik dari
monitor berdasarkan horizontal dan vertical sync.
Section "Monitor"
Identifier "PHILIPS 105B"
X Window System 109
Option "DPMS"
HorizSync 30-61
VertRefresh 50-160
EndSection
6. Device
Berisikan informasi tentang graphics card yang digunakan oleh
komputer. 'Driver' memberitahukan X Server untuk meload module
yang sesuai, pada contoh ini akan meload module nvidia
Section "Device"
Identifier "Generic Video Card"
Driver "nvidia"
BusID "PCI:1:0:0"
EndSection
7. Screen
Berisikan informasi mengenai resolusi yang bisa digunakan, color
depth, dan juga menggabungkan informasi yang ada pada Device,
Monitor.
Section "Screen"
Identifier "Default Screen"
Device "Generic Video Card"
Monitor "PHILIPS 105B"
DefaultDepth 24
SubSection "Display"
Depth 16
Modes "1280x1024" "1024x768"
"832x624" "800x600" "720x400" "640x480" "640x350"
EndSubSection
SubSection "Display"
110 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Depth 24
Modes "1280x1024" "1024x768"
"832x624" "800x600" "720x400" "640x480" "640x350"
EndSubSection
EndSection
Untuk melakukan konfigurasi terhadap X, dimana hal ini hanya
dilakukan jika pada saat menginstall Ubuntu, hardware kita tidak di
deteksi dengan benar. Kita bisa dengan mengedit secara manual file
dari /etc/X11/xorg.conf menggunakan teks editor seperti gedit atau
vim. Tools lain yang bisa digunakan untuk melakukan konfigurasi
dari X adalah dpkg-reconfigure xserver-xorg
$ sudo dpkg-reconfigure xserver-xorg
Pada saat tampilan untuk melakukan reconfigure ini, kita bisa
mencoba memilih pilihan autodetect atau secara manual, untuk itu
kita memerlukan informasi seperti:
Tipe dan Chipset dan VGA Card
Jumlah memory dari VGA Card
Refresh rate monitor (vertical dan horizontal)
Resolusi yang di dukung oleh monitor
Tipe dari keyboard dan mouse yang digunakan
Selain menggunakan dpkg-reconfigure kita bisa menggunakan
perintah X -configure. Jika kita menjalankan program X -configure
pada saat X Server aktif, akan muncul pesan error.
$ sudo X -configure
Password:
Fatal server error:
Server is already active for display 0
If this server is no longer running, remove
/tmp/.X0-lock
and start again.
X Window System 111
Untuk itu hapus terlebih dahulu file /tmp/.X0-lock jika kita memang
ingin melakukan konfigurasi dari X
$ sudo rm /tmp/.X0-lock
$ sudo X -configure
X Window System Version 7.2.0
Release Date: 22 January 2007
X Protocol Version 11, Revision 0, Release 7.2
Build Operating System: Linux Ubuntu
Current Operating System: Linux scorvia 2.6.20-12-
generic #2 SMP Wed Mar 21 20:55:46 UTC 2007 i686
Build Date: 20 March 2007
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==)
default setting, (++) from command line, (!!)
notice, (II) informational,(WW) warning, (EE)
error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Wed Apr
18 06:50:06 2007 (++) Using config file:
"/home/urangkayo/xorg.conf.new"
Xorg detected your mouse at device /dev/input/mice.
Please check your config if the mouse is still not
operational, as by default Xorg tries to autodetect
the protocol.
Your xorg.conf file is
/home/urangkayo/xorg.conf.new
To test the server, run
'X -config /home/urangkayo/xorg.conf.new'
112 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Maka sekarang akan ada file xorg.conf.new pada home direktori kita,
dan untuk mencoba konfigurasi ini kita bisa jalankan dengan perintah
$ sudo X config /home/urangkayo/xorg.conf.new
Jika kita mengedit file dari xorg.conf secara manual dan ingin agar
perubahan tersebut di update secara otomatis, maka jalankan perintah
berikut:
$ sudo dpkg-reconfigure -phigh xserver-xorg
Pada saat Ubuntu selesai di install, maka X Server akan langsung
dijalankan, karena mode default yang digunakan oleh Ubuntu adalah
mode grafis. Untuk menjalankan X pada saat berada dalam mode
konsol atau jika kita berada pada runlevel 1, bisa dengan
menggunakan perintah startx
$ startx
Sebelum melakukan modifikasi untuk file /etc/X11/xorg.conf,
sebaiknya backup terlebih dahulu file tersebut, karena hal ini akan
memudahkan kita apabila konfigurasi yang telah dimodifikasi
ternyata tidak berjalan dengan baik yang bisa mengakibatkan X
Window tidak bisa berjalan. Untuk membuat backup, bisa
menggunakan perintah cp
$ sudo cp /etc/X11/xorg.conf \
/etc/X11/xorg.conf-asli
Jika suatu saat file /etc/X11/xorg.conf yang telah diedit bermasalah,
maka kita bisa menimpanya dengan file /etc/X11/xorg.conf yang asli
yang telah diketahui berjalan dengan baik, bisa menggunakan
perintah berikut
$ sudo cp /etc/X11/xorg.conf-asli \
/etc/X11/xorg.conf
Bab 6
KUSTOMISASI DESKTOP
UBUNTU
Pada bab ini, akan membahas langkah-langkah dalam
mengkostumisasi tampilan dekstop Ubuntu, sehingga bisa sesuai
dengan yang kita inginkan.
6.1 Personal Info
6.2 Background
6.3 Screensaver dan Screen Resolution
6.4 Theme
6.5 Login dan Splash Screen
6.6 True Type Fonts
6.7 Membuat Launcher
6.8 Cursor Theme
6.9 Virtual Desktop
6.10 Menu dan Panel
6.11 Grub Menu
Untuk resources yang digunakan pada bab ini bisa didownload pada
website http://gnome-look.org/ dan http://art.gnome.org/ karena Ubuntu
menggunakan GNOME sebagai GUI nya. Pada kedua website tersebut
kita bisa mendownload theme, login screen, splash screen, background,
cursor, grub background. Dengan navigasi yang sangat baik, theme-
theme yang ada dikelompokkan dengan baik, sehingga kita tidak akan
kesulitan dalam mencari theme yang diinginkan.
114 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
untuk GTK, tapi juga Metacity, Icon theme, Cursor. Proses ini sedikit
berbeda dengan versi Ubuntu dibawah 7.10. Untuk menggunakan
theme yang telah diinstall tadi, klik pada nama themenya, yaitu
AluminumAlloy-Smog. Selanjutnya penulis juga menginstall theme
yang bernama GTK2-ClearLooksLemonGraphite.tar.gz. Sekarang kembali
ke tampilan pada gambar 6.8, klik button Customize, akan muncul
tampilan Customize Theme. Klik tab Controls, dari daftar yang ada
pada tab Controls, sekarang ada theme dengan nama ClearLooks-
LemonGraphite, klik theme tersebut.
Kita bisa menyimpan theme yang telah kita atur ini dengan mengklik
button Save As pada Appearances Preferences, isikan nama untuk
theme tersebut dan desktripsi dari theme ini, beri tanda √ pada Save
background image, kemudian klik Save, maka akan ada theme
dengan nama yang telah kita buat ini.
Hasil dari perubahan ini bisa terlihat seperti pada gambar berikut ini
Jika kita membuat New Item pada menu yang telah kita buat diatas,
maka akan muncul tampilan seperti membuat launcher yang bisa
dilihat pada gambar 6.28
Perlu diingat, untuk bisa memindahkan item pada panel, tanda √ pada
Lock To Panel, harus dihilangkan terlebih dahulu, dengan cara
mengklik kanan pada item yang akan dipindahkan dan klik Lock To
Panel, jika telah selesai klik kanan kembali kemudian klik Move untuk
memindahkannya. Jika item dalam keadaan di lock maka pilihan menu
Move tidak aktif, lihat gambar 6.38
yang ditampilkan dengan memilih pada menu drop down yang ada
seperti All available applications, All open source applications.
Button Preferences yang terdapat pada Add/Remove... berguna untuk
mengedit software source (repository) yang digunakan, jika kita klik
button ini akan muncul permintaan untuk memasukkan password.
Jika ingin menginstall program, berikan tanda √ pada check box yang
terdapat disebelah nama program yang akan diinstall, kemudian klik
Apply. Dan jika ingin mengunistall program, hilangkan tanda √ dari
check box kemudian klik Apply. Baik itu menginstall atau
menguninstall program, akan muncul permintaan untuk
memasukkan password.
Sekarang kita akan mencoba menginstall program bernama gnochm,
untuk itu pada search box ketik gnochm. Klik pada CHM Viewer dan
beri tanda √ pada check box (lihat gambar 7.2) dan klik button Apply
yang ada pada Add/Remove...
Klik tab Third-Party Software, kemudian klik button Add dan pada
APT Line: isikan baris diatas, jika telah selesai klik Add Source
deb http://id.archive.ubuntu.com/ubuntu/ \
feisty-backports main restricted \
universe multiverse
deb-src http://id.archive.ubuntu.com/ubuntu/ \
feisty-backports main restricted \
universe multiverse
deb http://security.ubuntu.com/ubuntu \
feisty-security main restricted
deb-src http://security.ubuntu.com/ubuntu \
feisty-security main restricted
deb http://security.ubuntu.com/ubuntu \
feisty-security universe
deb-src http://security.ubuntu.com/ubuntu \
feisty-security universe
deb http://security.ubuntu.com/ubuntu \
feisty-security multiverse
deb-src http://security.ubuntu.com/ubuntu \
feisty-security multiverse
## -------------- Third Party Repository --------
## PLF REPOSITORY (Unsupported.
deb http://medibuntu.sos-sts.com/repo/ \
feisty free non-free
deb-src http://medibuntu.sos-sts.com/repo/ \
feisty free non-free
## CANONICAL COMMERCIAL REPOSITORY
deb http://archive.canonical.com/ubuntu \
feisty-commercial main
Tanda “#” akan dianggap sebagai komentar dalam file sources.list, jadi
akan diabaikan. Tambahkan signature untuk repository third party
untuk semua repositories yang memiliki signature. Contohnya untuk
repositories PLF, kita bisa mendownload signature nya di alamat
http://packages.medibuntu.org/medibuntu-key.gpg, untuk menambahkan
kedalam daftar apt, gunakan perintah berikut
$ sudo apt-key add medibuntu-key.gpg
OK
$ sudo apt-key list
pub 1024D/0C5A2783 2006-11-23
uid The Medibuntu Team <medibuntu@sos-sts.com>
sub 2048g/16C7105A 2006-11-23
166 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Mencari Program
Untuk mencari program kita bisa menggunakan perintah apt-cache.
perintah apt-cache untuk mencari package yang diinginkan adalah
apt-cache search, perintah berikut akan mencari package bernama
xmms atau package dengan yang memiliki kata xmms pada
deskripsinya.
$ apt-cache search xmms
libflac7 - Free Lossless Audio Codec - runtime C
library
pulseaudio - PulseAudio sound server
xmms-arts - aRts Output plugin for xmms
xmms-wma - WMA input plugin for XMMS
xmms - Versatile X audio player
xmms-midi - MIDI plugin for XMMS
Output dari perintah diatas sudah dipotong. Tergantung dengan
repositories yang digunakan, output dari perintah apt-cache search
bisa sangat banyak. Untuk membatasi pencarian hanya berdasarkan
nama package saja, gunakan perintah apt-cache search -n
$ apt-cache search -n xmms
xmms-arts - aRts Output plugin for xmms
xmms-wma - WMA input plugin for XMMS
xmms - Versatile X audio player
Jika kita ingin menampilkan informasi sebuah package yang kita
inginkan, gunakan perintah apt-cache showpkg (biasanya digunakan
untuk package yang belum terinstall pada system)
$ apt-cache showpkg xmms
Untuk menampilkan informasi dari package yang telah terinstall
gunakan perintah
$ apt-cache show xmms
Untuk mengetahu sebuah package tergantung dengan package apa
saja, maka gunakan perintah apt-cache depends
$ apt-cache depends libchm1
172 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
libchm1
Depends: libc6
Conflicts: xchm
Replaces: <chmlib>
Dan untuk mengetahui package tersebut dibutuhkan oleh program
apa saja, gunakan perintah apt-cache rdepends
$ apt-cache rdepends libchm1
libchm1
Reverse Depends:
python-chm
kchmviewer-nokde
xchm
kchmviewer
Selain digunakan untuk menginstall, menguninstall, mencari package,
apt juga bisa digunakan untuk sekedar bersenang-senang, ketikkan
perintah berikut ini
$ apt-get moo
7.5 DPKG
Debian Package Manager atau lebih dikenal dengan nama dpkg,
merupakan salah satu tool yang dapat digunakan untuk melakukan
Manajemen Software Ubuntu 173
$ dpkg -l bash
||/ Name Version Description
ii bash 3.2-0ubuntu6 The GNU Bourne Again Shell
Jika kita melihat sebuah program, dan ingin mengetahui dari package
mana program tersebut berasal, gunakan perintah dpkg -S. Contoh
berikut untuk mengetahui package dari file /usr/bin/calendar.
$ dpkg -S /usr/bin/calendar
bsdmainutils: /usr/bin/calendar
Dari hasil perintah diatas, kita bisa mengetahui kalau perintah
/usr/bin/calendar berasal dari package bsdmainutils.
$ /usr/local/bin/nmap -v -A localhost
Starting Nmap 4.20 ( http://insecure.org ) at 2007-
04-22 10:26 WIT
Warning: File ./nmap-services exists, but Nmap is
using /usr/local/share/nmap/nmap-services for
security and consistency reasons. set NMAPDIR=. to
give priority to files in your local directory (may
affect the other data files too).
mass_dns: warning: Unable to determine any DNS
servers. Reverse DNS is disabled. Try using --
system-dns or specify valid servers with --
dns_servers
Initiating Connect() Scan at 10:26
Scanning localhost (127.0.0.1) [1697 ports]
Discovered open port 631/tcp on 127.0.0.1
Completed Connect() Scan at 10:26, 0.09s elapsed
(1697 total ports)
Initiating Service scan at 10:26
Scanning 1 service on localhost (127.0.0.1)
Completed Service scan at 10:26, 6.25s elapsed (1
service on 1 host)
Host localhost (127.0.0.1) appears to be up ...
good.
Interesting ports on localhost (127.0.0.1):
Not shown: 1696 closed ports
PORT STATE SERVICE VERSION
631/tcp open ipp CUPS 1.2
Perintah ini berguna jika ternyata proses make gagal, sebelum kita
melakukan perintah configure lagi, jalankan perintah ini terlebih
dahulu.
sudo make uninstall
Perintah ini digunakan untuk menghapus program yang telah diinstall
sebelumnya.
Sekarang kita sudah mampu untuk melakukan manajemen terhadap
software di Ubuntu, baik itu dengan menggunakan GUI seperti
Add/Remove, Synaptic Package Manager atau melalui command line
dengan perintah apt, dpkg serta dari source code program yang
bersangkutan. Seperti pepatah bilang “Banyak jalan menuju Roma”
begitu juga pada Linux, bisa kita bilang “Banyak jalan untuk
menginstall program”. Dari sini kita bisa merasakan keindahan dari
dunia open source karena kita tidak terpaku hanya dengan satu cara
dalam melakukan sesuatu, tetapi bisa ada banyak cara untuk
melakukan suatu pekerjaan dimana tujuan akhir dari pekerjaan
tersebut adalah sama.
gcursor_0.061-ubuntu4_i386.deb
gcursor-0.061-1.i386.rpm generated
$ ls | grep gcursor
gcursor-0.061-1.i386.rpm
gcursor_0.061-ubuntu4_i386.deb
Dan program gcursor bisa diinstall pada program yang berbasikan
rpm package manager.
Bab 8
ADMINISTRASI USER dan
GROUP
8.1 Manajemen user dan group
8.2 Sudo
Jika telah selesai membuat user baru, tutup tampilan Users settings.
Sekarang buka gnome-terminal, kita akan melihat apakah user dan
group yang telah dibuat sudah ada pada /etc/passwd, etc/shadow
dan /etc/group, jalankan perintah berikut
$ cat /etc/passwd | grep thinkerbels
thinkerbels:x:1001:1001:Himawari,JoGja,,,:/home/thi
nkerbels:/bin/bash
Format umum dari file /etc/passwd adalah
username:password:uid:gid:gecos:homedir:shell
username: nama user yang digunakan untuk login, nama
user ini tidak boleh sama dengan user lain.
password: jika kita menggunakan shadow password,
maka field ini akan bersisikan *, karena system akan
melihat password pada file /etc/shadow
uid: angka unik yang digunakan sebagai id dari user
gid: angka unik untuk group id
gecos: informasi opsional seperti nama lengkap, nomor
telepon dan lain-lain
homedir: path dari home direktori untuk username
shell: shell yang digunakan ketika username tersebut login
$ cat /etc/group | grep thinkerbels
thinkerbels:x:1001:
Format umum dari file /etc/group adalah
groupname:password:gid:member
groupname: nama dari group
password: merupakan field opsional, yang digunakan
untuk memberikan password pada group
gid: angka unik yang digunakan untuk groupname
Administrasi User dan Group 191
uid=1001(thinkerbels) gid=1001(thinkerbels)
groups=4(adm),20(dialout),21(fax),24(cdrom),25(flop
py),26(tape),29(audio),30(dip),46(plugdev),114(scan
ner),118(fuse),1001(thinkerbels)
$ touch latihan
$ ls -l latihan
-rw-r--r-- 1 thinkerbels thinkerbels 0 2007-04-22
19:11 latihan
Jika ingin kembali ke shell username kita dari username thinkerbels,
tekan CTRL + D.
Menggunakan command line
Dengan command line, perintah yang bisa digunakan untuk membuat
user baru adalah adduser. Buka program gnome-terminal jika
menggunakan Gnome.
$ sudo adduser liverpoolfc
Adding user `liverpoolfc' ...
Adding new group `liverpoolfc' (1003) ...
Adding new user `liverpoolfc' (1003) with group
`liverpoolfc' ...
Creating home directory `/home/liverpoolfc' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for liverpoolfc
Enter the new value, or press ENTER for the default
Full Name []: Liverpool Football Club
Room Number []:
Work Phone []: 123456789
Home Phone []: 987654321
Other []:
Is the information correct? [y/N] y
Administrasi User dan Group 193
$ ls -l /home
total 20
drwxr-xr-x 2 liverpoolfc liverpoolfc 4096 2007-04-
22 18:47 liverpoolfc
drwxr-xr-x 2 scorvia scorvia 4096 2007-04-
22 18:51 scorvia
drwxr-xr-x 2 thinkerbels thinkerbels 4096 2007-04-
22 18:32 thinkerbels
drwxr-xr-x 51 urangkayo urangkayo 4096 2007-04-
22 18:48 urangkayo
Untuk mengganti informasi mengenai GECOS dari username,
gunakan perintah chfn
$ sudo chfn thinkerbels
Changing the user information for thinkerbels
Enter the new value, or press ENTER for the default
Full Name [Himawari]: Himawari NeverLand
Room Number [JoGja]: sLeMaN
Work Phone []: 0274-123456789
Home Phone []: 0274-123456789
Other []: sCorVia GuiLd FoundeR
Maka isi field gecos untuk user thinkerbels sudah berubah, gunakan
perintah berikut untuk melihatnya
$ cat /etc/passwd | grep thinkerbels
Jika ingin mengganti password kita sendiri atau user lain gunakan
perintah passwd
$ passwd
Changing password for urangkayo
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
Administrasi User dan Group 195
Jika ingin melihat informasi dari user, kita bisa menggunakan perintah
finger
$ finger urangkayo
Login: urangkayo Name: Yunifa Wirman
Directory: /home/urangkayo Shell: /bin/bash
On since Mon Apr 23 07:25 (WIT) on :0 (messages
off)
On since Mon Apr 23 07:30 (WIT) on pts/0 from :0.0
No mail.
No Plan.
Untuk menambahkan user pada sebuah group dengan menggunakan
command line, gunakan perintah usermod.
$ sudo usermod -G capoex thinkerbels
Perintah diatas akan menambahkan user thinkerbels kedalam group
capoex. Untuk melihatnya gunakan perintah berikut
$ cat /etc/group | grep capoex
capoex:x:1002:thinkerbels
Untuk merubah ownership sebuah group gunakan perintah chgrp
sedangkan untuk merubah ownership file atau direktori gunakan
perintah chown. Misalkan penulis memiliki direktori pada
/home/urangkayo/latihan, dan ingin memberikan ownership untuk
group thinkerbels,
$ sudo chgrp thinkerbels /home/urangkayo/latihan
$ ls -l /home/urangkayo | grep latihan
drwxr-xr-x 2 urangkayo thinkerbels 1024 2007-
02-04 21:01 latihan
Sekarang jika penulis ingin memberikan ownership direktori ini
kepada user thinkerbels, maka penulis akan menggunakan perintah
berikut
$ sudo chown thinkerbels /home/urangkayo/latihan
$ ls -l /home/urangkayo | grep latihan
Administrasi User dan Group 197
8.2 Sudo
Seperti yang telah dijelaskan sebelumnya, bahwa user biasa bisa
memperoleh hak akses sebagai root dengan menggunakan perintah
sudo. Akan tetapi untuk bisa memperoleh hak akses sebagai root
dengan menggunakan sudo, user tersebut harus tergabung dengan
group admin atau tercantum untuk menjalankan perintah-perintah
administrator pada file /etc/sudoers.
$ cat /etc/group | grep admin
198 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
admin:x:114:urangkayo
Username urangkayo merupakan username yang penulis buat waktu
proses install Ubuntu, dan secara otomatis username tersebut akan
tergabung dengan group admin sehingga kita bisa menggunakan
perintah sudo. Misalkan pada username yang telah kita buat
sebelumnya, kita ingin agar user thinkerbels dapat menggunakan
perintah sudo untuk memperoleh hak akses root, maka kita bisa
menggunakan perintah berikut untuk menambahkan thinkerbels
kedalam group admin
$ sudo usermod –G admin thinkerbels
Kita juga bisa menambahkan user atau group yang kita inginkan
untuk bisa memperoleh hak akses sebagai root dengan menambahkan
user tersebut pada file /etc/sudoers, untuk mengedit file
/etc/sudoers maka kita akan menggunakan perintah visudo.
$ sudo visudo
# /etc/sudoers
#
# This file MUST be edited with the 'visudo'
# command as root.
#
# See the man page for details on how to write a
# sudoers file.
# Host alias specification
# User alias specification
# Cmnd alias specification
# Defaults
Defaults !lecture,tty_tickets,!fqdn
# User privilege specification
root ALL=(ALL) ALL
# Members of the admin group may gain root
# privileges
%admin ALL=(ALL) ALL
thinkerbels localhost=(ALL) ALL
Tampilan diatas adalah isi dari file /etc/sudoers pada komputer
penulis, dimana pada baris terakhir penulis menambahkan
Administrasi User dan Group 199
Kita juga bisa dengan menjalankan perintah dmesg pada shell. Pada
gambar dibawah ini merupakan potongan output dari dmesg yang
menampilkan informasi tentang device yang terpasang
/etc/fstab. Buka file /etc/fstab dengan teks editor seperti gedit (kita
harus mengeditnya sebagai root).
$ sudo gedit /etc/fstab
Isikan baris berikut pada /etc/fstab
/dev/hda2 /mnt/data vfat ro 0 2
Untuk melihat kapasitas serta total pemakaian dari filesystem,
gunakan perintah df, tambahkan flag –h agar memudahkan kita
dalam membaca outputnya.
$ df -h
Meskipun jarang terjadi, mungkin filesystem yang kita gunakan
pernah rusak karena proses shutdown yang tidak benar, sehingga kita
harus melakukan pemeriksaan terhadap filesystem secara manual bisa
menggunakan perintah fsck atau e2fsck. Perlu diingat filesystem yang
ingin di cek dengan perintah tersebut tidak boleh dalam keadaan lagi
di mount oleh sistem, jadi harus di umount terlebih dahulu. Misalkan
kita ingin melakukan cek terhadap /dev/hda5 yang di mount pada
/mnt/data, maka kita harus melakukan perintah umount terlebih
dahulu.
pada /mnt/data. Jika pada contoh sebelumnya file system ini belum
dimounting, umount terlebih dahulu
$ sudo umount /mnt/data
$ sudo mount /dev/hda2 /mnt/data -t vfat \
-o iocharset=utf8,umask=000
Setelah menjalankan perintah diatas, maka kita tidak harus
menggunakan perintah sudo jika ingin mengakses /mnt/data untuk
melakukan penulisan pada mount point tersebut.
Jika ingin file system ini dimount pada saat system kita jalankan ,
maka kita harus menambahkan baris berikut ini pada /etc/fstab
(ingat, jika file /etc/fstab telah dimodifikasi seperti pada contoh
sebelumnya, hapus terlebih dahulu baris “/dev/hda2 /mnt/data
vfat ro 0 2” yang digunakan pada contoh sebelumnya). Buka file
/etc/fstab dengan teks editor
$ sudo gedit /etc/fstab
Tambahkan baris berikut ini pada /etc/fstab, dan simpan hasilnya.
/dev/hda2 /mnt/data vfat \
iocharset=utf8,umask=000 0 0
Bagaimana jika kita menggunakan tipe NTFS? Untuk tipe NTFS, pada
saat kita menjalankan perintah berikut ini
$ sudo mount /dev/hda1 /mnt/windows/ -t ntfs
Perintah diatas akan membuat partisi /dev/hda1 dengan file system
NTFS dimount pada /mnt/windows, dan hanya bisa di akses dengan
menggunakan hak akses root, jika kita mencoba mengakses tanpa
menggunakan hak akses root, maka akan ditolak oleh system. Untuk
melakukan mount NTFS agar bisa di akses oleh user biasa, maka
gunakan perintah berikut (dengan asumsi partisi NTFS ada pada
/dev/hda1 dan di mount pada /mnt/windows)
$ sudo mount /dev/hda1 /mnt -t ntfs \
-o nls=utf8,umask=0222
214 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Jika kita ingin agar bisa mempunyai hak akses read dan write pada file
system NTFS, maka harus menginstall terlebih dahulu program
dengan nama ntfs-3g (install melalui synaptic atau apt). Mulai Ubuntu
7.10, ntfs-3g sudah terinstall secara default. Untuk itu anda bisa
memeriksa apakah ntfs-3g sudah terinstall atau tidak pada system
Ubuntu anda dengan perintah
$ dpkg –l |grep ntfs-3g
Jika belum terinstall, install ntfs-3g dengan perintah berikut
$ sudo apt-get install ntfs-3g
$ sudo mount /dev/hda1 /mnt -t ntfs-3g -o nls=utf8
Agar bisa dimount pada saat booting, tambahkan baris berikut pada
/etc/fstab
/dev/hda1 /mnt/windows \
ntfs-3g defaults,locale=en_US.utf8
Dengan menambahkan baris ini kedalam /etc/fstab, maka setiap kali
system restart, partisi NTFS tersebut secara otomatis akan dimount.
Bagaimana jika kita memiliki sebuah file dengan ekstension .iso dan
ingin melihat isi file ini sebelum diburn kedalam media CD. Kita bisa
menggunakan perintah berikut untuk melakukan mount sebuah file
ISO, disini diasumsikan test_backup.iso yang terdapat pada home
direktori penulis, dan dimount kedirektori /media/test
$ sudo mount -o loop ~/latihan/test_backup.iso \
/media/test
$ ls -l /media/test
total 264
-rw-r--r-- 1 urangkayo urangkayo 270306 2007-04-24
08:20 GTK2-Milk-2.0.tar.bz2
Ketika kita melakukan perintah ls -l pada direktori /media/test, akan
terlihat isi dari file .iso yang telah dimount tersebut. Untuk membuat
file system, gunakan perintah mke2fs [partisi_harddisk]
Hardware dan Mounting File System 215
lp
fuse
Pada saat ini bisa dibilang sangat jarang diperlukan bagi kita untuk
bekerja dengan module secara langsung. Umumnya module yang
dibutuhkan sudah terload secara otomatis. Namun apabila suatu saat
kita diharuskan untuk bekerja dengan module secara langsung, maka
perintah-perintah diatas dapat digunakan dalam bekerja dengan
modules pada Ubuntu.
Bab 10
NETWORKING
10.1 Networking di Ubuntu
10.2 Koneksi Internet Dengan ADSL
10.3 Berbagi Koneksi Internet
D 224.0.0.0 239.255.255.255
E 240.0.0.0 255.255.255.255
route
Untuk mengganti gateway dari command line bisa menggunakan
perintah route. Perintah berikut akan mengganti default gateway dari
eth0
$ sudo route add default gw 192.168.0.1 eth0
NETWORKING 231
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
Pada pilihan Use Peer DNS, pilih YES, begitu juga dengan pilihan
untuk Limited MSS Problem, biarkan nilai default nya dan pilih YES.
ADSL nya terhubung dengan port USB. Seperti yang telah dijelaskan
pada sub bab 10.2, modem ADSL terhubung pada port eth0
Langkah pertama yang kita lakukan adalah, aktifkan ip forwarding
pada linux Ubuntu yang akan digunakan sebagai gateway dengan
perintah
$ sudo su –c \
“echo 1 > /proc/sys/net/ipv4/ip_forward”
Restart network dengan menggunakan perintah
$ sudo /etc/init.d/networking restart
Langkah selanjutnya adalah mengaktifkan NAT untuk me-
masquerade ip lokal dengan perintah IPTABLES. Dengan melakukan
masquerade ip lokal, maka dengan satu ip yang kita peroleh dari ISP,
kita bisa membuat komputer-komputer yang ada dijaringan kita dapat
mengakses internet, dimana oleh jaringan luar (internet) ip yang
terlihat adalah ip yang kita peroleh dari ISP.
$ sudo iptables -t nat –A POSTROUTING -o ppp0 \
-s 192.168.1.0/24 -j MASQUERADE
Jika kita tidak menggunakan modem sebagai bridge, tapi sebagai
pppoe client, atau jika menggunakan koneksi internet yang langsung
terhubung dengan eth0, maka ganti -o ppp0 dengan interface yang
terhubung ke internet, contohnya adalah -o eth0. Disini diasumsikan
alamat jaringan yang digunakan adalah 192.168.1.0/24, jika anda
menggunakan alamat jaringan yang lain, sesuaikan alamat jaringan
yang digunakan untuk source, misalkan alamat jaringan anda
192.168.100.0/24, maka akan berubah menjadi -s 192.168.100.0/24.
Sekarang pada client, ganti ip nya menjadi satu network dengan ip
server Ubuntunya, jika Linux Ubuntunya menggunakan ip 192.168.1.1
pada eth1 yang terhubung kejaringan lokal., maka clientnya bisa
menggunakan ip 192.168.1.2 - 192.168.1.254, untuk mengganti ip pada
client yang menggunakan Windows XP, klik menu Start → Control
Panel → Network and Internet Connections → Network
Connections → Klik kanan pada Local Area Connection → Klik
240 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
service pada runlevel S yang tidak kita perlukan sehingga sistem bisa
berjalan dengan lebih cepat. Untuk menginstall program ini pada
terminal ketikan baris berikut
$ sudo apt-get install sysv-rc-conf
Setelah proses installasi selesai, pada gnome-terminal ketikkan
perintah berikut ini
$ sudo sysv-rc-conf
Service Keterangan
246 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
service yang tidak memiliki tanda „X‟ pada semua runlevel berarti
tidak aktif sama sekali, dan service yang aktif tersebut bisa kita
hilangkan dari runlevel 0 dan 6.
Untuk menghilangkan service yang sudah tidak berjalan lagi pada
runlevel 0 ( saat shutdown), masuk ke direktori berikut
$ cd /etc/rc0.d
Pada direktori tersebut tampilkan semua script yang ada dengan
perintah ls
$ ls –l K*
lrwxrwxrwx 1 root root 15 2007-01-18 20:15
K19hplip -> ../init.d/hplip
Sekarang, untuk menghilangkannya kita cukup mengganti huruf „K‟
didepan K19hplip menjadi huruf „k‟. Simbol „K‟ diatas digunakan
untuk meng-kill (stop) service pada saat shutdown atau reboot. Jika
kita tidak menggunakan service tersebut, maka service tersebut berarti
tidak perlu di-kill, sehingga proses reboot atau shutdown berjalan
lebih cepat. Ingat pada Linux huruf „K‟ dengan „k‟ itu berbeda, dimana
script /etc/init.d/rcS hanya mematikan service yang berawalan „K‟
bukan „k‟ begitu juga pada saat start /etc/init.d/rcS akan menjalankan
script yang berawalan „S‟ pada runlevel yang ditentukan.
Pada contoh tampilan ls diatas, penulis mematikan service hplip
sehingga service tersebut tidak perlu untuk di-kill karena tidak pernah
berjalan sama sekali. Maka penulis bisa me-rename¬ nama script
tersebut dari K19hplip menjadi k19hplip.
$ sudo mv K19hplip k19hplip
Lakukan hal yang sama untuk service-service yang anda catat tadi dan
terdapat pada /etc/rc0.d. Sekarang hal yang sama juga perlu kita
lakukan pada /etc/rc6.d (reboot), rename service yang telah
dimatikan yang terdapat pada /etc/rc6.d. Sekarang restart komputer
yang anda gunakan untuk merasakan perbedaan kecepatan pada saat
proses reboot dilakukan serta pada saat proses booting berjalan.
252 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
$ tail -n 5 /var/log/messages
File log lain yang bisa berguna adalah /var/log/messages,
/var/log/daemon.log yang bisa digunakan untuk mengetahui
informasi sistem mulai dari booting, proses pengenalan hardware,
atau bisa juga dengan mengetikkan dmesg pada shell.
11.3 Crontab
Cron merupakan service yang digunakan untuk menjalankan
program secara berulang dengan jadwal yang tetap. Misal kita ingin
menjalankan perintah /bin/date setiap jam 8.16 setiap hari maka kita
bisa menggunakan cron. Program yang dijalankan melalui cron
disebut dengan cron job. Untuk membuat cron job maka kita harus
mengisi file crontab dengan perintah yang ingin dijalankan. Untuk
membuat cron job untuk username kita gunakan perintah crontab -e.
Crontab memiliki dua jenis tipe job yaitu system job dan user job.
System job disimpan dalam file /etc/crontab dan hanya bisa diedit
dengan hak akses sebagai root. Sedangkan user job adalah job yang
dibuat oleh user dengan menggunakan perintah crontab –e. Isi dari file
/etc/crontab pada sistem Ubuntu penulis bisa terlihat dibawah ini
Optimalisasi, Monitoring, Crontab 257
12.1 Printer
Printer pada saat ini sudah merupakan sebuah kebutuhan bagi
penggunan komputer baik itu untuk personal atau untuk corporate.
Apalagi saat ini printer bisa diperoleh dengan harga yang murah.
Untuk itu sebelum melakukan konfigurasi pada printer, pastikan
service cups sudah berjalan, gunakan perintah berikut untuk
mengaktifkan cups
$ /etc/init.d/cups start
Untuk mengkonfigurasi printer pada Ubuntu klik menu System →
Preferences → Printing (gnome-cups-manager).
Double klik pada icon New Printer, maka akan muncul tampilan
untuk menginstall printer pada Ubuntu. Pada langkah yang pertama
pilih tipe printer yang digunakan Local Printer atau Network Printer.
Jika printer kita bisa dideteksi secara otomatis oleh Ubuntu, maka pilih
jenis printer yang terdapat pada Use a detected printer, jika kita
kurang beruntung dengan printer yang dimiliki, klik Use another
printer by specifying a port dan pilih port yang digunakan untuk
menghubungkan komputer dengan printer pada list box Printer Port.
Kemudian klik button Forward.
Pada langkah kedua ini, pilih Manufacture dari printer, kemudian
pilih juga Model dari printer yang digunakan. Maka secara otomatis
Ubuntu akan menampilkan driver yang bisa digunakan pada list box
Driver. Atau jika kita memiliki driver untuk linux dari printer yang
digunakan, maka klik button Install Driver untuk menginstall driver
tersebut. Kemudian klik Forward untuk melanjutkan proses ini.
12.2 GIMP
GIMP merupakan program yang digunakan untuk melakukan photo
editing, desain grafis atau bisa juga dibilang sebagai Photosopnya
Linux. Program ini memiliki banyak plug-ins yang siap pakai. GIMP
digunakan untuk membuat images, theme, wallpaper, button yang
digunakan untuk Linux. Salah satu hasil GIMP yang sangat terkenal
adalah logo Linux yang bernama TUX. Untuk menggunakan GIMP,
klik menu Applications → Graphics → GIMP Image Editor (gimp).
Tampilan dari GIMP bisa dilihat seperti pada gambar dibawah ini,
dimana ada dua window yang muncul yaitu window GIMP itu
sendiri dan window Layer, Channel serta Paths.
Mask tadi. Pada window logo tersebut, klik menu Filters → Edge-
Detect → Neon, pada tampilan dari Neon Detection isikan nilai yang
diinginkan.
GIMP, klik menu File → Open, dan cari file yang ingin dibuka
tersebut.
Writer terbuka, kita akan bisa melihat tampilannya yang mirip dengan
tampilan Microsoft Word, sehingga jika kita sudah terbiasa
menggunakan Microsoft Word maka akan cepat juga terbiasa dalam
menggunakan program ini.
Ketika kita mengklik New Styles from Selection maka akan muncul
kotak dialog Create Style yang meminta kita untuk memasukkan
nama dari style yang akan kita buat ini, disini penulis mengisi nama
style dengan nama urangkayo, kemudian klik OK. Sekarang pada
toolbar Styles and Formatting bagian Page Styles akan muncul nama
style yang baru ini. Klik kanan pada sytle tersebut, kemudian dari
menu yang muncul, klik Modify.
Sekarang pada direktori yang kita tentukan tadi, akan ada file dengan
extension .pdf yang bisa dibuka dengan menggunakan PDF reader.
Perlu diketahui juga, program OpenOffice.org Writer ini mampu
membuka file dengan format Microsoft Word tanpa harus kita rubah
terlebih dahulu kedalam format OpenDocument Text. Jika kita ingin
merubah format Microsoft Office Word kedalam format
OpenDocument Text, klik menu File → Wizards → Document
Converter, maka akan muncul tampilan untuk meng-convert dokumen
tersebut. Tentukan tipe dokumen yang akan dirubah, apakah format
StarOffice atau Microsoft Office (Word, PowerPoint, Excel), lihat pada
gambar berikut, kemudian klik NEXT.
Icon yang ada pada standar toolbar, memiliki fungsi yang sama
dengan OpenOffice.org Writer, seperti icon untuk save, open, cut,
paste, copy dan lain sebagainya. Formatting toolbar digunakan untuk
memformat dokumen seperti mengatur style untuk font, font size, frame
border, decimal, percentage dan lainnya. Formula bar merupakan bar
yang menampilkan sel kerja kita (tempat cursor aktif), bisa juga
digunakan untuk memasukkan formula, berpindah dari satu sel ke sel
yang lain.
Sekarang kita akan mencoba menggunakan workspace pada
OpenOffice.org Calc untuk membuat sebuah perhitungan yang
sederhana. Klik sel A1, kemudian ketik “Perhitungan Sederhana
Menggunakan Spreadsheet” pada sel A1 tersebut. Kemudian semua
kata yang diketika tadi dan klik icon Merge and Center Cells yang
terdapat di formatting toolbar.
tombol NEXT, pada bagian ini kita bisa menentukan judul untuk chart
yang kita bikin.
Sejauh ini kita sudah bisa menggunakan OpenOffice.org Calc baik itu
menggunakan fungsi nya, membuat chart. Sekarang kita akan
mencoba mengedit border untuk sel dari yang kita buat tadi. Blok sel
A3:C5, kemudian klik menu Insert → Cells. Pada tampilan Format
Cells, pilih tab Border untuk mengedit border yang akan kita
tampilkan pada sel yang telah kita pilih. Pilih line arrangement, line
style yang sesuai dengan keinginan kita, kemudian klik OK untuk
menutup tampilan Format Cells. Sekarang kita bisa melihat hasil dari
border sel yang telah kita edit tadi.
Sekarang pilih lay out untuk halaman pertama dari presentasi yang
akan kita buat, maka pada akan muncul lay out yang kita pilih tersebut
pada workspace.
Seperti terlihat pada gambar 13.39 berikut ini, halaman presentasi yang
kita buat sudah disisipi dengan gambar yang kita pilih tadi.
Selanjutnya, jika masih ingin menambahkan halaman lain untuk
presentasi kita, maka langkah nya sama dengan langkah-langkah
sebelumnya. Klik icon “Slide” kemudian pilih lay out yang diinginkan
untuk halaman tersebut.
Atau bisa juga dengan menekan tombol F5 pada keyboard kita. Untuk
presentasi yang kita buat pada buku ini, tampilan nya akan terlihat
seperti ini
Akan muncul tampilan database wizard, pada bagian ini pilih Create a
new database karena kita ingin membuat database baru, kemudian
klik button Next untuk masuk ke langkah berikutnya.
inginkan pada tabel ini, jangan lupa untuk menyimpannya jika telah
selesai.
akan terbuka. Applikasi ini secara default tidak ada pada panel menu.
Untuk menampilkan aplikasi ini pada panel menu, klik kanan pada
panel menu, kemudian pilih Edit Menus
13.6 xCHM
xCHM adalah program yang digunakan untuk membuka file-file
dengan format .chm (Compiled HTML Help) yang umum digunakan
pada Windows. File –file dalam format CHM seperti e-book, manual
sebuah program, file-file help. Jika kita ingin membukanya pada Linux
maka kita membutuhkan sebuah program yang bisa untuk membuka
file dengan format ini. Program untuk membaca file CHM pada Linux
seperti xCHM, Gnochm, KCHMViewer. Untuk menginstall XCHM,
gunakan perintah berikut ini
$ sudo apt-get install xchm
Maka program ini akan dapat diakses dari menu
Applications → Graphics → xCHM, atau tekan ALT + F2, ketikkan
“xchm”
14.1 Automatix2
Automatix2 merupakan program yang ditujukan untuk
mempermudah kita didalam menginstall program-program seperti
multimedia codecs, media player dan program lainnya. Program yang
sama dengan Automatix2 adalah EasyUbuntu. Pada buku ini penulis
hanya akan membahas mengenai Automatix2. Untuk mendownload
Automatix2, lihat http://www.getautomatix.com/, sesuaikan dengan versi
Ubuntu yang digunakan. Jika anda menggunakan Ubuntu 7.10 i386,
maka download Automatix2 untuk versi Ubuntu 7.10 i386. Setelah
anda mendownload file Automatix2, misalnya untuk Ubuntu 7.10,
312 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Dan tandai dengan √ pada pilihan didepan check box Active. Lihat
gambar 14.12 berikut ini untuk lebih jelasnya
322 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
buka program nautilus satu lagi, kemudian pilih file atau direktori
yang ingin di burning, kemudian drag dan drop di window Burn:///. Jika
anda tidak terbiasa dengan tampilan ini, maka bisa mencoba untuk
menggunakan program seperti GnomeBaker, yang bisa diinstall
melalui apt, synaptic atau menggunakan Automatix2. Program ini
mampu untuk membuat CD Data, Audio CD, Video CD serta bisa
juga digunakan untuk mem-burning DVD. Jika ingin membuat CD
image pada di linux, maka langkah pertama yang harus dilakukan
adalah membuat iso images dari file atau direktori yang diinginkan dan
kemudian file iso tersebut di burning pada media CD. Untuk membuat
iso gunakan perintah mkisofs, format umumnya adalah mkisofs -o
[nama_file.iso] [path_file/direktori_sumber]. Contoh nya pada
gambar dibawah ini akan membuat file dengan nama mp3.iso dari
direktori /home/urangkayo/mp3.
14.4 Games
Mungkin adakalanya kita merasa jenuh menggunakan program-
program seperti openoffice.org, gimp, dan lainnya. Untuk mengusir
kejenuhan tersebut kita bisa memainkan game yang ada pada Ubuntu.
330 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Untuk mengedit informasi pada ID Tag lihat pada frame ID3 Tag.
Disini ada dua tab yaitu Common dan Pictures. Pada tab Common
kita bisa mengganti informasi seperti Title, Artis, Album, Track dan
sebagainya, dan pada tab Pictures kita bisa memasukkan gambar
kedalam file MP3 ini dengan mengklik button yang terdapat pada
tab Pictures. Setelah selesai mengedit tag dan pictures, klik button
untuk menyimpan hasil perubahan ini, pada saat button Save di klik,
akan muncul dialog box untuk konfirmasi penulisan tag.
30 byte Artis
30 byte Album
4 byte Tahun
Atau dengan mengklik icon firefox pada quick launch di panel Ubuntu.
Sekarang akan muncul tampilan dari browser firefox. Untuk
mengkostumisasi firefox, pada firefox klik menu Edit → Preferences,
akan muncul tampilan untuk mengedit Preferences dari firefox. Disini
terdapat tab-tab seperti tab Main, Tabs, Content, Feeds, Privacy,
Security, Advandced yang berguna untuk mengkostumisasi firefox.
15.2 Evolution
Evolution merupakan sebuah program email client yang mampu
menerima berbagai macam tipe protokol yang digunakan dalam email
sever. Evolution tidak hanya bisa digunakan untuk mengirim dan
menerima email, tapi juga bisa digunakan dalam membuat memo,
kalender dan lainnya. Untuk menggunakan Evolution sebagai email
client kita harus memiliki informasi mengenai email yang kita miliki,
seperti alamat email, tipe server untuk mengirim dan menerima email
(bisa POP3, SMTP dan lainnya). Informasi ini bisa anda tanyakan pada
ISP anda berlangganan akses internet atau pada sistem administrator
anda di kantor. Untuk bisa menggunakan Evolution, klik menu
Applications → Internet → Evolution Mail
Jika kita menggunakan Evolution untuk pertama kalinya, maka akan
muncul kotak dialog untuk mengkonfigurasi Evolution. Klik button
Forward pada kotak dialog yang muncul untuk melanjutkan proses
tersebut.
346 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Untuk mendownload email dari server yang telah kita konfigurasi tadi
klik button Send and Receive, maka Evolution akan segera
mendownload email dari server. Sesuai dengan konfigurasi yang telah
di tetapkan sebelumnya.
Untuk melihat memo yang telah dibuat, klik tab Memos pada
tampilan Evolution, kemudian klik nama memo yang ingin dibuka.
Sekarang akan muncul tampilan dari Gaim. Karena kita baru pertama
kalinya menjalankan Gaim, maka pada tampilan ini belum terdapat
account untuk messenger.
Pada protocol pilih Yahoo!, untuk screen name isikan dengan nick atau id
kita di Yahoo!. Kemudian isikan password serta alias untuk account
tersebut. Kita juga bisa menandai pilihan Remember Password jika
komputer tersebut hanya dipakai oleh anda sendiri, kemudian klik
button Save. Sekarang pada tampilan account dari Gaim akan ada
account yang telah kita buat. Untuk login menggunakan account yang
telah dibuat, klik pada check box Online.
Program lain yang bisa digunakan adalah aMSN yang khusus untuk
MSN Messenger. Kemudian Pidgins Internet Messenger, untuk
Pidgins, program ini sudah terinstall secara default pada Ubuntu 7.10
(Gutsy). Program mana yang terbaik? Semuanya itu tergantung pada
anda sendiri, silahkan mencoba satu persatu program tersebut dan
merasakan kelebihan dan kekurangannya sehingga anda bisa
menemukan program messenger yang cocok dengan kebutuhan anda
sendiri.
15.4 XChat
Internet Relay Chat atau IRC memungkinkan kita untuk bisa
berkomunikasi dengan orang lain secara real time. Untuk bisa
berkomunikasi kita harus terhubung dengan IRC Server yang
menyediakan channel tempat berkomunikasi. Untuk bisa terhubung
dengan IRC Server kita membutuhkan IRC client. Salah satu IRC client
yang populer pada Linux adalah XChat. Jika belum terinstall install
terlebih dahulu menggunakan synaptic atau apt.
$ sudo apt-get install xchat
Selanjutnya klik menu Applications → Internet → XChat IRC
$ export PATH=$PATH:~/latihan/script
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/
sbin:/bin:/usr/bin/X11:/usr/games:/home/urangkayo/b
in:/home/urangkayo/latihan/script
Sekarang jalankan lagi file latihan.sh
$ latihan.sh
Lagi Belajar Linux Ubuntu
Good Luck!
Yang perlu diingat adalah perubahan ini hanya bersifat sementara, jika
kita keluar dari session login, menutup terminal maka isi dari $PATH
akan kembali seperti semula. Jika ingin perubahan tersebut bersifat
permanen, kita harus mengedit file .profile yang terdapat dalam home
direktori. Buka file .profile dengan text editor kemudian tambahkan
baris berikut ini pada file .profile
PATH=$PATH”:~/latihan/script”
Simpan file tersebut, dan sekarang perubahannya telah bersifat
permanen walaupun kita keluar dari terminal atau session maupun
merestart OS nya. Untuk melihat efeknya, keluar dari session login
kemudian login kembali dengan username yang sama dan gunakan
perintah echo $PATH untuk melihat hasilnya. Jika kita meragukan
sebuah command berasal dari PATH yang seharusnya atau berasal dari
PATH yang tidak dipercaya, misalnya system yang digunakan sudah
dimasuki penyusup, dan mengganti sebuah command seperti ls
dengan ls miliknya sendiri, untuk itu kita bisa menggunakan command
built-in type untuk melihat command ls berasal dari mana. Pada
perintah dibawah terlihat bahwa PATH nya ada di /bin/ls. Jika PATH
nya ternyata bukan di /bin/ls bisa jadi system yang digunakan sudah
dimasuki penyusup.
$ type -a ls
ls is /bin/ls
Shell dan Command Line 363
Satu hal lagi yang perlu diingat ketika bekerja dengan shell adalah,
shell hanya akan menjalankan program yang memiliki hak akses
eksekusi, contoh berikut memperlihatkan output ketika kita
memanggil program yang tidak memiliki hak akses eksekusi. Sebagai
contoh buat script dengan nama test yang disimpan pada direktori
latihan, file ini dijalankan dari direktori tempat disimpannya
#!/bin/bash
uname -a
$ test
bash: test: Permission denied
Ada dua alternatif didalam menjalan script test yang dibuat,
$ sh test
atau dengan melakukan chmod pada file tersebut
$ chmod 755 latihan/test
$ ./test
Shell pada *NIX sudah ada sebelum GUI ada, meskipun sekarang ini
bisa dibilang sistem operasi *NIX sudah berbasiskan GUI, akan tetapi
shell tetap menawarkan sesuatu yang lebih dibandingkan GUI.
Dengan mengenal shell, berarti kita mampu untuk bekerja lebih cepat,
contohnya jika kita ingin mendelete file-file yang terdapat pada home
direktori kita yang memiliki ekstension .tmp. Pada GUI mungkin kita
akan membuka nautilus, melakukan search untuk .tmp, men-select
satu-satu file tersebut, kemudian mendeletenya. Dengan shell, cukup
jalankan perintah berikut
$ rm *.tmp
Shell menterjemahkan command yang kita input, menjalankan sebuah
program atau lebih untuk setiap command yang kita input. Gabungan
dari command- command yang di tempatkan dalam sebuah file disebut
dengan shell script. Command yang terdapat pada shell script
dijalankan secara berurutan. Dengan shell kita bisa:
364 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
$ man ls
$ info ls
Untuk mengetahui tipe shell yang sedang kita gunakan, pada shell
prompt ketik perintah berikut ini
$ /bin/echo $SHELL
/bin/bash
Ubuntu menggunakan bash sebagai shell defaultnya. Pada Ubuntu
yang penulis gunakan hanya terinstall satu jenis shell yaitu bash. Jika
pada sistem yang digunakan terinstall banyak shell, kita bisa
berpindah dari satu shell ke shell yang lain dengan menjalankan
command berikut ini:
$ /usr/bin/chsh -s /bin/zsh urangkayo
Password:
Perintah diatas akan mengganti default shell dari user urangkayo
menjadi zsh shell. Hasilnya akan kelihatan ketika kita log out dari
session yang sekarang dan login lagi, maka shell yang muncul adalah
zsh. Untuk berganti shell langsung, kita bisa mengetikkan nama shell
yang telah terinstall sebelumnya. Sekarang penulis akan mencoba
menginstall zsh shell
$ sudo apt-get install zsh
Setelah proses installasi selesai, maka untuk menggunakan shell ini
ketik pada gnome-terminal command berikut
$ /bin/zsh
Lihat tampilan prompt nya sudah berbeda dibandingkan dengan bash,
untuk lebih pastinya, jalankan lagi command echo $SHELL untuk
memastikan bahwa kita sudah pindah ke shell yang diinginkan.
Beberapa fitur penting yang mungkin berguna saat kita menjalankan
sebuah command dalam bash shell adalah:
1. Kemampuan untuk mengulang command terakhir yang
dijalankan. Jika command terakhir yang kita ketik adalah
Shell dan Command Line 367
$ stty -a
speed 38400 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof
= ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q;
stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1;
time = 0;
Selain itu kita bisa melihat kombinasi keyboard pada manual
page dari bash shell dibagian Readline. Tombol kontrol yang
memiliki arti yang umum beberapa diantaranya adalah:
Pertama
Kedua
Jika command dipisahkan oleh dua && (double ampersand),
command berikutnya akan dijalankan jika command sebelumnya
sukses di eksekusi. Jika gagal maka command yang berikutnya tidak
akan dieksekusi. Perhatikan contoh dibawah ini
$ date && printf "%s\n" "Command date sukses"
Tue Nov 13 14:45:08 WIT 2007
Command date sukses
$ date1 && printf "%s\n" "Command date"
-bash: date1: command not found
Hal ini umum dilakukan didalam mengcompile program dari source
code, dimana kita bisa menggabungkan configure dan make.
$ ./configure --prefix=xxx && make
Proses make hanya di eksekusi apabila proses ./configure sukses.
Jika command dipisahkan oleh dua || (double vertical bar), command
kedua akan dijalankan apabila command pertama gagal.
$ date || printf "%s\n" "command kedua"
Tue Nov 13 14:55:06 WIT 2007
$ date1 || printf "%s\n" "command kedua"
-bash: date1: command not found
command kedua
Selain multiple command, shell juga bisa menerima baris command
lebih dari satu baris, misalkan kita mengetik sebuah command yang
panjang dan karena lebar screen yang terbatas, kita bisa memecahnya
menjadi beberapa baris dengan menggunakan tanda \ (backslash) di
setiap akhir baris, dimana nanti akan muncul tanda >
Sebagai contoh kita ingin menampilkan string "baris pertama baris
kedua baris ketiga", untuk itu pada prompt ketik echo baris pertama \
Shell dan Command Line 375
Pipeline
Pipeline akan mengirimkan output sebuah command menjadi input
bagi command berikutnya. Contohnya, pada command dibawah ini,
command ls akan menghasilkan daftar file yang ada pada pada
direktori /usr/bin kepada command grep, kemudian grep akan
menampilkan output dari ls tersebut hanya yang sesuai dengan
expression yang ada pada grep, disini adalah zsh.
$ ls -l /usr/bin | grep zsh
lrwxrwxrwx 1 root root 28 2007-11-12
06:41 zsh -> /etc/alternatives/zsh-usrbin
Dengan pipeline kita bisa menggabungkan banyak command, lihat
contoh berikut ini. Pada command pertama, output ls di kirim ke
command sort, dimana sort akan mengurutkan output dari ls tersebut,
kemudian hasilnya dikirim ke command less, yang berguna apabila
hasil sort, ternyata lebih dari satu layar, maka setiap tampilan satu
layar, output tersebut akan di pause sampai kita tekan tombol SPACE.
$ ls -l /usr/lib/ | sort -n | less
$ cut -d: -f1 < /etc/passwd | sort
backup
bin
Perintah cut diatas akan menampilkan kolom pertama dari file
/etc/passwd dan mengurutkannya.
Background jobs
Umumnya pada shell untuk bisa menjalankan perintah yang lain, kita
harus menunggu perintah sebelumnya selesai. Contohnya jika kita
mengekstrak file kernel dalam bentuk .tar.bz2
$ tar xjvf file_kernel.tar.bz2
Sebelum proses ini selesai, maka kita tidak bisa menjalankan perintah
yang lain. Agar kita bisa menjalankan perintah lain pada waktu
perintah yang sebelumnya masih berjalan, maka tambahkan tanda &
didepan perintah tersebut, yang membuat perintah tersebut berjalan
Shell dan Command Line 379
Shell Alias
Shell alias digunakan untuk mempersingkat sebuah command.
Misalkan kita sering menggunakan perintah ls -lah dalam melihat isi
sebuah direktori, dengan alias kita bisa mempersingkatnya, misalkan
dengan ll
$ alias ll='ls -lah'
$ ll
Setelah kita mengetikkan alias diatas, output dari perintah ls -lah akan
sama dengan output saat kita mengetikkan ll pada prompt shell. Agar
alias tersebut bisa permanen, kita harus menambahkannya pada file
.bashrc di home direktori kita.
Mengkostumisasi Prompt
Seperti yang telah kita lihat, prompt dari bash shell untuk user biasa
adalah $ dan # untuk root, yang diikuti dengan informasi seperti nama
user, working direktori, hostname. Tampilan ini bisa kita modifikasi
dengan memodifikasi isi variable PS1 (prompt string 1) yang
digunakan oleh bash sebagai prompt utama. Sekarang kita lihat isi dari
variable PS1 terlebih dahulu
$ echo $PS1
${debian_chroot:+($debian_chroot)}\u@\h:\w\$
Contohnya kita ingin menampilkan nama shell setelah hostname
$ export PS1="\u@\h using->\s:\w\$ "
urangkayo@gateway using->-bash:~$ echo $PS1
\u@\h using->\s:\w$
Terlihat diatas, begitu perintah export selesai, prompt shell kita juga
ikut berubah. Escape karakter yang bisa digunakan dalam
memodifikasi shell prompt pada bash bisa dilihat pada tabel 16.2
dibawah ini. Anda bisa menggunakan daftar yang ada pada tabel ini
didalam melakukan kustomisasi shell prompt sesuai yang diinginkan:
382 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
\h Hostname
\l tty device
\n New line
\r carriage return
\s Nama shell
\u Username
\v Bash version
\V Bash release
\\ Backslash
Character Meaning
~ Home directory
# Comment
$ Variable expression
* String wildcard
( Start subshell
) End subshell
| Pipe
? Single-character wildcard
urangkayo book's
Perintah echo yang ini menampilkan string yang ingin kita tampilkan.
Bagaimana hal ini terjadi, sekarang perhatikan 'urangkayo book' akan
dianggap sebagai satu string, kemudian \' dianggap sebagai escape
karakter untuk menampilkan tanda ' (single quote) dan selanjutnya 's'
akan menampilkan karakter s, sehingga keseluruhan baris tersebut
akan menampilkan string urangkayo book's. Hal ini akan berbeda jika
kita menggunakan perintah printf. Anda bisa mencoba sendiri dengan
mengganti echo menjadi printf pada tiga perintah diatas.
Shell options
Bash shell mempunyai beberapa options yang bisa kita atur, beberapa
diantaranya telah disebutkan seperti options untuk emacs mode, vi
mode. Untuk melakukan modifikasi sebuah options pada bash shell
kita bisa menggunakan perintah set -o options_name, seperti set -o
emacs untuk merubah mode editing menjadi emacs mode. Beberapa
options lain seperti
ignoreeof : tidak mengizinkan penggunaan CTRL + D untuk log out
$ set -o ignoreeof
Sekarang tekan tombol CTRL + D berbarengan maka akan muncul
seperti dibawah ini
$ Use "logout" to leave the shell.
noclobber : tidak mengizinkan penggunaan output redirection (>)
untuk meng-overwrite file yang sudah ada. Contoh jika options ini
tidak diset, dan kita mempunyai file dengan nama document1.txt,
pada saat kita menggunakan perintah cat > document1.txt, maka file
yang lama akan dioverwrite oleh file yang baru. Jika option ini diset
$ set -o noclobber
$ touch test
$ cat > test
-bash: test: cannot overwrite existing file
noglob : tidak mengizinkan penggunaan wildcard expansion * dan ?
Shell dan Command Line 387
$ set -o noglob
$ ls -l /usr/local/sbin/a*
ls: /usr/local/sbin/a*: No such file or directory
Terlihat options noglob akan menganggap a* sebagai sebuah file
bukan sebagai wilcard untuk karakter apapun, sehingga ketika kita
melakukan perintah ls, akan muncul error No such file or directory.
nounset : memunculkan pesan error jika kita menggunakan variable
yang tidak terdefenisi. Contoh buat sebuah variable
$ NICKNAME=urangkayo
$ echo $NICKNAME
urangkayo
$ unset -v NICKNAME
$ echo $NICKNAME
Untuk perintah diatas, yang pertama kita mendefenisikan variable
NICKNAME dengan value urangkayo, selanjutnya kita panggil
variable tersebut menggunakan echo $NICKNAME yang
memunculkan urangkayo pada screen. Perintah ketiga meng-unset
atau menghapus variable NICKNAME, kemudian kita coba panggil
lagi dengan echo, dimana hanya akan memunculkan baris kosong
pada screen. Sekarang aktifkan options nounset pada shell
$ set -o nounset
$ echo $NICKNAME
-bash: NICKNAME: unbound variable
Pada perintah yang kedua, kita panggil variable yang sebelumnya
telah dihapus, sehingga akan muncul error seperti diatas. Untuk
melihat options shell apa saja yang aktif atau non aktif gunakan
perintah dibawah ini, options yang aktif ditandai dengan “on” dan
yang tidak aktif ditandai dengan “off”
$ set -o
388 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
$ logout
Modifikasi seperti merubah prompt shell secara permanen, mode
editing yang digunakan oleh shell bisa ditempatkan pada file .profile.
Untuk interaktif session yang bukan login session, maka bash akan
melihat pada file /etc/bash.bashrc dan .bashrc. Pada .bashrc,
umumnya digunakan untuk menempatkan sebuah fungsi alias bagi
sebuah command, misalnya alias ls=‟ls –qF‟. Pada distro Ubuntu, file
.bashrc ini juga dijalankan pada waktu login session, hal ini bisa dilihat
pada file .profile di Ubuntu terdapat baris berikut
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi
.bash_logout merupakan file yang dijalankan pada saat kita logout
dari session bash shell. Jika kita ingin menghapus isi direktori tertentu
pada saat logout, maka perintah tersebut harus ditempatkan pada file
.bash_logout. Sedangkan .bash_history berisikan command-command
yang pernah kita input pada shell.
dot File pada Linux
Linux biasanya menyimpan file-file konfigurasi dari user, sistem, shell
dalam bentuk file yang diawali dengan tanda . (titik) didepan nama
filenya. Contohnya .bash_history, .bashrc, .bash_logout. File-file ini
dinamakan dengan nama dot file, yang berisikan konfigurasi dari
program atau shell. Umumnya file-file ini terdapat pada home
direktori dari user, dan file ini merupakan file yang dihidden
(tersembunyi jika di lihat dengan perintah ls -a, untuk melihatnya
gunakan argument -a, ls -la). Tidak semua file dengan tanda . (titik)
merupakan dot file. Jika ingin membuat file atau direktori yang
390 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
dihidden awali nama file atau direktori tersebut dengan tanda . (titik),
contoh
$ mkdir .hidden
$ touch .hidden_file
Untuk melihatnya gunakan perintah ls dengan options -a.
$ ls -la
Tanda . (titik) selain berarti hidden file, juga memiliki arti khusus bagi
shell. Sekarang buat direktori kosong dengan menggunakan perintah
berikut
$ mkdir direktori_kosong
$ cd direktori kosong
$ ls -la
. ..
Hasil dari ls -la pada direktori ini berupa tanda . (titik satu kali) dan ..
(titik dua kali). Tanda titik satu kali disini berarti current direktori
(merujuk pada direktori kita aktif sekarang) sedangkan tanda titik dua
kali berarti parent direktori (merujuk pada satu direktori diatas
direktori sekarang. Contoh penggunaannya
$ cd ..
Perintah diatas berarti , pindah (change direktori) satu tingkat keatas
dari direktori aktif sekarang, jika direktori aktif kita adalah
/home/urangkayo/direktori_kosong, maka perintah cd .. diatas akan
membawa kita ke direktori /home/urangkayo. Yang perlu diingat
adalah ketika kita bekerja dengan file seperti membuat file atau
direktori, pemberian tanda titik berarti hidden file atau direktori pada
Linux.
Permisions pada File dan Direktori
Pada Linux, permisi file (file permission) dan direktori sangat berperan
penting untuk memproteksi file dan direktori dari akses yang tidak
sah. Pada shell kita bisa menggunakan perintah ls –l untuk melihat
Shell dan Command Line 391
Permisi file yang dilambangkan diatas bisa ditulis dengan angka yang
disebut dengan absolute mode, dimana
4 : mewakili permisi baca
2 : mewakili permisi tulis
1 : mewakili permisi eksekusi
Jika ada file dengan permisi rwx, bisa disimbolkan dengan angka 7 (4
+ 2 + 1). Perintah-perintah yang berhubungan dengan file permission ini
adalah chmod (untuk merubah permisi file), chown (merubah pemilik
file) dan chgrp (merubah group file).
Simbol-simbol yang biasa digunakan dalam merubah permisi dari file
adalah :
u : owner atau user
g : group files
o : others
a : all (default dari file permisi jika tidak didefenisikan)
+ : untuk menambah permisi
- : untuk mengurangi permisi
= : mereset permisi (menghapus semua permisi file yang ada)
Berikut ini akan diberikan contoh penggunaan dari perintah chmod
$ ls –l
-rw-r--r-- 1 urangkayo urangkayo 24 2006-12-19 16:17 file1
-rw-r--r-- 1 urangkayo urangkayo 24 2006-12-19 16:30 file2
$ chmod = file2
$ ls -l file2
---------- 1 urangkayo urangkayo 24 2006-12-19 16:40 file2
$ chmod u+x file1
$ ls –l
-rwx-r--r-- 1 urangkayo urangkayo 24 2006-12-19 16:50 file1
Shell dan Command Line 393
Symbolic Links
Symbolic link merupakan file yang merujuk kepada file lain, seperti
halnya shortcut pada MS Windows. Pada output dari ls -l dibawah ini
terlihat bahwa file umask_file2 merupakan symbolic link dari file
umask_file, hal ini ditandai dengan tanda -> yang merujuk kepada file
aslinya. Penggunaan symbolic links tidak menghabiskan ruang pada
harddisk, hal ini berbeda dengan penggunaan hard links.
$ ls -l
total 4
drwxr-x--x 2 urangkayo urangkayo 4096 2007-11-14
09:26 umask_dir
-rw-r----- 1 urangkayo urangkayo 0 2007-11-14
09:26 umask_file
lrwxrwxrwx 1 urangkayo urangkayo 10 2007-11-15
18:43 umask_file2 -> umask_file
Untuk membuat symbolic links, gunakan perintah ln -s nama_file
nama_symbolic_links. Yang perlu diingat adalah, jika kita melupakan
option -s, maka kita akan membuat hard links, bukan symbolic links.
Sekarang penulis akan mencoba membuat symbolic links dari
umask_dir, untuk itu gunakan perintah
$ ln -s umask_dir/ dir_simbolic
Gunakan perintah ls -l untuk melihatnya, yang terlihat pada gambar
16.2 berikut ini. Pada gambar 16.2 juga terlihat bahwa symbolic links
akan diberi warna yang sama baik itu symbolic link untuk file maupun
untuk direktori. Perhatikan juga ketika penulis men-delete file
umask_file, ketika dilakukan perintah ls -l, maka symbolic links tidak
ikut terhapus, akan tetapi file symbolic ini akan menjadi broken links,
yang ditandai dengan warna merah pada nama filenya.
394 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Selain environment variable yang sudah ada dalam sistem itu sendiri,
kita juga bisa mendefenisikan sendiri environment variable. Misalkan
kita ingin membuat environment variable untuk X yang menunjuk
kepada direktori /home/urangkayo/latihan/temp/sampah sehingga
kalau kita ketik cd $X pada shell akan langsung menuju ke
/home/urangkayo/latihan/temp/sampah.
$ X=/home/urangkayo/latihan/temp/sampah
$ export X
$ cd $X
Jika kita ingin menghapus isi dari variable X, gunakan perintah unset.
$ unset X
Umask
Umask digunakan untuk menentukan hak akses default untuk file
yang dibuat oleh user. Pada Ubuntu nilai umask default adalah 022,
yang bisa dilihat dengan mengetikkan perintah umask pada shell.
Untuk mengetahui cara kerja umask, kita harus mengetahui mengenai
file permission pada Linux, seperti yang sudah dibahas diatas. Umask
menggunakan absolute mode permission dari chmod. Seperti yang
telah kita ketahui, hak akses terdiri atas owner,groups, others, dimana
bisa dilihat seperti pada gambar berikut
memiliki hak akses read, execute (5), others memiliki hak akses execute
(2), yang bisa dilihat pada tabel berikut
4 2 1 4 0 1 0 0 1
7 5 1
$ ls -l
total 10
drwxr-xr-x 2 urangkayo urangkayo 2048 2006-12-17
04:47 admin
$ ls -la
total 17
drwxr-xr-x 7 urangkayo urangkayo 5120 2006-12-17
04:49 .
drwxr-xr-x 30 urangkayo urangkayo 2048 2006-12-18
18:09 ..
drwxr-xr-x 2 urangkayo urangkayo 2048 2006-12-17
04:47 admin
cp
Perintah untuk men-copy sebuah file atau direktori. Sintak dari
perintah ini adalah cp [file1] [file2] atau cp [file1] [file2] [file…]
[direktori_tujuan], contoh penggunaannya, perintah berikut akan
meng-copy file latihan1 dengan nama latihan2
$ cp latihan1 latihan2
Meng-copy file latihan1 latihan2 ke direktori temp
$ cp latihan1 latihan2 temp/
Untuk meng-copy direktori, gunakan option -r pada perintah cp.
$ cp -r direktori1 direktori2
mv
Perintah untuk me-rename atau untuk memindahkan sebuah file atau
direktori. Sintak perintah ini adalah mv [file1] [file2] atau mv [file1
file2...] [direktori_tujuan] atau mv [direktori] [direktori], contoh
penggunaannya, me-rename file latihan1 menjadi latihan3
$ mv latihan1 latihan3
Memindahkan file latihan3 ke direktori temp
404 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
$ mv latihan3 temp/
Me-rename direktori temp menjadi sampah
$ mv temp sampah
rm
Untuk menghapus file. Jika ingin menggunakannya untuk menghapus
direktori tambahkan parameter –r didepan perintah rm. Sintaknya rm
[nama_file/nama_direktori], contoh penggunaannya, menghapus file
dengan nama latihan2
$ rm latihan2
Menghapus sebuah direktori yang bernama temp
$ rm -r temp
Yang perlu diingat dalam menggunakan perintah rm adalah ketika
menggunakan argument -f, bila kita berada sebagai user root dan
mengetikkan perintah rm -rf / , maka hal itu akan menghapus semua
direktori dan file pada root file sistem tanpa adanya konfirmasi. Untuk
itu kita perlu hati-hati dalam menjalankan sebuah perintah pada shell.
Untuk menghindari hal ini, kita bisa memberikan alias pada perintah
rm agar bekerja dalam mode interaktif ketika kita menggunakan rm,
alias ini bisa menggunakan perintah alias atau pada file .bashrc agar
perubahannya permanen
$ alias rm=’rm -i’
$ echo "alias rm='rm -i'" >> ~/.bashrc
Sekarang jika kita melakukan perintah rm, akan terlihat seperti ini
$ rm file2.txt
rm: remove regular file `file2.txt'? y
ln
Untuk membuat link dari sebuah file atau direktori. Sintaknya adalah
ln [file_target] [nama_link], contoh penggunaannya,
$ ln –s latihan latihan.link
Shell dan Command Line 405
touch
Perintah ini digunakan untuk membuat file kosong. Jika file tersebut
sudah ada, maka perintah ini akan mengganti time stamp dari file
tersebut. Sintaknya touch [nama_file], contohnya
$ touch latihan1
$ ls –l
-rw-r--r-- 1 urangkayo urangkayo 0 2006-12-18 20:55
latihan1
Sekarang jalankan lagi perintah touch untuk membuat file yang sama.
$ touch latihan1
$ ls -l
-rw-r--r-- 1 urangkayo urangkayo 0 2006-12-18 21:02
latihan1
Bandingkan time stamp latihan1 pertama dengan latihan1 kedua.
echo
Perintah untuk menampilkan standar output pada shell. Sintak dari
perintah ini adalah echo [argument], contoh penggunaannya
$ echo Lagi Belajar Ubuntu Ne..
Lagi Belajar Ubuntu Ne..
pwd
pwd atau print working directory berguna untuk mengetahui direktori
aktif kita, jika kita lupa dengan direktori kita bekerja. Sintaknya pwd,
contoh penggunaannya
$ pwd
/home/urangkayo
cd
cd atau change direktory, perintah yang digunakan untuk berpindah-
pindah ke suatu direktori. Sintak dari perintah ini adalah cd [path],
contoh penggunaannya
406 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
$ cd temp
$ pwd
/home/urangkayo/latihan/temp
$ cd ..
$ pwd
/home/urangkayo/latihan
$ cd
$ pwd
/home/urangkayo
mkdir
Digunakan untuk membuat direktori baru. Sintaknya mkdir
[nama_direktori]. Dalam membuat direktori, yang perlu diingat
adalah, nama direktori tidak boleh sama dengan nama file (berbeda
dengan Windows, yang nama direktori bisa sama dengan nama file,
pada Linux kita tidak bisa melakukan hal ini). Contoh penggunaannya
$ mkdir test
$ mkdir satu dua tiga
$ mkdir -p coba/coba1
Pada perintah yang kedua, kita membuat banyak direktori dengan
mengetikkan satu kali perintah mkdir, sedangkan pada perintah yang
ketiga, kita membuat parent directory beserta sub direktorinya.
rmdir
Perintah yang digunakan untuk menghapus direktori. Direktori yang
akan dihapus harus berada dalam keadaan kosong. Sintak dari
perintah ini adalah rmdir [nama_direktori], contoh penggunaannya
$ rmdir dua
Jika direktori yang akan dihapus tidak berada dalam keadaan yang
kosong, maka akan muncul pesan error ketika kita mencoba
menghapus direktori tersebut
Shell dan Command Line 407
$ rmdir coba
rmdir: coba: Directory not empty
useradd
Perintah untuk membuat user baru dalam sistem Linux. Sintaknya
adalah useradd [nama_user], contoh penggunaannya
$ sudo useradd anif
Password:
Pada perintah diatas kita menggunakan sudo sebelum perintah
useradd, karena pada Ubuntu, defaultnya root account tidak
diaktifkan, sehingga untuk bisa menggunakan hak setara root kita
menggunakan sudo pada perintah diatas.
userdel
Perintah ini digunakan untuk menghapus user dari sistem Linux, dan
biasanya juga menghapus home direktori dari user yang
bersangkutan. Sintaknya userdel [nama_user], contohnya
$ sudo userdel anif
passwd
Perintah untuk mengubah atau memberikan password kepada user.
Sintaknya passwd, contoh penggunaannya
$ passwd
Changing password for urangkayo
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Pada contoh diatas, mengganti password dari user yang sedang aktif.
Untuk mengganti password user lain, contohnya adalah
$ sudo passwd anif
408 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Perintah diatas akan meng-extract isi dari file test.tar kedalam direktori
test.
gzip dan bzip2
Perintah gzip dan bzip2 digunakan untuk mengkompres file. Biasanya
file yang dikompres adalah file yang sudah di arsip terlebih dahulu
dengan menggunakan perintah tar, contohnya
$ gzip test.tar
Perintah ini akan mengkompres file test.tar menjadi test.tar.gz. Untuk
meng-extract file test.tar.gz, kita bisa menggunakan perintah berikut
ini
$ tar xzvf test.tar.gz
Untuk membuat file terkompres dengan menggunakan bzip2, pada
shell ketikkan perintah berikut ini
$ bzip2 test.tar
Hasilnya adalah file dengan nama test.tar.bz2. Untuk meng-extract
gunakan perintah berikut ini
$ tar xjvf test.tar.gz
df
Untuk melihat free space dari harddisk yang ada pada sistem.
Gunakan flag –H untuk memudahkan dalam memahami outputnya
$ df –H
Filesystem Size Used Avail Use% Mounted on
/dev/hda1 6.0G 410M 5.2G 8% /
top
Menampilkan informasi dari sistem, proses yang sedang berjalan dan
resources dari sistem, disini kita bisa mengetahui lama waktu up dari
system yang digunakan, perintah ini sangat berguna didalam melihat
informasi mengenai system pada saat running
$ top
Shell dan Command Line 411
uname
Perintah ini berguna untuk mengetahui sistem yang kita gunakan,
termasuk kernel, tipe processor. Gunakan flag –a untuk menampilkan
informasi mengenai sistem.
$ uname -a
lsb_release
Perintah ini digunakan untuk mengetahui rilis dari Linux yang kita
gunakan, gunakan dengan flag –a
$ lsb_release -a
Untuk perintah-perintah lain yang bisa digunakan pada Linux bisa
dilihat pada http://linuxcommand.org dan http://www.tdlp.org serta
lampiran E dari buku ini, karena Linux memiliki banyak perintah
yang bisa digunakan.
16.3 Vi/Vim
vi merupakan teks editor yang pertama kalinya dibuat untuk UNIX,
dimana teks editor ini sangat sederhana, memiliki ukuran yang kecil
tapi mempunyai fungsionalitas yang besar. Saat ini banyak versi dari
vi yang ada seperti nvi, vim, vile, elvis. Pada GNU/Linux umumnya
menggunakan vim yang diciptakan oleh Bram Moolenar's
berdasarkan vi. Pada Ubuntu saat kita mengetikkan vi atau vim pada
shell, maka program yang dijalankan adalah sama yaitu vim. VIM
merupakan singkatan dari VI Improved, dimana vim memiliki fitur
seperti multiple undo yang tidak terdapat pada vi versi lama. Untuk
memulai vi/vim pada shell (jika menggunakan GUI, jalankan gnome-
terminal) bisa dengan cara
vi
vi options file
vi options +num file
Jika kita hanya mengetikkan perintah vi tanda options apapun, akan
muncul tampilan seperti pada gambar berikut
412 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Gambar 16.6
Maka kita akan kembali ke shell. Sekarang coba lagi jalankan vi
dengan mengetikkan perintah berikut
$ vi lat_vim00.txt
Maka tampilan vi yang muncul adalah seperti terlihat pada gambar
dibawah ini
tekan tombol y dan kemudian tekan tombol w) pada kata yang ingin
dicopy. Sebagai contoh, kita akan mengcopy kata „Lagi‟ dan akan
ditempatkan di bawah baris pertama, untuk itu tempatkan cursor
diatas huruf „L‟, tekan yw, kemudian tekan o (huruf o kecil) sehingga
muncul baris baru dibawah baris pertama (menekan o membawa kita
kedalam mode insert), lanjutkan dengan menekan ESC agar kembali
ke mode command dan tekan p untuk melakukan paste kata „Lagi‟.
Untuk meng-cut karakter bisa menggunakan x kemudian tempatkan
cursor pada baris yang ingin dipastekan dan tekan p, untuk meng-cut
kata gunakan dw dan tekan p untuk mempaste. Untuk meng-cut satu
baris penuh, gunakan dd dan tekan p maka baris tersebut akan
dipastekan dibawah cursor.
Cara belajar VIM yang paling efektif adalah dengan langsung
menjalankan vim dan mempraktekkan shortcut pada command mode
atau insert mode. Untuk bisa mempelajari vim dengan efektif, kita bisa
menggunakan vimtutor yang merupakan bagian dari packages vim-
runtime, selain itu vim-runtime juga dibutuhkan jika kita ingin
menggunakan menu help pada vim, GNU/Linux Ubuntu secara
default menggunakan vim-tiny dimana packages ini sangat minimalis
sekali, hal ini bisa dilihat dengan mengetikkan perintah :help pada
vim, yang akan terlihat bahwa help tersebut tidak tersedia.
$ cp -r /usr/share/vim/vim70/doc/ ~/vim_doc
$ cd vim_doc/
$ perl vim2html.pl tags *.txt
Processing tags...
Processing arabic.txt...
...
Processing workshop.txt...
Writing stylesheet...
done.
Setelah proses konversi selesai, maka akan terdapat file-file dengan
ekstensi .html pada direktori vim_doc yang bisa dibuka dengan
browser, sekarang buka file usr_toc.html dengan browser untuk
melihat daftar isi dari dokumentasi vim, untuk mempelajari sebuah
topik yang ada di usr_toc tersebut, klik pada link yang sesuai
Key Keterangan
Key Keterangan
:w Menyimpan file
Key Keterangan
16.4 Emacs
Emacs merupakan teks editor yang umum digunakan pada system
operasi Linux selain teks editor vi. Merupakan acronym dari Editor
MACroS. Emacs merupakan teks editor yang diciptakan oleh Richard
M. Stallman. Teks editor ini menggunakan CTRL dan meta key (ALT
atau ESC) dalam editing teks. Jika menggunakan emacs pada X11,
maka yang muncul adalah emacs dalam mode GUI. Untuk
menggunakan emacs pada terminal kita harus menggunakan -nw
$ emacs -nw nama_file
Pada emacs, penggunaan tombol CTRL dilambangkan dengan C-,
misalnya C-x berarti tekan CTRL dan x secara bersamaan. Jika ada
penulisan C-x, C-s berarti tekan CTRL dan x bersamaan, lepaskan
kemudian dilanjutkan dengan penekanan CTRL dan s bersamaan. C-x,
C-s digunakan untuk menyimpan hasil teks yang ditulis kedalam
sebuah file, dimana pada bagian bawah dari layar emacs akan terdapat
tulisan "Wrote /home/urangkayo/latihan/latihan00.txt", tentunya untuk
422 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
path dan nama dari file tidak akan sama dengan komputer yang anda
gunakan.
Meta keys pada emacs, yang diberi simbol M- berarti penekanan ALT
atau ESC dengan tombol lainnya. Jika kita menggunakan ESC sebagai
meta key, contohnya M-w meta key untuk mengcopy teks, M-w
berarti tekan ESC kemudian lepaskan dan lanjutkan dengan
penekanan tombol w. Hal yang berbeda apabila kita menggunakan
ALT sebagai meta key, dimana M-w berarti tekan ALT dan w secara
bersamaan. Jika menjalankan emacs pada gnome-terminal, maka meta
key yang digunakan adalah ESC.
Key Keterangan
C-g Abort
C-y Yank/Paste
local7.* /var/log/dhcpd.log
host-name ;
Memberikan host name untuk client, jika client dikonfigurasi tanpa
hostname.
hardware <type> <address> ;
Menspesifikasikan alamat hardware address, yang umum digunakan
seperti MAC address pada ethernet. Untuk type disini bisa ethernet
atau token-ring.
fixed-address <ip_address> ;
Memberikan IP address tertentu untuk host tertentu. Umumnya
digunakan bersama MAC address.
ddns-update-style interim | none ;
Membuat DHCP server melakukan update DNS server secara
otomatis untuk client yang mendapat ip atau merelease ip address.
Ganti interim dengan none untuk menonaktifkannya.
authoritative ;
Options yang digunakan untuk memberitahukan DHCP server
sebagai official DHCP Server pada LAN
option ip-forwarding off | on ;
Jika diaktifkan maka DHCP server akan menjadi router yang akan
melewatkan packet untuk jaringan yang lain.
Untuk mengetahui option-option lain yang terdapat pada dhcpd.conf
lihat manual dari dhcpd.conf dan dhcp-options dengan perintah
berikut ini
$ man dhcp-options
$ man dhcpd.conf
Pada sub bab selanjutnya akan diperlihatkan bagaimana cara
mengkonfigurasi dhcpd.conf agar bisa digunakan oleh client.
DHCP Server 433
2h ; minimum
)
Catatan: Pada penulisan diatas baris “@ IN SOA ns1.scorvia.or.id.
hostmaster.scorvia.or.id. (“ seperti ditulis dalam dua baris karena keterbatasan lebar
buku ini, pada penulisan yang sebenarnya harus ditulis dalam satu baris.
ns1 IN A 192.168.0.253
www IN CNAME ns1.scorvia.or.id.
atau
ns1 IN A 192.168.0.253
www IN A 192.168.0.253
hanya boleh ditulis salah satu dari host tersebut untuk alamat IP nya
pada PTR, berikut ini merupakan contoh penulisan yang salah
253 IN PTR ns1.scorvia.or.id.
253 IN PTR www.scorvia.or.id.
Penulisan yang benar adalah
253 IN PTR ns1.scorvia.or.id.
atau
253 IN PTR www.scorvia.or.id.
Penulisan PTR ini harus diperhatikan terutama untuk mail server. Jika
host yang digunakan untuk mail server juga digunakan untuk web
server dengan menggunakan CNAME, maka pada PTR RR yang
harus didefenisikan adalah mail server bukan CNAME nya. Contoh
nya
mail IN A 192.168.0.253
www IN CNAME mail.scorvia.or.id.
atau
mail IN A 192.168.0.253
www IN A 192.168.0.253
Maka pada PTR RR, harus ditulis
253 IN PTR mail.scorvia.or.id.
Text (TXT RR), untuk mendefenisikan text yang pada zona file.
scorvia.or.id IN TXT "Domain scorvia GuiLd"
NSEC, RRSIG, DS, DNSKEY, KEY Resource Records, digunakan
untuk konfigurasi secure DNS (DNSSEC)
454 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Reverse Mapping
Reverse mapping yaitu pemetaan alamat IP kedalam sebuah nama,
seperti melakukan trace terhadap sebuah IP spammer, cracker. Dan
juga mail system menggunakan reverse mapping didalam
menyediakan authentication yang sederhana menggunakan DNS
lookup untuk mengkonfirmasi bahwa IP tersebut memang
merepresentasikan host yang bersangkutan. Query DNS reverse
mapping dilakukan dengan cara recursive atau iterative query
menggunakan spesial domain name yang disebut dengan IN-
ADDR.ARPA (gTLD nya adalah .ARPA dan SLD .IN-ADDR, disini
ARPA singkatan dari Address and Routing Parameter Area). Seperti
yang telah diketahui, domain ditulis dari kiri ke kanan dari yang
terendah sampai yang tertinggi
www.scorvia.or.id.
Pada potongan zona file sebelumnya, kita sudah mengetahui IP dari
www.scorvia.or.id adalah 192.168.0.253, agar IP ini bisa digunakan
operasi query DNS maka harus di rubah kedalam nama.
192.168.0.253
Berbeda dengan domain name, untuk IP level tertinggi nya adalah
bagian kiri dan level terendah ada di bagian kanan. Pada contoh ini
level tertinggi adalah 192, dengan nomor host 253. Untuk bisa
merubah IP ini jadi sebuah nama, maka kita harus membuat domain
name dengan menggunakan urutan yang terbalik (reverse) dan
DNS Server 457
Type-Type DNS
Master Name Server
Dikenal juga dengan nama Primary Name Server. DNS yang
dikonfigurasi menjadi master name server mengandung satu atau
lebih zona file dimana DNS ini menjadi authoritative untuk zona
tersebut. File konfigurasi ini dibaca oleh name server dari lokal file
system. File konfigurasi zona untuk master name server berada pada
lokal system dimana name server tersebut berjalan. Pada BIND
menggunakan keyword master didalam menentukan apakah name
server tersebut akan menjadi master atau tidak, yang dideklarasikan
pada named.conf atau named.conf.local pada Ubuntu, contohnya
zone "scorvia.or.id" in {
type master ;
file "/etc/bind/db.scorvia.or.id" ;
allow-transfer { 192.168.0.252 ; } ;
allow-update { none ; } ;
} ;
Pada potongan diatas juga terlihat bahwa name server ini hanya
mengizinkan transfer zona kepada IP 192.168.0.252 yang menjadi slave
name server. Suatu name server yang dikonfigurasi sebagai master
untuk zona authoritative nya apabila menerima query untuk zona
dimana dia tidak menjadi master atau slave, name server ini akan
melakukan tindakan sesuai dengan konfigurasi dari name server
tersebut,yaitu
Jika konfigurasi caching diaktifkan dan recursive query
diizinkan, name server ini akan memberikan jawaban yang
lengkap kepada user yang melakukan request.
Jika caching diaktifkan dan iterative, name server ini akan
memberikan jawaban yang lengkap jika terdapat dalam
cache nya, jika tidak hanya akan memberikan refereal
Jika caching tidak diizinkan, server akan memberikan
referral pada user yang melakukan request.
DNS Server 459
Address: 66.249.89.99
Name: www.l.google.com
Address: 66.249.89.104
Name: www.l.google.com
Address: 66.249.89.147
Jika data yang direquest tidak ada pada cache maka caching name
server akan melakukan request secara langsung pada DNS
authoritative untuk domain tersebut, dimana outputnya tidak terdapat
Non-authoritative answer. Jika user melakukan request lagi untuk
yang kedua dan seterusnya sampai TTL dari cache tersebut expire,
caching name server akan mengambil jawaban dari cache nya yang
ditandai dengan Non-authoritative answer. BIND defaultnya akan
meng-cache RR, karena options recursion aktif secara default, jika kita
tidak mendeklarasikannya secara spesifik pada named.conf
Forwarding Name Server
Forwarding atau Proxy name server akan memforward seluruh query
dari client kepada DNS lain yang di sebutkan pada file konfigurasi
dari name server ini. BIND menggunakan keyword forwarders untuk
forwarding name server
forwarders {
202.134.0.155;
202.134.2.5;
};
Stealth Name Server
Merupakan name server yang tidak kelihatan pada NS RR yang
terlihat oleh publik untuk domain tersebut.
Authoritative Only Name Server
Name server ini hanya memberikan jawaban yang authoritative dan
tidak melakukan caching. Umum digunakan pada name server seperti
root name server. DNS ini tidak mensupport query secara recursive.
DNS Server 461
Zona Maintenance
proses zona maintenance dapat berupa transfer zona file dimana satu
zona file digunakan untuk mengupdate banyak server. Fitur-fitur yang
digunakan dalam zona maintenance adalah
Full Zona Transfer (AXFR)
Proses full zona transfer kan dilakukan oleh slave name server SOA
RR serial number pada master name server lebih besar daripada SOA
RR serial number pada slave name server. Jika ini terjadi, slave name
server akan melakukan request untuk full zona transfer. Hal ini bisa
dilihat dari file log name server baik itu log dari master name server
atau slave name server. AXFR menggunakan TCP port 53 dalam
proses transfernya. Log dibawah merupakan log pada master name
server
Nov 18 13:18:22 ns1 named[4117]: client
192.168.0.252#54251: transfer of 'scorvia.or.id/IN': AXFR
started
Nov 18 13:18:22 ns1 named[4117]: client
192.168.0.252#54251: transfer of 'scorvia.or.id/IN': AXFR
ended
Berikut ini adalah log pada slave name server
Nov 18 13:18:29 ns2 named[4421]: zone scorvia.or.id/IN:
Transfer started.
Nov 18 13:18:29 ns2 named[4421]: transfer of
'scorvia.or.id/IN' from 192.168.0.253#53: connected using
192.168.0.252#60883
Nov 18 13:18:29 ns2 named[4421]: zone scorvia.or.id/IN:
transferred serial 2007111813
Nov 18 13:18:29 ns2 named[4421]: transfer of
'scorvia.or.id/IN' from 192.168.0.253#53: end of transfer
Incremental Zona Transfer (IXFR)
Incremental zona transfer hanya akan melakukan transfer antara
master dan slave untuk records yang mengalami perubahan saja. Jika
name server master dan slave mendukung mode IXFR maka proses ini
462 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
akan dilakukan, jika tidak maka proses AXFR yang akan dilakukan.
IXFR menggunakan port TCP 53.
NOTIFY
Fitur ini digunakan oleh master name server untuk memberitahu slave
name server jika terjadi perubahan dari file zona pada master name
server. Pada saat slave name server menerima notify, maka slave name
server akan meminta SOA RR dari master name server, jika serial
number dari SOA RR lebih besar dari yang dimiliki oleh slave, proses
transfer akan dilakukan (bisa dengan AXFR atau IXFR).
Dynamic Update
Dengan metode ini zona records bisa di update dari satu atau lebih
sumber eksternal, akan tetapi domain baru atau zona tidak bisa
ditambah atau didelete secara dynamic, karena SOA RR sangat
essensial dalam penambahan atau penghapusan zona. Dynamic
update pada BIND menggunakan keyword allow-update.
Konfigurasi Keterangan
file "/etc/bind/zones/db.192.168.0" ;
allow-transfer { 192.168.0.252 ;} ;
allow-update { none ; } ;
} ;
include "/etc/bind/zones.rfc1918" ;
Keterangan dari isi file ini adalah:
File named.conf, named.conf.local, named.conf.options akan
menganggap sebuah baris sebagai komentar jika diawali dengan tanda
// ini komentar
/* ini juga komentar */
# ini juga komentar
Mendefenisikan zona untuk “scorvia.or.id” yang diawali dengan
keyword zone, diikuti dengan nama zona dan class (default class dari
zone adalah in untuk Internet). Format nya adalah
zone “nama_domain” class {
// isi dengan konfigurasi untuk zone
} ;
Baris selanjutnya kita mendeklarasikan type master yang
mengindikasikan server ini adalah master/primary name server. Baris
dibawahnya memberitahukan BIND tempat zona file untuk
scorvia.or.id ditempatkan dengan menggunakan keyword file, isikan
absolute/full path (jika kita menggunakan relatif path maka BIND
akan menganggap parent direktorinya ada pada /var/cache/bind.
File tersebut bernama db.scorvia.or.id yang ditempatkan di
/etc/bind/zones/master/db.scorvia.or.id. Menggunakan keyword
allow-transfer untuk transfer zona, disini kita hanya mengizinkan
transfer kepada host dengan IP address 192.168.0.252 yang akan
dikonfigurasi menjadi slave name server. Kita juga tidak mengizinkan
dynamic update dengan memberikan value none pada allow-update.
Pada zona berikutnya kita deklarasikan reverse mapping dari IP
address untuk scorvia.or.id, yaitu 0.168.192.in-addr.arpa (lihat
468 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
menentukan root direktori pada saat daemon bind berjalan. Jika ingin
mengganti port yang digunakan hilangkan tanda comment pada
query-source address dan ganti portnya. Defaultnya name server akan
menggunakan port 53. Isi file named.conf.options lengkapnya bisa
dilihat dibawah ini.
options {
directory "/var/cache/bind";
// If there is a firewall between you and
nameservers you want
// to talk to, you might need to uncomment the
query-source
// directive below. Previous versions of BIND
always asked
// questions using port 53, but BIND 8.1 and
later use an unprivileged
// port by default.
// query-source address * port 53;
// If your ISP provided one or more IP addresses
for stable
// nameservers, you probably want to use them as
forwarders.
// Uncomment the following block, and insert the
addresses replacing
// the all-0's placeholder.
// forwarders {
// 0.0.0.0;
// };
};
// Logging clause
logging {
channel scorvia_log {
file "/var/log/bind/scorvia.log" versions
3 size 250k ;
severity info ;
print-time yes ;
print-severity yes ;
print-category yes ;
};
category default {
scorvia_log ;
};
};
Pada named.conf.options, kita juga mendeklarasikan clause logging,
disini kita membuat channel dengan nama scorvia_log dan
menggunakan file logging sendiri yang ditempatkan pada
/var/log/bind/scorvia.log, statemen versions 3, digunakan untuk
menentukan banyaknya backup file log jika file tersebut mencapai
ukuran file maksimal yang ditentukan dengan statemen size. Sebelum
log membuat file baru, maka file log yang lama akan direname terlebih
dahulu, contohnya scorvia.log akan direname jadi scorvia.log.0. Jika
kita tidak menentukan clause logging secara spesifik, log dari BIND
akan dikirim kepada file /var/log/messages. Format umum clause
logging adalah:
logging {
channel nama_channel { channel_spesifikasi } ;
category nama_category { nama_channel ; }
} ;
472 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Statement severity info hanya akan me-log dengan prioritas info atau
yang lebih tinggi. print-time, print-severity, dan print-category Jika
bernilai yes, akan membuat log memprint tanggal, waktu, severity
level serta kategori pada file log. Kita juga menentukan channel default
untuk log ini yaitu menggunakan file yang sama. Output dari log
tersebut seperti terlihat dibawah ini
23-Nov-2007 20:27:06.240 general: info: zone
scorvia.or.id/IN: loaded serial 2007112300
Sekarang kita akan membuat file zona untuk scorvia.or.id, yang
disimpan pada direktori /etc/bind/zones/master. File zona
menggunakan tanda ; (titik koma) untuk menandakan sebuah baris
sebagai komentar.
$ sudo vi /etc/bind/zones/master/db.scorvia.or.id
Isi lengkap dari file zona ini terlihat seperti dibawah ini
; Data file untuk master zone scorvia.or.id
$TTL 86400 ; untuk 1d
$ORIGIN scorvia.or.id. ;
@ IN SOA ns1.scorvia.or.id. hostmaster.scorvia.or.id. (
2007112300 ; serial number
12h ; refresh
15m ; retry
3w ; expiry
2h ; minimum negative ttl
) ;
; name server RR untuk domain scorvia.or.id
IN NS ns1.scorvia.or.id.
; sekunder name server
IN NS ns2.scorvia.or.id.
; mail server RR
3w IN MX 10 mail.scorvia.or.id.
DNS Server 473
file log yang telah ditentukan pada file konfigurasi BIND. Kita bisa
menggunakan perintah tail untuk melihat file log ini
$ tail -n 50 /var/log/daemon.log
Nov 23 20:17:03 ns1 named[5754]: starting BIND 9.4.1-P1 -
u bind
Nov 23 20:17:03 ns1 named[5754]: found 1 CPU, using 1
worker thread
Nov 23 20:17:03 ns1 named[5754]: loading configuration
from '/etc/bind/named.conf'
Nov 23 20:17:03 ns1 named[5754]: listening on IPv4
interface lo, 127.0.0.1#53
Nov 23 20:17:03 ns1 named[5754]: listening on IPv4
interface eth0, 192.168.0.253#53
...
Nov 23 20:17:03 ns1 named[5754]: command channel
listening on 127.0.0.1#953
Nov 23 20:17:03 ns1 named[5754]: command channel
listening on ::1#953
$ tail -n 50 /var/log/bind/scorvia.log
23-Nov-2007 20:27:06.084 general: info: zone 0.in-
addr.arpa/IN: loaded serial 1
...
23-Nov-2007 20:27:06.209 general: info: zone
0.168.192.in-addr.arpa/IN: loaded serial 2007112300
23-Nov-2007 20:27:06.240 general: info: zone
scorvia.or.id/IN: loaded serial 2007112300
23-Nov-2007 20:27:06.244 general: info: zone
localhost/IN: loaded serial 1
23-Nov-2007 20:27:06.262 general: notice: running
Perhatikan isi dari file log /var/log/bind/scorvia.log, terlihat baris
seperti ini
23-Nov-2007 20:27:06.262 general: notice: running
476 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
$ sudo vi /etc/resolv.conf
search scorvia.or.id
nameserver 192.168.0.253
nameserver 192.168.0.252
Disini kita menggunakan keyword search, yang otomatis
melengkapinya jika kita tidak menyebutkan host dalam format FQDN,
misalnya kita mengetikkan
$ ssh ns1
Maka secara otomatis akan ditambahkan sehingga menjadi
ns1.scorvia.or.id. Untuk keyword nameserver isikan dengan IP
address yang digunakan oleh host dari name server, disini IP dari ns1
adalah 192.168.0.253. Simpan perubahan tersebut, kemudian restart
interface networking
$ sudo /etc/init.d/networking restart
* Reconfiguring network interfaces... [ OK ]
Dengan command host kita bisa menguji konfigurasi name server
$ host 127.0.0.1
1.0.0.127.in-addr.arpa domain name pointer localhost.
Terlihat hasil diatas sudah benar karena reversed pointer dari 127.0.0.1
sudah menunjukkan kepada localhost. Lakukan hal yang sama untuk
IP 192.168.0.253
$ host 192.168.0.253
253.0.168.192.in-addr.arpa domain name pointer
ns1.scorvia.or.id.
$ host 192.168.0.252
252.0.168.192.in-addr.arpa domain name pointer
ns2.scorvia.or.id.
$ host 192.168.0.251
251.0.168.192.in-addr.arpa domain name pointer
mail.scorvia.or.id.
478 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
$ host 192.168.0.250
250.0.168.192.in-addr.arpa domain name pointer
ftp.scorvia.or.id.
$ host 192.168.0.249
249.0.168.192.in-addr.arpa domain name pointer
FileServer.scorvia.or.id.
$ host ns1
ns1.scorvia.or.id has address 192.168.0.253
$ host ns2
ns2.scorvia.or.id has address 192.168.0.252
$ host mail
mail.scorvia.or.id has address 192.168.0.251
$ host ftp
ftp.scorvia.or.id has address 192.168.0.250
$ host fileserver
fileserver.scorvia.or.id has address 192.168.0.249
$ host mail.scorvia.or.id
mail.scorvia.or.id has address 192.168.0.251
$ host www
www.scorvia.or.id is an alias for ns1.scorvia.or.id.
ns1.scorvia.or.id has address 192.168.0.253
$ host scorvia.or.id
scorvia.or.id has address 192.168.0.253
scorvia.or.id mail is handled by 10 mail.scorvia.or.id.
$ host ldap
ldap.scorvia.or.id is an alias for
FileServer.scorvia.or.id.
FileServer.scorvia.or.id has address 192.168.0.249
DNS Server 479
;; QUESTION SECTION:
;scorvia.or.id. IN A
;; ANSWER SECTION:
scorvia.or.id. 86400 IN A 192.168.0.253
;; AUTHORITY SECTION:
scorvia.or.id. 86400 IN NS ns1.scorvia.or.id.
scorvia.or.id. 86400 IN NS ns2.scorvia.or.id.
;; ADDITIONAL SECTION:
ns1.scorvia.or.id. 86400 IN A 192.168.0.253
ns2.scorvia.or.id. 86400 IN A 192.168.0.252
$ nslookup scorvia.or.id
Server: 192.168.0.253
Address: 192.168.0.253#53
Name: scorvia.or.id
Address: 192.168.0.253
$ nslookup www.google.com
Server: 192.168.0.253
Address: 192.168.0.253#53
Non-authoritative answer:
www.google.com canonical name = www.l.google.com.
Name: www.l.google.com
Address: 66.249.89.99
Name: www.l.google.com
Address: 66.249.89.104
Name: www.l.google.com
Address: 66.249.89.147
Pada nslookup yang terakhir, terlihat bahwa output yang diberikan
adalah Non authoritative karena kita melakukan query kepada
www.google.com. Selesai sudah proses mengkonfigurasi master name
server untuk zona scorvia.or.id.
Slave Name Server
Sekarang kita akan melanjutkan proses mengkonfigurasi
slave/secondary name server. Slave name server dijalankan pada host
ns2.scorvia.or.id dengan IP 192.168.0.252. Install BIND 9
$ sudo apt-get install bind9
$ sudo /etc/init.d/bind9 stop
Selanjutnya buat direktori tempat file konfigurasi ini dan set
ownership serta permissionnya.
$ sudo mkdir -p /etc/bind/zones/slave
DNS Server 481
zone "scorvia.or.id" in {
type slave ;
file "/etc/bind/zones/slave/db.scorvia.or.id" ;
masters {192.168.0.253 ; } ;
allow-notify { 192.168.0.253 ; } ;
} ;
// reverse mapping
zone "0.168.192.in-addr.arpa" in {
type slave ;
file "/etc/bind/zones/db.192.168.0" ;
masters { 192.168.0.253 ; } ;
allow-notify { 192.168.0.253 ; } ;
} ;
482 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
include "/etc/bind/zones.rfc1918" ;
Pada statemen type menggunakan slave yang memberitahukan
bahwa name server ini akan bertindak sebagai slave name server.
Statement masters menentukan IP address dari master name server
yang akan ditransfer file zonanya. allow-notify diisi dengan IP
address dari master name server. Edit file /etc/bind/ zones.rfc1918,
sehingga terlihat seperti pada master name server, dengan mendelete
baris dari alamat IP jaringan yang digunakan
$ sudo vi zones.rfc1918
delete baris ini
zone "168.192.in-addr.arpa" { type master; file
"/etc/bind/db.empty"; };
Sekarang buka file /etc/bind/named.conf.options, yang isinya kurang
lebih sama dengan master name server
$ sudo vi named.conf.options
options {
directory "/var/cache/bind";
// If there is a firewall between you and
nameservers you want
// to talk to, you might need to uncomment the
query-source
// directive below. Previous versions of BIND
always asked
// questions using port 53, but BIND 8.1 and
later use an unprivileged
// port by default.
// query-source address * port 53;
// If your ISP provided one or more IP addresses
for stable
// nameservers, you probably want to use them as
forwarders.
DNS Server 483
Sedangkan pada master name server, log file pada saat proses transfer
akan terlihat kurang lebih seperti ini
$ tail -n 50 /var/log/bind/scorvia.log
23-Nov-2007 20:27:06.264 notify: info: zone
scorvia.or.id/IN: sending notifies (serial 2007112300)
23-Nov-2007 20:27:06.266 notify: info: zone 0.168.192.in-
addr.arpa/IN: sending notifies (serial 2007112300)
23-Nov-2007 20:42:48.428 xfer-out: info: client
192.168.0.252#53654: transfer of 'scorvia.or.id/IN': AXFR
started
23-Nov-2007 20:42:48.439 xfer-out: info: client
192.168.0.252#53654: transfer of 'scorvia.or.id/IN': AXFR
ended
23-Nov-2007 20:42:48.553 xfer-out: info: client
192.168.0.252#42004: transfer of '0.168.192.in-
addr.arpa/IN': AXFR started
23-Nov-2007 20:42:48.555 xfer-out: info: client
192.168.0.252#42004: transfer of '0.168.192.in-
addr.arpa/IN': AXFR ended
Jika terlihat seperti diatas, maka master name server dan slave name
server sudah bisa digunakan oleh client. Sekarang edit file
/etc/resolv.conf pada ns2.scorvia.or.id
$ sudo vi /etc/resolv.conf
search scorvia.or.id
nameserver 192.168.0.252
nameserver 192.168.0.253
Lakukan perintah host untuk melakukan pengujian seperti pada
master name server untuk semua host dan alias yang ada pada zona
file. Untuk melihat zona file yang terbentuk dari hasil transfer zona
bisa menggunakan perintah berikut
$ cat /etc/bind/zones/slave/db.scorvia.or.id
$ cat /etc/bind/zones/db.192.168.0
486 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
forwarders {
202.134.0.155;
202.134.2.5;
};
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 165 IN A 64.233.167.99
google.com. 165 IN A 64.233.187.99
google.com. 165 IN A 72.14.207.99
;; AUTHORITY SECTION:
google.com. 166356 IN NS ns1.google.com.
google.com. 166356 IN NS ns2.google.com.
490 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
;; ADDITIONAL SECTION:
ns1.google.com. 315387 IN A 216.239.32.10
ns2.google.com. 315401 IN A 216.239.34.10
ns3.google.com. 315387 IN A 216.239.36.10
ns4.google.com. 315387 IN A 216.239.38.10
type master ;
file “/etc/bind/zones/bogus/fakes.doublelick.net”
;
} ;
Selanjutnya kita buat direktori untuk menempatkan file fakes.
doublelick.net
$ sudo mkdir -p /etc/bind/zones/bogus
$ sudo chown -R bind.bind /etc/bind/zones
Buat file fakes.doublelick.net
$ sudo vi \
/etc/bind/zones/bogus/fakes.doublelick.net
Isikan baris dibawah ini kedalam file tersebut
$TTL 86400
@ IN SOA gateway.scorvia.or.id. hostmaster.scorvia.or.id. (
2007112300 ; serial number
12h ; refresh
15m ; retry
3w ; expiry
2h ; minimum
) ;
@ IN NS gateway.scorvia.or.id.
@ IN A 127.0.0.1
* IN A 127.0.0.1
Simpan hasil perubahan ini, kemudian perbaiki ownership dari
direktori tempat kita menyimpan file ini
$ sudo chown -R bind.bind /etc/bind/zones
Restart name server yang digunakan
$ sudo /etc/init.d/bind9 restart
492 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Menggunakan ACL
Dengan ACL atau Access Control List, kita bisa mengatur client yang
dibolehkan untuk mengakses name server, selain itu acl juga bisa kita
gunakan didalam menentukan IP address yang diizinkan untuk
mentransfer zona, hal ini berguna jika slave name server yang
digunakan lebih dari satu sehingga kita bisa membuat acl berisikan
daftar IP slave name server. Pada buku ini penulis akan
memperlihatkan penggunaan acl untuk membatasi akses pada name
server yang sudah kita buat. Alamat jaringan yang digunakan disini
adalah 192.168.0.0/24, kita tidak menginginkan client dengan IP
address 192.168.0.25 untuk mengakses name server, sedangkan client
yang lain dibebaskan untuk mengaksesnya, untuk itu kita modifikasi
kembali settingan pada name.conf.options,
$ sudo vi named.conf.options
Disini kita mendeklarasikan clause acl dengan nama my_network
yang berisikan IP yang tidak diizinkan untuk mengakses jaringan
ditandai dengan tanda ! yaitu IP 192.168.0.25
acl "my_network" {
!192.168.0.252/32 ;
192.168.0.0/24 ;
} ;
options {
directory "/var/cache/bind";
// If there is a firewall between you and
nameservers you want
DNS Server 493
Sekarang kita akan mencoba mengakses name server ini dari client
yang memiliki IP 192.168.0.25, dimana query yang berasal dari name
server ini akan di tolak.
$ dig scorvia.or.id
; <<>> DiG 9.4.1-P1 <<>> scorvia.or.id
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 13471
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0,
ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;scorvia.or.id. IN A
Jika kita perhatikan pada log dari name server yang kita gunakan,
pada contoh diatas penulis memblok query dari client 192.168.0.25
pada name server 192.168.0.253, hasilnya kurang lebih seperti ini
23-Nov-2007 21:07:00.720 security: info: client
192.168.0.25#32779: query '253.0.168.192.in-
addr.arpa/PTR/IN' denied
23-Nov-2007 21:07:00.723 security: info: client
192.168.0.25#32779: query '253.0.168.192.in-
addr.arpa/PTR/IN' denied
23-Nov-2007 21:07:07.789 security: info: client
192.168.0.25#32779: query 'scorvia.or.id/A/IN' denied
23-Nov-2007 21:07:14.421 security: info: client
192.168.0.25#32779: query 'scorvia.or.id/A/IN' denied
23-Nov-2007 21:07:14.427 security: info: client
192.168.0.25#32779: query
'scorvia.or.id.scorvia.or.id/A/IN' denied
23-Nov-2007 21:08:47.005 security: info: client
192.168.0.25#32779: query 'ns.scorvia.or.id/A/IN' denied
23-Nov-2007 21:08:47.013 security: info: client
192.168.0.25#32780: query (cache) 'ns/A/IN' denied
23-Nov-2007 21:08:48.896 security: info: client
192.168.0.25#32780: query 'ns1.scorvia.or.id/A/IN' denied
23-Nov-2007 21:08:48.899 security: info: client
192.168.0.25#32781: query (cache) 'ns1/A/IN' denied
23-Nov-2007 21:08:54.716 security: info: client
192.168.0.25#32781: query 'ns1.scorvia.or.id/A/IN' denied
23-Nov-2007 21:08:54.720 security: info: client
192.168.0.25#32782: query
'ns1.scorvia.or.id.scorvia.or.id/A/IN' denied
Untuk mempelajari lebih jauh lagi mengenai bind, anda bisa
menginstall package bind-doc. Pada buku ini hanya memperkenalkan
konsep penggunaan BIND untuk master, slave serta caching dan
forwarding name server.
BAB 20
LAMP SERVER
Pada Bab ini akan dijelaskan mengenai:
20.1 Apache 2 Web Server
20.2 PHP 5
20.3 MYSQL 5
20.4 Blog dengan Wordpress
BAB ini berkaitan dengan BAB 19 yang membahas mengenai DNS
server, dimana disini menggunakan alamat URI (Uniform Resource
Identifier) http://www.scorvia.or.id yang sudah dikonfigurasi
menggunakan BIND 9 pada BAB 19. Jika anda tidak menggunakan
DNS, maka ganti nama URI tersebut dengan IP address.
Portable: Apache tidak hanya untuk *NIX, tapi juga berjalan pada OS
Windows, Mac OS, Amiga dan OS lainnya.
Flexible: Didesign secara modular sehingga sangat mudah untuk
dikonfigurasi, melakukan penambahan fitur baru. Selain itu Apache
bekerja dengan baik untuk scripting language seperti Perl, PHP, CGI.
Open Source: Apache dapat digunakan dengan free, source code bisa
diambil pada http://www.apache.org
Untuk mengetahui sejarah dan fitur-fitur dari Apache 2 bisa membaca
manual atau mengunjungi website dari Apache di
http://www.apache.org/ dan
http://httpd.apache.org/docs/2.2/faq/.
Pada Ubuntu, terdapat dua package Apache, yaitu apache dan
apache2. Packages apache merupakan versi 1.3.x sedangkan apach2
menggunakan versi 2.x. Pada buku ini akan menggunakan packages
apache2. Untuk menginstall Apache 2 pada Ubuntu gunakan perintah
apt-get install apache2. Pada buku ini Apache 2 web server akan
digunakan bersama dengan PHP 5 untuk web scriptingnya. Perintah
berikut akan menginstall Apache 2 web server.
$ sudo apt-get install apache2
Setelah proses installasi selesai, maka kita bisa melihat hasilnya dengan
menggunakan browser, ketik pada browser alamat
http://www.scorvia.or.id, akan terlihat seperti gambar dibawah
ServerRoot /etc/apache2
DocumentRoot /var/www/default
/var/www/www.scorvia.or.id
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
<IfModule mpm_worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
User www-data
Group www-data
AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
DefaultType text/plain
HostnameLookups Off
ErrorLog /var/log/apache2/default.error.log
LAMP Server 503
LogLevel info
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
Include /etc/apache2/httpd.conf
Include /etc/apache2/ports.conf
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
ServerTokens Prod
ServerSignature Off
Include /etc/apache2/conf.d/
Include /etc/apache2/sites-enabled/
ServerRoot merupakan direktif yang digunakan untuk menentukan
path dimana file-file konfigurasi Apache ditempatkan, direktif ini
berbeda dengan direktif DocumentRoot. Disini penulis
menghilangkan baris-baris komentar pada file apache2.conf, dan
merubah baris
ServerTokens Prod
ServerSignature Off
ServerTokens Prod akan menampilkan informasi mengenai server
header dalam bentuk minimal. Sedangkan ServerSignature Off tidak
akan menampilkan informasi mengenai server jika website yang
dibuka tidak memiliki file index seperti index.html, index.php. Lihat
pada gambar 20.1 bagaimana Apache menampilkan informasi
mengenai header dan signature dari server pada baris terbawah.
Sedangkan baris yang lain merupakan konfigurasi default Apache 2
pada Ubuntu. Untuk mengetahui mengenai direktif-direktif yang ada
pada apache2.conf bisa membaca manual dari Apache 2 web server
atau man page dari apache2.conf. Pada Ubuntu Apache daemon
504 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
berjalan dengan user dan group www-data hal ini demi keamanan
dari web server, yang terlihat pada direktif
User www-data
Group www-data
Dan untuk log level, disini penulis merubahnya menjadi info, dimana
file default dari log tersebut terletak pada
/var/log/apache2/default.error.log, yang bisa dilihat pada direktif
ErrorLog /var/log/apache2/default.error.log
LogLevel info
Perhatikan juga direktif Include, yang digunakan untuk meng-include
file-file yang digunakan oleh Apache Web Server. HostnameLookups
Off akan membuat Apache melog IP address dari penunjung website
kita, hal ini akan meringankan beban kerja dari Apache sendiri.
Sekarang edit file /etc/apache2/ports.conf sehingga terlihat seperti
berikut
$ sudo vi /etc/apache2/ports.conf
Listen 80
<IfModule mod_ssl.c>
Listen 443
</IfModule>
Direktif ini akan membuat Apache menggunakan port 80, dan jika
module SSL diaktifkan, maka Apache akan menggunakan port 443
untuk melayani request dari client. Selanjutnya kita perlu
mengkonfigurasi file /etc/apache2/sites-enabled/default yang akan
digunakan untuk http
$ sudo vi /etc/apache2/sites-enabled/default
<VirtualHost _default_:80>
ServerAdmin webmaster@scorvia.or.id
ServerName www.scorvia.or.id
ServerAlias scorvia.or.id
LAMP Server 505
DocumentRoot /var/www/default/
AliasMatch \
/favicon.ico /var/www/default/images/icons/default.ico
<Directory />
Options \
-FollowSymLinks +SymlinksIfOwnerMatch
AllowOverride None
</Directory>
<Directory /var/www/default/>
Options -Indexes –FollowSymLinks \
MultiViews +SymlinksIfOwnerMatch -Includes
AllowOverride None
Order allow,deny
allow from all
</Directory>
DirectoryIndex index.html index.php index.cgi
ScriptAlias /cgi-bin/ /var/www/default/cgi-bin/
<Directory "/var/www/default/cgi-bin/">
AllowOverride None
Options +ExecCGI –MultiViews \
+SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/default.error.log
LogLevel info
CustomLog \
/var/log/apache2/default.access.log combined
506 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
ServerSignature Off
</VirtualHost>
Direktif VirtualHost memberikan kemampuan untuk menjalankan
banyak website dengan hanya satu daemon Apache yang berjalan.
Disini kita menambahkan _default_ yang berarti virtual host tersebut
akan menangani request kepada alamat dan port yang tidak di layani
oleh virtual host yang lain. Penggunaan VirtualHost bisa juga diikuti
dengan port yang digunakan. Selanjutnya kita menentukan alamat
email dari website menggunakan direktif ServerAdmin. Direktif
ServerName digunakan untuk menentukan nama server dari virtual
host, ServerAlias menentukan alias dari server name. Direktif
DocumentRoot digunakan untuk menentukan path dimana file-file
yang akan direquest oleh client ditempatkan, seperti file-file HTML,
PHP dan script lainnya.
AliasMatch digunakan untuk me-redirect request tertentu pada lokasi
atau file yang ditentukan. Disini kita melakukan redirect request untuk
favicon.ico kelokasi /var/www/default/images/icons/default.ico.
Favicon.ico umum direquest oleh browser seperti Firefox, IE,
Konqueror ketika melakukan bookmark.
$ sudo vi /var/www/default/index.html
<HTML>
<HEAD>
<TITLE>sCorV!a Website ::: Welcome Guest!!</TITLE>
<HEAD>
<BODY>
<H3>Welcome to sCorV!a Website!</H3>
This site Under Construction!
</BODY>
</HTML>
$ sudo vi /var/www/default/cgi-bin/printenv.cgi
#!/usr/bin/perl
LAMP Server 507
/etc/apache2/certs/www.scorvia.or.id/certs/
$ sudo chown -R root.root /etc/apache2/
$ sudo chmod 600 \
/etc/apache2/certs/www.scorvia.or.id/private/*
$ sudo chmod 600 \
/etc/apache2/certs/www.scorvia.or.id/certs/*
Buat file index.html pada direktori /var/www/www.scorvia.or.id/
yang digunakan untuk menguji file konfigurasi.
$ sudo vi /var/www/www.scorvia.or.id/index.html
<HTML>
<HEAD>
<TITLE>sCorV!a Website ::: Secure Page</TITLE>
<HEAD>
<BODY>
<H3>Welcome to sCorV!a Website!</H3>
This site Under Construction!
<br />Encryption using OpenSSL
</BODY>
</HTML>
Buka file httpd.conf, disini tambahkan baris yang digunakan untuk
SSLRandomSeed
$ sudo vi /etc/apache2/httpd.conf
SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect file:/dev/urandom 512
Seperti yang telah disebutkan diawal, file konfigurasi server untuk
HTTPS berada pada /etc/apache2/sites-enabled/www.scorvia.or.id,
untuk itu edit file ini sehingga terlihat seperti berikut ini
$ sudo vi \
/etc/apache2/sites-enabled/www.scorvia.or.id
512 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
<VirtualHost 192.168.0.253:443>
ServerAdmin webmaster@scorvia.or.id
ServerName www.scorvia.or.id
ServerAlias scorvia.or.id
DocumentRoot /var/www/www.scorvia.or.id/
DirectoryIndex index.html index.php index.cgi
AliasMatch /favicon.ico \
/var/www/www.scorvia.or.id/images/icons/default.ico
# SSL Enable
SSLEngine On
SSLProtocol all -SSLv2
SSLCipherSuite \
HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
SSLCertificateFile \
/etc/apache2/certs/www.scorvia.or.id/certs/www.scorvia.or.id.crt
SSLCertificateKeyFile \
/etc/apache2/certs/www.scorvia.or.id/private/www.scorvia.or.id.key
SSLOptions +StrictRequire
SetEnvIf User-Agent ".*MSIE.*" nokeepalive \
ssl-unclean-shutdown downgrade-1.0 force-response-1.0
<Directory />
Options -FollowSymLinks +SymlinksIfOwnerMatch
AllowOverride None
</Directory>
<Directory /var/www/www.scorvia.or.id/>
SSLRequireSSL
Options -Indexes -FollowSymLinks MultiViews \
+SymlinksIfOwnerMatch -Includes
AllowOverride None
Order allow,deny
allow from all
LAMP Server 513
</Directory>
ScriptAlias /cgi-bin/ \
/var/www/www.scorvia.or.id/cgi-bin/
<Directory "/var/www/www.scorvia.or.id/cgi-bin/">
AllowOverride None
Options +ExecCGI -MultiViews \
+SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/scorvia.error.log
LogLevel info
CustomLog /var/log/apache2/scorvia.access.log combined
ServerSignature Off
<Location /server-status>
AuthType Basic
AuthName "sCorV!a Administrator Page"
AuthUserFile /etc/apache2/auth.users
AuthGroupFile /etc/apache2/auth.groups
Require group scorvia
Require valid-user
SetHandler server-status
Order deny,allow
Deny from all
Allow from 192.168.0.11
</Location>
<Location /server-info>
AuthType Basic
AuthName "sCorV!a Administrator Page"
AuthUserFile /etc/apache2/auth.users
AuthGroupFile /etc/apache2/auth.groups
514 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Pada hasil diatas terlihat bahwa ketika kita merestart service apache
server, maka akan diminta untuk memasukkan pass phrase yang
dibuat. Jika anda tidak ingin direpotkan dengan permintaan
memasukkan pass phrase ini, gunakan perintah dibawah ini, akan
tetapi perlu diingat bahwa hal ini bisa memiliki efek keamanan yang
tidak diinginkan. Sekarang backup terlebih dahulu key yang asli
dengan perintah berikut
$ sudo mv \
/etc/apache2/certs/www.scorvia.or.id/private/www.scorvia.
or.id.key \
/etc/apache2/certs/www.scorvia.or.id/private/www.scorvia.
or.id.key.original
Selanjutnya hapus pass phrase dari key untuk ditulis pada key yang
baru, dimana kita diminta untuk memasukkan pass phrase yang telah
dibuat sebelumnya
$ sudo openssl rsa -in \
/etc/apache2/certs/www.scorvia.or.id/private/www.scorvia.
or.id.key.original -out \
/etc/apache2/certs/www.scorvia.or.id/private/www.scorvia.
or.id.key
Enter pass phrase for
/etc/apache2/certs/www.scorvia.or.id/private/www.scorvia.
or.id.key.original:
writing RSA key
Amankan file key dari server apache dengan merubah menjadi 600.
516 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
urangkayo@ns1:~$ apache2 -V
Server version: Apache/2.2.4 (Ubuntu)
Server built: Oct 4 2007 22:47:20
Server's Module Magic Number: 20051115:5
Server loaded: APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture: 32-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT=""
-D SUEXEC_BIN="/usr/lib/apache2/suexec"
-D DEFAULT_PIDLOG="/var/run/apache2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="/var/run/apache2/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
-D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"
LAMP Server 519
20.2 PHP 5
PHP atau disebut juga dengan Hypertext Preprocessor merupakan
script yang digunakan untuk aplikasi-aplikasi berbasiskan web.
Program ini bersifat open source sehingga bisa digunakan dengan free.
Penggunaan program ini bisa di gunakan bersamaan dengan HTML.
Untuk mengetahui lebih jauh lagi mengenai PHP bisa dilihat pada
http://www.php.net/download-docs.php. Sekarang kita akan
menginstall PHP 5 sebagai modul untuk Apache serta mengaktifkan
modul mysqli (mysqli merupakan modul yang digunakan oleh PHP
untuk versi MYSQL 4.1 keatas) serta module GD. Untuk menginstall
module-module yang dibutuhkan jalankan perintah berikut
$ sudo apt-get install php5 libapache2-mod-php5 \
php5-mysql php5-gd
Untuk libapache2-mod-php5, akan langsung aktif, yang bisa dilihat
pada direktori /etc/apache2/mods-enabled, jika ternyata tidak
langsung aktif, maka gunakan perintah a2enmod php5 untuk
menginstall module ini. File konfigurasi dari PHP 5 terdapat pada
/etc/php5
$ ls -l /etc/php5/
520 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
total 8
drwxr-xr-x 2 root root 4096 2007-11-30 22:51 apache2
drwxr-xr-x 2 root root 4096 2007-11-30 22:03 conf.d
$ ls -l /etc/php5/apache2/
total 44
lrwxrwxrwx 1 root root 9 2007-11-30 10:01 conf.d ->
../conf.d
-rw-r--r-- 1 root root 44278 2007-10-05 06:36 php.ini
Setelah proses installasi dari PHP 5 selesai, restart Apache web server
dengan perintah
$ sudo /etc/init.d/apache2 restart
Sekarang buat file info.php untuk menampilkan informasi mengenai
PHP yang terinstall pada server pada direktori
/var/www/scorvia.or.id/
$ sudo vi /var/www/www.scorvia.or.id/info.php
<?php
LAMP Server 521
print_r (phpinfo()) ;
?>
$ cd php/
$ sudo vi hello.php
<HTML>
<HEAD>
<TITLE>Hello, World PHP Script!</TITLE>
</HEAD>
<BODY>
<?php
/* Author: urangkayo
* Release Date: 04 December 2007
* Script Name: hello.php
*/
print "Hello, World";
// Perintah diatas
// Akan menampilkan Hello, World pada browser
# Merupakan comment pada PHP
?>
</BODY>
</HTML>
Program ini akan menampilkan teks “Hello, World” pada browser jika
kita mengakses halaman http://www.scorvia.or.id/php/hello.php.
Sekarang kita akan membuat script kedua
$ sudo vi hello2.php
<?php
/* Author: urangkayo
* Release Date: 04 December 2007
* Script Name: hello2.php
*/
printf("Hello thinkerbels <br />");
printf("Aku lagi belajar PHP nich <br />");
LAMP Server 523
Tampilan dari script ini akan terlihat seperti pada gambar 20.8 berikut
ini
$firstNumber = 20;
$secondNumber = 30;
$sum = $firstNumber + $secondNumber;
printf($firstNumber . " + " . $secondNumber . " = <b>"
. $sum . "</b><br />");
$linux = "ubuntu";
$$linux = "Gutsy Gibbon";
printf("Variable yang akan tampil adalah: <b>" .
$ubuntu . "</b><br />");
if(isset($firstName)) {
printf('$firstName is set');
printf("<br />");
}
unset($firstNumber);
if(isset($firstNumber)) {
printf('$firstNumber is set');
printf("<br />");
}
else {
printf('$firstNumber not set');
printf("<br />");
}
LAMP Server 525
printf("<br />");
printf("<br />");
printf("Perbedaan antara ' dan \" pada PHP <br />");
printf("Tanda ' akan menghasilkan: <b>" . '$firstName'
. "</b><br />");
printf("Tanda \" akan menghasilkan: <b>" . "$firstName"
. "</b><br />");
?>
</form>
</body>
</html>
$ sudo output.php
<?php
/* Author: urangkayo
* Release Date: 04 December 2007
* Script Name: output.php
*/
$firstName = $_POST['first'];
$lastName = $_POST['last'];
?>
Setelah kita mengisi pada First Name dan Last Name, kemudian
mengklik button Proses, akan memanggil output.php yang akan
menampilkan
20.3 MySQL 5
MySQL adalah program database yang menyediakan server dan client
untuk databasenya. Program ini bersifat open source serta banyak
digunakan pada server-server berbasiskan Linux. Untuk menginstall
MySQL 5 pada Ubuntu, gunakan perintah berikut
$ sudo apt-get install mysql-server mysql-client
528 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Sekarang buka file my.cnf dengan teks editor, dan pastikan baris bind-
address berisikan alamat 127.0.0.1
$ sudo vi /etc/mysql/my.cnf
bind-address = 127.0.0.1
Jalankan kembali daemon MySQL dengan perintah berikut
$ sudo /etc/init.d/mysql start
* Starting MySQL database server mysqld
[ OK ]
* Checking for corrupt, not cleanly closed and upgrade needing
tables.
Connection id: 8
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.0.45-Debian_1ubuntu3-log Debian etch
distribution
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: latin1
Conn. characterset: latin1
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 4 min 9 sec
Threads: 1 Questions: 39 Slow queries: 0 Opens: 23 Flush
tables: 1 Open tables: 17 Queries per second avg: 0.157
Pada kolom host terdapat value % yang berarti dari semua host (sama
dengan tanda * pada shell). Karena db test ini tidak digunakan dan
untuk mengamankan MySQL yang digunakan, sebaiknya dihapus,
gunakan perintah berikut
mysql> delete from db;
Query OK, 2 rows affected (0.13 sec)
Dari table ini terlihat username yang bisa login kedalam MySQL dan
dari host mana, khusus untuk user debian-sys-maint, digunakan oleh
system ketika script /etc/init.d/mysql kita panggil atau pada saat
booting, jadi user ini jangan dihapus. Sekarang kita kita akan
mendelete user root dari host localhost dan ns1.scorvia.or.id, gunakan
perintah berikut
mysql> delete from user where
-> (host="ns1.scorvia.or.id" and user="root" );
Query OK, 1 row affected (0.13 sec)
mysql> delete from user where
-> (host="localhost" and user="root" );
Query OK, 1 row affected (0.01 sec)
mysql> select host, user from user;
+-----------+------------------+
| host | user |
+-----------+------------------+
| 127.0.0.1 | root |
| localhost | debian-sys-maint |
LAMP Server 533
+-----------+------------------+
2 rows in set (0.00 sec)
Dari hasil diatas terlihat kita tidak bisa login tanpa menggunakan host
127.0.0.1
$ mysql -u root -p -h 127.0.0.1
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.0.45-Debian_1ubuntu3-log Debian etch
distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
534 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
mysql>
Jika ingin mengganti password root gunakan perintah berikut
mysql> set password for
-> 'root'@'127.0.0.1' = password('rahasia');
Query OK, 0 rows affected (0.17 sec)
Jika user yang ingin diganti passwordnya bukan root, ganti root
dengan nama user yang diinginkan. Password yang disimpan pada
table sudah di enkripsi, yang akan terlihat seperti berikut ini
mysql> select user, host, password from user;
+------------------+-----------+-------------------------------------------+
| user | host | password |
+------------------+-----------+-------------------------------------------+
| root | 127.0.0.1 | *3E5287812B7D1F947439AC45E73935377A3ADEF7 |
| debian-sys-maint | localhost | *09565CF18675233A8BD18C2B97FF0A786A62A3A4 |
+------------------+-----------+-------------------------------------------+
2 rows in set (0.00 sec)
-> on scorvia.*
-> to 'thinkerbels'@'127.0.0.1'
-> identified by 'iniadalahpassword';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
mysql> select user, host, password from user;
+------------------+-----------+-------------------------------------------+
| user | host | password |
+------------------+-----------+-------------------------------------------+
| urangkayo | 127.0.0.1 | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| thinkerbels | 127.0.0.1 | *5E5777C544188F26CF22EBAFE13DC0BEE3DC2745 |
| root | 127.0.0.1 | *3E5287812B7D1F947439AC45E73935377A3ADEF7 |
| debian-sys-maint | localhost | *09565CF18675233A8BD18C2B97FF0A786A62A3A4 |
+------------------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)
Jika kita ingin membuat user untuk account MySQL yang bisa
membuat database jika diawali dengan usernamenya, maka gunakan
perintah berikut
mysql> create user 'penguin'@'127.0.0.1'
-> identified by 'secret';
Query OK, 0 rows affected (0.00 sec)
mysql> grant usage on *.* to
-> 'penguin'@'127.0.0.1' identified by 'secret';
536 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
if (mysqli_connect_errno()) {
printf ("Connect failed: %s\n",
mysqli_connect_error());
exit ();
}
$mysqli->close();
?>
</body>
</html>
if (mysqli_connect_errno()) {
printf ("Connect failed: %s\n",
mysqli_connect_error());
exit();
}
?>
File connect.php ini akan kita include kedalam file index.php, untuk
itu buat file index.php yang isinya
$ sudo vi /var/www/www.scorvia.or.idindex.php
<?php
require_once ("connect.php");
$mysqli->close();
540 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
?>
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| ID | smallint(6) | NO | PRI | NULL | auto_increment |
| OS_Vendor | varchar(255) | YES | | NULL | |
| OS_Name | varchar(255) | YES | | NULL | |
| OS_Version | char(50) | YES | | NULL | |
| OS_Release | date | YES | | NULL | |
| Comment | text | YES | | NULL | |
+------------+--------------+------+-----+---------+----------------+
6 rows in set (0.16 sec)
PHPMyAdmin
PHPMyAdmin merupakan program bantu untuk MySQL, dimana
dengan interface webnya memudahkan kita didalam menjalankan
sintak-sintak MySQL. Untuk menginstall phpmyadmin, disini penulis
menginstall dari sourcenya dengan terlebih dahulu mendownload
pada alamat http://www.phpmyadmin.net/. Disini penulis
LAMP Server 547
menggunakan phpMyAdmin-2.11.2.2-all-languages-utf-8-only.tar.bz2,
ekstrak dengan menggunakan perintah
$ sudo tar xjvf \
phpMyAdmin-2.11.2.2-all-languages-utf-8-only.tar.bz2 \
-C /var/www/www.scorvia.or.id/
Perintah diatas akan mengekstrak phpmyadmin kedalam direktori
/var/www/www.scorvia.or.id/phpMyAdmin-2.11.2.2-all-languages-
utf-8-only. Jika anda mendownload dengan ekstension .tar.gz, maka
ganti j dengan z. Sekarang pindah kedirektori
/var/www/www.scorvia.or.id, dan rubah nama direktori
phpMyAdmin-2.11.2.2-all-languages-utf-8-only menjadi phpmyadmin
$ cd /var/www/www.scorvia.or.id/
$ sudo mv phpMyAdmin-2.11.2.2-all-languages-utf-8-only/ \
phpmyadmin
Pindah kedirektori phpmyadmin, copy file config.default.php yang
terdapat pada direktori libraries kedalam direktori phpmyadmin
$ cd phpmyadmin/
$ sudo cp libraries/config.default.php config.inc.php
Edit file config.inc.php, sesuaikan dengan settingan server yang
digunakan pada baris-baris berikut ini
$ sudo vi config.inc.php
$cfg['PmaAbsoluteUri'] \
= 'http://www.scorvia.or.id/phpmyadmin/';
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'http';
mysql> quit
Untuk bisa menggunakan wordpress, download terlebih dahulu pada
alamat http://www.wordpress.org/. Disini penulis menggunakan
wordpress-2.3.1.tar.gz, ekstrak kedalam direktori
/var/www/www.scorvia.or.id/
$ sudo tar xzvf wordpress-2.3.1.tar.gz \
-C /var/www/www.scorvia.or.id/
$ cd /var/www/www.scorvia.or.id/
$ sudo mv wordpress/ blog
$ cd blog/
Copy file wp-config-sample.php menjadi wp-config.php
$ sudo cp wp-config-sample.php wp-config.php
Sekarang edit file wp-config.php dengan teks editor, dan edit baris
berikut ini, sesuaikan dengan settingan anda sendiri.
$ sudo vi wp-config.php
// ** MySQL settings ** //
define('DB_NAME', 'scorvia_blog'); // The name of the
database
define('DB_USER', 'thinkerbels'); // Your MySQL username
define('DB_PASSWORD', 'iniadalahpassword'); // ...and password
define('DB_HOST', '127.0.0.1'); // 99% chance you won't need
to change this value
/var/www/www.scorvia.or.id/blog/wp-content/themes/
Lakukan hal yang sama untuk plugins yang ingin digunakan pada
wordpress, dengan mengekstrak plugins tersebut dan mengcopy
kedalam folder /var/www/www.scorvia.or.id/blog/wp-
content/plugins/. Sekarang rubah terlebih dahulu ownership dari
direktori blog, gunakan perintah berikut
$ sudo chown -R www-data.www-data \
/var/www/scorvia.or.id/blog/
Perintah diatas akan membuat ownership menjadi www-data, hal ini
kita lakukan agar pada saat setelah melakukan installasi wordpress
dan ingin mengkonfigurasinya lewat browser, kita tidak mengalami
kesulitan. Buka browser, kemudian ketik alamat
http://www.scorvia.or.id/blog/wp-admin/install.php, akan muncul
tampilan untuk menginstall Wordpress, proses installasi wordpress
hanya terdiri dari dua langkah, pada langkah yang pertama ini, isikan
title yang akan digunakan untuk blog tersebut dan alamat email yang
digunakan (yang berguna jika kita melupakan password login untuk
username admin), jika kita ingin blog tersebut kelihatan oleh search
engines seperti google, beri tanda √ pada Allow my blog to appear in
search engines like Google and Technocrati, options ini bisa di rubah-
rubah pada bagian Options → Security, setelah selesai klik button
Install Wordpress, seperti terlihat pada gambar berikut
Jika anda ingin membuat username baru, klik pada tab Authors &
Users, dan pada bagian Add New User, isikan username, password
dan hak akses dari username tersebut.
Setelah kita merasa puas dengan hasil modifikasi blog ini, kita bisa
merubah kembali ownership dari blog kedalam ownership defaultnya
yaitu root dengan perintah
$ sudo chown -R root.root /var/www/scorvia.or.id/blog/
Untuk selanjutnya anda bisa membaca dokumentasi dari wordpress
pada websitenya untuk mengetahui lebih jauh mengenai blogging dan
wordpress. Pada buku ini penulis hanya memperkenalkan cara
menginstall dan dasar-dasar konfigurasi pada webserver yang telah
kita bangun sebelumnya.
BAB 21
FTP SERVER
Pada Bab ini akan dijelaskan mengenai:
21.1 Dasar-dasar FTP
21.2 VSFTPD
21.3 FTP Client
dan password tidak di enkripsi. Oleh karena itu, pada buku ini hanya
akan dijelaskan mengenai cara membangun Anonymous FTP server
menggunakan VSFTPD. Beberapa tips agar kita bisa meminimalisasi
masalah keamanan pada anonymous ftp:
Menjalankan FTP daemon pada unprivileged user/group
Pastikan user yang digunakan untuk anonymous account tidak
bisa login kedalam system menggunakan shell. Bisa
menggunakan /bin/false pada saat membuat user tersebut.
Lakukan chroot dengan owner root pada direktori dari
anonymous user
Tidak mengizinkan anonymous user untuk melakukan upload
file
Pada bab sebelumnya telah dijelaskan mengenai DNS server, dimana
pada record DNS kita memberikan alamat ftp.scorvia.or.id dengan IP
address 192.168.0.250, konfigurasi ini akan digunakan pada saat
membangun FTP server dengan menggunakan VSFTPD. Untuk
anonymous direktori ditempatkan pada /public_ftp dengan
ownership root.nogroup.
21.2 VSFTPD
Merupakan singkatan dari Very Secure FTP Daemon, yang diciptakan
oleh Chris Evans. Konfigurasi default dari VSFTPD pada Ubuntu
setelah diinstall adalah
3. Berjalan sebagai anonymous FTP server. Dimana kita bisa
menggunakan username anonymous atau ftp dan password
berupa alamat email untuk login. Diatur dengan menggunakan
option anonymous_enable
4. Hanya mengizinkan anonymous user untuk melakukan
download file yang terdapat pada anonymous direktori yang
digunakan oleh server.
564 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Command Keterangan
server
Selanjutnya proses ini akan berjalan dengan otomatis. Proses ini bisa
berlangsung dalam beberapa menit atau dalam hitungan jam yang
tergantung dengan ukuran dari harddisk yang ingin dirubah
partisinya. Jika proses ini telah selesai dan anda telah masuk ke dalam
sistem Windows XP, sekarang saatnya untuk menginstall Linux
Ubuntu pada harddisk yang telah kita kosongkan itu. Restart
komputer anda, dan rubah urutan booting pada BIOS menjadi ke CD
ROM dan jangan lupa untuk memasukkan CD Linux Ubuntu. (Lihat
pada BAB II bagaimana cara merubah urutan booting pada BIOS dan
proses installasi awal seperti memilih bahasa dan lainnya).
Pada lampiran ini penulis hanya akan menjelaskan cara-cara dalam
membuat partisi yang akan digunakan, karena hanya pada bagian ini
yang sedikit berbeda dibandingkan dengan cara membuat partisi pada
BAB II. Jangan lupa untuk melihat pada BAB II (penulis asumsikan
pembaca sudah sampai pada proses konfigurasi network (lihat
gambar 2.19 pada BAB II) ), sekarang lanjutkan dengan proses partisi
pada harddisk.
dilihat lagi pada BAB II), jika ada kesalahan dalam mebuat partisi bisa
mengklik button Undo changes to partition.
Setelah selesai membuat partisi, klik Forward, maka akan muncul
tampilan untuk mengimport Document and Setting dari sistem
operasi lain yang sudah terinstall pada komputer yang digunakan.
/ root partisi
/tmp temporary
B.1 UbuntuME
UbuntuME merupakan salah satu distro yang berbasiskan pada
Ubuntu, pada distro ini mengikutsertakan program seperti zekr,
dansguardian yang dilengkapi dengan content filtering, menginstall
ubuntume-artwork. Untuk menginstall UbuntuME bisa
mendownload file ISOnya di http://www.ubuntume.com/, atau
menggunakan script yang ada pada website tersebut jika ingin
menginstall secara online download script install-ubuntuME.sh pada
website tersebut, rubah hak aksesnya sehingga menjadi executable,
$ chmod 755 install-ubuntuME.sh
$ sudo ./ install-ubuntuME.sh
Setelah proses installasi selesai maka script ini akan melakukan
konfigurasi UbuntuME yang membutuhkan input dari kita, yang bisa
disesuaikan dengan dengan keinginan anda sendiri. Pada lampiran ini
penulis akan membahas cara merubah tampilan Ubuntu menjadi
UbuntuME dengan menginstall ubuntume-artwork yang berisikan
theme, icons, background, splashimage, grub-splashimage,
604 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
$ sudo cp -f /usr/share/ubuntume-artwork/\
grub/medine_moon_right_below.xpm.gz \
/boot/grub/splashimages
$ sudo cp -f --remove-destination /usr/share/\
ubuntume-artwork/boot/grub/splash.xpm.gz \
/boot/grub/splash.xpm.gz
$ sudo cp -f --remove-destination /usr/share/\
ubuntume-artwork/usplash/usplash-artwork.so \
/usr/lib/usplash/usplash-artwork.so
$ sudo update-initramfs -u
$ sudo update-grub
Sekarang restart komputer yang digunakan, maka pada saat menu
grub muncul akan akan ada background dari UbuntuME, begitu juga
saat Ubuntu loading akan menggunakan usplash dari UbuntuME,
seperti yang terlihat pada gambar dibawah ini, yang memperlihatkan
screen shoot dari grub-splashimage, usplash dan login screen.
Lihat baris berikut ini pada file /etc/default/ddclient, dan ganti nilai
false dengan true
run_daemon="false"
Sehingga baris ini menjadi
run_daemon="true"
Simpan hasil perubahan ini, dan jalankan ddclient
$ sudo /etc/init.d/ddclient restart
$ ps aux | grep ddclient
root 5070 0.0 1.4 7264 3800 tty1 S
15:09 0:00 ddclient - sleeping for 210 seconds
Sekarang lakukan perintah nslookup untuk melihat domain yang telah
kita buat
$ nslookup urangkayo.homeunix.org
Server: 202.134.0.155
Address: 202.134.0.155#53
Non-authoritative answer:
Name: urangkayo.homeunix.org
Address: 125.161.170.78
Bisa juga kita lakukan ping untuk melihat apakah host tersebut hidup.
$ ping urangkayo.homeunix.org
PING urangkayo.homeunix.org (125.161.170.78) 56(84)
bytes of data.
64 bytes from 78.subnet125-161-
170.speedy.telkom.net.id (125.161.170.78):
icmp_seq=1 ttl=64 time=0.062 ms
Selanjutnya kita bisa menginstall web server seperti Apache, disini
penulis menginstall Apache pada komputer yang langsung terhubung
dengan modem ADSL.
$ sudo apt-get install apache2
614 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Setelah proses installasi selesai, kita coba membuat file dengan nama
index.html pada /var/www
$ sudo vi /var/www/index.html
<HTML>
<HEAD>
<TITLE> Kost-an na urangkayo </TITLE>
</HEAD>
<BODY>
Working :p
</BODY>
</HTML>
Sekarang buka browser, dan ketikkan alamat host yang dibuat pada
website dynDNS, yang akan terlihat seperti pada gambar berikut ini
B.4 GnuPG
GNU Privacy Guard, merupakan program yang digunakan untuk
mengamankan komunikasi data dan storage, untuk melakukan
enkripsi data serta membuat signature digital. Untuk bisa
menggunakan GPG kita harus membuat key-pair (private key dan
public key), untuk membuat key-pair ini jalankan perintah berikut
$ gpg --gen-key
gpg (GnuPG) 1.4.6; Copyright (C) 2006 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
gpg: directory `/home/urangkayo/.gnupg' created
gpg: new configuration file `/home/urangkayo/.gnupg/gpg.conf' created
gpg: WARNING: options in `/home/urangkayo/.gnupg/gpg.conf' are not yet
active during this run
gpg: keyring `/home/urangkayo/.gnupg/secring.gpg' created
gpg: keyring `/home/urangkayo/.gnupg/pubring.gpg' created
Your selection? 1
Selanjutnya kita diminta untuk memasukkan panjang bit yang akan
digunakan, pilihan 2048 sudah cukup memadai
DSA keypair will have 1024 bits.
ELG-E keys may be between 1024 and 4096 bits long.
Maka akan ditanyakan masa berlaku dari key yang akan kita buat,
disini kita bisa memilih key tersebut berlaku untuk selamanya (tidak
memiliki masa expire)
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Enter passphrase:
gpg: gpg-agent is not available in this session
Tips dan Trick Menggunakan Ubuntu 617
Perhatikan tulisan Not enough random bytes available. Jika ini muncul
maka lakukan aktivitas yang membuat harddisk bekerja, seperti
menjalankan perintah find / berulang-ulang, menggerakkan mouse,
mengcompress file dan sebagainya agar random bytes yang
diperlukan bisa tersedia. Setelah selesai bisa dilihat bahwa ID dari
signature yang dibuat adalah AF86AD4C dengan fingerprint 8BD5
F5F0 8A6E 844E 6DCC 1F87 EEE4 6422 AF86 AD4C, tentu saja akan
berbeda dengan yang anda hasilkan.
618 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Sekarang kita akan mengeksport public key kedalam file sehingga bisa
disebarluaskan, untuk itu kita bisa menggunakan perintah berikut
$ gpg --output urangkayo@gmail.com.pubkey.gpg \
--export urangkayo@gmail.com
Perintah diatas akan mengeksport public key kita kedalam file dengan
nama urangkayo@gmail.com.pubkey.gpg, dimana formatnya adalah
dalam bentuk binary, untuk mengeksport kedalam format ASCII,
gunakan --armor
$ gpg --output urangkayo@gmail.com.pubkey.asc \
--armor --export urangkayo@gmail.com
$ cat urangkayo@gmail.com.pubkey.asc
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.6 (GNU/Linux)
mQGiBEdgmJwRBADf/Eqz/ODHD6UsAvy9EPhwKt9vD5bCNw15Af42y0XyDe2kxcXj
PZ2Bcy0qzhCO04SE59NXFXhW0qOmMj4xQpFUvBCSgeIiC83dZ8GcVUpSlnuYkyGz
whz7LOFQPgaPP4hgS5u2Lwvuthe/3uxMkRm15YmfXRPwIZWEOxmAuUcBlwCgnJVH
d5GvjCxyPTWA0q1LwXNpdn8EAL3mAQ15nNx0CYYn2IvV3rBrRz86+z0CRVmGIXvF
nWQNvbmBS/27vESGkehyoEkSiT2Q1Ys6u/nQdw/WsSXYyoO0AeZq/0Q9oUgCiCIH
WA49JZ3E7V6Cc+fwEiOaRVVmJeKPCblJvpTFjKxUdSGVZhW5BmRyh92Mp9Wb9kmy
29oDA/9xI7o9+Ow+XR9lb9bHZ71/LjxxwbGHhDATCP/e4355RSmNm8qOiuLhMymR
odwLYJAk+ao86RfdNgzAu8YbViwDW1zvuySw/u3RBVUNWzmrUAeqvVa/DoPql4z6
5Gvt1kGNcbE/FNyU4HnjtE9ym29mmxCSZvX7FMYLi46TsgX3vrQ8WXVuaWZhIFdp
cm1hbiAoQ2FQb2VYIGRvdCBOZXQgRm91bmRlcikgPHVyYW5na2F5b0BnbWFpbC5j
b20+iGAEExECACAFAkdgmJwCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDu
5GQir4atTODXAJ4yAQM3X1OrxiMhK050cl+TqyNNeQCgk0zqRK9XvhLhsk2HqTCO
A5k+yIq5Ag0ER2CYohAIAKIbWJkXf1Eo+BGnUWO4rvoEjWE+CyOEwRCtMEaN4yN3
5wubWz7GaKiLRR2XisDwduI9/gtpTQM6G6Xm6fMfOtvY5lokiot1rhORVjNgg+s7
QakcVC6oFe7Q+7PpEQ88RU6MDVsL9B3J3gAdM9e9S33BzForXDBHPhmVGC0UmnRb
XUnaqE9eLImtzaULQ+6GDHrgysvCeLURVMAtk3TqQK1Pgc52VnV6SpXDsc9gen9n
5F3LaBKIIXvK2aK3pPIMVdfTbb48wuISfE3FBBrSn1Sp510bZUDCwa6/ZDwWtYR5
Tips dan Trick Menggunakan Ubuntu 619
ruEOgSgESACzMx/SFly8Mn/UdXIfTvBYVJ4MdX83yCMAAwYIAI/78cJBvkW3WKT/
6GS4kkwuNGyNnhpEEV87XKVPZj5OHPdynSWOwb4gFhhE7rbsepU4R7LLBV2etWs2
mH/cwsJa1L5mD3pdMBzdhodiylVKU/oMC3s0asR/fuexACB5+s/UjB7/+7uUHrCB
yZs4fqQGhWpU0pC+Mm0b4bnd7QXxyPLz9CeJ6NYLSwdO1Muy/zDL8enNjdYb66LF
0+HyJ9DKYSUena9ya9Ts9ahLPp/GC2CktO7DyGlRdl4YWsOkVnfLoNuDue8XnSr9
TkHQJ/bQfDBCJcA3D+p9YspVlQCUOoLKa/j9iTwTh6ZGVFfPxe302pRUGbOgZa+e
+dUIEGCISQQYEQIACQUCR2CYogIbDAAKCRDu5GQir4atTL7HAJ9K80xdVrXUM/ka
228YAoZJbLJf3ACcDP55rhaPTESEUp1duti7WTFrGmM=
=XkSQ
-----END PGP PUBLIC KEY BLOCK-----
Output diatas adalah public key dalam bentuk ASCII, terlihat bahwa
public key diawali dengan bari -----BEGIN PGP PUBLIC KEY
BLOCK----- dan diakhiri dengan baris -----END PGP PUBLIC
KEY BLOCK-----. Public key ini bisa anda tempatkan menjadi
signature email atau pada website sehingga orang lain bisa
mengimport public key yang anda miliki. Setelah kita memiliki key
pair dari GNUPG, kita bisa mengimport public key yang dimiliki oleh
orang lain, sebagai contoh disini penulis mengimport public key user
thinkerbels yang berbentuk file dengan nama
thinkerbels@scorvia.or.id.asc, untuk itu gunakan perintah
$ gpg --import thinkerbels@scorvia.or.id.asc
gpg: key C4C62320: public key "thinkerbels (sCorV!a Member)
<thinkerbels@scorvia.or.id>" imported
gpg: Total number processed: 1
gpg: imported: 1
Setelah anda yakin bahwa public key yang diimport ini adalah benar
milik yang bersangkutan, entah itu dikonfirmasi melalui telepon atau
email atau konfirmasi langsung, maka anda bisa meng-signs public
key ini. Pada contoh diatas public key dari thinkerbels memiliki ID
C4C62320, untuk meng-signs nya gunakan perintah
$ gpg --sign-key C4C62320
pub 1024D/C4C62320 created: 2007-12-13 expires: never usage: SC
trust: unknown validity: unknown
620 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Enter passphrase:
$ gpg --update-trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 1 trust: 0-, 0q, 0n, 0m, 0f, 1u
No trust value assigned to:
1024D/C4C62320 2007-12-13
"thinkerbels (sCorV!a Member) <thinkerbels@scorvia.or.id>"
Primary key fingerprint: 2C0F 508A 045F E3B7 9E48 C00C 0A0C 355F C4C6
2320
Please decide how far you trust this user to correctly verify other
users' keys
(by looking at passports, checking fingerprints from different sources,
etc.)
1 = I don't know or won't say
2 = I do NOT trust
3 = I trust marginally
4 = I trust fully
s = skip this key
q = quit
Your decision? 4
Tips dan Trick Menggunakan Ubuntu 621
gpg: depth: 1 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 1f, 0u
Sekarang public key dari thinkerbels sudah ada pada pubring.gpg dan
trustdb.gpg, untuk melihatnya gunakan perintah berikut:
$ gpg --list-sigs C4C62320
pub 1024D/C4C62320 2007-12-13
uid thinkerbels (sCorV!a Member)
<thinkerbels@scorvia.or.id>
sig 3 C4C62320 2007-12-13 thinkerbels (sCorV!a Member)
<thinkerbels@scorvia.or.id>
sig AF86AD4C 2007-12-14 Yunifa Wirman (CaPoeX dot Net Founder)
<urangkayo@gmail.com>
sub 2048g/5E7E8E32 2007-12-13
sig C4C62320 2007-12-13 thinkerbels (sCorV!a Member)
<thinkerbels@scorvia.or.id>
Untuk melihat key yang ada pada pubring.gpg dan secring.gpg, bisa
menggunakan perintah
$ gpg --list-keys
$ gpg --list-secret-keys
Misalkan user yang memiliki id thinkerbels ingin mengirimkan file
yang sudah di enkripsi, sebagai contoh user thinkerbels membuat file
dengan nama test_gpg.txt yang isi teksnya adalah
Hi... urangkayo!
hanya latihan pake GPG :-)
Untuk mengenkripsi file teks tersebut, user thinkerbels akan
menjalankan perintah berikut, dimana outputnya dalam format ASCII
$ gpg -r "urangkayo@gmail.com" --armor \
--encrypt test_gpg.txt
Options -r diikuti dengan nama penerima dari file enkripsi ini, dimana
public keynya sudah di signs terlebih dahulu. Selanjutnya ketika
menerima file ini, untuk mendecryptnya gunakan perintah
$ gpg --output test_gpg.txt \
--decrypt test_gpg.txt.asc
622 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Hasilnya adalah pada direktori aktif akan ada file dengan nama
test_gpg.txt yang berisikan teks yang dibuat oleh thinkerbels. Selain
untuk melakukan enkripsi, kita juga bisa membuat signature untuk
file yang kita inginkan, sebagai contoh thinkerbels memiliki file
dengan nama my_file.tar.bz2 dan ingin membuat signaturenya
sehingga orang yang memperoleh file ini bisa memastikan bahwa file
tersebut tidak berasal dari sumber lain, untuk membuat signature dari
file tersebut
$ gpg -sba my_file.tar.bz2
You need a passphrase to unlock the secret key for
user: "thinkerbels (sCorV!a Member) <thinkerbels@scorvia.or.id>"
1024-bit DSA key, ID C4C62320, created 2007-12-13
Terlihat ada string ‘Good signature’ yang berarti file tersebut memang
berasal dari sumber yang sama dengan signaturenya. GnuPG juga bisa
diintegrasikan dengan email client seperti Thunderbird, Evolution.
Untuk mengetahui lebih jelas mengenai GnuGP bisa membaca
manualnya atau mengunjungin websitenya di http://www.gnupg.org/.
$ man gpg
Tips dan Trick Menggunakan Ubuntu 623
Menggunakan wine
Wine merupakan program yang dapat menjalankan dan menginstall
program-program buat windows, sehingga berjalan pada Linux.
Untuk menginstall wine, jalankan perintah berikut
$ sudo apt-get install wine
Sekarang pada terminal jalankan perintah
$ winecfg
Akan muncul tampilan untuk mengkonfigurasi wine. Disini kita bisa
menambahkan drive yang bisa digunakan untuk wine. Klik button
Autodetect dan klik Apply.
626 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Mengamankan Grub
Grub merupakan boot loader pada Ubuntu, seperti yang kita lihat
pada menu default dari GRUB terdapat menu untuk masuk kedalam
single mode sehingga setiap orang yang memilih menu ini akan bisa
dengan mudah untuk masuk menjadi root. Untuk mengamankan
GRUB, kita bisa memberikan password sehingga untuk mengedit atau
menggunakan menu tertentu, harus memasukkan password terlebih
dahulu. Untuk membuat password, pada terminal jalankan perintah
$ grub-md5-crypt
Password:
628 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
Retype password:
$1$ypK5H$lEzBbHvy7qLeCST/hSQi31
Hasilnya adalah teks yang sudah dienkripsi menggunakan metode
MD5, untuk itu copy dan paste teks tersebut kedalam menu.lst tepat
sebelum baris menu, format penulisannya adalah
password --md5 password_grub_anda
Untuk itu buka file /boot/grub/menu.lst dengan teks editor
$ sudo vi /boot/grub/menu.lst
Kemudian isikan password yang telah dbuat, lihat gambar B.21 untuk
lebih jelasnya
Rescue Mode
Jika kita pernah mengalami kerusakan MBR (master boot record)
sehingga grub tidak bisa berjalan, maka kita bisa melakukan recovery
grub dengan menggunakan CD installer dari Ubuntu, rubah urutan
booting dari komputer sehingga boot pertama akan membaca CD,
masukkan CD kedalam CD ROM, dan restart komputer yang
digunakan, pada menu yang muncul pilih Rescue a broken system.
630 Pake Ubuntu Yuk! Dijamin ga' bakalan kena usus buntu
--15:01:53-- ftp://dl2.foss-id.web.id/iso/ubuntu/releases/gutsy/ubuntu-
7.10-desktop-i386.iso
=> `ubuntu-7.10-desktop-i386.iso'
Resolving dl2.foss-id.web.id... 125.160.17.22
Connecting to dl2.foss-id.web.id|125.160.17.22|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /iso/ubuntu/releases/gutsy ... done.
==> PASV ... done. ==> RETR ubuntu-7.10-desktop-i386.iso ... done.
Length: 729,608,192 (696M) (unauthoritative)
100%[++++++++++++++++++===========>] 729,608,192 35.86K/s ETA 00:00
18:19:56 (33.70 KB/s) - `ubuntu-7.10-desktop-i386.iso' saved
[729608192/729608192]
Tunggu beberapa saat sampai nilai MD5 dari file ISO ini dicalculateoleh
program fsum.exe. Setelah selesai akan muncul nilai MD5 dari file
tersebut, sekarang cocokkan nilai ini dengan nilai yang terdapat pada
file MD5SUM tempat kita mendownload ISO Ubuntu ini. Ingat,
sesuaikan dengan nama rilis yang digunakan, jika yang didownload
Ubuntu Desktop untuk i386, maka nilai MD5 yang dilihat pada file
MD5SUM juga baris untuk Ubuntu Desktop i386, seperti
“d2334dbba7313e9abc8c7c072d2af09c *ubuntu-7.10-desktop-i386.iso”