DAFTAR ISI MODUL 1 Pengenalan Sistem Informasi dan File Management ............................................................ 1 I.
Tujuan Praktikum.................................................................................................................................... 1
II.
Alat dan Bahan .................................................................................................................................... 1
III.
Landasan Teori .................................................................................................................................... 1 3.1 VMWare Workstation 9 .................................................................................................................. 1 3.2 Sistem Operasi ................................................................................................................................. 1 3.3 UNIX, LINUX, & UBUNTU .......................................................................................................... 2 3.4 User Interface .................................................................................................................................. 4 3.5 Terminal........................................................................................................................................... 4 3.6 File System ...................................................................................................................................... 5 3.7 File Management ............................................................................................................................. 5 3.8 Hirarki Direktori .............................................................................................................................. 8
IV.
Lab / Praktek ..................................................................................................................................... 11
V.
Studi Kasus Praktikum ...................................................................................................................... 11
MODUL 2 Vi Editor & Network Configuration ........................................................................................ 13 I.
Tujuan Praktikum.................................................................................................................................. 13
II.
Alat dan Bahan .................................................................................................................................. 13
III.
Landasan Teori .................................................................................................................................. 13 3.1 Teks Editor .................................................................................................................................... 13 3.2 Network Configuration .................................................................................................................. 18
IV.
Lab / Praktek ..................................................................................................................................... 19 4.1 Vi Editor ........................................................................................................................................ 19 4.2 Repository...................................................................................................................................... 19 4.3 Network Configuration .................................................................................................................. 19
V.
Studi Kasus Praktikum ...................................................................................................................... 20 5.1 Vi Editor ........................................................................................................................................ 20 5.2 Repository ..................................................................................................................................... 21 5.3 Network Configuration .................................................................................................................. 21
MODUL 3 Remote Access (Telnet, SSH, dan Remote Desktop)………………………………………22 I.
Tujuan Praktikum.................................................................................................................................. 22
II.
Alat dan Bahan .................................................................................................................................. 22
III.
Landasan Teori .................................................................................................................................. 22 3.1 Telnet ............................................................................................................................................. 22 3.2 SSH (SecureShell) ......................................................................................................................... 23 3.3 Remote Desktop pada Windows.................................................................................................... 24
IV.
Lab / Praktek ..................................................................................................................................... 25 4.1 Remote Desktop pada Windows.................................................................................................... 25 Laboratorium Sistem Operasi Dan Jaringan
Page ii
4.2 Remote Menggunakan SSH dan Telnet antara Windows dan Ubuntu .......................................... 25 V.
Studi Kasus Praktikum ...................................................................................................................... 25 5.1 Remote Desktop pada Windows.................................................................................................... 25 5.2 Remote Menggunakan SSH dan Telnet antara Windows dan Ubuntu .......................................... 26
MODUL 4 Web Server & FTP Server ......................................................................................................... 27 I.
Tujuan Praktikum.................................................................................................................................. 27
II.
Alat dan Bahan .................................................................................................................................. 27
III.
Landasan Teori .................................................................................................................................. 27 3.1 Web Server .................................................................................................................................... 27 3.2 FTP Server ..................................................................................................................................... 28
IV.
Lab / Praktek ..................................................................................................................................... 29 4.1 Memindahkan file dari PC ke Virtual machine. ............................................................................ 29 4.2 Install xampp.................................................................................................................................. 31
V.
Studi Kasus Praktikum ...................................................................................................................... 32
MODUL 5 DNS Server ................................................................................................................................... 33 I.
Tujuan Praktikum.................................................................................................................................. 33
II.
Alat dan Bahan .................................................................................................................................. 33
III.
Landasan Teori .................................................................................................................................. 33 3.1 DNS Server .................................................................................................................................... 33
IV.
Lab / Praktek ..................................................................................................................................... 36 4.1 Install ............................................................................................................................................. 36 4.2 Setting IP Static ............................................................................................................................. 36 4.3 Membuat File Forward dan File Reverse ...................................................................................... 37
V.
Studi Kasus Praktikum ...................................................................................................................... 41
MODUL 6 Mail Server .................................................................................................................................. 42 I.
Tujuan Praktikum.................................................................................................................................. 42
II.
Alat dan Bahan .................................................................................................................................. 42
III.
Landasan Teori .................................................................................................................................. 42 3.1 Pengenalan Mail Server ................................................................................................................. 42 3.2 Cara kerja Mail Server................................................................................................................... 43 3.3 Manfaat memiliki Mail Server sendiri........................................................................................... 46
IV.
Lab / Praktek ..................................................................................................................................... 47 4.1 Installasi ......................................................................................................................................... 47
V.
Studi Kasus Praktikum ...................................................................................................................... 54
MODUL 7 BASH Scripting ............................................................................................................................ 55 I.
Tujuan Praktikum.................................................................................................................................. 55
II.
Alat dan Bahan .................................................................................................................................. 55
III.
Landasan Teori .................................................................................................................................. 55 3.1 BASH Script .................................................................................................................................. 55 Laboratorium Sistem Operasi Dan Jaringan
Page iii
3.2 Cara menjalankan Script ................................................................................................................ 63 IV.
Lab / Praktek ..................................................................................................................................... 64 4.1 Operasi Aritmatika Sederhana ....................................................................................................... 64 4.2 Menghitung Jumlah Kata Pada Suatu String atau Textfile............................................................ 66 4.3 Menghitung jumlah karakter pada elemen pertama array ............................................................. 66
V.
Studi Kasus Praktikum ...................................................................................................................... 67
DAFTAR PUSTAKA.....................................................................................................................................69
Laboratorium Sistem Operasi Dan Jaringan
Page iv
MODUL 1 Pengenalan Sistem Informasi dan File Management I.
II.
III.
Tujuan Praktikum 1. Praktikan memahami tentang sistem operasi. 2. Praktikan memahami hirarki direktori dari sistem operasi dan perinta-perintah yang ada pada sistem operasi. 3. Praktikan dapat melakukan instalasi sistem operasi Ubuntu 12.04.2-desktop-i386. 4. Praktikan dapat melakukan file management pada sistem operasi Ubuntu. Alat dan Bahan 1. VMware Workstation 9 2. ISO Ubuntu 12.04.2-desktop-i386 3. Komputer Landasan Teori 3.1
3.2
VMWare Workstation 9 VMware merupakan sebuah aplikasi "virtual workstation", dimana sebuah user menjalankan "sistem operasi didalam sistem operasi". Dengan aplikasi ini, user bisa mencoba sebuah sistem operasi sebelum benar-benar menjalankan didalam sistem yang sebenarnya (dalam hal ini, instalasi ke dalam sistem komputer). Dalam modul ini, kami akan menggunakan VMware workstation versi 7. Tetapi sebelumnya, pastikan untuk mempersiapkan media penyimpanan, semisal HDD, sebesar 10 GB. Pastikan juga untuk mencadangkan RAM untuk VMWare sebesar 25 - 50% dari RAM total sistem. Dan juga, sumber instalasi OS yang akan divirtualkan, baik dari CD, maupun dengan image CD (iso).
Sistem Operasi Sistem operasi berdasarkan American National Standart Institute (ANSI) adalah software yang mengontrol pelaksana program-program komputer, yaitu dengan mengatur waktu proses, pengecekan kesalahan, mengontrol input dan output, melakukan perhitungan, komplikasi, penyimpanan, pengolahan data serta pelbagai bentuk layanan yang terkait. Sistem operasi menyediakan sejumlah layanan untuk program aplikasi dan juga user. Aplikasi mengakses layanan tersebut melalui API (Application Programming Interfaces, atau disebut juga system calls). Sementara user dapat berinteraksi dengan sistem operasi melalui 2 cara, yakni CLI (Command Line Interface) atau GUI (Graphical User Interface). Beberapa fungsinutama dari sistem operasi adalah mengelola sumber daya yang terkait dengan pengendalian perangkat lunak sistem/perangkat lunak aplikasi yang sedang dijalankan, melakukan pengelolaan proses mencakup penyiapan, penjadwalan, dan pemantauan proses program yang sedang dijalankan, dan melakukan penerjemahan sebagai perantara komunikasi antara komputer dengan user. Sistem operasi secara umum terdiri dari beberapa bagian: 1. Mekanisme Boot, yaitu meletakkan kernel ke dalam memory. 2. Kernel, yaitu inti dari sebuah sistem operasi. Laboratorium Sistem Operasi & Jaringan
Page 1
3. Command Interpreter atau shell, yang bertugas membaca input dari pengguna. 4. Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain. 5. Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrolnya. Beberapa program seperti BIOS, bootloader, dan MBR (Master Boot Record), dijalankan pertama kali sebelum masuk ke interface-nya. Sebuah sistem operasi tentunya memiliki akses tak terbatas pada hardware karena memiliki kernel, yang merupakan inti dari sistem operasi sekaligus menjadi "jembatan penghubung" dengan hardware. Kernel memiliki beragam fungsi terhadap hardware, seperti manajemen memori, penjadwalan proses, penanganan kesalahan dan gangguan, manajemen berkas, serta pelayanan tanggal dan jam sistem. Saat kita menjalankan suatu program, sistem operasi akan otomatis meng-handle proses tersebut dengan kernel. Kernel kemudian "memesan" sejumlah memory dan resource lain, mengatur prioritas dari proses tersebut (hanya pada sistem yang memiliki kemampuan multi-tasking), memuat coding program ke dalam memori, kemudian mengeksekusi program. Sebuah kernel harus mampu mengatur semua memori sistem, baik yang sedang digunakan pada program-program yang sedang berjalan, maupun yang sedang tidak terpakai. Hal ini diperlukan untuk memastikan agar masing-masing program hanya memakai memori yang telah dialokasikan kepadanya (tidak menggunakan memori lain, apalagi yang telah dipakai oleh program lain). Pengertian multitasking sendiri yaitu adalah kemampuan untuk menjalankan beberapa program dalam komputer yang sama, sehingga terlihat dapat menjalankan beragam proses dalam waktu yang sama. Sebuah kernel memiliki kemampuan 'scheduler', yang dapat menentukan berapa lama sebuah program dieksekusi, dan pada urutan berapa program tersebut dikendalikan. Kernel kemudian memberikan kendali atas proses tersebut, sehingga program dapat mengakses memori dan CPU. Nantinya, kendali tersebut dikembalikan ke kernel lagi, jadi program lain bisa mengakses CPU juga. Proses diatas biasa juga disebut sebagai context switch.
3.3
UNIX, LINUX, & UBUNTU 3.3.1 UNIX Unix atau UNIX adalah sebuah sistem operasi komputer yang diawali dari project Multics (Multiplexed Information and Computing Service) pada tahun 1965 yang dilakukan American Telephone and Telegraph AT&T, General Electric (GE), dan Institut Teknologi Massachusetts (MIT), dengan biaya dari Departemen Pertahanan Amerika (Departement of Defence Advenced Research Project, DARPA atau ARPA), UNIX didesain sebagai Sistem operasi yang portable, multi-tasking dan multi-user. Sistem operasi Unix digunakan secara luas baik sebagai server atau workstation. Arsitektur Unix dan model client/server merupakan elemen yang paling penting dalam perkembangan internet dan mengubah proses komputasi secara terpusat dalam jaringan dari pada proses tunggal di komputer. Linux, merupakan sistem operasi yang diadopsi dari Unix dan tersedia secara bebas mendapat popularitas sebagai alternatif dari sistem operasi proprietary seperti Microsoft Windows. Beberapa sistem operasi yang merupakan pengembangan dari sistem operasi UNIX adalah Solaris, OpenSolaris, BSD UNIX, FreeBSD dan Linux.
Laboratorium Sistem Operasi & Jaringan
Page 2
Gambar 1.1 - Arsitektur Sistem Operasi UNIX 3.3.2 LINUX Linux adalah nama yang diberikan kepada sistem operasi komputer bertipe Unix. Linux merupakan salah satu contoh hasil pengembangan perangkat lunak bebas dan sumber terbuka utama. Seperti perangkat lunak bebas dan sumber terbuka lainnya pada umumnya, kode sumber Linux dapat dimodifikasi, digunakan dan didistribusikan kembali secara bebas oleh siapa saja. Nama "Linux" berasal dari nama pembuatnya, yang diperkenalkan tahun 1991 oleh Linus Torvalds. Sistemnya, peralatan sistem dan pustakanya umumnya berasal dari sistem operasi GNU, yang diumumkan tahun 1983 oleh Richard Stallman. Kontribusi GNU adalah dasar dari munculnya nama alternatif GNU/Linux. Linux telah lama dikenal untuk penggunaannya di server, dan didukung oleh perusahaan-perusahaan komputer ternama seperti Intel, Dell, Hewlett-Packard, IBM, Novell, Oracle Corporation, Red Hat, dan Sun Microsystems. Linux digunakan sebagai sistem operasi di berbagai macam jenis perangkat keras komputer, termasuk komputer desktop dan superkomputer. 3.3.3
UBUNTU Ubuntu merupakan salah satu distribusi Linux yang didistribusikan sebagai perangkat lunak bebas. Nama Ubuntu berasal dari filosofi dari Afrika Selatan yang berarti "kemanusiaan kepada sesama". Ubuntu dirancang untuk kepentingan penggunaan pribadi, namun versi server Ubuntu juga tersedia, dan telah dipakai secara luas. Tujuan dari sistem operasi Ubuntu adalah untuk memberikan kebebasan pada penggunanya. Bukan hanya dari tools yang telah disediakan secara bebas biaya, tetapi juga mempunyai hak untuk memodifikasi perangkat lunak sehingga bekerja sesuai dengan keinginan pengguna. Ubuntu mempunyai keunggulan jika dibandingkan dengan sistem operasi lain, yaitu: Open Soure. Distribusi Linux adalah open source dan source code dapat diedit dan dikembangkan sesuai kebutuhan kita. Free Software. Setiap aplikasi dan software pada Linux gratis dan open source sehingga tidak perlu khawatir masalah lisensi yang biasanya terdapat pada sistem operasi lain. Stabil. Jika ada aplikasi yang crash dalam Ubuntu, tidak menyebabkan sistem operasi Down. Reliable. Server Linux sudah biasa hidup dalam jangka waktu ratusan hari dibandingkan Windows yang perlu di Reboot secara berkala. Mudah Digunakan. Linux Ubuntu adalah salah satu distribusi Linux yang userfriendly dan mudah untuk digunakan. Laboratorium Sistem Operasi & Jaringan
Page 3
Kemudahan Upgrade. Kita dapat mengupgrade Linux Ubuntu melalui package manager dan semua aplikasi dapat diinstall/update dengan mudah. Server. Lingkungan sistem operasi yang ideal untuk menjalankan server, seperti Web Server, FTP server, Authentication Server dan sebagainya.
3.4
User Interface 3.4.1 CLI Command Line Interface (CLI) adalah sebuah interface atau tampilan dari sistem operasi yang berisi perintah-perintah. Pengguna menjalankan perintah dan program di sistem operasi tersebut dengan cara mengetikkan baris-baris tertentu. Meskipun konsepnya sama, tiap-tiap sistem operasi memiliki nama atau istilah yang berbeda untuk CLI-nya. UNIX memberi nama CLI-nya sebagai bash, ash, ksh, dan lain sebagainya. Microsoft Disk Operating System (MS-DOS) memberi nama command.com atau Command Prompt. Sedangkan pada Windows Vista, Microsoft menamakannya PowerShell. Pengguna Linux mengenal CLI pada Linux sebagai terminal, sedangkan pada Apple namanya adalah commandshell. Pada CLI kita dapat menjadi pengguna atau user khusus dimana kita bisa melakukan segala macam administrasi pada sistem operasi tersebut. Pada Windows biasa disebut Administrator dan pada Unix dan Linux disebut Root. Pada Ubuntu, untuk menjadi root bisa dengan perintah: $ sudo su 3.4.2 GUI GUI (Graphical User Interface) adalah jenis antarmuka pengguna yang menggunakan metoda interaksi pada piranti elektronik secara grafis (bukan perintah teks) antara pengguna dan computer. GUI menggambarkan informasi dan perintah yang tersedia untuk pengguna menggunakan icon grafis. Contoh: Microsoft Windows, MacOS dan Xwin.
3.5
Terminal Bekerja dengan baris perintah tidaklah tugas yang menakutkan seperti yang kita pikir sebelumnya. Tidak dibutuhkan pengetahuan khusus untuk mengetahui bagaimana menggunakan baris perintah, ini adalah program seperti yang lainnya. Semua tugas di Linux dapat diselesaikan menggunakan baris perintah, walaupun telah ada alat berbasis grafik untuk semua program, tetapi kadang-kadang itu semua tidak cukup. Disinilah baris perintah akan sangat membantu. Pada desktop terminal dapat ditemukan di Applications ->Terminal. Terminal sering disebut command prompt atau shell. Di masa lalu, hal ini adalah cara pengguna untuk berinteraksi dengan komputer, dan para pengguna Linux berpendapat bahwa penggunaan perintah melalui shell akan lebih cepat dibanding melalui aplikasi berbasis grafik dan hal ini masih berlaku sampai sekarang. Disini Kita akan mempelajari bagaimana menggunakan terminal. Kegunaan awal dari terminal adalah sebagai browser berkas dan kenyataannya saat ini masih digunakan sebagai browser berkas, di saat lingkungan berbasis grafik tidak tersedia. Kita dapat menggunakan terminal sebagai browser berkas untuk melihat berkas dan membatalkan perubahan yang telah dibuat.
Laboratorium Sistem Operasi & Jaringan
Page 4
3.6
3.7
File System File System adalah sebuah struktur logika yang berguna untuk pengendalian akses terhadap data yang berada pada disk atau tempa penyimpanan. Pada file sytem tersedia aturan dan tatacara penyimpanan data dan program yang dimiliki oleh sebuah sistem operasi serta seluruh user dari sistem computer tersebut.2 Pada umumnya file system terdiri dari dua bagian, yang pertama adalah Sekumpulan file yang masing-masing menyimpan data-data yang terintegrasi. Dan yang kedua adalah struktur direktori yang melakukan pengorganisasian dan menyediakan informasi mengenai seluruh file dalam sebuah sistem. File System pada Ubuntu disebut sebagai file system hirarki. Ini berarti bahwa file system itu terdiri dari banyak direktori yang berisi file-file. Windows sebenarnya juga menggunakan file system hirarki namun Ubuntu mengacu pada file system hingga hirarki tingkat bawah atau sering disebut sebagai root. Tetapi hal ini tidak ada hubungannya dengan user root. Beberapa contoh file system adalah : FAT (FAT16 dan FAT32), NTFS adalah singkatan dari New Technology File System, ZFS, EXT2, dan lain-lain.
File Management File management adalah sebuah aktivitas dan proses dalam mengatur dan menangani suatu dokumen. Pengaturan yang dilakukan dapat berupa informasi bahwa suatu dokumen dapat di tulis, diatur, dibagikan, dihapus, dan disimpan. 3 Tentu saja hal ini dilakukan dengan tujuan melakukan efektivitas dan efisiensi pengelolaan dokumen supaya tepat sasaran.4 Selain itu kita juga dapat mengaturnya sesuai kebutuhan, seperti mengatur ijin (permission) bagi user lain yang ingin menggunakannya. Pada Ubuntu ada dua interface yang digunkan untuk melakukan file management, yaitu dengan Graphical User Interface (GUI) dan Command-line User Interface (CLI). Dalam Ubuntu, menggunakan CLI/ command prompt/ shell untuk melakukan file management lebih disarankan karena perintah yang ada lebih lengkap dari pada menggunakan grafis. Ketika kita berbicara tentang command-line kita di ibaratkan berbicara langsung dengan Linux dan dengan menggunakan command-line kita bisa menemukan fleksibilitas dalan berinteraksi dengan sistem operasi linux tersebut sehingga bisa dikatakan lebih efektif. 3.7.1 Struktur Dasar Linux Perintah-perintah di console linux memiliki aturan-aturan penulisan, aturan struktur penulisan perintah linux tersebut berlaku pada hampir semua perintah –perintah linux. Penulisan perintah linux bersifat case sensitive. Berikut struktur penulisan perintah linux : $
perintah
[-opsi]
[argument_1]
[argument_2]
1 2 3 4 5 Keterangan : 1. Merupakan tanda representasi user mode. Tanda representasi tersebut dibagi menjadi 2 yaitu $ dan #, berikut adalah penjelasan dari tanda user mode tersebut : # (biasa disebut dengan root) adalah user mode yang memiliki hak akses tertinggi, root memiliki hak akses yang tak terbatas terhadap seluruh perintah linux. Perintah-perintah yang dapat di jalan pada mode root terdepan di folder /etc/sbin. $ digunakan sebagai tanda jika user yang sedang mengakses adalah user biasa. Laboratorium Sistem Operasi & Jaringan
Page 5
2. Perintah adalah command-command yang digunakan untuk berinteraksi dengan sistem operasi linux. 3. Opsi adalah fungsionalitas-fungsionalitas default yang dimiliki oleh perintah yang digunakan. Kita dapat mengkombinasikan beberapa opsi untuk mendapatkan hasil yang diinginkan. Fungsionalitas dari setiap perintah linux dapat dibaca dengan menggunakan perintah: $ man (perintah)
4. Argument_1, biasanya adalah nama file,direktori atau alamat (relative atau absolute) dari suatu file ataupun folder. 5. Argument_2, pada beberapa perintah linux argument_2 tidak selalu harus ada, namun untuk beberapa perintah operasi argument_2 biasanya berisi nama,direktori atau alamat (relative atau absolute) dari suatu file ataupun folder tujuan. #pwd
Untuk mengetahui posisi direktori user sedang bekerja
#cd (directory)
Untuk berpindah ke direktori lain
#ls –l (directory)
Untuk menampilkan seluruh isi dari sebuah direktori
$ man (command)
Untuk menampilkan pilihan option yang dapat digunakan pada sebuah perintah dan ketik “quit” jika ingin keluar dari manual
Pada Ubuntu manajemen file yang dapat dilakukan adalah penyalinan, penghapusan, pembuatan, pemindahan, dan pemberian File Permissions. a. Penyalinan Untuk melakukan penyalinan file atau direktori dapat menggunakan perintah berikut: #cp –option source
b.
Untuk option terdapat dua pilihan yaitu. -i Menghindari adanya penimpaan terhadap file yang sudah ada pada direktori tujuan. -r Menyalin secara rekursif, semua direktori yang ada pada direktori asal disalin kedalam direktori tujuan. Penghapusan Untuk melakukan penghapusan file atau direktori dapat menggunakan perintah berikut: #rm –option filename
Untuk option terdapat dua pilihan yaitu. -i Menghindari adanya penghapusan terhadap file tanpa kesengajaan. Laboratorium Sistem Operasi & Jaringan
Page 6
-r
c.
Menyalin secara rekursif, semua direktori yang ada pada direktori asal disalin kedalam direktori tujuan (harus dituliskan saat menghapus direktori).
Pembuatan Untuk membuat direktori kita dapat menggunakan perintah: #mkdir directoryname
Untuk membuat sebuah file kosong kita dapat menggunakan perintah: #touch filename
d.
Pemindahan Untuk melakukan pemindahan file ke sebuah direktori dapat menggunakan perintah: #mv –option source
Pada pilihan option sama seperti yang ada penyalinan file. e.
Pemberian File Permissions Ada 3 jenis permissions yang ada pada Ubuntu. Owner Permission yang digunakan oleh pemilik file atau direktori. Group Permission yang digunakan oleh anggota dari grup pemilik file atau direktori. Other Permission yang digunakan oleh anggota dari grup pemilik file atau direktori.
Pada Ubuntu penulisan permission disusun dengan rangkaian drwxrwxrwx. Dimana notasi pertama menetukan bahwa item yang dimaksud sebuah direktori atau file. Lalu tiga notasi berikutnya adalah permissions milik owner, begitu seterusnya untuk group, dan other. Karakteristik permission dapat kita kelompokkan sebagai berikut. Permission Notasi Akses untuk file Akses untuk direktori Read R Dapat menampilkan isi Dapat mendaftar isi dari file serta menyalin file direktori Write W Dapat memodifikasi isi Dapat memodifikasi isi dari file dari direktori, seperti menghapus. Namun juga dibutuhkan execute permission untuk melakukannya Execute X Dapat mengeksekusi Dapat mengakses file maupun direktori. Dapat menjalankan shell mendaftar isi dari Laboratorium Sistem Operasi & Jaringan
Page 7
script. Dibutuhkan juga read permission untuk menjalankannya
direktori jika memilih read permission
Untuk mengubah file permission dapat menggunakan perintah sebagai berikut. #chmod permission target
Jika dikonversikan dari octal menjadi symbolic, maka akan sebagai berikut.
3.8
Symbolic
Octal
---
0
--x
1
-w-
2
-wx
3
r--
4
r-x
5
rw-
6
rwx
7
Hirarki Direktori Konsep dasar hirarki pada sistem operasi linux adalah seperti pohon. Dimana pohon terdiri dari akar hingga ranting yang memiliki fungsiya sendiri. Dalam sistem operasi linux semuanya disebut sebagai berkas. Hirarki ini menggambarkan berkas berkas yang ada pada sistem operasi linux jika digambarkan akan seperti pohon. Dari akar berkas hinga ranting berkas yang memiliki fungsinya tersendiri. Dalam susunan hirarki di Linux level tertinggi dari sistem berkas di linux ini adalah direktori root. Ini berarti bahwa semua berkas dan direktori ada di bawah direktori root. Dibawah direktori /root, ada beberapa direktori sistem berkas yang umum digunakan oleh banyak distribusi linux termasuk Ubuntu. Berikut adalah beberapa direktori yang berada tepat di bawah /root yang merupakan cabang pertama root. /bin Aplikasi biner penting. /boot
Lokasi berkas konfigurasi untuk boot.
/dev
Berkas peranti (device).
/etc
Berkas konfigurasi, script startup, dll.
/home
Direktori pangkal (home) untuk pengguna.
/lib
Libraries yang digunakan oleh sistem.
/lost+found
Menyediakan sistem lost+found untuk berkas yang berada dibawah direktori root.
/media
Mount (memuat) removable media seperti CD-ROM, kamera digital, dll.
/mnt
Untuk me-mount sistem berkas.
Laboratorium Sistem Operasi & Jaringan
Page 8
3.9
/opt
Tempat lokasi untuk menginstal aplikasi tambahan (optional).
/proc
Direktori dinamis khusus yang menangani informasi mengenai kondisi sistem, termasuk proses-proses (processes) yang sedang berjalan.
/root
Direktori pangkal untuk root.
/sbin
Sistem biner penting.
/sys
Mengandung informasi mengenani sistem.
/tmp
Berkas sementara (temporary).
/usr
Tempat aplikasi dan berkas yang sering digunakan oleh pengguna (users).
/var
Berkas variable seperti log dan database.
Package Management Sistem manajemen paket Ubuntu berasal dari sistem yang sama digunakan oleh distribusi GNU / Linux. File-file paket berisi semua file yang diperlukan, meta-data, dan petunjuk untuk melaksanakan fungsi tertentu atau aplikasi perangkat lunak pada komputer Ubuntu kita. Paket biasanya dari format biner pre-compiled, sehingga instalasi cepat dan tidak memerlukan kompilasi perangkat lunak. Banyak paket kompleks menggunakan konsep dependensi. Dependensi adalah paket tambahan yang dibutuhkan oleh paket utama agar dapat berfungsi dengan benar. 1) DPKG Tool instalasi `dpkg` ini merupakan program yang pertama kali digunakan dalam instalasi paket software distro GNU/Linux sebelum muncul tool-tool lain seperti dselect, apt-get, serta synaptic. Untuk melihat penggunaan tool dpkg, gunakan perintah berikut. #dpkg –help
Untuk menginstall sebuah paket software (deb) dapat menggunakan perintah berikut. #dpkg –i namapaket.deb Untuk melakukan uninstall software dapat menggunakan perintah berikut. #dkpkg –r | -–remove | –P | -–purge | paketsoftware
Keterangan: -r atau –remove akan menghapus software tetapi tidak akan menghapus file konfigurasi untuk mencegah konfigurasi ulang jika suatu saat akan diinstall kembali. Pilihan –P atau –purge akan menghapus seluruh software termasuk file konfigurasi. Untuk mengekstrak paket software dapat menggunakan perintah berikut. #dpkg --unpack paketsoftware.deb Laboratorium Sistem Operasi & Jaringan
Page 9
Untuk mendaftar seluruh file yang terinstall bersama paket software dapat menggunakan perintah berikut. #dpkg Untuk menampikan status software yang terinstall dapat menggunakan perintah berikut. #dpkg –s
paketsoftware
2) Apt-Get Tool instalasi berikut ini memiliki kemudahan dibandingkan dengan menggunakan tool dpkg. Jika terdapat dependensi (ketergantungan) dengan paket lain, maka `apt-get` akan mencari sendiri kemudian menginstal paket tersebut tanpa harus bersusah payah mencari letak software tersebut. Perintah yang digunakan adalah sebagai berikut. #apt-get [opsi] software1 software2 Sebagai contoh kita akan menginstall ssh dengan menggunakan perintah sebagai berikut. Untuk menginstall sebuah paket, gunakan perintah berikut. sudo apt-get install ssh Untuk menghapus paket, gunakan perintah berikut. sudo apt-get remove ssh Jika ingin menghapus lebih dari satu paket, gunakan spasi untuk memisahkannya Untuk mengupdate paket, gunakan perintah berikut. sudo apt-get update Sebelum melakukan update, cek terlebih dahulu repository yang ada dengan membuka /etc/apt/sources.list. Tujuannya agar link repository yang kita gunakan menyediakan update software yang akan kita gunakan atau tidak. Untuk mengupgrade paket, gunakan perintah berikut. sudo apt-get upgrade Semua perintah dari apt-get yang telah kita lakukan seperti instalasi dan penghapusan akan dicatat di /var/log/dpkg.log 3) Aptitude Aptitude adalah menu-driven, berbasis teks front-end untuk Advanced Packaging Tool (APT) sistem. Banyak fungsi manajemen paket umum, seperti instalasi, penghapusan, dan upgrade, adalah dilakukan di Aptitude dengan satu tombol perintah, yang biasanya huruf kecil. Aptitude paling cocok untuk digunakan dalam lingkungan terminal non-grafis, untuk memastikan kelayakan fungsinya ketikkan satu kunci perintah. Perintah yang digunakan adalah sebagai berikut. Laboratorium Sistem Operasi & Jaringan
Page 10
#sudo aptitude Ketika Aptitude dimulai, Kita akan melihat menu bar di bagian atas layar dan dua panel bawah menu bar. Panel atas berisi kategori paket, seperti Paket Baru. Panel bawah berisi informasi yang berhubungan dengan paket dan kategori paket. Menggunakan Aptitude untuk manajemen paket relatif mudah, dan antarmuka pengguna dibuat sederhana.
IV.
Lab / Praktek 1. Pada video tutorial ini memiliki kasus seseorang akan melakukan installasi sistem operasi Ubuntu 12.04.2-desktop-i386 pada sebuah virtual komputer VMWare workstation 9. User dari sistem operasi tersebut adalah sisjar dan password sisjarlab. 2.
V.
Selain itu dari tutorial modul 1 ini diberikan contoh sederhana melakukan file management pada sistem operasi Ubuntu 12.04.2-desktop-i386. Kasusnya adalah : Seorang admin ingin membuat fileteks_1 pada Desktop. Kemudian admin tersebut membuat folder sisjarfile di Desktop juga. Admin tersebut ingin menyalinfileteks_1 pada foldersisjarfile yang dia buat. Kemudian admin menyalin foldersisjarfile yang ada di Desktop ke direktori /home/sisjar. Fileteks_1 dan foldersisjarfile yang ada di Desktop akan di hapus oleh admin. Selanjutnya, Admin harus mengubah namafileteks_1 yang ada di direktori /home/sisjar mejadi teks_2 dan mengubahpermission-nya menjadi owner dapat mengeksekusi, menampilkan, menyalin dan modifikasi,group dapat menampilkan, menyalin dan modifikasi, serta other dapat menampilkan, menyalin dan modifikasi.
Studi Kasus Praktikum 1. Instalasi Ubuntu 12.04.2-desktop-i386 Pada praktikum modul 1 ini praktikan diminta untuk melakukan instalasi VMware workstation 9 pada komputer masing masing. Selanjutnya melakukan installasi ISO Ubuntu 12.04.2-desktopi386 pada virtual komputer VMware yang diberi nama SISOP_2014. Untuk user dari Ubuntu 12.04.2-desktop-i386 adalah NIM praktikan dan password adalah sisop2014. 2. File management pada Ubuntu 12.04.2-desktop-i386 Lakukan file management dengan terminal/command prompt Ubuntu yang telah disediakan sederhana di virtual computer masing-masing dengan mengikuti langkah-langkah praktikum sebagai berikut :
Melihat direktori mana yang sedang praktikan masuki. Masuk ke dalam root dan menjadi root Membuat file modul_1 di direktori /home/(NIM praktikan) Membuat folder atau direktori SISOP di direktori /home/(NIM praktikan) Pindahkan file modul_1 ke dalam direktori SISOP Salin (Copy) direktori SISOP ke dalam Desktop Hapus direktori SISOP yang ada di direktori /home/(NIM praktikan) Rubah nama file modul_1 di dalam direktori SISOP di Desktop menjadi sisjar
Laboratorium Sistem Operasi & Jaringan
Page 11
Rubah permission file sisjar supaya owner bisa menyalin dan modifikasi, menampilkan , dan eksekusi, group bisa menyalin dan modifikasi, menampilkan , dan eksekusi , other hanya bisa menampilkan saja.
Laboratorium Sistem Operasi & Jaringan
Page 12
MODUL 2 Vi Editor & Network Configuration I.
II.
III.
Tujuan Praktikum 1. Praktikan mengerti definisi, peggunaan, serta pemanfaatan Vi Editor 2. Praktikan mampu melakukan operasi menggunakan Vi Editor 3. Praktikan mengerti definisi, pemanfaatan, dan penggunaan Network Configuration 4. Praktikan mampu melakukan operasi Network Configuration Alat dan Bahan 1. Alat tulis 2. Komputer 3. VMware Player 4. Sistem Operasi Ubuntu 12.04 Landasan Teori 3.1
Teks Editor 3.1.1 Pengertian Distribusi linux termasuk sejumlah aplikasi yang dikenal sebagai teks editor yang dapat kita gunakan untuk membuat file teks atau mengedit file system configuration. Teks editor mirip dengan word processing program, tetapiumumnya memiliki beberapa feature, bekerja hanya dengan file teks, dan mungkin atau mungkin tidak mendukung pemeriksaan ejaan atau format. Teks Editordapat ditemukan dihampir setiap distribusi linux yang ada. Jumlah editor yang ada pada sistem tergantung pada software package apa saja yang telah terinstal pada sistem atau OS. Teks editor adalah suatu aplikasi dimana kita bisa membuat dan memodifikasi file berbentuk teks. Beberapa text editor yang populer digunakan pada console-based (CLI)adalah sebagai berikut : emacs nano – Simpel text editor yang sama seperti pico text editor vim – Perkembangan, versi kompatibel dari vi editor 3.1.2 Vi Editor Vi editor adalah suatu aplikasi teks editor yang dapat digunakan untuk membuat atau memodifikasi suatu file berbasis teks. Kegunaan vi tidak jauh beda dengan Gedit, sama-sama untuk mengolah data berupa teks. Tetapi kelebihannya yaitu ketika kita sedang menggunakan OS tetapi tidak dengan desktop environment atau sedang me-remote suatu server. Dan hanya menggunakan vi editor kita bisa mengedit file tapi tanpa mengubah hak akses terhadap file tersebut. Untuk memulai atau menggunakan vi editor, command atau perintah yang digunakan adalah sebagai berikut : matthew@seymour:~$ vi file.txt
Laboratorium Sistem Operasi & Jaringan
Page 13
Kunci untuk memahami bagaimana vi editor bekerja adalah untuk mempelajari perbedaan antara berbagai mode. Tiga mode penting dalam vi : Command mode, Insert mode, dan Command-Line mode. Command Mode Command mode adalah mode utama dalam vi, ketika editor ini dijalankan maka pertama kali akan berada pada mode ini. Pada mode ini, kita bisa melakukan perintah seperti hapus, copy-paste. Dan bisa juga untuk mengarahkan posisi cursor, cari kata, dan keluar dari vi.
Gambar 2.1 - Vi Command mode Daftar perintah yang dapat digunakan dalam Command mode : Command Delete Text dd ndd dw db d x Search / ? ndd N Cut and Paste yy
Description
nyy
Copy nnumber of lines into the buffer from the cursor downwards (for example, 5yy copies five lines of text) Paste the contents of the clipboard
p
Delete current line Delete n number of lines (for example, 5ddwill delete five lines) Delete the current word under the cursor Delete the word before the cursor Delete everything from the cursor to the end of the line Deletes a character at the cursor Search forward (type the search text directly after the slash) Search backwards Repeat search in a forward direction Repeat search in a backward direction Copy the current line
Insert Text
Laboratorium Sistem Operasi & Jaringan
Page 14
i o O A Command Navigation $ w b Miscellaneous . u
Switch to Insert mode at the cursor Switch to Insert mode, placing the cursor below current line Switch to Insert mode, placing the cursor above current line Append text to end of line Description Move the cursor to the end of the current line Move the cursor to the next word Move the cursor to the previous word Repeat the last command Undo the last command
Insert Mode Untuk menuliskan atau mengedit suatu teks, kita perlu beralih ke Insert mode. Kita akan memasuki mode ini ketika kita telah menekan/mengetikkan “i”,tetapi dapat juga dengan menekan/mengetikkan “0” atau “o” untuk memasuki Insert mode, yang ditunjukkan oleh INSERT kata yang muncul di bagian bawah layar, seperti pada gambar 2.2. Perbedaan antara perintah yang diperlukan untuk beralih ke Insert mode adalah bahwa beberapa membiarkan Anda memasukkan sebelum atau sesudah kursor. Umumnya, “i” adalah yang paling berguna, karena apa yang Anda ketik akan muncul sebelum karakter di bawah kursor.
Gambar 2.2 - Vi Insert Mode Pada Insert mode, Anda masih bisa bergerak/memindahkan kursor di sekitar teks dengan menggunakan tombol kursor. Apa pun yang Anda ketikan akan muncul di titik kursor. Untuk keluar dari mode ini, tekan tombol "Esc" dan akan mengembalikan Anda ke Command mode. Tombol untuk cursor movement adalah sebagai berikut : Command Cursor Movement h, Left arrow, Backspace
Laboratorium Sistem Operasi & Jaringan
Description Left one character
Page 15
j, Down arrow K, Up arrow L, Right arrow, Space bar
Down one character Up one line Right (forward) one character
Command-Line Mode Mode yang ketiga adalah Command-Line mode (Perhatikan bahwa mode ini berbeda dengan Command mode). Seperti namanya, mode ini adalah mode dimana anda dapat memasukkan perintah untuk menyimpan dan memuat file serta melakukan tugas tugas mendasar lainnya seperti mengontrol vi editor atau keluar dari program (vi). Kita dapat masuk pada mode ini dengan mengetikkan atau menekan tombol “:”. Jika masih berada pada Insert mode kita tetap harus menekan tombol “Esc” terlebi dahulu. Kita dapat mengidentifikasi vi pada mode ini karena kursor akan berada pada bagian bawah layar (vi) atau terdapat pada gambar 2.3.
Gambar 2.3 - Vi Command-Line Mode Daftar basic Command-Line mode : Command :w :w! :q :q! :s/word/replacement/ :help
Description Save the file Save the file and ignore errors such as an existing file with the same filename Quit vi Quit viand ignore errors such as an unsaved file Search from the cursor downwards and replace any instances of the word with the replacement View help documentation
3.1.3 Repository Repository adalah tempat penyimpanan arsip-arsip software, dimana software dalam arsip ini dapat diambil oleh user untuk digunakan (instal, update) suatu software. Repository biasanya kita update secara online, tetapi ada juga yang kita update repository secara offline menggunakan DVD Repository.
Laboratorium Sistem Operasi & Jaringan
Page 16
Ubuntu menggunakan “apt” untuk package management. apt dafttar repository terletak pada file atau directory : /etc/apt/sources.list Dengan mengedit file ini, kita dapat menambah, menghapus, atau menonaktifkan sementara repository software yang digunakan. Biasakan sebelum mengedit suatu fie konfigurasi seperti source.list untuk backup terlebih dahulu. Perintah untuk backupsource.list dengan menggunakan “cp” yang telah kita pelajari pada modul 1 pengenalan sistem operasi dan file management. contohnya adalah sebagai beriku : root@ubuntu:/home/sisjar#cp /etc/apt/sources.list /etc/apt/sources.list.backup Biasanya, isi default dari file/etc/apt/source.list sebagai berikut : # sources.list #deb cdrom:[Ubuntu 13.10 _Saucy Salamander_ - Release i386 (20131016.1)]/ saucy main restricted # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://ch.archive.ubuntu.com/ubuntu/ saucy main restricted deb-src http://ch.archive.ubuntu.com/ubuntu/ saucy main restricted #... Penjelasan dari format repository : 1. Semua baris yang dimulai dengan satu atau dua hash (#) adalah komenttar, hanya untuk informasi. 2. Baris tanpa hash (#) adalah baris apt repository, yang biasanya disebut : a. deb : repository ini mengandung binari atau precompiled packages. Repositori ini diperlukan sebagian besar para pengguna. b. deb-src : repository ini berisi source code packages. Repository ini sangat berguna untuk developer. c. http://archive.ubuntu.com/ubuntu : URI (Uniform Resource Identifier), dalam hal ini berlokasi di internet. d. saucy adalah release name atau version dari distribution linux yang terinstall. e. main & restricted adalah nama-nama bagian atau komponen. Ada beberapa nama bagian yang dipisahkan dengan spasi.
Laboratorium Sistem Operasi & Jaringan
Page 17
3.2
Network Configuration Materi network configuration ini diarahkan untuk administrator server dan fokus pada pengelolaan jaringan menggunakan command lineinterface. 3.2.1 Ethernet Interface Ethernet Interface diidentifikasi oleh sistem menggunakan konvensi penamaan ethX, dimana X mewakili nilai numerik. Etehrnet Interface pertama biasanya diidentifikasi sebagai eth0, kedua eth1, dan penomorannya semakin bertambah jika memiliki interface yang lebih banyak. Identify Ethernet Interfaces Untuk mengidentifikasi semua Ethernet interfaces yang tersedia, Anda dapat menggunakan perintah ifconfig seperti yang ditunjukkan di bawah ini.
ifconfig-a | grep eth eth0 Link encap: Ethernet HWaddr 00:15: c5: 4a: 16:05 a
IP Addressing Dynamic IP Address Assignment (DHCP Client) Untuk mengkonfigurasi komputer (ubuntu) anda menggunakan DHCP dalam pengisian alamat secara otomatis yang didapatkan dari DHCP server. Add DHCP methode yang terdapat pada file/etc/network/interfaces melalui terminal pada sistem operasi anda (Ubuntu). Contoh di bawah ini mengasumsikan anda mengkonfigurasi Ethernet Interface yang diidentifikasi sebagai eth0. auto eth0 iface eth0 inet dhcp Static IP Address Asignment Untuk mengkonfigurasi komputer (ubuntu) anda menggunakan alamat IP Static. Addstaticmethode yang terdapat pada file /etc/network/interfaces melalui terminal pada sistem operasi anda (Ubuntu). Contoh di bawah ini mengasumsikan anda mengkonfigurasi Ethernet Interface yang diidentifikasi sebagai eth0 dengan IP Address, Subnet mask, Gateway seperti pada konfigurasi dibawah ini. auto eth0 iface eth0 inet static address 10.0.0.100 netmask 255.255.255.0 gateway 10.0.0.1
Laboratorium Sistem Operasi & Jaringan
Page 18
Setelah merubah suatu konfigurasi, biasakan menyimpan dan me-restart service konfigurasi yang telah kita rubah.
IV.
Lab / Praktek 4.1
Vi Editor 4.1.1 Studi Kasus SysAdmin sisjar dari PT. FRI ingin memberikan informasi pada sysadmin yang lain. informasi yang diberikan berupa file teks yang terdapat pada direktori "root@ubuntu:/home/sisjar#" nama file teks tersebut adalah "Quote1" yang berisikan : don't cry because it's over, smile because it's happened - Dr. zeuss. Selanjutnya sysadmin sisjar mebuat file teks baru dengan nama "Quote2" yang berisiskan : you only live once , but if you do it right , once is enough- Mae West. Karena suatu alasan kedua isi file tersebut harus digabungkan dan diberikan nama baru "sisteminformasi", isi dari file teks sistem informasi tersebut yaitu : don't cry because it's over, smile because it's happened - Dr. zeuss. you only live once , but if you do it right , once is enough- Mae West. File teks tersebut dibuat pada sistem operasi linux ubuntu dengan menggunakan Vi Editor. (Tutorial Lengkapnya lihat di Video 2.1)
4.2
Repository 4.2.1 Studi Kasus Backup terlebih dahulu dan tambahkan repository pada sistem operasi linux ubuntu anda dengan menggunakan vi editor : deb http://kambing.ui.ac.id/ubuntu/ precise-proposed main restricted universe multiverse deb http://kambing.ui.ac.id/ubuntu/ precise-security main restricted universe multiverse deb http://kambing.ui.ac.id/ubuntu/ precise-updates main restricted universe multiverse deb http://kambing.ui.ac.id/ubuntu/ precise main restricted universe multiverse Selanjutnya simpan dan lakukan update sistem operasi linux ubuntu anda.
4.3
Network Configuration 4.3.1 Studi Kasus Diberikan satu komputer dengan sistem operasi windows 7 yang didalamnya terdapat software VMware player, VMware player tersebut didalamnya terdapat virtual komputer dengan sistem operasi Linux ubuntu. Praktikan diminta untuk mengkoneksikan dari windows 7 ke Ubuntu dan sebaliknya (Atau dari komputer ke VMware Player). IP yang diberikan Laboratorium Sistem Operasi & Jaringan
Page 19
terdapat pada Gambar 4.1 pada topoligi dibawah ini. untuk mengkonfigurasi IP pada Ubuntu menggunakan command line interface (CLI). (Tutorial Lengkapnya lihat di Video 2.3)
Gambar 2.4- Topologi & alokasi IP Address
V.
Studi Kasus Praktikum 5.1 Vi Editor 5.1.1 Studi Kasus SysAdmin sisjar dari PT. FRI ingin memberikan informasi pada sysadmin yang lain. informasi yang diberikan berupa file teks yang terdapat pada direktori "root@ubuntu:/home/sisjar#" nama file teks tersebut adalah "sisteminformasi-1" yang berisikan : Program studi Sistem Informasi didirikan pada tahun 2007 dengan Surat Keputusan Menteri Pendidikan dan Kebudayaan Republik Indonesia nomor 235/D/O/2007 Tanggal 30 November 2007. Berdasarkan SK ijin program studi, maka program studi Sistem Informasi pertama kali beroperasi pada tahun 2008 di bawah naungan Fakultas Rekayasa Industri. Selanjutnya sysadmin sisjar mebuat file teks baru dengan nama "sisteminformasi-2" yang berisiskan : Program studi Sistem Informasi IT Telkom dirancang untuk menghasilkan sumber daya manusia yang berkompeten dalam pengelolaan industri infokom dengan keahlian di bidang sistem informasi, manajemen dan teknologi informasi. Karena suatu alasan kedua isi file tersebut harus digabungkan dan diberikan nama baru "sisteminformasi", isi dari file teks sistem informasi tersebut yaitu : Program studi Sistem Informasi didirikan pada tahun 2007 dengan Surat Keputusan Menteri Pendidikan dan Kebudayaan Republik Indonesia nomor 235/D/O/2007 Tanggal 30 November 2007. Berdasarkan SK ijin program studi, maka program studi Sistem Informasi pertama kali beroperasi pada tahun 2008 di bawah naungan Fakultas Rekayasa Industri. Program studi Sistem Informasi IT Telkom dirancang untuk menghasilkan sumber daya manusia yang berkompeten dalam pengelolaan industri infokom dengan keahlian di bidang sistem informasi, manajemen dan teknologi informasi. File teks tersebut dibuat pada sistem operasi linux ubuntu dengan menggunakan Vi Editor.
Laboratorium Sistem Operasi & Jaringan
Page 20
5.2 Repository 5.2.1 Studi Kasus Backup terlebih dahulu dan tambahkan repository pada sistem operasi linux ubuntu anda dengan menggunakan vi editor : deb http://kambing.ui.ac.id/ubuntu/ precise-proposed main restricted universe multiverse deb http://kambing.ui.ac.id/ubuntu/ precise-security main restricted universe multiverse deb http://kambing.ui.ac.id/ubuntu/ precise-updates main restricted universe multiverse deb http://kambing.ui.ac.id/ubuntu/ precise main restricted universe multiverse Selanjutnya simpan dan lakukan update sistem operasi linux ubuntu anda.
5.3 Network Configuration 5.3.1 Studi Kasus Diberikan satu komputer dengan sistem operasi windows 7 yang didalamnya terdapat software VMware player, VMware player tersebut didalamnya terdapat virtual komputer dengan sistem operasi Linux ubuntu. Praktikan diminta untuk mengkoneksikan dari windows 7 ke Ubuntu dan sebaliknya (Atau dari komputer ke VMware Player). IP yang diberikan terdapat pada Gambar 4.1 pada topoligi dibawah ini. untuk mengkonfigurasi IP pada Ubuntu menggunakan command line interface (CLI).
Gambar 2.5 - Topologi & alokasi IP Address
Laboratorium Sistem Operasi & Jaringan
Page 21
MODUL 3 Remote Access (Telnet, SSH, dan Remote Desktop) I.
II.
Tujuan Praktikum 1. Praktikan memahami prinsip kerja remoteadministrationtelnet, SSH dan remotedesktop 2. Praktikan mampu melakukan praktik remoteadministrationtelnet, SSH dan remotedesktop pada Operating System Ubuntu 12.04 3. Praktikan mampu mingimplementasikan konsep remote administration telnet, SSH, dan remote desktop 4. Praktikan mampu mengimplementasikan konsepsecurity dengan menggunakan SSH Alat dan Bahan 1. Komputer/Laptop 2. Software VMware Workstation 9.0 3. Sistem Operasi Ubuntu 12.04 4. Sistem Operasi Windows 7 5. Software PuTTY
III. Landasan Teori RemoteAccess terdiri dari: a. Koneksi ke sistem pengolahan data dari lokasi remote, misalnya melalui VPN (VirtualPrivateNetwork). b. Remotedesktop perangkat lunak, mengacu kepada perangkat lunak atau fitur OS yang memungkinkan aplikasi untuk dijalankan dari jarak jauh pada server. c. Emulasi terminal digunakan untuk interface dengan sistem remote, misalnya telnet dan ssh. 3.1
Telnet 3.1.1 Pengertian Telnet merupakan sebuah protokol yang digunakan untuk menghubungkan suatu sistem dengan sistem yang lain secara remote dengan menggunakan koneksi virtual terminal melalui jaringan. Telnet terdiri dari client dan server. Aplikasi telnet menghubungkan ke servis yang sedang berjalan pada sistem remote dan menciptakan sesi login setelah autentifikasi yang tepat telah dikonfirmasi. Namun, informasi autentikasi dan semua data yang ditukar melalui client dan servertelnet dipertukarkan dengan jelas berupa teks biasa. Sehingga informasi tersebut mudah untuk dilihat oleh siapa saja dengan melakukan akses ke jaringan, melihat paket, rasa ingin tahu yang tinggi atau motif lain. Telnet dapat digunakan misalnya untuk sistem tertanam yang mana memiliki sebuah catatan kecil OS yang penting. Terkadang, telnet merupakan cara tercepat dan termudah untuk menguji servis yang baru diinstall selama konfigurasi. 3.1.2 Kelebihan Telnet Mudah dalam melakukan remote komputer dengan jarak yang jauh. Hemat bandwidth karena hanya mengirimkan data berupa teks 3.1.3 Kekurangan Telnet Kurang aman karena tidak adanya enkripsi sehingga memudahkan untuk pencurian password dan data - data penting lainnya. Laboratorium Sistem Operasi & Jaringan
Page 22
3.2
SSH (SecureShell) 3.2.1 Pengertian SSH merupakan singkatan dari Secure Shell yang merupakan protokol jaringan yang memungkinkan dalam pertukaran data antara dua komputer secara aman. SSH memberikan alternatif pertukaran data yang lebih aman dibandingkan dengan remotesession tradisional dan filetransfer protokol seperti telnet karena SSH mendukung beberapa protokol enkripsisecretkey untuk membantu memastikan privacy dari keseluruhan komunikasi yang dimulai dengan username/password awal. Port standard yang digunakan untuk menghubungi server SSH adalah port 22. 3.2.2 Fungsi SSH a. Untuk login ke shell pada remotehost (menggantikan Telnet dan rlogin) b. Untuk mengeksekusi satu perintah pada remote host (menggantikan rsh) c. Untuk menyalin file dari server lokal ke remote host d. Dalam kombinasi dengan SFTP, sebagai alternatif yang aman untuk FTP transfer file. 3.2.3 Kelebihan SSH a. Data yang dipertukarkan ketika melakukan remote terenkripsi b. Memiliki kode khusus untuk identifikasi client. 3.2.4 Kekurangan SSH Rentan terhadap serangan man-in-the-middle-attack
Gambar 3.1 -Man-in-the-middle-attack 3.2.5 Security pada SSH Mengubah port default SSH Untuk mengamankan port SSH (port 22) yang defaultnya terbuka, dapat dilakukan perubahan konfigurasi pada file sshd_config. Di dalam file tersebut, kita dapat mengubah port default SSH yang awalnya 22 ke port lain yang tersedia. Tujuannya adalah agar orang yang ingin me-remote komputer tidak dapat mengaksesnya dikarenakan tidak mengatahui port yang telah kita rubah.
Blok akses root dari port SSH Laboratorium Sistem Operasi & Jaringan
Page 23
Salah satu masalah keamanan sistem operasi linux khususnya Ubuntu adalah hak akses Root yang pertama diinginkan para perusak sistem agar bisa mudah menguasai sistemnya. Maka dari itu perlu adanya pengamanan hak akses root yang bisa dilakukan dengan cara memblok akses ke root yang nanti akan dijelaskan lebih lanjut pada video dengan link dibawah. 3.2.6 PuTTY PuTTY adalah program yang digunakan untuk meremote suatu OS yang terhubung dengannya.
Gambar 3.2 - PuTTY
3.3
Remote Desktop pada Windows Merupakan suatu aplikasi yang dapat memonitor kegiatan seseorang atau kinerja server dari jarak jauh. RemoteDesktop menggunakan RemoteDesktopProtocol (RDP) dan secara default berjalan di TCP port 3389. Remotedesktop digunakan untuk memantau apa saja yang dilakukan oleh user maupun server. Selain itu, bisa juga digunakan untuk membantu pekerjaan orang lain yang belum terselesaikan jika orang tersebut sedang ada masalah atau kepentingan pribadi yang harus di tinggalkan dan tidak dapat menyelesaikan tugas tersebut dalam satu kantor, instansi, dan lain – lain.
Laboratorium Sistem Operasi & Jaringan
Page 24
IV. Lab / Praktek 4.1
4.2
V.
Remote Desktop pada Windows Pada suatu kantor PT. Sisjar terdapat beberapa ruangan yang menggunakan komputer dan terhubung dengan jaringan, diantaranya adalah ruangan ICT Center yaitu ruangan yang digunakan sebagai pusat jaringan di kantor tersebut sekaligus menjadi ruangan bagian maintenance di kantor tersebut yang terletak di lantai 7, dan ruangan bagian keuangan di lantai 2. Suatu ketika terjadi masalah pada salah satu komputer di ruangan bagian keuangan (PC1) dengan IP 192.168.1.100. Lalu seorang staff dari bagian keuangan menghubungi bagian maintenance yang berada di lantai 7. Karena sedang banyak urusan di ruang ICT center, teknisi yang ada dibagian maintenance tidak bisa turun langsung untuk menyelesaikan masalah tersebut. Jadi teknisi bagian maintenance menyelesaikan permasalahan tersebut dengan cara meremotedesktop komputer bagian keuangan (PC1) menggunakan PC yang ada di ruangan ICT center (PC2) dengan IP 192.168.1.200. Pada awal instalasi jaringan di bagian keuangan, sejak awal sudah diatur agar komputer bagian keuangan bisa diremote, jadi ketika ada masalah, teknisi tidak perlu berhadapan langsung dengan komputer yang bermasalah dan bisa hanya dengan meremote saja jika permasalahan masih terletak pada bagian perangkat lunak di komputer tersebut.
Remote Menggunakan SSH dan Telnet antara Windows dan Ubuntu Perusahaan Wowowiwi Corp mempunyai sebuah server baru dengan Sistem Operasi Ubuntu yang memakai IP 192.168.10.136 Netmask 255.255.255.0, sehingga bisa diakses dari manapun, asalkan terkoneksi dengan jaringan Internet. Untuk mempermudah pengotrolan dan pekerjaan lainnya yang berhubungan dengan server tersebut, server tersebut dilengkapidengan program SSH yang menggunakan port default (port 22). Suatu ketika salah seorang pegawai pengelola servertersebut ingin mengakses server untuk menambahkan sistem keamanan SSH yaitu mengubah port defaultnya menjadi port 69, memblok akses loginroot dan menambahkan telnet pada server tersebut. Akan tetapi beliau sedang dinas keluar kota. Oleh karena itu beliau menggunakan program Putty sebagai media untuk menggunakan SSH agar dapat mengakses server tersebut.
Studi Kasus Praktikum 5.1
Remote Desktop pada Windows Indonesia Company memiliki sebuah kantor pusat yang terdiri dari 10 lantai. Di masing – masing lantai, terdapat beberapa komputer yang saling terhubung dengan jaringan. Di lantai 8, terdapat ruangan IT Center yang berperan penting dalam berjalannya seluruh komputer dan sistem di dalam perusahaan. Pada suatu hari, terdapat permasalahan pada komputer di lantai 3 yaitu pada bagian HRD yang memiliki IP 192.168.100.100. Kemudian salah seorang staff HRD menghubungi bagian IT untuk mengatasi masalah tersebut. Namun, para staff IT juga sedang memiliki pekerjaan sehingga tidak bisa meninggalkan ruangan mereka. Anda sebagai mahasiswa IT, diminta oleh staff IT dari Indonesia Company untuk membantu memperbaiki komputer bagian HRD yang bermasalah tersebut dengan melakukan remote desktop dari komputer yang ada pada ruangan IT yang meemiliki IP 192.168.100.168.
Laboratorium Sistem Operasi & Jaringan
Page 25
5.2
Remote Menggunakan SSH dan Telnet antara Windows dan Ubuntu PT. Nusantara membeli sebuah server baru dengan menggunakan Sistem Operasi Ubuntu dengan IP 192.168.5.30/25. Suatu hari, direktur perusahaan tersebut ingin menambahkan suatu file kedalam server dan juga menambahahkan sistem keamanan dengan mengubah port default dari SSH. Jarjit adalah salah seorang staff pada PT. Nusantara yang diminta untuk melakukan pekerjaan tersebut. Namun, Jarjit sedang tidak berada di kantor. Oleh karena itu, Jarjit memakai software PuTTY untuk mengakses server melalui ssh/telnet.
Laboratorium Sistem Operasi & Jaringan
Page 26
MODUL 4 Web Server & FTP Server I.
Tujuan Praktikum 1. Praktikan dapat memahami Definisi, Penggunaan dan Pemanfaatan Web Server & FTP Server 2. Praktikan dapat membuat Web Server & FTP Server 3. Praktikan dapat memahami penggunaan aplikasi untuk Web Server & FTP Server (Xampp)
II.
Alat dan Bahan 1. PC/Laptop 2. Sistem Operasi Ubuntu 12.04 3. Vmware Workstation 9.0 4. File xampp-linux 1.8.1 5. Koneksi Internet 6. FileZilla
III.
Landasan Teori 3.1
Web Server 3.1.1 Definisi Web server merupakan sebuah server yang melayani permintaan web dengan menggunakan protokol HTTP atau HTTPS. Server ini melayani permintaan dari klien melalui web browser seperti Mozilla Firefox, Chrome, Internet Explorer, dan lain-lain. Web server dapat mengacu ke hardware (komputer) atau software (aplikasi komputer) yang membantu untuk memberikan konten web yang dapat diakses melalui internet. Fungsi utama dari web server untuk menyimpan, mengolah dan mengirimkan halaman web kepada klien. Halaman yang dikirimkan menggunakan HTML yang dapat menampung gambar, style sheet, teks, dan lain-lain. 3.1.2 Contoh Web Server a. Apache Web Server Apache merupakan web server yang mudah dan sering digunakan, selain itu Apache juga dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya). Apache berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan adalah HTTP. Apache mempunyai beberapa kelebihan yaitu: Termasuk dalam kategori freeware. Memiliki level-level keamanan dengan kontrol akses. Mempunyai kompatibilitas platform yang tinggi. Mendukung transaksi yang aman (secure transaction) menggunakan SSL (Secure Socket Layer) Mendukung third party berupa modul-modul tambahan. b. Nginx
Laboratorium Sistem Operasi & Jaringan
Page 27
Nginx (baca: engine-x) adalah server HTTP dan Proxy berbasis open source berkemampuan tinggi yang dapat juga digunakan sebagai proxy IMAP/POP3. Ditemukan oleh Igor Sysoev pada tahun 2002 dan dirilis ke publik pada tahun 2004. Nginx terkenal karena stabil, memiliki tingkat performansi tinggi dan minim penggunaan memori. Nginx dapat digunakan pada Linux, BSD, Mac OS X, Solaris, dan Microsoft Windows. Fitur HTTP proxy dan Web server. Dapat menangani lebih dari 10.000 koneksi secara simultan dengan menggunakan memori yang sedikit. Penanganan terhadap file statik, file indeks, dan auto-indexing. Reverse proxy with caching. Fault tolerance. Kompatibel dengan IPv6. FLV dan MP4 streaming. dll.
3.2
FTP Server 3.2.1 Pengertian File Transfer Protokol (FTP) adalah suatu protokol yang berfungsi sebagai perantara tukar-menukar file dalam suatu network yang mensupport protokol TCP/IP . Komunkasi FTP yang digunakan mengikuti arsitektur client server. FTP server biasanya berjalan di port 21. FTP server membutuhkan username dan password untuk mengaksesnya, bisa juga tidak, tergantung konfigurasi. Terdapat dua hal penting yang ada dalam FTP yaitu FTP server dan FTP Client. FTP server adalah server yang melayani perpindahan file melalui protokol FTP , Sedangkan FTP client merupakan komputer yang merequest koneksi ke FTP server untuk tujuan tukar menukar file (mengupload atau mendownload file).Perintah yang umum digunakan pada FTP yaitu Put ,Get dan Bye . FTP Server pada linux yang terkenal ada 2 yaitu ProFTPDaemon dan VerySecureFTPDaemon. Dalam praktikum kali ini kita menggunakan ProFTPDaemon yangsudah menjadi bawaan default dari LAMPP. Konfigurasi dari ProFTPDaemon ini terdapatpada file /opt/lampp/etc/proftpd.conf . 3.2.2 Tujuan 1. Untuk men-sharing data. 2. Untuk menyediakan indirect atau implicit remote computer. 3. Untuk menyediakan tempat penyimpanan bagi user. 4. Untuk menyediakan transfer data yang reliable dan efisien 3.2.3 Cara Kerja Sebuah server FTP diakses dengan menggunakan Universal Resource Identifier (URI) dengan menggunakan format ftp://namaserver. Klien FTP dapat menghubungi server FTP dengan membuka URI tersebut Sebelum membuat koneksi, port TCP nomor 21 di sisi server akan "mendengarkan" percobaan koneksi dari sebuah klien FTP dan kemudian akan digunakan sebagai port pengatur (control port) . Sekali koneksi kontrol telah dibuat, maka server akan mulai membuka port TCP Laboratorium Sistem Operasi & Jaringan
Page 28
nomor 20 untuk membentuk sebuah koneksi baru dengan klien untuk mengirim data yang sedang dipertukarkan saat melakukan download dan upload.
Gambar 4.1 - Cara Kerja FTP
IV. Lab / Praktek 4.1
Memindahkan file dari PC ke Virtual machine. a. Pastikan Service SSH telah diaktifkan di Virtual Machine b. Pastikan antara PC dan Virtual Machine telah terhubung dengan cara tes koneksi dengan ping
Gambar 4.2 - Mengecek ip pc dan ip virtual machine
Laboratorium Sistem Operasi & Jaringan
Page 29
Gambar 4.3 - Test Ping Sukses c. Buka FileZilla. d. Masukkan IP virtual machine pada kolom Host, Username dan password root dari Ubuntu. Untuk port, gunakan port 22.
Gambar 4.4 - Tampilan Pada Filezilla e. Setelah berhasil maka akan muncul tampilan seperti berikut.
Gambar 4.5 - Tampilan Setelah Koneksi berhasil
Laboratorium Sistem Operasi & Jaringan
Page 30
f.
g.
Masukkan file xampp yang ada pada Windows lalu letakkan pada Desktop Ubuntu. Kolom sebelah kiri merupakan direktori Windows dan kolom sebelah kanan merupakan direktori Ubuntu. Setelah berhasil, pindahkan file xampp yang berada di desktop Ubuntu kedalam file /opt/ dengan menggunakan command berikut. #mv xampp-linux-1.8.1.tar.gz /opt/
4.2
Install xampp h. Ekstrak xampp yang berada pada direktori /opt/ dengan menggunakan command berikut. #tar zxvf xampp-linux.1.8.1.tar.gz i. Setelah berhasil, masukkan command seperti pada gambar dibawah.
Gambar 4.6 -Command untuk Mengaktifkan Service Xampp j. Jika berhasil maka akan muncul tulisan seperti di gambar.
Gambar 4.7 - Service Xampp Berhasil Laboratorium Sistem Operasi & Jaringan
Page 31
k. Tes pada browser Windows dengan memasukkan IP address Ubuntu. Jika berhasil maka tampilannya akan seperti gambar berikut.
Gambar 4.8 - Tampilan Pada Browser
V.
Studi Kasus Praktikum 1. Toni adalah mahasiswa Sistem Informasi di Telkom University. Suatu ketika seorang dosen meminta Toni untuk membantu beliau membuat sebuah Web server dengan menggunakan Apache di sistem operasi Ubuntu, karena Toni hanya punya laptop dengan OS Windows maka Toni membuat Web tersebut di Virtual Machine dengan OS Ubuntu . File yang diperlukan Toni untuk membuat Web Server ada di Laptop Toni . Sebagai mahasiswa Sistem Informasi dan mengerti cara membuat Web server. Bantulah Toni untuk memindahkan file yang diperlukan untuk membuat Web server dari Laptop Toni ke Virtual Machine dan buatlah Web server pada virtual machine yang disediakan . File yang anda perlukan ada pada folder (contoh: Praktikum SISOP 2014/Modul 4). Silahkan ikuti langkah-langkah pembuatannya yang ada pada modul jika anda menemukan kesulitan. NB : Segala bentuk kecurangan akan mendapatkan sanksi.
Laboratorium Sistem Operasi & Jaringan
Page 32
MODUL 5 DNS Server I.
Tujuan Praktikum 1. Praktikan mengenal dan memahami Domain Name System (DNS) 2. Praktikan dapat mengkonfigurasikan DNS pada server 3. Praktikan dapat memahami konfigurasi file Forward dan file Reverse
II.
Alat dan Bahan 1. Alat Tulis 2. PC/Komputer 3. Software VMware Workstation 10 4. Sistem Operasi Linux ubuntu-12.04.2-desktop-i386 5. Software BIND (Barkeley Internet Name Domain)
III. Landasan Teori 3.1
DNS Server 3.1.1 Pengertian DNS (Domain Name System, bahasa Indonesia: Sistem Penamaan Domain) adalah sebuah sistem yang menyimpan informasi tentang nama host maupun nama domain dalam bentuk basis data tersebar (distributed database) di dalam suatu jaringan komputer. DNS menyediakan servis yang cukup penting untuk Internet. Apabila perangkat keras komputer dan jaringan bekerja dengan alamat IP untuk mengerjakan tugas seperti pengalamatan dan penjaluran (routing), manusia pada umumnya lebih memilih untuk menggunakan nama host dan nama domain, contohnya adalah penunjukan sumber universal (URL) dan alamat e-mail. DNS menghubungkan kebutuhan ini. Selain digunakan di Internet, DNS juga dapat di implementasikan ke privatenetwork atau intranet. Pada sistem operasi Ubuntu, DNS diimplementasikan dengan menggunakan software yang bernama BIND (Barkeley Internet Name Domain). BIND dapat diinstall dan dikonfigurasikan pada sebuah PC dalam jaringan kantor atau rumah. Jika anda memilih sebuah PC sebagai DNS Server dengan alamat IP 192.168.1.5, maka setiap komputer yang terhubung dalam jaringan harus mendefinisikan siapa servernya. Komputer yang tidak mendefinisikan siapa server DNS-nya, maka tidak dapat memanfaatkan penamaan DNS.
Laboratorium Sistem Operasi & Jaringan
Page 33
3.1.2 Cara Kerja DNS Fungsi dari DNS adalah menerjemahkan dari nama komputer ke IP address (memetakan). Client DNS disebut dengan resolvers dan server DNS disebut dengan name servers. Resolvers atau client mengirimkan permintaan ke name server berupa queries. Name server akan memproses dengan cara melakukan pengecekan ke localdatabase DNS, menghubungi name server lainnya atau akan mengirimkan message failure jika ternyata permintaan dari client tidak ditemukan. Proses tersebut disebut dengan Forward Lookup Query, yaitu permintaan dari client dengan cara memetakan nama komputer (host) ke IP address.
Gambar 5.1 - Cara Kerja DNS Server
3.1.3 Struktur DNS Domain Name Space merupakan sebuah hirarki pengelompokan berdasarkan nama, yang terbagi menjadi beberapa bagian diantaranya: Root-Level Domains
domain
Domain ditentukan berdasarkan tingkatan kemampuan yang ada pada struktur hirarki yang disebut dengan level. Level paling atas di hirarki disebut dengan root domain. Root domain di ekspresikan berdasarkan periode dimana lambang untuk rootdomain adalah . (dot). Top-Level Domains Berikut adalah contoh dari top-level domains: 1. 2. 3. 4. 5. 6. 7. 8.
.com : Organisasi Komersial .edu : Institusi pendidikan atau universitas .org : Organisasi non-profit .net : Networks (backboneInternet) .gov : Organisasi pemerintah non militer .mil : Organisasi pemerintah militer .arpa : Reverse DNS .xx : dua-huruf untuk kode negara (.id: Indonesia, .sg: Singapura, dan lain-lain)
Laboratorium Sistem Operasi & Jaringan
Page 34
Second-Level Domains Second level domains dapat berisi host dan domain lain yang disebut dengan subdomain. Sebagai contoh academic.telkomuniversity.ac.id, dan lain-lain. Host Names Domainname yang digunakan dengan host name akan menciptakan fully qualified
domain
name (FQDN)
untuk
setiap
komputer. Misalnya
academic.telkomuniversity.ac.id, dimana academic adalah host name dan telkomuniversity.ac.id adalah domain name. 3.1.4 Jenis – Jenis DNS Record (Elemen Dasar DNS) 1. NS (Name Server) : Digunakan untuk menyatukan “Authoritative Name Server” yang mengelola domain. 2. A (Address) : Digunakan untuk memetakan suatu hostname ke suatu IP Address. 3. PTR (Pointer) : Digunakan untuk meletakan IP Address ke hostname. 4. CNAME (CanonicalName) : Digunakan untuk menyatakan sebuah alias atau nickname dari suatu host. 5. MX (MailExchange) : Digunakan untuk mengarahkan e-mail untuk suatu host atau domain ke host yang berfungsi sebagai mail server. 6. SOA : Start of Authority merupakan perintah yang hanya digunakan oleh primary DNS. Perintah tersebut mendefinisikan awal dari suatu zone. 7. Nameserver : Nama domain yang anda buat dilayani oleh server DNS. 8. Serial_number : Nomor seri dari zone file. Biasanya menggunakan format berbentuk yyyymmddxx (y: tahun, m: bulan, d: tanggal, x: kode serial ) 9. Refresh_number : Mendefinisikan selang waktu yang diperlukan oleh SecondaryName Server untuk memeriksa perubahan zone file pada Primary Name Server. 10. Retry_number : Mendeklarasikan beberapa DNS menunggu pengulangan pengecekan terhadap DNS apabila DNS tidak memberikan respon pada saat proses refresh. 11. Expire_number : Mendeklarasikan berapa lama zone file dipertahankan pada DNS. Apabila DNS tidak bisa, maka ia akan melakukan penghapusan. 12. Negative Cache TTL _number : Mendeklarasikan nilai defaultTime To Live untuk semua resource pada zone file. DNS Management adalah hal yang memegang peranan penting dalam memaintain suatu domain, mail server, website atau service lainnya. Meskipun membangun server DNS merupakan pekerjaanyang cukup rumit, akan tetapi modifikasi terhadap DNS yang sudah berjalan sangat jarang dilakukan karena setiap server di internet pada umumnya mempunyai IP Address yang statik.
Laboratorium Sistem Operasi & Jaringan
Page 35
IV. Lab / Praktek 4.1
Install DNS digunakan sebagai penerjemah dari nama domain ke alamat IP dan sebaliknya, yaitu dari alamat IP ke nama domain. Pada modul ini kita akan mencoba membuat DNS server dari aplikasi bind9. Langkah pertama adalah install dns-server dengan perintah : # apt-get install bind9
Sebelum menginstall pastikan OS Ubuntu telah terkoneksi dengan internet dan repository (telah dijelaskan pada modul sebelumnya). 4.2
Setting IP Static Sebelum melakukan konfigurasi DNS server pada bind9, lakukan dahulu edit konfigurasi network untuk mengubah IP Ubuntu menjadi static. Tambahkan baris berikut pada file /etc/network/interfaces : auto eth0 iface eth0 inet static address 192.168.1.128 netmask 255.255.255.0 gateway 192.168.1.1
Lalu tes dengan perintah ifconfig.
Gambar 4.2 - Cek konfigurasi IP address
Laboratorium Sistem Operasi & Jaringan
Page 36
4.3
Membuat File Forward dan File Reverse Disini kita hanya perlu melakukan duplikat dari file konfigurasi default yang telah ada pada bind9. Namun sebelumnya kita harus terlebih dahulu membuat file database baru untuk DNS yang berfungsi untuk konfigurasi IP server dan sebagainya. Ketikkan perintah berikut : #touch /etc/bind/db.sisjar1.com #touch /etc/bind/db.sisjar2.com
File forward: copy file db.local kedalam direktori yang sama dengan nama db.sisjar1.com . Ketikkanperintah berikut : #cp /etc/bind/db.local /etc/bind/db.sisjar1.com
Kemudian edit file tersebut seperti pada gambar di bawah, ubah beberapa baris, dan sesuaikan dengan ip server dan nama domain yang di inginkan. Contohnya adalah sisjar1.com #nano /etc/bind/db.sisjar1.com
Gambar 5.3 - Tampilan konfigurasi file forward File Reverse: begitu juga dengan file reverse, copy file db.127 ke dalam direktori yang sama dengan nama db.sisjar2.com
Laboratorium Sistem Operasi & Jaringan
Page 37
#cp /etc/bind/db.127 /etc/bind/db.sisjar2.com
Kemudian edit file tersebut seperti pada gambar di bawah, ubah beberapa baris, dan sesuaikan dengan ip server dan nama domain yang di inginkan. Contohnya adalah sisjar2.com #nano /etc/bind/db.sisjar2.com
Gambar 5.4 - Tampilan konfigurasi file reverse Bagian ini adalah yang terpenting, dimana kita akan menentukan nama untuk domain dari server Ubuntu kita. Untuk melakukan penentuan nama domain dan sever,edit dan tambahkan konfigurasi untuk forward dan reverse pada file named.conf dengan mengetikkan perintah berikut ini: #nano /etc/bind/named.conf.local
tambahkan baris berikut : zone “sisjar1.com” { type master; file “/etc/bind/db.sisjar1.com”;}; zone “192.168.1.128.in-addr.arpa” { type master; file “/etc/bind/db.sisjar2.com”;};
Laboratorium Sistem Operasi & Jaringan
Page 38
Gambar 5.4 - Tampilan konfigurasi domain name server Restart daemon dari bind9. #/etc/init.d/bind9 restart
Gambar 5.5 - Tampilan setelah bind9 di restart Jika sudah ok, ubah DNS di ubuntu menggunakan ip servernya, agar DNS sisjar1.com dapat terbaca.
Laboratorium Sistem Operasi & Jaringan
Page 39
Tambahkan baris berikut pada file /etc/network/interfaces:
Gambar 5.6 - Tampilan interface DNS server sisjar1.com Lakukan tes apakah DNS Server tersebut berhasil atau tidak, dengan melakukan ping ke sisjar.com. # ping sisjar.com
Gambar 4.7 Tampilan tes ping sukses
Laboratorium Sistem Operasi & Jaringan
Page 40
Atau dengan melakukan perintah nslookup. # nslookup sisjar1.com # nslookup 192.168.1.128
Gambar 5.8 - Tampilan tes nslookup sukses
V.
Studi Kasus Praktikum 1. Diberikan satu komputer dengan sistem operasi windows 7 yang didalamnya terdapat software VMware player, VMware player tersebut didalamnya terdapat virtual komputer dengan sistem operasi Linux ubuntu. Praktikan diminta untuk membuat dan mengkonfigurasikan DNS server pada OS Ubuntu agar dapat bekerja sebagai mana mestinya. 2. Konfigurasi dapat dilakukan melalui vi editor, nano editor maupun text editor lainnya selama tidak mempersulit pengerjaan. 3. Untuk domain name beri nama pada DNS name server “sisjar.com” dengan IP 192.168.1.26 /24. 4. Lakukan Uji ping maupun nslookup untuk memastikan apakah dns server telah bekerja atau belum.
Laboratorium Sistem Operasi & Jaringan
Page 41
MODUL 6 Mail Server I.
Tujuan Praktikum 1. Memahami cara kerja Mail Server 2. Mampu melakukan installasiMail Server 3. Mampu mengkonfigurasi Mail Server
II.
Alat dan Bahan 1. Perangkat komputer 2. Sistem Operasi Ubuntu 3. Postfix MTA packages 4. Dovecot MDA packages 5. Thunderbird Mail Client
III.
Landasan Teori 3.1
Pengenalan Mail Server Mail Server merupakan perangkat lunak yang dapat mendistribusikan file atau informasi sebagai respon atas permintaan yang dikirim viaemail, dan juga digunakan pada bitnet untuk menyediakan layanan serupa seperti FTP. Komponen utama pada sistem Mail Server yakni Mail Transfer Agent (MTA), Mail Delivery Agent (MDA) dan Mail User Agent (MUA) atau sering disebut juga Mail Client. 3.1.1 Mail Transfer Agent (MTA) MTA merupakan suatu program yang bertanggung jawab dalam mengirim email dari satu komputer ke komputer yang lain dengan menggunakan Simple Mail Transfer Protocol (SMTP). 3.1.2 Mail Delivery Agent (MDA) MDA merupakan suatu program yang sebenarnya mengirim email yang diterima oleh MTA, ke MailboxPersonal. MDA juga dapat berfungsi sebagai filter SPAM, deteksi virus dan mengirim balasan otomatis. Selain itu, MDA juga bekerja pada layer presentation dalam mengolah email dari Mailbox ke penggunanya, dimana protocol yang dapat dioleh berupa Post Office Protocol (POP dan POP3) dan Internet Message Access Protocol (IMAP) pada host dimana email tersimpan. Contoh umum dari MDA pada sistem Linux adalah procmail, Qpopper, Cyrus, pop3d, Courier IMAP dan Dovecot. MDA dapat secara langsung terintegrasi pada MTA, seperti pada Microsoft Exchange. 3.1.3 Mail User Agent (MUA) atau Mail Client Suatu Program yang bekerja dalam mengirim dan membaca email yang diterima dalam MailboxPersonal dengan menggunakan protokol berupa POP, POP3 dan IMAP. Kebanyakan MUA juga menyediakan layanan dalam menyusun email. Contoh dari MUA yakni Evolution, Microsoft Outlook mutt, kmail, pine dan Thunderbird
Laboratorium Sistem Operasi & Jaringan
Page 42
3.2
Cara kerja Mail Server Seperti yang sudah dijelaskan sebelumnya, sistem pada Mail Server terdiri dari 3 komponen utama yakni MDA, MTA dan MUA serta komponen pendukung lainnya yakni database untuk domain table dan DNS. Berikut merupakan diagram Mail Server :
Gambar 6. 1 - Diagram Mail Server Pada gambar diatas, bisa dilihat bahwa MTA bertugas untuk meneruskan email yang masuk ke MDA dan keluar, sedangkan MDA bertugas untuk meneruskan email yang diterima dari MTA ke Mailbox yang kemudian akan dapat diakses oleh MUA. MUA sendiri akan langsung melakukan pengiriman email ke MTA tanpa melalui MDA. Pada modul ini kita akan menggunakan Postfix sebagai MTA, Dovecot sebagai MDA dan MySQL sebagai database.
Laboratorium Sistem Operasi & Jaringan
Page 43
3.2.1 Proses pengiriman email
Gambar 6. 2 - Pengiriman Email Berikut penjelasan untuk gambar diatas : 1. Pertama Mail Client akan mencoba membuat hubungan dengan Postfix, dengan tujuan mengirim email. 2. Postfix menerima perintah dari Mail Client, kemudian meminta Username dan Password untuk mengirim email ke Mail Client. 3. Mail Client mengirim Username serta Password ke Postfix. 4. Postfix kemudian meneruskan Username dan Password tadi ke Dovecot untuk diperiksa. 5. Dovecot kemudian mengakses database MySQL untuk melihat apakah Username dan Password terdaftar. 6. Username dan Password terdaftar dalam tabel domain 7. Dovecot melakukan konfirmasi ke Postfix bahwa Username dan Password terdaftar. 8. Postfix melakukan konfirmasi ke Mail Client, bahwa Username dan Passwordvalid. 9. Mail Client mengirim email ke Postfix yang nantinya diteruskan oleh Postfix ke domain tujuan.
Laboratorium Sistem Operasi & Jaringan
Page 44
3.2.2 Proses Penerimaan email
Gambar 6. 3 - Penerimaan email Berikut penjelasan untuk gambar diatas : 1. 2. 3. 4.
Email dikirim dari
[email protected] ke alamat kita. DNS memeriksa tujuan email kemudian meneruskannya ke domain kita. Email diterima oleh Postfix. Postfix kemudian mengakses tabel domain untuk memeriksa apakah email dapat diteruskan atau tidak. 5. Email terkonfirmasi bahwa dapat diteruskan ke alamat tujuan. 6. Postfix meneruskan email ke Dovecot dengan LMTP. 7. Dovecot kemudian meneruskan (menyimpan) email yang diterima ke alamat Mailbox yang valid.
Laboratorium Sistem Operasi & Jaringan
Page 45
3.2.3
Pengecekan Email
Gambar 6. 4 - Pengecekan Email Berikut penjelasan dari gambar di atas : 1. 2. 3. 4. 5. 6. 7. 8. 3.3
Mail Client mencoba membuat koneksi via IMAP ke Dovecot. Dovecot melakukan konfirmasi, kemudian meminta Username dan Password. Mail Client mengirimkan Username dan Password ke Dovecot. Dovecot kemudian mengakses database untuk memeriksa Username dan Password pada tabel user. Username dan Password pada database cocok. Dovecot kemudian mengakses Mailbox yang bersangkutan. Dovecot mengambil email yang ada pada Mailbox. Dovecot mengirimkan email yang telah diambil dari Mailbox ke Mail Client.
Manfaat memiliki Mail Server sendiri Tidak ada batasan jumlah pengguna. Kebanyakan ISP dan domainhosting menyediakan slot pengguna ataupun alias pada jumlah yang telah ditentukan dan mengenakan biaya tambahan untuk jumlah yang lebih banyak. Tidak ada batasan jumlah domain yang ditangani oleh satu Mail Server. Sama halnya dengan jumlah pengguna, kebanyakan ISP dan perusahaan hosting akan mengenakan biaya untuk setiap domain. Keleluasaan dalam menggunakan jenis Mail Server yang berbeda dibandingkan dengan yang disediakan ISP ataupun domainhosting.
Laboratorium Sistem Operasi & Jaringan
Page 46
IV. Lab / Praktek 4.1
Installasi Pada praktikum ini kita akan menginstall Postfix packages dan Dovecot packages. Untuk database kita akan menggunakan database yang telah tersedia. Buka terminal, kemudian ketikan perintah berikut : $ sudo apt-get install postfix dovecot-common dovecot-imapd dovecotpop3d
Perintah sudo bertujuan untuk mengganti privilege menjadi root, apt berguna untuk menampilkan packages yang akan diolah (diinstall), dan setelah commandinstall merupakan packages program yang akan diinstall. 4.1.2 Postfix Packages 1. Kemudian muncul menu untuk jenis Mail Server yang akan digunakan
Gambar 6. 5 - Menu Jenis Mail Server Bisa dilihat pada penjelasan dalam menu, untuk pilihan Internet SiteMail Server terhubung dengan internet dan meneruskan email dengan SMTP. Satellite system, dimana email dikirim ke perangkat lain, disebut Smarthost bertindak sebagai MDA. Local only, dimana email hanya digunakan dalam cakupan lokal dimana MTA tidak mengakses DNS.
Laboratorium Sistem Operasi & Jaringan
Page 47
2. Kemudian muncul pop-menu untuk memasukan nama domain :
Gambar 6. 6 - Menu Nama Domain Silahkan ketikan nama domain yang diinginkan. 4.1.3 Dovecot packages 1. Pada pop-menu berikut, pilih yes. Hal ini dimaksudkan agar dovecot tidak menggunakan sertifikat SSL default. 2. Kemudian akan muncul pop-menu lagi sebagai berikut : Ketikan mail.example.com.
4.1.4 Konfigurasi Postfix 1. Pertama tambahkan daftar host dengan mengeditfile /etc/hosts kemudian masukan baris berikut 192.168.1.1 mail.example.com
2. Buka terminal kemudian ketikan perintah berikut $ sudo nano /etc/postfix/main.cf
Bertujuan untuk mengedit file konfigurasi postfix via nano editor. 3. Berikut adalah tampilan file main.cf smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache myhostname = ubuntu32.vonhagen.org alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = mail.example.com, example.com, localhost.localdomain, localhost
Laboratorium Sistem Operasi & Jaringan
Page 48
relayhost = mynetworks = 127.0.0.0/8192.168.1.0/24 Mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all
4. Pada baris mynetworks masukan IP addresshost yang akan ditambahkan sehingga barisnya menjadi : mynetworks = 127.0.0.0/8192.168.1.0/24
Dalam contoh diatas alamat host yakni 192.168.1.1-192.168.1.254. 5. Kemudian agar alamat domain kita valid, ganti nilai pada mydestination menjadi alamat domain, dan host kita. Misalnya hasilnya sebagai berikut Mydestination = example.com, mail.example.com, localhost.localdomain, localhost
Dikarenakan Postfix secara default akan menerima semua permintaan yang masuk pada semua interface jaringan, tetapi hanya akan membolehkan host pada loopbacknetwork yang terdaftar untuk mengirim email melalui Mail Server tersebut. Maka agar setiap host yang terdaftar pada Mail Server dapat mengirim email, diperlukan penambahan jaringan seperti pada langkah diatas. 6. Tambahkan baris berikut untuk konfigurasi proses autentikasi smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
Untuk baris smtpd_sasl_type diisi nilai dovecot bertujuan agar Simple Authentication and Security Layer (SASL) yang digunakan menggunakan milik dovecot.
Laboratorium Sistem Operasi & Jaringan
Page 49
Smtpd_sasl_pathdiisi
dengan
alamat
authenticationsocket,
smtpd_sasl_auth_enable diisi dengan nilai yes bertujuan agar memperbolehkan penerusan email dengan SASL untuk user yang terautentikasi, lalu baris smtpd_recipient_restricition bertujuan untuk menentukan jenis user yang dapat meneruskan email dengan server ini. 7. Untuk menggunakan format Maildir tambahkan baris berikut pada file konfigurasi tadi (/etc/postfix/main.cf) Home_mailbox = Maildir/
Save dan exit. 8. Arahkan path SSL ke file berikut Postconf –e ‘smtpd_tls_key_file = /etc/ssl/private/server.key Postconf –e ‘smtpd_tls_cert_file = /etc/ssl/certs/server.crt’
9. Aktifkan
akses
via
smtp
melalui
port
587
dengan
mengedit
file
/etc/postfix/master.cf : (hapus karakter # pada baris-baris berikut) Submission inet n
-
-
-
-
smtpd
-o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_relay_restrictions=permit_sasl_authenticated, reject -o milter_macro_daemon_name=ORIGINATING
Save dan Exit. 4.1.5 Konfigurasi Dovecot 1. Buka fileetc/dovecot/conf.d/10-master.confkemudian tambahkan baris berikut pada bagian Postfix smtp-auth (baris ke 95) Unix_listener /var/spool/postfix/private/auth { Mode = 0660 User = postfix Group = postfix
Laboratorium Sistem Operasi & Jaringan
Page 50
Baris diatas ditambahkan agar proses autentikasi menggunakan user system Postfix. Save lalu keluar. 2. Buka file /etc/dovecot/conf.d/10-auth.confkemudian temukan perintah pada baris ke 100 ganti dengan baris berikut : Auth_mechanism = plain login
Simpan hasil editan. 3. Restart Dovecot dan Postfix dengan perintah Service dovecot restart Service postfix restart
4.1.6 Testing Mail Server 1. Buat akun baru pada ubuntu, dengan perintah berikut : Useradd –m test –s /sbin/nologin Passwd test
Masukan password yang diinginkan. 2. Buka Mail Client (thunderbird), tambahkan user baru yang telah dibuat tadi (test)
Gambar 6. 7 - Menu Thunderbird
Laboratorium Sistem Operasi & Jaringan
Page 51
3. Dalam menu create a new account, klik Email.
Gambar 6. 8 - Create mail account Thunderbird 4. Klik skip this and use my existing account, maka akan muncul tampilan sebagai berikut :
Gambar 6. 9 - Menu Mail Account Setup Thunderbird Masukan password dan alamat email sesuai user yang telah dibuat lalu klik continue. 5. Kemudian, untuk mengkonfigurasikan akun agar terhubung dengan domain yang sudah kita buat (example.com), klik manual config. Maka akan muncul tampilan sebagai berikut :
Laboratorium Sistem Operasi & Jaringan
Page 52
Gambar 6. 10 Manual Config Thunderbird Pada baris Incoming sesuaikan protocol yang akan digunakan, pada contoh diatas adalah IMAP. Kemudian, untuk kolom Server hostname ketikan domain yang sudah dibuat sebelumnya, lalu untuk Port pilih 143. Selanjutnya pada kolom SSL pilih STARTTLS untuk baris Incoming dan Outgoing. Begitu juga untuk kolom Authentication pilih Normal Password untuk kedua baris. Pada baris Outgoing, pada kolom Server hostname masukan domain seperti pada baris Incoming, hal ini dimaksudkan sehingga server yang digunakan untuk mengirim dan menerima email, menggunakan server dengan domain yang sudah kita buat sebelumnya. Untuk Port pilih 587. Pada baris Username masukan username sesuai dengan username yang ada pada server, pada contoh diatas yakni ridle8. Setelah semua informasi yang dibutuhkan sudah dimasukan, klik Done. 6. Buat email baru kemudian kirimkan ke user yang lama :
Laboratorium Sistem Operasi & Jaringan
Page 53
Gambar 6. 11 Tampilan Pengiriman Email Thunderbird 7. Jika email masuk pada inbox yang dituju, maka Mail Server sudah berjalan :
Gambar 6. 12 - Tampilan Inbox Thunderbird V.
Studi Kasus Praktikum 1. Perusahaan sisjar hendak mengganti alamat domain mereka yang lama (example.com) dengan yang baru (sisjar.com). Ubahlah konfigurasi pada Postfix sehingga Mail Server dapat berjalan dengan domain (sisjar.com)! 2. Dikarenakan suatu hal, perusahaan sisjar perlu mengganti private address mereka yang lama (192.168.1.1), menjadi 172.16.1.1. Konfigurasikanlah Postfix sehingga alamat yang baru berlaku!
Laboratorium Sistem Operasi & Jaringan
Page 54
MODUL 7 BASH Scripting I.
Tujuan Praktikum 1. Memberi pemahaman tentang dasar-dasar BASH Scripting dan kegunaannya pada Linux 2. Memberi contoh penggunaan BASH Scripting untuk menunjang kegiatan dasar sehari-hari dengan Sistem Operasi Linux.
II.
Alat dan Bahan 1. PC dengan Sistem Operasi Linux 2. Text Editor (vi atau Nano)
III.
Landasan Teori 3.1
BASH Script 3.1.1 Definisi BASH (Bourne Again Shell) adalah shell default di sebagian besar Sistem Operasi GNU / Linux. BASH adalah shell yang dibuat oleh Brian Fox untuk GNU Project sebagai pengganti dari Bourne Shell. BASH dirilis tahun 1989. BASH adalah command processor yang biasanya di jalankan di terminal. Dimana mengijinkan user untuk memasukkan command yang dapat menghasilkan sesuatu / action. 3.1.2 Kemampuan Dasar Yang Harus Dimiliki Sebelum memulai scripting, anda harus memiliki kemampuan dasar untuk commandcommand shell seperti : cd, pwd, alias, umask, exit, logout, ls, mkdir, rmdir, mv, cp, rm, clear Utiliti seperti cat, tac, cut, paste, chmod Redirection (menggunakan operator >, >>, <, <<) o ls > data Hasil command ls dikirim ke data. Jika file data tersebut belum ada, akan dibuat filenya sedangkan jika sudah ada maka isinya akan ditimpa. o ls >> data Sama seperti diatas, namun bedanya jika file tersebut sudah ada isinya, maka hasil command ls akan ditambahkan di akhir file. o cat < data Isi file data tersebut akan dijadikan input oleh perintah cat. Pipe Pipe digunakan untuk membuat output suatu perintah menjadi input dari perintah lain. Contoh : ls –l | grep data Perintah ini berarti : List semua file pada direktori tersebut, lalu cari yang namanya mengandung data. grep
Laboratorium Sistem Operasi & Jaringan
Page 55
Grep digunakan untuk mencari suatu string tertentu pada file input. Grep berguna untuk mempercepat pencarian anda pada suatu file. swoordom@ubuntu:~/contohPrak$ cat /etc/passwd | grep root root:x:0:0:root:/root:/bin/bash
Contoh diatas adalah kita hanya mencari string / line yang berisikan kata root pada file /etc/passwd. sed Perintah sed digunakan untuk memanipulasi teks. Sed kepanjangannya adalah stream editor. Bentuk Syntax dari sed ialah : sed `s/teks_lama/teks_baru/flag` filename
Detail : o s adalah perintah untuk mengganti (substitusi) o flag bisa ditambahkan pada command. Flag umum yang digunakan ialah: /g (untuk mengganti semua kata yang ditemukan), /p untuk mencetak line yang telah dimodifikasi, /1, /2 .. /n adalah untuk mengkhususkan penggantian pada line yang bersangkutan (nomor 1 atau 2 merujuk pada nomor line). 3.1.3 Penulisan Script Shell script selalu diawali dengan tanda komentar (#) yang disambung dengan ! dan nama shell yang digunakan. #!/bin/sh #Contoh Shell # Variabel1=15 echo $Variabel1
Variabel Variabel pada Shell Scripting atau BASH Scripting pada umumnya adalah variable yang mempunyai nilai String. Variabel disini harus dimulai dengan alfabet, baru kemudian disusul dengan alfanumerik atau karakter lain. Satu hal lagi, penamaan disini bersifat case-sensitive. Contoh penulisan variabel : nama_variabel = value_variabel umur=20
Untuk melihat isi variabel, gunakan perintah echolalu diikuti dengan tanda dollar ($) dan diikuti dengan nama variabel tersebut. Laboratorium Sistem Operasi & Jaringan
Page 56
echo $nama_variabel
swoordom@ubuntu:~$ var1=lol swoordom@ubuntu:~$ echo $var1 lol Mengeluarkan isi variabel
Untuk variabel yang isinya lebih dari satu kata, harus menggunakan tanda kutip atau apostrof swoordom@ubuntu:~$ var1="this is just a joke XD" swoordom@ubuntu:~$ echo $var1 this is just a joke XD Cara penulisan variabel yang isinya lebih dari satu kata
Penggunaan Tanda Kutip Ada beberapa tanda kutip yang digunakan pada BASH Script. Pertama adalah kutip satu / single quoted (‘). Kutip satu digunakan untuk menampilkan string apa adanya (tidak bisa menyisipkan variabel) swoordom@ubuntu:~$ nama=swrdm swoordom@ubuntu:~$ echo 'nama saya $nama' nama saya $nama
Kutip dua / double quoted digunakan untuk menampilkan string namun mengijinkan penyisipan variabel. swoordom@ubuntu:~$ nama=swrdm swoordom@ubuntu:~$ echo "nama saya $nama" nama saya swrdm
Kutip terbalik ( ` ) digunakan untuk menerjemahkan string didalam kutip menjadi sebuah command / perintah yang dapat dieksekusi oleh sistem. swoordom@ubuntu:~$ echo "tampilkan list direktori /home `ls l /home` " tampilkan list direktori /home total 8 drwxr-xr-x 3 dika
dika
4096 Apr 13 04:58 dika
drwxr-xr-x 4 swoordom swoordom 4096 Aug
Laboratorium Sistem Operasi & Jaringan
1 17:07 swoordom
Page 57
Pada contoh diatas, yang menjadi command untuk system adalah ls –l /home
Membaca Input dari Keyboard Kita bisa membaca input dari keyboard dan memasukkannya ke dalam variabel menggunakan command read. read nama_var echo nama_var swoordom@ubuntu:~$ read nilai 80 swoordom@ubuntu:~$ echo $nilai 80 Membaca input dari keyboard
Parameter UnSebuah shell dapat mempunyai maksimal 9 buah parameter dan dipresentasikan melalui variabel khusus yaitu $1,$2,$3,$4,$5,$6,$7,$8dan $9. Variabel $0 merepresentasikan nama shell. Jumlah parameter yang digunakan dalam shell direpresentasikan dengan variabel $#. Variabel $* digunakan untuk mencetak string yang menjadi parameter. Contoh script sebagai berikut : #!/bin/bash #Test doang #mencetak text echo "test doang nih" #mengeluarkan status berhasil dijalankan atau tidak 0=berhasil 1=gagal echo "status : "$?" " #Mengeluarkan PID echo "Process ID : "$$" " #parameter #1 echo "Parameter 1 : "$1" " #parameter #2 echo "Parameter 2 : "$2" " #menghitung jml parameter
Laboratorium Sistem Operasi & Jaringan
Page 58
echo "jumlah parameter : "$#" " #mencetak string yang digunakan sebagai parameter echo "String yang digunakan sbg. parameter : "$*" " Contoh script penggunaan parameter
Untuk menjalankannya gunakan perintah seperti berikut : chmod +x nama_script ./nama_script Atau ./nama_script param1 param2 .... param 9
Contoh jika dijalankan adalah sebagai berikut : swoordom@ubuntu:~$ ./s.sh test doang nih status : 0 Process ID : 2007 Parameter 1 : Parameter 2 : jumlah parameter : 0 String yang digunakan sbg. parameter : Script dijalankan tanpa parameter
swoordom@ubuntu:~$ ./s.sh StringParam1 StringParam2 test doang nih status : 0 Process ID : 2008 Parameter 1 : StringParam1 Parameter 2 : StringParam2 jumlah parameter : 2 String yang digunakan sbg. parameter : StringParam1 StringParam2 Script dijalankan dengan parameter
Instruksi Test Instruksi test digunakan untuk memeriksa kondisi dari sebuah ekspresi. Ekspresi terdiri dari factor dan operator yang dipisahkan oleh spasi. Hasil dari test adalah nilai status exit (0 = Berhasil , 1 = Gagal). Instruksi test dapat ditulis dengan cara : [ ekspresi ] . Perlu diperhatikan bahwa setelah kurung siku pembuka dan sebelum kurung siku penutup harus ditambahkan Laboratorium Sistem Operasi & Jaringan
Page 59
spasi. Jika tidak, ekspresi tidak akan bisa diproses / gagal. Instuksi test juga dapat ditulis dengan test ekspresi. Operator yang ada pada test adalah sebagai berikut : Operator Bernilai True / 0 , jika String1 = String2
Kedua string identik
String1 != String2
Kedua string tidak identik
-n String
String tidak null
-z String
String bernilai null
Operator test untuk file dan direktori adalah sebagai berikut : Operator Bernilai True / 0, jika -f filename
File ada dan tipenya adalah file
-d filename
File ada dan tipenya adalah direktori
-r filename
File dapat diread / baca
-w filename
File dapat diwrite / tulis
-x filename
File dapat dieksekusi
-s filename
File ada dan tidak kosong
Contoh penggunaan test adalah sebagai berikut : a. Cek file kosong atau tidak swoordom@ubuntu:~$ touch fileKosong swoordom@ubuntu:~$ test -s fileKosong swoordom@ubuntu:~$ $? 1: command not found
Di gambar diperlihatkan bagaimana cara mengecek apakah file kosong atau tidak. Pertama – tama kita buat dahulu filenya menggunakan perintah touch, setelah itu kita test menggunakan operator –s (test –s filename) lalu setelah itu dicetak statusnya menggunakan $?. Setelah status dicetak terlihat statusnya adalah 1 atau false. Ini berarti file ada namun kosong alias tidak ada isinya. swoordom@ubuntu:~$ touch fileIsi && cat /etc/passwd >> fileIsi swoordom@ubuntu:~$ test -s fileIsi swoordom@ubuntu:~$ $?
Laboratorium Sistem Operasi & Jaringan
Page 60
0: command not found
Bandingkan dengan gambar tadi dengan gambar ini. Awalnya kita membuat file kosong bernama fileIsi. Lalu kita isi file ini dengan isi dari file /etc/passwd (menggunakan command cat). Setelah itu kita test file fileIsi ini dan statusnya adalah 0 atau true. Itu berarti fileIsi ini memiliki isi alias tidak kosong.
b. Mengecek string null atau tidak #!/bin/bash #null or not #masukkan string echo -n "string : " read strgg #cek null atau tidak if [[ -z "$strgg" ]]; then echo "null" else echo "not null" fi
Script diatas adalah script untuk mengecek string null atau tidak. Pada bagian if terlihat bahwa variabel strgg dicek menggunakan opsi –z , yaitu mengecek apakah null atau tidak, jika hasilnya true maka string tersebut null. swoordom@ubuntu:~$ ./kosongTidak.sh string : Lalala not null Script dijalankan dengan memasukkan string
swoordom@ubuntu:~$ ./kosongTidak.sh string : null Script dijalankan dengan memasukkan string
Bisa dilihat seperti contoh diatas, saat kita memasukkan string hasilnya adalah not null, namun saat kita tidak memasukkan string hasilnya null.
Laboratorium Sistem Operasi & Jaringan
Page 61
Selain instruksi untuk string, kita juga bisa menggunakan instruksi test untuk mengecek angka / bilangan. Operator test untuk mengeceknya adalah sebagai berikut : Operator Bernilai true, jika Integer1 –eq Integer2
Bilangan 1 sama dengan Bilangan 2
Integer1 –ge Integer2
Bilangan 1 lebih besar atau sama dengan Bilangan 2
Integer1 –gt Integer2
Bilangan 1 lebih besar dari Bilangan 2
Integer1 –le Integer2
Bilangan 1 lebih kecil atau sama dengan Bilangan 2
Integer1 –lt Integer2
Bilangan 1 lebih kecil dari Bilangan 2
Integer1 –ne Integer2
Bilangan 1 tidak sama dengan Bilangan 2
Konstruksi if-else if instruksi1 then instruksi_lainnya ......... else instruksi_lain_yang_lainnya ......... fi
atau if instruksi1 then instruksi_lainnya .......... elif instruksi2 then instruksi_lain_yang_lainnya fi
Konstruksi Case case variable in match1) instruksi1.1 ………………
Laboratorium Sistem Operasi & Jaringan
Page 62
;; match2) instruksi2.1 ……………… ;; *) instruksi3.1 ……………… ;; esac
Catatan : *) adalah case jika input tidak ada yang sesuai dengan kriteria.
Konstruksi For for var in str1 str2 …..strn do instruksi done
Konstruksi while while kondisi do instruksi done
Array Penulisan array pada BASH scripting adalah sama seperti variabel biasa namun ditambahkan dengan kurung. swoordom@ubuntu:~/contohPrak$ mobil=(toyota,suzuki,honda,mazda,nissan) swoordom@ubuntu:~/contohPrak$ echo ${mobil[*]} toyota,suzuki,honda,mazda,nissan
3.2
Cara menjalankan Script Untuk menjalankan script sebenarnya mudah. Hanya cukup memberi permission untuk execute pada file BASH. Setelah itu jalankan seperti biasa dengan ./ (jika anda bekerja di direktori yang sama dengan file BASH. Ex : ./script.sh) atau ditulis full pathnya. (ex : /home/user/script.sh) swoordom@ubuntu:~/tes$ ls -l
Laboratorium Sistem Operasi & Jaringan
Page 63
total 4 -rw-rw-r-- 1 swoordom swoordom 1 Aug
1 17:48 script.sh
swoordom@ubuntu:~/tes$ chmod +x script.sh swoordom@ubuntu:~/tes$ ls -l total 4 -rwxrwxr-x 1 swoordom swoordom 1 Aug
1 17:48 script.sh
swoordom@ubuntu:~/tes$ ./script.sh jalan
Pertama kita cek terlebih dahulu permission dari file script. Ternyata permissionnya –rw-rw-r- (0755). Dengan permission seperti ini jika anda mencoba menjalankan script maka akan muncul error permission denied.
swoordom@ubuntu:~/tes$ ./script.sh -bash: ./script.sh: Permission denied
Untuk menanggulanginya kita butuh mengubah permission agar group yang sama dengan owner bisa mengeksekusinya pula (dalam hal ini user anda satu group dengan owner), Maka, kita jalankan perintah chmod +xkepada file scriptnya. swoordom@ubuntu:~/tes$ chmod +x script.sh swoordom@ubuntu:~/tes$ ./script.sh jalan
Setelah menjalankan perintah tersebut, permission akan berubah menjadi –rwx-rwx-r-x atau 0775. Script sudah siap dijalankan. IV. Lab / Praktek 4.1
Operasi Aritmatika Sederhana 4.1.1 Menggunakan perintah let #!/bin/bash #Matematika menggunakan let echo -n "masukkan angka 1 : " read angka1 echo -n "masukkan angka 2 : " read angka2 let jml=$angka1+$angka2 let kali=$angka1*$angka2
Laboratorium Sistem Operasi & Jaringan
Page 64
let bagi=$angka1/$angka2 echo "hasil jumlah : "$jml" , hasil kali : "$kali" , hasil bagi : "$bagi""
swoordom@ubuntu:~/contohPrak$ ./letArit.sh masukkan angka 1 : 5 masukkan angka 2 : 2 hasil jumlah : 7 , hasil kali : 10 , hasil bagi : 2
Patut diperhatikan bahwa BASH Scripting hanya mendukung integer alias bilangan bulat. Jadi jika seperti contoh, 5/2 hasilnya akan menjadi 2.
4.1.2 Menggunakan perintah declare dan expr #!/bin/bash #declare untuk aritmatika declare -i angka1 declare -i angka2 echo -n "masukkan angka 1 : " read angka1 echo -n "masukkan angka 2 : " read angka2 declare -i hKali hKali=$angka1*$angka2 declare -i hBagi hBagi=$angka1/$angka2 declare -i hTambah hTambah=$angka1+$angka2 echo "hasil kali adalah : "$hKali" , hasil tambah adalah "$hTambah" dan hasil bagi adalah "$hBagi" " #!/bin/bash #expr example echo read echo read
-n "masukkan angka 1 : " angka1 -n "masukkan angka 2 : " angka2
Laboratorium Sistem Operasi & Jaringan
Page 65
hBagi=`expr $angka1 / $angka2` echo "hasil bagi ialah : "$hBagi" "
4.2
Menghitung Jumlah Kata Pada Suatu String atau Textfile #!/bin/sh #Word Count scripts echo -n "Baca kata dari 1)Kata 2)File
: "
read pil case $pil in 1) echo -n "Masukkan kata : " read kata echo $kata | wc -w ;; 2) echo
-n "masukkan nama file : "
read fileName wc -w $fileName ;; *) echo "pilihan tidak valid" ;; esac
4.3
Menghitung jumlah karakter pada elemen pertama array #!/bin/bash #Array First element Char Count #isi array declare -i arLength echo -n "panjang array : " read arLength declare -a arr i=0
Laboratorium Sistem Operasi & Jaringan
Page 66
while [ $i -lt $arLength ]; do echo -n "masukkan isi array : " read -a arrx; arr[$i]=$arrx; let i=$i+1; done echo ${arr[*]} echo "banyak char pada element pertama array : " ${#arr} " "
V.
Studi Kasus Praktikum Buatlah dua buah script, untuk : a. Menghitung banyak karakter dalam textfile yang bernama paragraf (textfile sudah disediakan) dan menemukan kata terpanjang didalamnya beserta banyak karakternya. (Hint : gunakan for loop dan array) b. Mengganti kata aku menjadi urang pada textfile cerita.txt pada line 5 dan 13 (textfile sudah disediakan) (Hint : gunakan perintah sed) Perhatian : gunakan perintah man [command yang ingin ditelusuri]untuk mendapatkan info lengkap tentang perintah yang bersangkutan. Contoh : man sedatau man wc.
DAFTAR PUSTAKA Tim Penyusun Modul Sistem Operasi 2013. 2013. Modul Sistem Operasi 2013.pdf. Bandung Laboratorium Sistem Operasi & Jaringan
Page 67
Thomas, K. (2009). Ubuntu Kung Fu. The Pragmatic Bookshelf. Thomas, K. (2009). Ubuntu Pocket Guide and Reference.MacFreda Publishing. Siever, E, Spainhour, S, Figgins, S, Hekman, P, J. (2000). Linux in a Nutshell Third Edition. O'Reilly. http://id.wikipedia.org --------------------------Canonical Ltd. (2014, July 13). Network Configuration. Retrieved from ubuntu documentation: https://help.ubuntu.com/12.04/serverguide/network-configuration.html Canonical Ltd. (2014, July 16). Repositories/CommandLine. Retrieved from ubuntu documentation: https://help.ubuntu.com/community/Repositories/CommandLine Daftar Repositori Lokal Ubuntu 12.04. (2014, July 14). Daftar Repositori Lokal Ubuntu 12.04. Diambil kembali dari INFO LINUX: http://infolinux.web.id/2013/06/19/daftar-repositori-lokal-ubuntu-12-04/ Hagen, W. v. (2007). William von Hagen. Wiley Publishing, Inc. Matthew Helmke, A. H. (2012). Ubuntu UBLEASHED. SAMS. Thomas, K. (2006). Beginning Ubuntu Linux: From Novice to Professional. Apress. Thomas, K. (2009). Ubuntu Kung Fu. The Pragmatic Bookshelf. --------------------------Hagen, W. v. (2007). William von Hagen. “Ubuntu Linux – Bible” Helmke Matthew , Andrew Hudson, Paul Hudson (2012). “Ubuntu Unleased” Keir Thomas. “Ubuntu Kung Fu --------------------------Wikipedia. (2014, August 1).Protokol Transfer Berkas.Diperoleh http://id.wikipedia.org/wiki/Protokol_Transfer_berkas.html
3
Agustus
2014,
dari
Wikipedia. (2014, August 1).File Transfer Protocol.Diperoleh http://dedenthea.wordpress.com/2007/02/08/apa-itu-ftp.html
3
Agustus
2014,
dari
Wikipedia. (2014, August 1).Apache Web Server.Diperoleh http://en.wikipedia.org/wiki/Apache_HTTP_Server.html
3
Agustus
2014,
dari
Wikipedia. (2014, August 1).Nginx.Diperoleh 3 Agustus 2014, dari http://en.wikipedia.org/wiki/Nginx.html Sisjar, Lab.(2013).Modul Praktikum Sistem Operasi 2013. ---------Daftar Repositori Lokal Ubuntu 12.04. (2014, July 14). Daftar Repositori Lokal Ubuntu 12.04. Diambil kembali dari INFO LINUX: http://infolinux.web.id/2013/06/19/daftar-repositori-lokal-ubuntu-12-04/ Ellen Siever, Stephen Spainhour, Stephen Figgins and Jessica P. Hekman “Linux in a Nutshell” ISBN 0-59600025-1 Third Edition, published August 2000 Hagen, W. v. (2007). William von Hagen. Wiley Publishing, Inc. Helmke Matthew , Andrew Hudson, Paul Hudson (2012). “Ubuntu Unleased” ---------Krizna. 2014. Setup Mail Server on Ubuntu 14.04 (Postfix – Dovecot).
. Laboratorium Sistem Operasi & Jaringan
Page 68
Linode. 2014. Email with Postfix, Dovecot and MySQL.
. Von Hagen, W. (2010) Ubuntu Linux Bible. (John Wiley and Sons, Hoboken). ---------2010. BASH Scripting Tutorial. Accessed July 10, 2014. http://linuxconfig.org/bash-scripting-tutorial. Cyberciti. n.d. Test Command Guide. Accessed July 15, 2014. http://bash.cyberciti.biz/guide/Test_command. Fajar, Moch. 2009. Pengantar Pemrograman Bash Shell di Linux. Accessed July 10, 2014. http://pemula.linux.or.id/programming/bash-shell.html. Tushar, Shantanu, and Sarath Lakshman. 2013. Linux Shell Scripting Cookbook, 2nd Edition. Birmingham: Packt Publishing.
Laboratorium Sistem Operasi & Jaringan
Page 69