Anda di halaman 1dari 123

MODUL PEMBELAJARAN PRODUKTIF

PROGRAM KEAHLIAN TEKNIK KOMPUTER DAN JARINGAN KELAS XII

Administrasi Server dan Jaringan

Disusun Oleh:

Tim Pengajar Produktif TKJ

SEKOLAH MENENGAH KEJURUAN NEGERI 3 BOGOR KELOMPOK PARIWISATA Jl. Raya Pajajaran No. 84 Bogor
Telp. (0251) 327120 Fax. 0251-358687 Email: smk3-bgr@indo.net.id

Buku ini dipergunakan khusus dilingkungan SMK Negeri 3 Bogor pada Program Keahlian Teknik Komputer dan Jaringan Dilarang memperbanyak tanpa izin

DAFTAR ISI

DAFTAR ISI .....................................................................................................iii KATA PENGANTAR....................................................................................... iv BAB I KONFIGURASI KARTU JARINGAN ................................................. 1 1.1 Lapisan Model OSI ............................................................................... 2 1.2 TCP/IP .................................................................................................. 3 1.3 Private IP .............................................................................................. 8 1.4 Subneting .............................................................................................. 8 1.5 Konfigurasi Kartu jaringan .................................................................. 10 BAB II DNS Server.......................................................................................... 19 2.1 Persiapan Setting Domain Baru ........................................................... 21 2.2 Mengedit File /etc/named.conf ............................................................ 21 2.3 Seting zone-file tkj-smk3bgr.net .......................................................... 24 2.4 Setting zona file db.tkj.smk3bgr .......................................................... 24 2.5 Menjalankan dan test Domain.............................................................. 26 BAB III DHCP Server ..................................................................................... 36 BAB IV MySQL Data Base Server.................................................................. 44 4.1 Installasi MySQL ................................................................................ 44 BAB V APACHE Web Server......................................................................... 50 5.1 Konfigurasi Dasar ............................................................................... 51 5.2 Virtual Host......................................................................................... 53 5.3 User Directory..................................................................................... 55 BAB VI FTP Server ......................................................................................... 59 6.1 Langkah konfigurasi............................................................................ 60 6.2 Perintah Dasar FTP ............................................................................. 61 BAB VII Firewall ............................................................................................. 65 7.1 Dasar Teori.......................................................................................... 65 7.2 Sintaks iptables.................................................................................... 67 BAB VIII Proxy Server ................................................................................... 76 8.1 Topologi.............................................................................................. 77 8.2 Konfigurasi ......................................................................................... 77 8.3 Instalasi Squid di Slackware ................................................................ 79 BAB IX e-Mail Server...................................................................................... 85 BAB X Disk Quota......................................................................................... 106 BAB XI Samba Server ................................................................................... 115

iii

KATA PENGANTAR

Modul ini berisi tutorial praktik untuk membangun server berbasis Linux Slackware 12.2. Area Server berbasis Slackware 12.2 meliputi Konfigurasi Kartu Jaringan, Apache Web Server, Qmailrocks Mail Server, BIND Domain Name Server, MySQL Server, FTP Server, Samba Server, Quota Disc, Squid Proxy Server dan juga dibahas mengenai Firewalling. Diharapkan dengan dua pendekatan teoritis dan praktek langsung di Lab akan memberikan kemampuan lebih kepada Siswa/i yang pada akhirnya pada tahun 2010 nanti sudah siap dan mampu menghadapi IGOS (Indonesia Goes Open Source). Tak lupa penulis ucapkan terima kasih kepada semua pihak yang telah membantu penulisan modul ini. Kritik dan saran yang membangun sangat penulis nantikan untuk penyempurnaan Modul ini di waktu mendatang.

Bogor, Agustus 2009 Penulis,

Tim Pengajar Produktif TKJ

iv

BAB I KONFIGURASI KARTU JARINGAN


Seperti halnya manusia, dua buah komputer atau lebih yang berkomunikasi harus mengerti bahasa yang dipergunakan dan tahu prosedur bagaimana harus berbicara dengan benar. Prosedur bagaimana dua buah komputer (lebih) yang berbentuk suatu LAN untuk dapat saling berkomunikasi (bertukar data) disebut dengan protokol. Protokol: prosedur aliran informasi di dalam jaringan Pada mulanya, setiap pembuat komputer menggunakan protokol sendiri-sendiri. Hal ini tentunya akan menyulitkan bagi pihak pemakai, karena mau tidak mau pemakai akan sangat tergantung dengan pihak vendor atau pada satu jenis sistem komputer. Artinya, setiap vendor memiliki standar masing-masing, sehingga sebuah peralatan jaringan hanya dapat berkomunikasi dengan peralatan dengan merek yang sama. Menyadari masalah ini, maka berbagai pihak kemudian berusaha untuk mengembangkan protokol standar. Dengan standarisasi protokol, maka setiap peralatan dalam jaringan dengan merek yang berbeda dapat saling berkomunikasi. Salah satu model protokol yang dari sekian model yang ada adalah model OSI. Model OSI (Open System Interconection) ini merupakan model yang unik karena tidak membutuhkan standar komunikasi khusus yang harus digunakan. Model OSI dibuat oleh ISO (International Standar Organisation). Berdasarkan konsepnya, model OSI ini terbagi atas 7 layar (lapisan) dimana masing-masing lapisan mempunyai fungsi yang spesifik. Standar OSI tidak membahas secara detail tentang cara kerja masing-masing lapisan, tetapi hanya memberikan suatu konsep dan menentukan proses yang terjadi pada lapisan tertentu serta menentukan protokol yang dapat dipergunakan pada lapisan tersebut. Lihat pada gambar model referensi OSI berikut:

Proses yang terjadi pada informasi yang dikirimkan oleh sebuah aplikasi ketika melewati lapisan OSI pada gambar di atas dapat diterangkan sebagai berikut: 1. Pada Application, Presentation, dan Session layer, informasi diubah menjadi data. 2. Pada Transport layer, data diubah menjadi segments. 3. Pada Network layer, segmen diubah menjadi paket. 4. Pada Data Link layer, paket diubah menjadi frame. 5. Pada Physical layer, frame diubah menjadi bit sehingga siap untuk dikirimkan. Pada sisi penerimaan, hal yang sama terjadi dari bit data diubah menjadi frame dan seterusnya sehingga diterima oleh aplikasi penerimanya. Perhatikan ilustrasi berikut:

PDU: Protocol Data Unit Model OSI menyediakan secara konseptual kerangka kerja untuk komunikasi antar komputer, tetapi model ini bukan merupakan metode komunikasi. Sebenarnya komunikasi dapat terjadi karena menggunakan protokol komunikasi. Sebuah protokol mengimplementasikan salah satu atau lebih dari lapisan OSI.

1.1 Lapisan Model OSI


Lapisan Model OSI berdasarkan konsepnya terdiri dari 7 (tujuh) lapisan/layer yang masing-masing berserta fungsi dan contoh protokolnya dapat dijelaskan sebagai berikut:

Pysical Layer:
Tingkat paling bawah dari model OSI layer yang memberikan spesifikasi mekanik, karakeristik elektris dari koneksi pewaktuan dari transmisi. Anda dapat membayangkan layer ini sebagai tingkatan hardware. Secara umum, masalah mekanis, elektrik, interface prosedural serta media fisik berada di layer ini. Pada layer ini terjadi transmisi data biner. Contoh protokol pada layer ini: 10BaseT, 100BaseT, RS232.

Data Link Layer:


Mempersiapkan dan membangun transmisi data. Pada lapisan ini sinyal elektrik memasuki dan meninggalkan kabel. Pola bit, pengkodean, dan token adalah contoh elemen-elemen yang dikenal pada lapisan ini. Lapisan data link mendeteksi error dan mengoreksinya dengan cara meminta transmisi ulang. Karena kerumitannya, lapisan ini dipecah ke dalam 2 (dua) lapisan, yakni Medium Access Control dan Logical Link Control (LLC). MAC mengelola akses network (perawatan token dan pendeteksian collision). Lapisan LLC mengirim dan menerima pesan. Contoh protokol SLIP, PPP, MTU.

Network Layer:
Bertugas menerima pesan dari lapisan diatasnya, kemudian memecah menjadi beberapa paket dan mengirim ke tujuan melalui lapisan di bawahnya (data link dan physical). Lapisan ini bertanggung jawab atas pengalamatan dan pengiriman pesan (menentukan jalur atau rute pengiriman dan meneruskan paket ke alamat tujuan). Contoh protokolnya: IP, IPX, ARP, RARP, ICMP, RIP.

Transport Layer:
Mengatur jalannya pertukaran data. Pada lapisan ini ada fungsi error recovery. Bila ada duplikasi paket datang, lapisan ini akan mengetahuinya dan kemudian membuangnya. Contoh protokolnya TCP, UDP, SPX.

Session Layer:
Memisahkan data antar sesi dan antar aplikasi yang sedang berjalan. Sesi ini memungkinkan aplikasi yang dijalankan 2 (dua) host mengkoordinasikan komunikasinya ke dalam satu sesi. Contoh MPEG, JPEG, ASCII.

Application Layer:
Melayani antar muka aplikasi dan jaringan. Merupakan lapisan program apliaksi. Contoh protokolnya FTP, SMTP, POP.

1.2 TCP/IP
TCP/IP (Transfer Control Protocol/Internet Protocol) merupakan salah satu protokol jaringan yang terkenal selain NETBEUI dari Microsoft atau IPX/SPX dari Novell. TCP/IP merupakan standar yang berlaku untuk jaringan komputer berbasis

internet. Jadi protokol TCP/IP ini tidak hanya untuk Linux tetapi juga Windows, Unix, Macintosh dan semua sistem yang mendukung internet. TCP/IP bukan hanya terdiri dari protokol TCP dan IP melainkan sudah merupakan sekumpulan protokol yang tiap protokolnya melakukan sebagian tugas dari keseluruhan komunikasi jaringan yang dikenal sebagai TCP/IP protokol suite. TCP/IP protokol suite terdiri dari protokol TCP, IP, ARP (Address Resolution Protocol), ICMP (Internet Control Message Protocol) dan UDP (User Datagram Protocol). Dalam menangani tugasnya, protokol ini terbagi dalam beberapa layer yang disebut sebagai TCP/IP layer. Lihat gambar berikut:

Network Access Layer:


Layer yang biasa disebut sebagai Link Layer atau Network Interface Layer. Layer ini biasanya berisi driver peralatan jaringan sebuah sistem operasi dan kartu interface jaringan yang sesuai. Di layer ini akan ditangani detail-detail hardware dan pengkabelan.

Internet Layer:
Layer yang biasanya disebut sebagai Network Layer, bertanggung jawab terhadap pergerakan paket dalam sebuah jaringan seperti routing. IP, ICMP dan IGMP (Internet Group Management Protocol) merupakan protokol jaringan yang ada pada layer ini.

Transport Layer:
Layer ini bertanggungjawab mengatur aliran data antara dua host untuk layer aplikasi diatasnya. Dalam layer ini terdapat dua buah protokol yang terkenal, yakni TCP dan UDP.

Application Layer:
Layer ini berfungsi menangani detail-detail aplikasi end-user. Banyak sekali aplikasi TCP/IP yang ada diantaranya: telnet, SMTP, SNMP (Simple Network Management Protocol)

Alamat Internet (IP Address)


Setiap host yang tergabung dalam suatu jaringan (internet, intranet) yang menggunakan protokol TCP/IP harus mempunyai alamat internet sendiri (IP address). Sebagai Anda pahami sebelumnya hanya untuk dapat berkomunikasi dan identifikasi komputer dalam jaringan digunakan alamat fisik (alamat MAC) dan alamat logika (alamat IP). Alamat MAC terdapat dalam NIC dan tidak dapat diubah karena tercetak dalam chip sedang alamat IP dapat diatur sendiri atau oleh sistem operasi (dinamis). Alamat MAC merupakan alamat yang sifatnya unik dan flat, sedangkan alamat IP merupakan alamat yang tipenya hirarikal. Jadi, jika satu komputer dipindahkan ke tempat lain (ke jaringan yang berbeda) maka yang berubah adalah alamat IP sedangkan alamat MAC tetap. Internet address (IP address) merupakan alamat logikal yang terdiri dari 32 bit, yang dibagi atas empat bagian yang masing-masing bagian terdiri dari 8 bit. Tiap bagian tersebut disebut sebagai oktet. Jadi IP address terdiri dari 4 (empat) buah oktet. Biasanya penulisan IP address ini menggunakan notasi desimal, karena dengan notasi biner akan sangat sulit untuk dibaca dan ditulis. Dengan notasi desimal, maka ip address terdiri dari 4 (empat) buah bilangan desimal yang masing-masing dipisahkan dengan tanda titik. Lihat gambar dibawah.

Anda perhatikan lagi gambar ilustrasi di atas, tampak bahwa setiap alamat IP terdiri atas 2 (dua) bagian yakni bagian pertama untuk identifikasi jaringan sedangkan bagian yang lain untuk identifikasi node atau host. Dalam pengaturannya, pembagian alamat dibagi atas beberapa kelas nomor jaringan seperti terlihat pada gambar berikut.

1. IP Kelas A menggunakan oktet (desimal) pertama untuk mengidentifikasikan alamat jaringan, NetID. 3 (tiga) oktet berikutnya digunakan untuk

mengidentifikasi host. 2. IP Kelas B menggunakan dua oktet (desimal) pertama untuk mengidentifikasikan alamat jaringan, NetID. 2 (dua) oktet berikutnya digunakan untuk

mengidentifikasi host. 3. IP Kelas C menggunakan tiga oktet (desimal) pertama untuk mengidentifikasikan alamat jaringan, NetID. 1 (satu) oktet berikutnya digunakan untuk

mengidentifikasi host.

Alamat 127.xxx.xxx.xxx (x bernilai 0 s/d 255) tidak diperbolehkan dipakai sebagai alamat host kerena oleh aplikasi TCP/IP dipakai sebagai alamat loopback yaitu

paket yang ditransmisikan kembali dan diterima oleh bufer komputer itu sendiri tanpa ditransmisikan ke media jaringan. Alamat ini sebagai diagnostik dan pengecekan konfigurasi TCP/IP. Alamat lain yang tidak diperkenankan dipergunakan sebagai alamat host adalah local broadcast dengan nilai 255.255.255.255. Alamat dengan bagian host yang mempunyai nilai biner 0 dan 1 tidak diperkenankan dipergunakan karena bagian host dengan angka biner 0 semua menunjukkan alamat network dan bagian host yang semuanya bernilai 1 digunakan untuk alamat broadcast pada jaringan. Sebagai contoh: komputer dengan IP kelas A 10.2.3.3 akan mempunyai alamat network 10.0.0.0 dan alamat broadcast 10.255.255.255 atau komputer dengan IP kelas B 176.10.48.48 merupakan komputer dengan jaringan 176.10.0.0 dan alamat broadcast 176.10.255.255. Broadcast address ini digunakan untuk mengirim/menerima informasi yang harus diketahui oleh seluruh host yang ada pada suatu network . Seperti diketahui, setiap paket IP memiliki header alamat tujuan berupa IP Address dari host yang akan dituju oleh paket tersebut. Dengan adanya alamat ini, maka hanya host tujuan saja yang memproses paket tersebut, sedangkan host lain akan mengabaikan. Bagaimana jika suatu host ingin mengirim paket kepada seluruh host yang ada pada networknya? Tidak efisien jika ia harus membuat replikasi paket sebanyak jumlah host tujuan. Pemakaian bandwidth akan meningkat dan beban kerja host pengirim bertambah padahal isi paket-paket tersebut sama. Oleh karena itu, dibuat konsep broadcast address. Host cukup mengirim ke alamat broadcast, maka seluruh host yang ada pada network akan menerima paket tersebut. Konsekuensinya, seluruh host pada network yang sama harus memiliki address broadcast yang sama dan address tersebut tidak boleh digunakan sebagai IP Address untuk host tertentu. Jadi, sebenarnya setiap host memiliki 2 address untuk menerima paket: pertama adalah IP Addressnya yang bersifat unik dan kedua adalah broadcast address pada network tempat host tersebut berada. Address broadcast diperoleh dengan membuat seluruh bit host pada IP Address menjadi 1. Jadi, untuk host dengan IP address 167.205.9.35 atau 167.205.240.2, broadcast addressnya adalah 167.205.255.255 (2 segmen terakhir dari IP address tersebut dibuat berharga 11111111.11111111, sehingga secara desimal terbaca 255.255). Jenis informasi yang dibroadcast biasanya adalah informasi routing.

1.3 Private IP
Untuk menghindari pemakaian IP secara berlebih. Beberapa IP address disisihkan oleh LAN untuk keperluan jaringan lokal. Setiap individu, organisasi dapat menggunakan alamat ini untuk membentuk jaringan lokal. Alamat privat merupakan alamat yang dipakai di dalam suatu LAN yang tidak terkoneksi langsung dengan internet. Untuk menghubungkan alamat ini dengan internet diperlukan teknik yang disebut dengan NAT atau menggunakan proxy server. Teknik ini akan membungkus privat IP dengan public IP. Alamat-alamat privat tersebut adalah:

Privat kelas A Privat kelas B Privat kelas C 1.4 Subneting

10.0.0.0 172.16.0.0 192.168.0.0

s.d s.d s.d

10.255.255.255 172.31.255.255 192.168.255.255

Administrasi jaringan kadang-kadang perlu memecah jaringan besar menjadi jaringan lebih kecil. Tujuan yang paling banyak digunakan adalah untuk mengkontrol trafic jaringan, karena pada jaringan ethernet semua node pada jaringan akan melihat trafic yang dikirimkan oleh node lainnya pada jaringan yang sama. Dengan lain perkataan untuk mengurangi ukuran dari domain broadcast. Karena jika tidak menggunakan subneting, jaringan bisa jadi akan mengalamai kongesti dan kolisi trafic sangat besar. Proses subneting dilakukan dengan menggunakan bit subnet mask. Bit subnet mask inilah yang akan menentukan alamat jaringan, alamat host, dan alamat broadcast dari suatu IP. Dalam bit subnet mask, biner 1 akan digunakan untuk menentukan alamat network, dan biner 0 digunakan untuk menentukan alamat host. Pada setiap kelas IP terdapat subnet mask default, yakni:

Kelas A Kelas B Kelas C

255.0.0.0 255.255.0.0 255.255.255.0

11111111.00000000.00000000.00000000 11111111.11111111.00000000.00000000 11111111.11111111.11111111.00000000

Contoh aplikasi subneting: Dalam contoh ini akan digunakan sebuah alamat IP dengan kelas C dengan subnet mask default. IP : 192.168.34.89 subnet mask : 255.255.255.0 Penulisan ini dapat disingkat dengan metode CIDR atau masklen: 192.168.34.89/24. Masklen 24 berarti bit 1 pada subnet mask berjumlah 24. Untuk menentukan alamat jaringan digunakan proses AND diantaranya IP dan subnet mask.

Coba Anda perhatikan: Address: Netmask: Network: HostMin HostMax Broadcast Host/Net 192.168.34.89 255.255.255.0 192.168.34.0/24 192.168.34. 192.168.34.254 192.168.34.255 254 11000000.10101000.00100010.01011001 11111111.11111111.11111111.00000000 11000000.10101000.00100010.00000000 11000000.10101000.00100010.00000001 11000000.10101000.00100010.11111110 11000000.10101000.00100010.11111111 Class C, Private Internet

Terlihat bahwa dengan menggunakan subnet mask default. Alamat network tersebut dapat menyediakan 254 alamat IP ditambah dengan alamat network (192.168.34.0) dan alamat broadcast (192.168.34.255). Jika kita membagi menjadi beberapa subnetwork, maka setiap subnetwork akan mempunyai alamat network dan broadcast masing-masing. Pembagian subnetwork dilakukan dengan menggunakan subnet mask yakni setiap bit dalam subnet mask yang digunakan untuk bagian network di set dengan 1 dan untuk host diset dengan 0. Coba Anda perhatikan contoh berikut: kita mempunyai network address 193.20.32.0 dengan subnet mask 255.255.255.224. Jadi jumlah subnet yang tersedia adalah 6. Dari mana angka didapat? Kita lihat dari oktet terakhir subnet mask yani angka 224 (11100000). Terlihat bahwa ada 3 bit host ID yang di tutup (di mask), sehingga bisa dihitung jumlah subnetnya adalah 23 2 = 6. Jumlah host per subnet dapat dihitung dari jumlah host ID yang tidak dimasking yakni 5. Sehingga jumlah host per subnet adalah 25 2 = 30. Network: Netmask: HostMin: HostMax: Broadcast: Hosts/Net: 193.20.32.0/27 255.255.255.224=27 193.20.32.1 193.20.32.30 193.20.32.31 30 11000001.00010100.00100000.00000000 11111111.11111111.11111111.00000000 11000001.00010100.00100000.00000001 11000001.00010100.00100000.00011110 11000001.00010100.00100000.00011111 Class C

Bagaimana secara mudah jika kita kurangkan 256 224 = 32. Maka kelompok subnet yang tersedia adalah kelipatan 32. Dari sini kita dapat memperoleh alamat network, broadcast, dan IP yang valid untuk setiap host anggota subnet.

1.5 Konfigurasi Kartu jaringan


Linux Slackware (Linux secara umum) mempunyai keunggulan dalam penanganan jaringan. Karena mesin yang telah terinstal dengan Linux selain bisa menjadi klien dapat pula menjadi server pada saat bersamaan. Selain itu Linux mempunyai keunggulan untuk dapat berhubungan dengan sistem operasi lainnya seperti Windows, MacOS, Atari dan keluarga UNIX lainnya. Tentunya segala kelebihan tersebut tidak berarti apa-apa jika mesin Linux Anda tidak terhubung dengan jaringan. Pada bagian akhir Bab I ini, kita akan mencoba untuk melakukan konfigurasi kartu jaringan di mesin Slackware Anda. Disini, Anda menggunakan Slackware tidak hanya sebagai server saja, tetapi juga menggunakannya sebagai gateway ke jaringan yang lebih luas yakni internet. Untuk instalasi kartu jaringan di Slackware sebenarnya tidak terlalu sulit. Anda hanya perlu menancapkan satu atau beberapa kartu Ethernet pada slot PCI yang tersedia di komputer Anda. Kemudian lakukan langkah-langkah berikut: tanda '//' adalah komentar root@server-smkn3tkj:/# cp/etc/rc.d/rc.inet1.conf /etc/rc.d/rc.inet1.conf.backup // //biasakan untuk membackup terlebih dahulu skrip konfigurasi //jika terjadi kesalahan Anda tinggal me-rename file backup tersebut root@server-smkn3tkj:/# vi /etc/rc.d/rc.inet1.conf //membuka file inet1.conf dengan editor vi //inet1.conf adalah file konfigurasi ethernet utama di slackware . . # Config information for eth0: IPADDR[0]="192.168.1.2" NETMASK[0]="255.255.255.0" USE_DHCP[0]="" DHCP_HOSTNAME[0]="" # Config information for eth1: IPADDR[1]="" NETMASK[1]="" USE_DHCP[1]="" DHCP_HOSTNAME[1]="" # Config information for eth2:

10

IPADDR[2]="" NETMASK[2]="" USE_DHCP[2]="" DHCP_HOSTNAME[2]="" . . //Jika Ada Gateway, maka jangan lupa Anda masukkan Gateway nya. # Default gateway IP address: GATEWAY="192.168.1.1" //hanya sebagai contoh Anda tinggal memasukkan alamat IP untuk ethernet Anda diantara tanda petik ganda . IPADDR adalah IP Address, Netmask adalah netmask untuk IP. Karena kita tidak menggunakan DHCP maka kosongkan kedua baris terakhir tersebut. Kita hanya mempunyai 1 (satu) buah ethernet card saja. Maka Anda cukup menuliskan alamat IP pada eth0 atau eth1 atau eth2 saja. Jika sudah selesai, Anda save dan ikuti langkah berikut. root@server-smkn3tkj:/# ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:2701 errors:0 dropped:0 overruns:0 frame:0 TX packets:2701 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:298053 (291.0 KiB) TX bytes:298053 (291.0 KiB) Jika Anda mengetikkan perintah diatas mendapatkan hanya hasil 'lo' saja, terdapat 2 (dua) kemungkinan penyebab. Kemungkinan pertama, kernel Linux Slackware Anda tidak mengenali kartu ethernet yang Anda pasang. Namun, menurut pengalaman penulis, Slackware 12 hampir mengenali semua kartu ethernet yang ada di pasaran. Kemungkinan kedua, Anda harus secara manual menjalankan perintah: root@serversmkn3tkj:/# /etc/rc.d/rc.inet1 start atau root@server-smkn3tkj:/# /etc/rc.d/rc.inet1 restart Untuk menjalankan service rc.inet1 secara otomatis setiap menjalankan sistem Slackware kita, maka Anda harus memberikan hak akses eksekusi terhadap file rc.inet1 tersebut dengan perintah:

11

Coba Anda lihat apakah file rc.inet1 sudah diberikan hak akses eksekusi: root@server-smkn3tkj:/# ls -l /etc/rc.d/rc.inet1 -rw-r--r-- 1 root root 9435 2008-12-25 16:16 /etc/rc.d/rc.inet1 pada service rc.inet1 belum mendapatkan hak akses eksekusi, maka Anda harus memberikan perintah dibawah ini: root@server-smkn3tkj:/# chmod +x /etc/rc.d/rc.inet1 root@server-smkn3tkj:/# ls -l /etc/rc.d/rc.inet1 -rwxr-xr-x 1 root root 9435 2008-12-25 16:16 /etc/rc.d/rc.inet1 Jika konfigurasi kartu jaringan benar, maka konfigurasi kartu jaringan Anda akan tampak sebagai berikut: root@server-smkn3tkj:/# ifconfig eth0 Link encap:Ethernet HWaddr a0:10:18:1a:26:72 inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::a210:18ff:fe1a:2672/64 Scope:Link UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:49134 errors:0 dropped:0 overruns:0 frame:0 TX packets:45611 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:52055428 (49.6 MiB) TX bytes:6338062 (6.0 MiB) Interrupt:18 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:2701 errors:0 dropped:0 overruns:0 frame:0 TX packets:2701 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:298053 (291.0 KiB) TX bytes:298053 (291.0 KiB) //Jika di layar monitor Anda muncul eth0 atau eth1 atau eth2 dan lo maka selamat //Anda telah dengan benar mengkonfigurasi kartu jaringan Anda di mesin slackware Anda dapat juga membuat virtual eth meskipun hanya mempunyai satu buah ethernet card. Caranya dapat Anda pilih: Cara pertama: root@server-smkn3tkj:/# ifconfig eth0 add 192.168.1.7 netmask 255.255.255.0

12

//Cara ini adalah cara on the fly yang akan berjalan pada saat itu juga dan konfigurasi akan hilang jika mesin linux Anda di restart //Langkah di atas adalah membuat virtual eth0 Cara kedua, cara yang permanen adalah dengan memasukkan konfigurasi diatas pada file /etc/rc.d/rc.inet1.conf . . # Config information for eth0: IPADDR[0]="192.168.1.2" NETMASK[0]="255.255.255.0" USE_DHCP[0]="" DHCP_HOSTNAME[0]="" # Config information for eth1: IPADDR[1]="" NETMASK[1]="" USE_DHCP[1]="" DHCP_HOSTNAME[1]="" # Config information for eth2: IPADDR[2]="" NETMASK[2]="" USE_DHCP[2]="" DHCP_HOSTNAME[2]="" . . //Jika Ada Gateway, maka jangan lupa Anda masukkan Gateway nya. # Default gateway IP address: GATEWAY="192.168.1.1" //hanya sebagai contoh

13

Materi Tanggal Jam

Tugas Praktikum : 1, Kartu Jaringan Nama NIS Nilai

Tujuan : 1. Siswa memahami perintah dasar Linux Slackware 2. Siswa mampu mengkonfigurasi Kartu Jaringan di Linux Slackware Intruksi Kerja 1. Siswa disediakan satu perangkat komputer dengan mesin Linux Slackware. 2. Tiap siswa mengerjakan lembar kerjanya masing-masing. 3. Nyalahkan komputer dan log on ke mesin slackware tanpa menggunakan GUI. Pastikan komputer berjalan dengan baik. 4. Laporkan tiap kejadian malfunction atau kode error yang mungkin terjadi. 5. Diskusikan dan tanyakan hal-hal yang Anda anggap kurang paham kepada Guru di Lab. 6. Jika telah selesai, log off komputer Anda dan jangan lupa matikan monitor, rapihkan meja kerja Anda. 7. Kumpulkan lembar kerja Anda. Jangan lupa nama dan nis Anda serta mintalah paraf kepada Guru Lab. 8. Selamat Bekerja

Guru Lab

14

1. Cobalah Anda login sebagai user student dan dengan password studenttkj. Jika langkah pertama Anda benar, pada layar monitor Anda akan tampak sebagai berikut: welcome to Linux ... student login: password: student@server_1:~$ Arti dari baris diatas adalah: Anda login sebagai student pada mesin atau host dan berkerja pada direktori (present working directory) /home/student yang disimbolkan dengan ~ (tilde) dan student adalah user biasa yang ditandai dengan tanda $ 2. Konfigurasi kartu jaringan dengan on the fly configuration artinya: konfigurasi yang berlaku pada saat itu saja. Jika mesin Linux Anda restart maka konfigurasi tersebut akan hilang. Lakukan langkah-langkah: root@server-smkn3tkj:/# ifconfig eth0 add 192.168.1.7 netmask 255.255.255.0 3. Konfigurasi kartu jaringan yang tetap, yakni dengan mengedit file

/etc/rc.d/rc.inet1.conf Perhatikan selalu dan selalu Anda ingat bahwa setiap kali Anda akan melakukan editing suatu file konfigurasi harus Anda backup filenya terlebih dahulu. Agar tidak ada hal-hal yang tidak dikehendaki bisa dikembalikan pada kondisi semula. root@server-smkn3tkj:/#cp/etc/rc.d/rc.inet1.conf /home/student/rc.inet1.conf.backup Artinya adalah Anda mencoba mengkopi atau membuat backup file konfigurasi rc.inet1.conf yang berada di direktori /etc/rc.d ke direktori (/home/student) dengan nama rc.inet1.conf.backup Kemudian lakukan langkah-langkah pengeditan seperti berikut: root@server-smkn3tkj:/# vi /etc/rc.d/rc.inet1.conf //membuka file inet1.conf dengan editor vi //inet1.conf adalah file konfigurasi ethernet utama di slackware . . # Config information for eth0: IPADDR[0]="192.168.1.2" NETMASK[0]="255.255.255.0" USE_DHCP[0]="" DHCP_HOSTNAME[0]=""

15

# Config information for eth1: IPADDR[1]="" NETMASK[1]="" USE_DHCP[1]="" DHCP_HOSTNAME[1]="" # Config information for eth2: IPADDR[2]="" NETMASK[2]="" USE_DHCP[2]="" DHCP_HOSTNAME[2]="" . . //Jika Ada Gateway, maka jangan lupa Anda masukkan Gateway nya. # Default gateway IP address: GATEWAY="192.168.1.1" //hanya sebagai contoh Kemudian Anda aktifkan dengan melakukan langkah: root@server-smkn3tkj:/# /etc/rc.d/rc.inet1 restart root@server-smkn3tkj:/# ifconfig

16

No 1

Pertanyaan Kartu Interface apa yang terpasang pada komputer Anda? Jawab: Arsitektur / topologi logik apa yang diaplikasikan pada kartu tersebut? Jawab: Kabel dan konektor jenis apakah yang cocok untuk membangun jaringan dengan arsitektur tersebut? Jawab: Berapakah kecepatan transfer data yang mungkin untuk arsitektur tersebut? Jawab: Apakah yang dimaksud dengan 10BaseT ? Jawab:

Apakah yang dimaksud dengan 100BaseT ? Jawab:

Lakukan langkah-langkah untuk mengkonfigurasikan kartu jaringan pada komputer Anda di mesin slackware a. Tuliskan perintah yang Anda kerjakan ?

b. Berada dimanakah file nama konfigurasi kartu ethernet Anda ? Anda tuliskan ?

Berapa alamat IP yang Anda gunakan ? Jawab: Berapa alamat fisik kartu jaringan Anda ? Jawab: Bagaimana Cara Anda mengetahui alamat fisik dan logik pada kartu jaringan Anda? Tuliskan perintahnya !

10

17

No 11

Pertanyaan Jika saya menetapkan alamat IP 134.25.30.0/18 a) Berapakah alamat network? Jawab: b) Berapakah alamat broadcastnya? Jawab: Berapakah hostmin? Jawab: Berapakah hostmax? Jawab: Termasuk dalam kelas berapakah IP tersebut? Jawab:

c)

d)

e)

12

Lakukan langkah-langkah untuk membuat virtual network on the fly configuration dengan IP 192.168.33.95. Jawab:

13

Lakukan pula langkah-langkah untuk membuat virtual network yang tetap Jawab:

18

BAB II DNS Server


Coba Anda perhatikan alamat-alamat dibawah ini: 216.239.61.104 209.131.36.158 Apakah Anda mengenali alamat-alamat yang tertera di atas itu dan ketika Anda menuliskan alamat berupa angka itu di URL Browser apakah yang akan terjadi, pastinya Anda akan diarahkan ke suatu situs. Jika suatu saat Anda diminta kembali untuk membuka situs tersebut apakah Anda masih mengingat alamatnya? Jika saya menuliskan alamat-alamat di atas dalam bentuk seperti: 216.239.61.104 = www.google.com 209.131.36.158 = www.yahoo.com Tentunya Anda akan lebih mudah mengingat situs-situs tersebut dibandingkan harus menghafal alamat berdasarkan IP. Kita tidak perlu mengetahui penamaan asli berbasis angka (alamat IP) tetapi cukup dengan nama atau istilah yang dipahami oleh kita. Anda bisa bayangkan betapa rumitnya jika harus menghafal nama-nama mesin dalam jaringan dalam bentuk angka. Pada jaringan internet, sebagaimana Anda pahami sampai saat ini, sebetulnya pengalamatan sebuah komputer menggunakan angka yang dikenal sebagai Internet Protocol (IP) Address yang terdiri dari 32 bit bilangan biner. Tentunya akan sukar bagi kita / user untuk mengingat sekian juta komputer di seluruh Internet dengan pengalamatan angka sebagaimana dijelaskan di atas. Untuk itu dikembangkan penamaan mesin yang lebih manusiawi menggunakan konsep Domain Name System (DNS). DNS adalah salah satu jenis sistem yang melayani permintaan pemetaan IP Address ke FQDN (Fully Qualified Domain Name) dan FQDN ke IP Address. FQDN lebih mudah untuk diingat oleh manusia daripada IP Address. Tidak semua orang bisa menghafalkan 216.239.61.104, dan akan lebih mudah jika menghafalkan

www.google.com. DNS ditemukan oleh Paul Mocapetris pada tahun 1983. Spesifikasi asli muncul di RFC 882 dan 883. Tahun 1987 penerbitan RFC 1034 dan RFC 1035 membuat update terhadap spesifikasi DNS. Tentunya RFC 882 dan RFC 883 tidak berlaku lagi. Jadi siapa yang memerlukan DNS? Tentunya Anda sebagai pengakses internet, tetapi sebagai pengakses internet tidak perlu membuat DNS Server, karena bisa

19

menggunakan DNS server yang disediakan oleh ISP. Pengguna DNS selanjutnya tentu saja adalah ISP, dan mereka yang mengelola domain dan webserver. Sebagai contoh, ketika Anda memasukkan alamat http://www.google.com, sebenarnya ada beberapa proses yang dilalui hingga halaman web ditampilkan di Web Browser Anda. Pada saat Anda memasukkan alamat tersebut, terlebih dahulu nama alamat akan dikirimkan ke DNS Server yang menangani host dan domain alamat tersebut untuk mencari berapa sebenarnya alat IP yang digunakan (Anda ingat, semua komputer di internet menggunakan IP Address untuk berkomunikasi dan bukan nama). Setelah menemukan alamat IP barulah kemudian halaman website yang diminta dikirim ke Web Browser. Pada sistem operasi Linux, DNS diimplementasikan dengan menggunakan software Berkeley Internet Name Domain (BIND), BIND ini memiliki dua sisi, yaitu sisi client dan sisi server. Sisi client disebut resolver. Resolver ini bertugas membangkitkan pertanyaan mengenai informasi domain name yang dikirimkan kepada sisi server. Sisi server BIND ini adalah sebuah daemon yang disebut named (baca: name di). Ia yang akan menjawab query-query dari resolver yang diberikan kepadanya. Bagaimana dengan Linux Slackware 12.2 sendiri? Secara default BIND sudah terinstall di mesin Slackware Anda, yakni bind9. root@server-smkn3tkj:/# ls /var/log/packages/ |grep bind bind-9.4.2_P2-i486-1 kdebindings-3.5.10-i486-2 Anda lihat bahwa di mesin kita telah terinstal paket bind-9.4.2_P2-i486-1. Ada beberapa file-file instalasi default yang berkaitan dengan ini, yakni: var/named/caching-example/named.ca var/named/caching-example/named.local var/named/caching-example/localhost.zone etc/rc.d/rc.bind etc/named.conf Tiga file awal adalah contoh dari konfigurasi bind9, file selanjutnya adalah init script (rc.bind) dan konfigurasi dari bind (named.conf). Untuk setting BIND ini, file-file yang harus Anda perhatikan adalah: 1. /etc/resolv.conf Berisi alamat Domain atau alamat IP dari name server. 2. /etc/named.conf Berisi keterangan letak dan jenis databases yang dibutuhkan oleh BIND

20

3. /var/named/named.ca Berisi informasi data yang berada dalam domain root, yang akan dipergunakan name server jika ada resolver yang akan meminta nama domain diluar nama domain lokal. 4. /var/named/named.local Berisi alamat loopback untuk alamat ke diri sendiri dengan alamat 127.0.0.1

2.1 Persiapan Setting Domain Baru


Untuk memudahkan pemahaman setting DNS Server, Anda akan diajak membuat domain baru untuk DNS server, mail server, FTP Server, HTTP Server sekaligus dengan data sebagai berikut: Hostname : ns1 Nama Domain : tkj-smk3bgr.net Nama DNS Server : ns1.tkj-smk3bgr.net IP DNS : 192.168.1.21 Nama Mail Server : mail.tkj-smk3bgr.net Nama HTTP Server : www.tkj-smk3bgr.net Nama FTP Server : ftp.tkj-smk3bgr.net Perhatikan! Karena kita menggunakan IP Address yang sama untuk DNS, Mail, HTTP, FTP Server, maka kita akan menggunakan record CNAME (nama alias) dengan mendefinisikan ns1.tkj-smk3bgr.net mempunyai nama alias mail.tkj-smk3bgr.net, ftp.tkjsmk3bgr.net, www.tkj-smk3bgr.net.

2.2 Mengedit File /etc/named.conf


File ini merupakan konfigurasi utama untuk bind. File ini merupakan kumpulan statemen-statemen yang nilainya kita tentukan sesuai dengan DNS seperti apa yang kita inginkan. Berikut ini adalah isi file /etc/named.conf bawaan di slackware 12.2: options { directory "/var/named"; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */

21

// query-source address * port 53; }; // // a caching only nameserver config // zone "." IN { type hint; file "caching-example/named.root"; }; zone "localhost" IN { type master; file "caching-example/localhost.zone"; allow-update { none; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "caching-example/named.local"; allow-update { none; }; }; 1. Blok Pertama options { directory "/var/named"; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ // query-source address * port 53; }; Blok ini merupakan global seting dari bind, direktory /var/named adalah direktori kerja dari bind, di direktori tersebut ditempatkan file-file konfigurasi domain yang biasa disebut zone (Perintah zone digunakan untuk menunjukkan domain yang dilayani oleh name

22

server). Tidak disarankan untuk mengutak-atik blok ini kecuali Anda tahu apa yang Anda kerjakan. Baris ini memberitahukan kepada Server BIND dimana file-file zona disimpan. 2. Blok Kedua zone "." IN { type hint; file "caching-example/named.root"; }; Blok ini merupakan blok root zone atau kasarnya alamat-alamat dari domain-domain international. Kita membutuhkan blok root zone ini. 3. Blok Ketiga zone "localhost" IN { type master; file "caching-example/localhost.zone"; allow-update { none; }; }; Blok ini adalah forward localhost, dalam artian jika dns server mendapatkan perintah untuk mengetahui alamat ip dari localhost maka bagian blok ini yang mengurusnya. Dengan kata lain yang berhak mengontrol server named adalah localhost. 4. Blok Keempat adalah Blok Tambahan zone "0.0.127.in-addr.arpa" IN { type master; file "caching-example/named.local"; allow-update { none; }; }; Baris-baris dibawah ini menyatakan bahwa kita akan mendefinisikan DNS server sebagai Primary Name Server untuk domain tkj-smk3bgr.net dan file-file forward adalah nama file yang merupakan zona file dari domain tkj-smk3bgr.net. Ini nama domain Anda yang di daftarkan di /etc/named.conf. #Baris diatas untuk menterjemahkan FQDN ke IP Address (Forward Zone) dengan domain tkj-smk3bgr.net. zone "tkj-smk3bgr.net" IN { type master; file "caching-example/db.tkj.smk3bgr"; allow-update { none; };

23

}; Baris-baris dibawah ini adalah berisi reverse DNS Zone. Ini diperlukan agar DNS Server Anda dapat menterjemahkan dari nomor IP Address ke mana host pemilik IP Address dalam jaringan. #Baris untuk menterjemahkan IP Address ke FQDN #reverse Zone zone "1.168.192.in-addr.arpa" IN { type master; file "caching-example/db.192.168.1"; allow-update { none; }; }; #Setelah konfigurasi file named.conf jangan lupa untuk melakukan konfigurasi file zone.

2.3 Seting zone-file tkj-smk3bgr.net


Berikutnya adalah mengkonfigurasi Primary Name Server untuk Domain tkjsmk3bgr.net pada host ns1.tkj-smk3bgr.net dengan IP Address 192.168.1.21. Berdasarkan pada file /etc/named.conf kita akan membuat file sebagaimana yang didefinisikan pada file /etc/named.conf kita akan membuat file sebagaimana yang didefinisikan pada file /etc/named.conf file tersebut bernama db.tkj.smk3bgr dan reversenya db.192.168.1. root@server-smkn3tkj:/var/named/caching-example# ls localhost.zone named.ca named.local named.root Anda tinggal merename localhost.zone dengan db.tkj.smk3bgr dan named.local dengan db.192.168.1 Caranya seperti ini: root@server-smkn3tkj:/var/named/caching-example# cp localhost.zone db.tkj.smk3bgr root@server-smkn3tkj:/var/named/caching-example# cp named.local db.192.168.1 root@server-smkn3tkj:/var/named/caching-example# ls db.192.168.1 db.tkj.smk3bgr localhost.zone named.ca named.local named.root

2.4 Setting zona file db.tkj.smk3bgr


Setelah Anda mempunyai zona file dengan nama db.192.168.1 dan db.tkj.smk3bgr yang pada /var/named/caching-example. Langkah berikut adalah mengkonfigurasikan name server untuk domain tkj-smk3bgr.net pada host ns1.tkjsmk3bgr.net pada IP Address 192.168.1.21 sebagai berikut: root@server-smkn3tkj:/var/named/caching-example# vi db.tkj.smk3bgr $TTL 86400

24

$ORIGIN tkj-smk3bgr.net. @ 1D IN SOA @ root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum

1D IN NS ns1.tkj-smk3bgr.net. 1D IN A 192.168.1.21 IN MX 10 mail.tkj-smk3bgr.net ns1 IN A 192.168.1.21 www IN CNAME ns1 ftp IN CNAME ns1 mail IN CNAME ns1

Penjelasan: 1. TTL (Time To Live) yang mendefinisikan waktu lamanya data berada dalam database. 2. SOA (Start of Authority) mendefinisikan hostname yang merupakan awal dari suatu zone. 3. 42;serial: merupakan nomor serial dari zone file yang akan bertambah jika ada perubahan data. 4. 3H;refresh: merupakan selang waktu yang diperlukan secondary name server untuk memeriksa perubahan pada Primary Name Server. 5. 15M;retry: merupakan selang waktu secondary name server untuk mengulang pengecekan pada primary name server. 6. IN NS ns1.tkj-smk3bgr.net: mendefinisikan bahwan hostname ns1.tkj-

smk3bgr.net yang memegang tanggung jawab terhadap domain tkj-smk3bgr.net. 7. IN MX 10 mail.tkj-smk3bgr.net mendefinisikan bahwa hostname mail.tkjsmk3bgr.net sebagai mail server pada domain tkj-smk3bgr.net. 8. IN A 192.168.1.21: mendefinisikan bahwa hostname ns1.tkj-smk3bgr.net mempunyai IP Address 192.168.1.21. 9. www NS CNAME ns1 mendefinisikan bahwa hostname ns1.tkj-smk3bgr.net mempunyai nama alias www.tkj-smk3bgr.net.

25

10. ftp NS CNAME ns1 mendefinisikan bahwa hostname ns1.tkj-smk3bgr.net mempunyai nama alias ftp.tkj-smk3bgr.net. 11. mail NS CNAME ns1 mendefinisikan bahwa hostname ns1.tkj-smk3bgr.net mempunyai nama alias mail.tkj-smk3bgr.net. root@server-smkn3tkj:/var/named/caching-example# vi db.192.168.1 $TTL 86400 @ IN SOA tkj-smk3bgr.net. root.tkj-smk3bgr.net. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS tkj-smk3bgr.net. 21 IN PTR tkj-smk3bgr.net. Penjelasan: 1. Penjelasan yang lain sama dengan penjelasan pada bagian tkj-smk3bgr.net 2. IN PTR tkj-smk3bgr.net mendefinisikan bahwa hostname ns1.tkj-smk3bgr.net mempunyai IP Address 192.168.1.21

2.5 Menjalankan dan test Domain


Mengubah hak akses file rc.bind agar service bind bisa di eksekusi root@server-smkn3tkj:/# chmod 755 /etc/rc.d/rc.bind <enter> Anda juga bisa menggunaka perintah chmod +x /etc/rc.d/rc.bind Perintah untuk menjalan service bind root@server-smkn3tkj:/# etc/rc.d/rc.bind start <enter> Perintah untuk mematikan service bind root@server-smkn3tkj:/# /etc/rc.d/rc.bind stop <enter> Perintah untuk merestart service bind root@server-smkn3tkj:/# /etc/rc.d/rc.bind stop <enter> Setelah perintah service bind dijalankan jangan lupa untuk melakukan pengecekan terhadap konfigurasi DNS yang kita bangun dengan perintah nslookup [DNS_server]. Jika terjadi pesan kesalahan seperti ini. root@server-smkn3tkj:/# nslookup tkj-smk3bgr.net Server: 202.134.0.155 Address: 202.134.0.155#53

26

** server can't find tkj-smk3bgr.net: NXDOMAIN Berarti nama DNSnya masih menggunakan DNS yang diberikan oleh speedy, jika komputer yang kita gunakan pernah dikoneksikan dengan internet. Untuk menyelesaikan masalah ini kita harus mengedit file resolv.conf pada direktori: root@server-smkn3tkj:/# vi /etc/resolv.conf nameserver 192.168.1.21 Maksud dari perintah di atas adalah memasukkan IP komputer kita menjadi nama server, karena DNS yang kita gunakan menggunakan IP 192.168.1.21. Setelah itu jika BIND berjalan baik Anda dapat melihat port 53 BIND dengan perintah dibawah ini: root@server-smkn3tkj:/# nmap 192.168.1.21 Starting Nmap 4.76 ( http://nmap.org ) at 2009-03-03 15:03 WIT Interesting ports on tkj-smk3bgr.net (192.168.1.21): Not shown: 996 closed ports PORT STATE SERVICE 22/tcp open ssh 37/tcp open time 53/tcp open domain 113/tcp open auth Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds root@server-smkn3tkj:/# root@server-smkn3tkj:/# host 192.168.1.21 21.1.168.192.in-addr.arpa domain name pointer tkj-smk3bgr.net. root@server-smkn3tkj:/# host ns1.tkj-smk3bgr.net ns1.tkj-smk3bgr.net has address 192.168.1.21 root@server-smkn3tkj:/# host -t ns tkj-smk3bgr.net tkj-smk3bgr.net name server ns1.tkj-smk3bgr.net.tkj-smk3bgr.net. root@server-smkn3tkj:/# host -t mx tkj-smk3bgr.net tkj-smk3bgr.net mail is handled by 10 mail.tkj-smk3bgr.net.tkj-smk3bgr.net. root@server-smkn3tkj:/# host -t cname www.tkj-smk3bgr.net www.tkj-smk3bgr.net is an alias for ns1.tkj-smk3bgr.net. root@server-smkn3tkj:/# host -t cname ftp.tkj-smk3bgr.net ftp.tkj-smk3bgr.net is an alias for ns1.tkj-smk3bgr.net. root@server-smkn3tkj:/# host -t cname mail.tkj-smk3bgr.net mail.tkj-smk3bgr.net is an alias for ns1.tkj-smk3bgr.net. root@server-smkn3tkj:/# dig ns1.tkj-smk3bgr.net

27

; <<>> DiG 9.4.2-P2 <<>> ns1.tkj-smk3bgr.net ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31865 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION: ;ns1.tkj-smk3bgr.net. IN A

;; ANSWER SECTION: ns1.tkj-smk3bgr.net. 86400 IN A 192.168.1.21

;; AUTHORITY SECTION: tkj-smk3bgr.net. 86400 IN NS ns1.tkj-smk3bgr.net.tkj-smk3bgr.net.

;; Query time: 0 msec ;; SERVER: 192.168.1.21#53(192.168.1.21) ;; WHEN: Tue Mar 3 15:08:26 2009 ;; MSG SIZE rcvd: 87 root@server-smkn3tkj:/# root@server-smkn3tkj:/# nslookup -sil > 192.168.1.21 Server: 192.168.1.21 Address: 192.168.1.21#53 21.1.168.192.in-addr.arpa name = tkj-smk3bgr.net. > root@server-smkn3tkj:/# dig -t MX tkj-smk3bgr.net ; <<>> DiG 9.4.2-P2 <<>> -t MX tkj-smk3bgr.net ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33530 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;tkj-smk3bgr.net. IN MX ;; ANSWER SECTION:

28

tkj-smk3bgr.net. 86400 IN MX 10 mail.tkj-smk3bgr.net.tkj-smk3bgr.net. ;; AUTHORITY SECTION: tkj-smk3bgr.net. 86400 IN NS ns1.tkj-smk3bgr.net.tkj-smk3bgr.net. ;; Query time: 1 msec ;; SERVER: 192.168.1.21#53(192.168.1.21) ;; WHEN: Tue Mar 3 15:09:57 2009 ;; MSG SIZE rcvd: 88

root@server-smkn3tkj:/# oot@server-smkn3tkj:/# ping tkj-smk3bgr.net PING tkj-smk3bgr.net (192.168.1.21) 56(84) bytes of data. 64 bytes from tkj-smk3bgr.net (192.168.1.21): icmp_seq=1 ttl=64 time=0.025 ms 64 bytes from tkj-smk3bgr.net (192.168.1.21): icmp_seq=2 ttl=64 time=0.026 ms 64 bytes from tkj-smk3bgr.net (192.168.1.21): icmp_seq=3 ttl=64 time=0.028 ms

29

Materi Tanggal Jam

Tugas Praktikum : 2, DNS Nama NIS Nilai

Tujuan : 1. Siswa memahami perintah dasar Linux Slackware 2. Siswa mampu mengkonfigurasi DNS Server di Linux Slackware Intruksi Kerja 1. Siswa disediakan satu perangkat komputer dengan mesin Linux Slackware. 2. Tiap siswa mengerjakan lembar kerjanya masing-masing. 3. Nyalahkan komputer dan log on ke mesin slackware tanpa menggunakan GUI. Pastikan komputer berjalan dengan baik. 4. Laporkan tiap kejadian malfunction atau kode error yang mungkin terjadi. 5. Diskusikan dan tanyakan hal-hal yang Anda anggap kurang paham kepada Guru di Lab. 6. Jika telah selesai, log off komputer Anda dan jangan lupa matikan monitor, rapihkan meja kerja Anda. 7. Kumpulkan lembar kerja Anda. Jangan lupa nama dan nis Anda serta mintalah paraf kepada Guru Lab. 8. Selamat Bekerja

Guru Lab

30

No
1 Apa kegunaan Server DNS ? Jawab:

Pertanyaan

Apa yang dimaksud dengan Forward Zone ? Jawab:

Apa yang dimaksud dengan Reverse Zone ? Jawab:

Dimana Anda menemukan kedua zona tersebut ? Jawab:

Aplikasi DNS di Linux adalah dengan menggunakan BIND. Versi berapakah BIND yang ada di Slackware 12 ? Bagaimana cara Anda mengetahui bahwa BIND telah terinstal di mesin Slackware ? Jawab:

Dalam konfigurasi BIND file-file mana saja yang perlu diperhatikan ? Jawab:

Anda mengenal istilah top level domain (TLD) dan cc-TLD sebutkan ? Jawab:

Jika saya mempunyai alamat www.harusbisalinux.com mana yang TLD dan mana yang second level domain dan mana host ?

Studi Kasus: Pada praktikum kali ini kita akan membuat server DNS dengan data sebagai berikut:

31

Pertanyaan Domain NetID Hostname server DNS Nama mail server Nama HTTP server Nama FTP server Subdomain dengan nama Anda tkj.ac.id 192.168.200.61 ns.tkj.ac.id mail.tkj.ac.id www.tkj.ac.id ftp.tkj.ac.id

Jawaban

[nama_anda].tkj.ac.id contoh: wirosableng.tkj.ac.id

Lakukan langkah-langkah berikut: Langkah: 1. Loginlah sebagai root dan jangan lupa passwordnya. Jika Anda lupa tanyakan kepada Guru Lab. Langkah: 2. Mengkopi konfigurasi awal file-file yang dibutuhkan untuk konfigurasi DNS. root@server-smkn3tkj:/# ls /var/log/packages/ |grep bind //lihat hasil keluaran di monitor //Perhatikan untuk konfigurasi, Anda tinggal mengkopi file-file contoh yang ada pada direktori caching-example.

Langkah 3. //Mengedit file named.conf //File ini terletak di /etc/named.conf //Gunakan editor vi untuk mengeditnya //Jangan lupa backup dulu file aslinya dengan nama /etc/named.conf/backup root@server-smkn3tkj:/# cp /etc/named.conf /etc/named.conf.backup root@server-smkn3tkj:/# vi /etc/named.conf //Isikan sesuai dengan contoh berikut: options { directory "/var/named"; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ // query-source address * port 53;

32

}; // // a caching only nameserver config // zone "." IN { type hint; file "caching-example/named.root"; }; zone "localhost" IN { type master; file "caching-example/localhost.zone"; allow-update { none; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "caching-example/named.local"; allow-update { none; }; }; zone "tkj.ac.id" IN { type master; file "caching-example/db.tkj.smk3bgr"; allow-update { none; }; }; zone "200.168.192.in-addr.arpa" IN { type master; file "caching-example/db.192.168.200"; allow-update { none; }; }; 1. Berilah keterangan dan ulasan: 2. Nama Domain adalah: 3. Forward Zone dan Reverse Zone adalah: 4. Maksud dari Forward Zone: 5. Maksud dari Reverse Zone: 6. Dimana letak file database untuk tiap zone? : Kenapa Anda mengatakan letak file database zone terdapat di situ? Langkah: 4. Mengedit file db.tkj.smk3bgr

33

$TTL 86400 $ORIGIN tkj.ac.id. @

1D IN SOA

@ root ( 42 3H 15M 1W 1D )

; serial (d. adams) ; refresh ; retry ; expiry ; minimum

ns www ftp mail

1D IN NS 1D IN A IN MX IN A IN CNAME IN CNAME IN CNAME

ns.tkj.ac.id. 192.168.200.61 10 mail.tkj.ac.id 192.168.200.61 ns ns ns

a. Apa maksud dari NS ? b. Apa maksud dari A c. Apa maksud dari SOA d. Apa maksud dari CNAME e. Apa maksud dari MX Langkah: 5. Mengedit file db.192.168.200 $TTL 86400 @ IN SOA tkj.ac.id. root.tkj.ac.id. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN IN NS PTR tkj.ac.id. tkj.ac.id.

61

a. Apa maksud dari PTR ? Langkah: 6. Test konfigurasi //Lihat dan Pahami Hasilnya root@server-smkn3tkj:/# /etc/rc.d/rc.bind start <enter> root@server-smkn3tkj:/# nmap 192.168.200.61 <enter> root@server-smkn3tkj:/# host 192.168.200.61 <enter> root@server-smkn3tkj:/# host ns.tkj.ac.id <enter> root@server-smkn3tkj:/# host -t ns tkj.ac.id <enter> root@server-smkn3tkj:/# host -t mx tkj.ac.id <enter> root@server-smkn3tkj:/# host -t cname mail.tkj.ac.id <enter> root@server-smkn3tkj:/# host -t cname www.tkj.ac.id <enter> root@server-smkn3tkj:/# host -t cname ftp.tkj.ac.id <enter>

34

root@server-smkn3tkj:/# dig ns.tkj.ac.id <enter> root@server-smkn3tkj:/# nslookup -sil <enter> > 192.168.200.61 <enter> root@server-smkn3tkj:/# dig -t MX tkj.ac.id <enter> root@server-smkn3tkj:/# ping tkj.ac.id

35

BAB III DHCP Server

Untuk mengadministrasi sebuah jaringan kecil, pemberian ip statik sangat memudahkan bagi administrator jaringan. Namun jika jaringan sudah mulai luas kemungkinan untuk menggunakan ip yang sama akan lebih besar sehingga menyebabkan konflik. Dengan dasar ini maka penggunaan DHCP (Dynamic Host Configuration Protocol) Server sangat dianjurkan. Fungsi utama dari DHCP Server ini adalah memberikan IP kepada host atau komputer yang tersambung kepada jaringan tersebut secara otomatis. Hal ini hanya berlaku jika komputer tersebut menggunakan setting IP dengan DHCP atau di Windows mengaktifkan pilihan Obtain IP Address Automatically. Bagaimana jika tetap menginginkan komputer menggunakan IP statis? bisa saja dengan demikian IP tersebut tidak akan diberikan pada komputer yang akan meminta IP pada DHCP Server atau mengganti IP dari sebuah host yang telah menggunakan IP yang sama dengan IP statik yang digunakan. Jika terdapat sebuah DHCP Server dengan range IP 192.168.1.22 sampai dengan 192.168.1.50 maka setiap komputer yang terkoneksi pada jaringan tersebut dan mengaktifkan penggunaan DHCP, maka DHCP Server akan memberikan alamat IP pada range diatas yaitu antara 22 - 50, biasanya DHCP Server memberikan IP pada range paling atas terlebih dahulu. Jika pada contoh kita ini baru satu yang menggunakan DHCP maka kemungkinan besar mendapat IP 192.168.1.50. Jika pada jaringan tersebut terdapat sebuah komputer dengan IP Statik dan masih dalam range dari IP DHCP Server maka DHCP Server tidak akan menggunakan IP tersebut untuk diberikan kepada pengguna DHCP yang lain. Bagaimana dengan Linux Slackware 12.2 sendiri ? Secara default DHCP Server sudah terinstall di mesin Slackware Anda, yakni dhcp-3.0.6-i486-1. root@server-smkn3tkj:/# ls /var/log/packages/ |grep dhcp dhcp-3.0.6-i486-1 dhcpcd-2.0.8-i486-1 Anda lihat bahwa di mesin kita telah terinstal paket dhcp-3.0.6-i486-1. Ada satu file yang akan kita edit sesuai dengan kebutuhan dalam membangun DHCP Server, yakni: /etc/dhcpd.conf Jika kita lihat isi dalama filenya dengan perintah cat /etc/dhcpd.conf

36

# dhcpd.conf # # Configuration file for ISC dhcpd (see man dhcpd.conf) # file dhcpd.conf masih dalam keadaan kosong berarti sekarang kita akan mengambil dhcpd yang terdapat dari /usr/doc/dhcp-3.0.6/examples/dhcpd.conf melalui cara: root@server-smkn3tkj:/# cp /usr/doc/dhcp-3.0.6/examples/dhcpd.conf /etc sekarang Anda harus mengedit file dhcpd.conf didalam direktori /etc/dhcpd.conf Cara penegditannya seperti ini: root@server-smkn3tkj:/# vi /etc/dhcpd.conf Pada bagian-bagian inilah yang akan Anda edit: # option definitions common to all supported networks... baris:1: option domain-name "example.org"; baris:2: option domain-name-servers ns1.example.org, ns2.example.org; Dua baris pertama adalah setting gateway, baris 1 adalah domain-search, tentukan nama domain Anda baca kembali pada BAB II untuk menseting DNS. Sedangkan baris 2 adalah namaservernya. Silahkan di edit sesuai dengan kebutuhan. Ini adalah contoh DHCP yang sudah dibuat: option domain-name "tkj-smk3bgr.net"; option domain-name-servers 192.168.1.21; Baris kedua harus diisikan dengan IP Address atau nameserver yang valid, atau Client DHCP kita tidak bisa mengakses public domain. Berhubung pada contoh kali ini sudah ada DNS Server pada IP Address 192.168.1.21 maka itu yang akan gunakan. Kita juga diharuskan untuk menambahkan baris berikut sesuai aturan dari Internet Systems Consortium. Kalau tidak percaya beri tanda # untuk menjadikannya komentar dan dijamin dhcp servernya tidak mau start. ddns-update-style ad-hoc; Opsi untuk menentukan waktu dari DHCP Server untuk melakukan pemberian IP dan pengecekan kembali dari Host apakah masih aktif atau tidak. default-lease-time 600; max-lease-time 7200; Berikutnya adalah penentuan range IP Address atau yang dikenal dengan subnet: Ini contoh default dari dhcpd.conf # This is a very basic subnet declaration. subnet 10.254.239.0 netmask 255.255.255.224 {

37

range 10.254.239.10 10.254.239.20; option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org; } editlah seperti dibawah ini: # This is a very basic subnet declaration. subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.22 192.168.1.50; option routers 192.168.1.21; } Pada konfigurasi subnet diatas, kita membuat DHCP Server pada network 192.168.1.0 dengan netmask 255.255.255.0 dengan range IP DHCP adalah 192.168.1.22 sampai dengan 192.168.1.50 Pada bagian ini juga ada option routers yang berarti ip gateway dari IP DHCP. Opsi routers juga bisa ditempatkan diluar (Global) sehingga secara default akan memasukkan option routers pada subnet kecuali disebutkan secara eksplisit. Berikut adalah config lengkap dari dhpcd.conf yang sudah dibuat :

option domain-name "tkj-smk3bgr.net"; option domain-name-servers 192.168.1.21; ddns-update-style ad-hoc; default-lease-time 600; max-lease-time 7200;

subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.22 192.168.1.50; option routers 192.168.1.21; } Selanjutnya tentu saja mengaktifkan dhpcd servernya: Perintah untuk mengaktifkan dhcp pada sistem slackware Anda: root@server-smkn3tkj:/# /usr/sbin/dhcpd Perintah dibawah ini untuk mengaktifkan dhcp ketika sistem slackware di reboot. echo "/usr/sbin/dhpcd" >> /etc/rc.d/rc.local Service DHCP Server akan diterapkan pada topologi dibawah ini:

38

Setelah konfigurasi DHCP Sever selesai dikerjakan pada sistem slackware kita, maka langkah selanjutnya adalah melihat dari sisi client apakah IP DHCP tersebut sudah keterima pada kedua PC client Windows? Jika belum marilah kita ikuti langkahlangkahnya. Lankah ke satu, kita akan coba melihat IP DHCP pada PC client 1 dengan cara masuk ke dalam Run->cmd lalu ketikkan ipconfig /release seperti gambar di bawah ini:

Fungsi dari perintah ipconfig /release adalah untuk Address. Langkah ke dua: ketikan ipconfig /renew seperti gambar di bawah ini:

Menghapus semua koneksi IP

39

Fungsi dari perintah ipconfig /renew adalah untuk membuat IP Address baru untuk adapter tertentu. Langkah ke tiga: ketikan ipconfig /all seperti gambar di bawah ini:

Fungsi dari perintah ipconfig /all adalah untuk menampilkan informasi konfigurasi koneksi, misalnya Host Name, Primary DNS Type, Ethernet Adapter LAN. Jika ketika Anda lakukan perintah ipconfig /release pada client dan timbul pesan serpeti dibawah ini: Windows IP Configuration The operation failed as no adapter is in the state permissible for this operation maka hal yang harus Anda lakukan adalah mengecek apakah computer tersebut sudah memiliki IP? Jika sudah memiliki IP, rubahlah dengan memilih pilihan Obtain an IP address automatically dan Obtain DNS server address automatically. Untuk PC Client 2 Windows lakukanlah seperti hal yang diatas. Langah terakhir adalah melakukan tes PING ke DNS yang sudah dibangun di sisi Server, dengan cara ping ke www.tkj-smk3bgr.net. Jika Reply, maka hasil konfigurasi DHCP server anda berhasil.

40

Materi Tanggal Jam

Tugas Praktikum : 3, DHCP Nama NIS Nilai

Tujuan : 1. Siswa memahami perintah dasar Linux Slackware 2. Siswa mampu mengkonfigurasi DHCP Server di Linux Slackware Intruksi Kerja 1. Siswa disediakan satu perangkat komputer dengan mesin Linux Slackware. 2. Tiap siswa mengerjakan lembar kerjanya masing-masing. 3. Nyalahkan komputer dan log on ke mesin slackware tanpa menggunakan GUI. Pastikan komputer berjalan dengan baik. 4. Laporkan tiap kejadian malfunction atau kode error yang mungkin terjadi. 5. Diskusikan dan tanyakan hal-hal yang Anda anggap kurang paham kepada Guru di Lab. 6. Jika telah selesai, log off komputer Anda dan jangan lupa matikan monitor, rapihkan meja kerja Anda. 7. Kumpulkan lembar kerja Anda. Jangan lupa nama dan nis Anda serta mintalah paraf kepada Guru Lab. 8. Selamat Bekerja

Guru Lab

41

No
1 Apa kegunaan DHCP ? Jawab:

Pertanyaan

Apa yang dimaksud dengan netmask ? Jawab:

Apa yang dimaksud dengan DHCP Client ? Jawab:

Apa yang dimaksud dengan DHCP Server ? Jawab:

Apa yang dimaksud dengan lease periode IP ? Jawab:

Apa yang dimaksud dengan default-lease-time 600 ? Jawab:

Apa yang dimaksud dengan max-lease-time 7200 ? Jawab:

Jelaskan apa maksud dari script dibawah ini: range 10.254.239.10 10.254.239.20; option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org; Jawab:

Studi Kasus: Pada praktikum kali ini kita akan membuat server DHCP dengan data sebagai berikut:

Pertanyaan
Range IP

Jawaban
192.168.200.20 192.168.200.50

42

Topologi Langkah praktikum:

1. Lakukan konfigurasi DHCP pada PC Server dan pastikan dhcp sudah berjalan di sistem Slackware Anda. 2. Buatlah kabel straight untuk menghubungkan server ke switch dan client ke switch. Lalu pastikan kabel yang Anda buat sudah di coba pada tester dan berjalan baik. 3. Pada sisi client Anda lakukan proses pencarian IP pada command line di windows dengan cara Runcmd. Tuliskan perintah ipconfig /release dan ipconfig /renew.

43

BAB IV MySQL Data Base Server


MySQL adalah salah satu SQL database open source yang sangat populer saat ini. MySQL merupakan komersial MySQL AB. MySQL merupakan aplikasi yang sangat cepat, terpercaya dan mudah menggunakannya serta sangat praktis dalam instalasi. Distribusi Linux (Redhat, Fedora, SUSE, Debian, Slackware dll) pada umumnya telah menyertakan MySQL dalam paketnya. Namun, jika Anda ingin melakukan instalasi melalui paket dengan versi lain, Anda dapat mendownload di www.mysql.org atau miror lainnya. Pada bagian ini kita akan mempelajari cara instalasi MySQL dan konfigurasi dasarnya pada Linux Slackware 12.2. Dimana source paket mysql-5.0.67-i486-1.tgz dapat Anda download di www.linuxpackages.net. Untuk dapat menggunakan MySQL, Anda perlu melakukan sedikit konfigurasi yang akan dibahas pada bagian berikut ini:

4.1 Installasi MySQL


Untuk menginstall paket MySQL, kita kucup menjalankan perintah: root@server-smkn3tkj:/# mysql-5.0.67-i486-1.tgz Namun, biasanya jika Anda instalasi Distro Linux Slackware 12.2 paket MySQL sudah ada didalamnya. Untuk memastikan bahwa paket MySQL sudah ada pada sistem Slackware 12.2 kita, coba Anda ketikkan: root@server-smkn3tkj:/# ls /var/log/packages/ | grep mysql mysql-5.0.67-i486-1 root@server-smkn3tkj:/# Jika ada output mysql-5.0.67-i486-1, maka MySQL telah terinstall dan langkah selanjutnya hanya mengkonfigurasi dan menjalankannya. 1. Membuat Direktori dan Table System dari MySQL. Langkah ini dapat dilakukan dengan 2 (dua) cara, yaitu dengan menggunakan root atau menggunakan user mysql. Cara pertama, menggunakan user root root@server-smkn3tkj:/# mysql_install_db <enter> root@server-smkn3tkj:/# Cara kedua, menggunakan user mysql Tentunya Anda harus melihat dahulu apakah user mysql telah terdaftar pada sistem Slackware 12.2 Anda. Bagaimana caranya? Tentunya Anda masih ingat dengan perintah:

44

root@server-smkn3tkj:/# grep mysql /etc/passwd mysql:x:27:27:MySQL:/var/lib/mysql:/bin/false root@server-smkn3tkj:/# Coba Anda jelaskan kembali apa arti keluaran perintah di atas Terlihat bahwa di sistem slackware kita telah terdapat user dengan nama mysql. 2. Langkah berikutnya merubah kepemilikan (owner) user dan group data MySQL ke user dan group MySQL. Pertama, melihat kepemilikan /usr/lib/mysql. root@server-smkn3tkj:/# ls -l /var/lib/mysql/ total 8 drwx------ 2 root root 4096 2009-03-04 16:09 mysql drwx------ 2 root root 4096 2009-03-04 16:09 test root@server-smkn3tkj:/# Terlihat bahwa kepemilikan (user dan group) untuk direktori mysql adalah root. Jika kepemilikan /var/lib/mysql bukan mysql maka Anda perlu merubah kepemilikan direktori Data MySQL tersebut ke user dan group mysql, yakni dengan mengetikkan perintah: root@server-smkn3tkj:/# mysql_install_db -user=mysql root@server-smkn3tkj:/# chown -R mysql:mysql /var/lib/mysql/mysql Kedua, ubah hak akses direktori Data MySQL tersebut dapat dieksekusi. Coba Anda perhatikan keluaran berikut: root@server-smkn3tkj:/# ls -l /var/lib/mysql/ total 8 drwx------ 2 mysql mysql 4096 2009-03-04 16:09 mysql drwx------ 2 root root 4096 2009-03-04 16:09 test root@server-smkn3tkj:/# Anda lihat bahwa hak akses untuk direktori Data MySQL adalah 700. Agar MySQL di mesin Anda jalan maka hak akses direktori Data MySQL diubah ke 755 dengan cara: root@server-smkn3tkj:/# chmod -R 755 /var/lib/mysql/mysql root@server-smkn3tkj:/# ls -l /var/lib/mysql/ total 8 drwxr-xr-x 2 mysql mysql 4096 2009-03-04 16:09 mysql drwx------ 2 root root 4096 2009-03-04 16:09 test

45

3. Jalankan MySQL dengan perintah mengeksekusi init script-nya, yakni pada /etc/rc.d/rc.mysqld. Namun sebelumnya Anda pastikan dahulu apakah permission dari script tersebut sudah executable. root@server-smkn3tkj:/# ls -l /etc/rc.d/rc.mysqld -rw-r--r-- 1 root root 2585 2008-10-05 12:29 /etc/rc.d/rc.mysqld Perintah untuk memberikan hak executable adalah: root@server-smkn3tkj:/# chmod +x /etc/rc.d/rc.mysqld <enter> root@server-smkn3tkj:/# ls -l /etc/rc.d/rc.mysqld <enter> -rwxr-xr-x 1 root root 2585 2008-10-05 12:29 /etc/rc.d/rc.mysqld root@server-smkn3tkj:/# /etc/rc.d/rc.mysqld start <enter> Untuk memastikan apakah daemon atau service MySQL telah berjalan atau belum, Anda dapat melakukan perintah: root@server-smkn3tkj:/# ps ax | grep mysql 4. Langkah terakhir adalah menjalankan mysqlnya dengan cara seperti dibawah ini: root@server-smkn3tkj:/# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.0.67 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>

46

Materi Tanggal Jam

Tugas Praktikum : 4, MySQL Nama NIS Nilai

Tujuan : 1. Siswa memahami perintah dasar Linux Slackware 2. Siswa mampu mengkonfigurasi Database Management System MySQL di Linux Slackware Intruksi Kerja 1. Siswa disediakan satu perangkat komputer dengan mesin Linux Slackware. 2. Tiap siswa mengerjakan lembar kerjanya masing-masing. 3. Nyalahkan komputer dan log on ke mesin slackware tanpa menggunakan GUI. Pastikan komputer berjalan dengan baik. 4. Laporkan tiap kejadian malfunction atau kode error yang mungkin terjadi. 5. Diskusikan dan tanyakan hal-hal yang Anda anggap kurang paham kepada Guru di Lab. 6. Jika telah selesai, log off komputer Anda dan jangan lupa matikan monitor, rapihkan meja kerja Anda. 7. Kumpulkan lembar kerja Anda. Jangan lupa nama dan nis Anda serta mintalah paraf kepada Guru Lab. 8. Selamat Bekerja

Guru Lab

47

No
1

Pertanyaan
Apa yang dimaksud dengan basis data ? Jawab: Apa yang dimaksud dengan MySQL dan SQL. Coba Anda jelaskan ! Jawab: Sebutkan beberapa program database server Management System (DBMS) ! Jawab: Pada file mana, database user MySQL di simpan ? Jawab: Tuliskan perintah untuk menjalankan service MySQL di Slackware ! Jawab: Bagaimana cara Anda mengetahui bahwa daemon MySQL telah berjalan di mesin Slackware ? Jawab: Tuliskan beberapa perintah untuk keluar dari database MySQL ! Jawab: Apa alasan Anda menggunakan DBMS MySQL ? Jawab: Jelaskan pengertian dari INT, VARCHAR, CHAR, DATE, PRIMARY KEY, AUTO_INCREMENT, NULL, NOT NULL Jawab: Studi Kasus: 1. Bacalah tutorial MySQL-Indonesia.pdf yang ada di dalam direktori MySQL/ebook-MySQL pada CD Modul. 2. Loginlah sebagai root dengan cara root@server-smkn3tkj:/# mysql -u root -p dan passwordnya kosong (langsung saja enter) 3. Buatlah table karyawan, terdiri dari kolom noid, nama, kelamin, alamat, kota, tgllahir 4. Tambahkanlah satu kolom kodepos pada tabel karyawan 5. Tambahkanlah satu kolom kodepos2 setelah kolom kota pada tabel karyawan 6. Tambahkanlah satu kolom kodepos3 diawal kolom tabel karyawan 7. Hapuslah kolom kodepos2 dan kodepos3 8. Masukanlah data dengan karyawan: Nama=Ahmad, Kelamin=LK, Alamat=Sumantri no. 2, Kota=Bandung, Tanggal Lahir=1977-02-01, Kode Pos=40111 9. Lihatlah apakah data karyawan yang dimasukan ada dalam database yang termasuk Database

10

48

MySQL? 10. Masukanlah data dengan karyawan: Nama=Rosa, Kelamin=PR, Alamat=Sumantri no. 2, Kota=Bandung, Tanggal Lahir=1980-01-01, Kode Pos=40121 11. Ubahlah data alamat karyawan dengan nama Rosa menjadi Sulanja no. 22DD 12. Masukanlah data dengan karyawan: Nama=Dudi, Kelamin=LK, Alamat=Cimareme no. 99F, Kota=Bandung, Tanggal Lahir=1977-05-09, Kode Pos=40123 13. Masukanlah data dengan karyawan: Nama=Dimas, Kelamin=LK, Alamat=Cihanjuang no. 111E, Kota=Bandung, Tanggal Lahir=1981-01-22, Kode Pos=40123 14. Masukanlah data dengan karyawan: Nama=Ratna, Kelamin=PR, Alamat=Cikapundung no. 57G, Kota=Bandung, Tanggal Lahir=1981-07-21, Kode Pos=40123 15. Masukanlah data dengan karyawan: Nama=Sumantri, Kelamin=LK, Alamat=Cimareme no. 111H, Kota=Bandung, Tanggal Lahir=1979-08-11, Kode Pos=40123 16. Masukanlah data dengan karyawan: Nama=Tono, Kelamin=LK, Alamat=Buahbatu no. 766, Kota=Bandung, Tanggal Lahir=1977-01-03, Kode Pos=40123 17. Masukanlah data dengan karyawan: Nama=Zumrotin, Kelamin=PR, Alamat=Terusan Cikuda no. 11, Kota=Bandung, Tanggal Lahir=1975-06-30, Kode Pos=40123 18. Masukanlah data dengan karyawan: Nama=Neneng, Kelamin=PR, Alamat=Mawar no. 39, Kota=Bandung, Tanggal Lahir=1982-11-11, Kode Pos=40123 19. Masukanlah data dengan karyawan: Nama=Cinthia, Kelamin=PR, Alamat=Sulaksana no. 788, Kota=Bandung, Tanggal Lahir=1978-11-20, Kode Pos=40123 20. Masukanlah data dengan karyawan: Nama=Tjeptjep, Kelamin=LK, Alamat=Salahudin no. 201, Kota=Bandung, Tanggal Lahir=1977-05-09, Kode Pos=40123 21. Tampilkan tabel karyawan dengan nama klom nama, kelamin, kota. Tuliskan script MySQLnya ! 22. Hapuslah karyawan dengan noid=12 23. Backuplah database Anda dengan perintah: root@server-smkn3tkj:/# mysqldump -u root karyawan > file_backupkaryawan.sql 24. Di direktori manakah tempat file_backup-karyawan.sql itu ada? 25. Jelaskan kenapa file_backup-karyawan.sql ada di direktori tersebut ?

49

BAB V APACHE Web Server


Apache merupakan Web Server paling populer digunakan di Internet. Lebih dari 70% Web Server di Internet menggunakan Apache. Ini disebabkan karena Apache tidak saja bisa didapatkan secara gratis, lebih dari itu Apache bisa diimplementasikan diberbagai platform sistem operasi, disamping Apache ini mempunyai kecepatan dan performa yang sangat baik. Apache versi 1.0 dirilis pada bulan Desember 1995. Slackware ver 12.2 menggunakan Apache versi 2.2.4. Informasi tentang Apache dapat Anda lihat pada situssitus: http://www.apache.org, Apache Week (http://apacheweek.com) atau Anda dapat googling dengan key word apache. Pada bab ini, Anda akan diarahkan untuk dapat menjalankan apache Web Server di mesin Slackware 12.2. Pada instalasinya, Slackware 12.2 telah menyertakan Apache pada paketnya. Seperti biasanya pada pertama kali akan mengkonfigurasi, Anda harus melihat dulu apakah paket apache telah terinstal di mesin Anda. Slackware mengusung Apache HTTPD server pada paketnya. root@server-smkn3tkj:/# ls /var/log/packages/ |grep httpd httpd-2.2.10-i486-1 root@server-smkn3tkj:/# Anda lihat bahwa paket apache yang terinstall di mesin Anda httpd versi 2.2.10. Langkah selanjutnya adalah mengaktifkan apache, yakni dengan mengetikkan perintah: student@server-smkn3tkj:~$ su Password: root@server-smkn3tkj:/home/student# chmod 755 /etc/rc.d/rc.httpd //Memberikan permission rc.httpd agar bisa dieksekusi. //Anda juga dapat menggunakan perintah: root@server-smkn3tkj:/home/student# chmod +x /etc/rc.d/rc.httpd root@server-smkn3tkj:/home/student# /etc/rc.d/rc.httpd restart //Anda juga dapat menggunakan perintah: //men-start apache root@server-smkn3tkj:/home/student# /usr/sbin/apachectl -k start //men-stop apache root@server-smkn3tkj:/home/student# /usr/sbin/apachectl -k stop //men-restart apache

50

root@server-smkn3tkj:/home/student# /usr/sbin/apachectl -k restart Setelah itu buka dengan browser links pada konsol, dan ketikkan http://localhost, jika pada monitor mendapatkan salam hangat dari apache berarti web server Anda sudah berjalan, dan tinggal mengkonfigurasi. Sebaiknya Anda tidak melangkah lebih jauh jika Anda belum mendapatkan salam hangat dari apache: links http://localhost

It works !
Jika konfigurasi DNS server Anda jalan (running dengan baik), maka Anda dapat mengetikkan alamat domain pada browser Anda. Pada pembahasan DNS Server, kita telah membuat domain dengan nama www.tkj-smk3bgr.net dan dokumen root disimpan di /var/www/htdocs. Perhatikan ilustrasi dibawah ini: links http://www.tkj-smk3bgr.net It works ! Gambar di atas, saya mencoba melihat konfigurasi Apache dengan mengetikan alamat domain yang telah dibuat: http://www.tkj-smk3bgr.net. Kemudia, Saya mencoba membuat file html sederhana dan saya letakkan pada dokumen root (/var/www/htdocs) dengan nama bengkel.html: <html> <head> <title>Latihan Apache</title> </head> <body> Hello World </body> </html>

Latihan Apache Hello World 5.1 Konfigurasi Dasar


Berikut ini bagian-bagian yang perlu dicermati pada konfigurasi apache web server. Perlu Anda ketahui bahwa letak file konfigurasi apache pada slackware 12.2 ada pada /etc/httpd/httpd.conf dan pada slackware 12.2 ini menggunakan sistem include file konfigurasi lain yang terletak di /etc/httpd/extra. Perhatikan konfigurasi dasar pada slackware 12.2 berikut ini:

51

No 1

Konfigurasi file httpd.conf ServerAdmin webmaster@smk3bgr.net

Server Admin: isilah dengan e-mail Anda, e-mail administrator ServerName: Baris ini dapat Anda isi dengan nama situs Anda jika Anda mempunyai Web Server dan OnLine tentunya. Namun jika berjalan di localhost saja biarkan tanda pagar. 2 #ServerName www.tkj-smk3bgr.net Document Root: Digunakan untuk mendefinisikan letak halaman web yang akan diakses. Tempat dimana file-file web diletakkan. 3 DocumentRoot /srv/httpd/htdocs DocumentRoot /var/www/htdocs

Directory: sama dengan Document Root, ganti dengan directory Anda. Ini diperlukan agar direktori dapat diakses dari manapun 4 <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory>

DirectoryIndex: digunakan untuk menentukan file apa yang akan ditampilkan ketika sebuah directory diakses, defaultnya adalah index.html. Nilai parameter ini bisa lebih dari satu. Biasanya jika apache Anda dapat membuka menjalankan file .php maka parameternya perlu ditambah index.php 5 <IfModule dir_module> DirectoryIndex index.html index.htm index.php </IfModule> jalan, cari baris Include

Include mod_php: agar halaman .php dapat /etc/httpd/mod_php.conf dan hilangkan tanda pagar 6

# Uncomment the following line to enable PHP: # Include /etc/httpd/mod_php.conf Setelah Anda melakukan perubahan sebagaimana pada tabel di atas, maka

restartlah Apache Server Anda agar dapat menjalankan konfigurasi yang baru. Anda dapat melihat apakah hasil konfigurasi di atas syntaksnya sudah benar atau belum dengan mengetikkan baris berikut: root@server-smkn3tkj:/# /usr/sbin/apachectl configtest Jika syntaks benar, apache akan memberi respon Syntax OK Kemudian kita mencoba melihat apakah Apache yang telah dikonfigurasi dapat menjalankan file-file .php. Untuk itu, saya mencoba membuat file dengan nama phptest.php: <? phpinfo(); ?>

52

Tentukan, harap Anda ingat file phptest.php mempunyai hak akses 755 biar dapat di eksekusi. Jangan lupa, Anda lihat pada file php.ini yang terletak di /etc/httpd/php.ini, Anda cari baris: short_open_tag = Off Anda ganti dengan: short_open_tag = On root@server-smkn3tkj:/# links http://tkj-smk3bgr.net/phptest.php

5.2 Virtual Host


Istilah virtual host (vhost) dapat dipahami sebagai proses yang dilakukan untuk membuat seolah-olah ada lebih dari satu server pada satu mesin. Ini dapat dilakukan dengan membuat beberapa hostname. Secara mudah, Apache dapat menjalankan banyak situs sekaligus. Sebagai misal: www.tkj-smk3bgr.net; up.tkj-smk3bgr.net; perpus.tkjsmk3bgr.net dimana semua situs ini dapat dijalankan dengan fasilitas virtual host. Apache pada awalnya telah mendukung penerapan pendekatan IP dan pendekatan hostname dalam vhost. Vhost dengan pendekatan IP adalah dengan menggunakan IP address untuk melayani beberapa virtual host. Setiap virtual host memiliki IP address sendiri-sendiri. Semakin banyak virtual host yang dibuat semakin banyak pula IP yang diperlukan. Sedangkan dengan pendekatan hostname, pengelolaan virtual host akan lebih mudah. Yang perlu dilakukan hanya melakukan sedikit konfigurasi pada server DNS agar memetakan setiap hostname yang dibuat ke IP address, kemudian mengkonfigurasi Apache Web Server agar mengenali setiap hostname yang berbeda. Pendekatan hostname ini lebih sering dilakukan, mengingat saat ini untuk mendapatkan IP address publik tidaklah mudah. Untuk menggunakan pendekatan hostname pada virtual hosting, Anda harus menunjukkannya ke IP address dan port pada server yang akan menerima permintaaan host-host. Langkah ini dilakukan dengan menggunakan directive NameVirtualHost. NameVirtualHost host yang menggunakan argumen * (wildcard) untuk menunjukkan keseluruh IP address. Perhatikan langkah konfigurasi virtual host berikut: No Mengaktifkan Virtual Host: 1 Letak file di /etc/httpd/httpd.conf # Virtual hosts # Include /etc/httpd/extra/httpd-vhosts.conf Hilangkan tanda # Konfigurasi VirtualHost

Mengatur Directive. Argumen yang menunjuk ke directive <VirtualHost> sama dengan

53

argumen-argumen pada directive NameVirtualHost. 2 Letak file di /etc/httpd/extra/httpd-vhosts.conf <VirtualHost *:80> ServerAdmin hendra@smk3bgr.net DocumentRoot "/var/www/htdocs/perpus-tkj" ServerName perpus.tkj-smk3bgr.net ErrorLog "/var/log/httpd/perpus-access_log" CustomLog "/var/log/httpd/perpus-error_log" common <Directory "/var/www/htdocs/perpus-tkj"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost>

Dari hasil konfigurasi di atas, Anda bisa lihat bahwa file httpd-vhosts.conf sudah dirubah sesuai dengan yang kita inginkan dalam membuat virtual host. Untuk itu file httpdvhosts.conf yang default cukup Anda berikan simbol pager supaya tidak aktif, contohnya: #<VirtualHost *:80> # ServerAdmin webmaster@dummy-host.example.com # DocumentRoot "/usr/docs/dummy-host.example.com" # ServerName dummy-host.example.com # ServerAlias www.dummy-host.example.com # ErrorLog "/var/log/httpd/dummy-host.example.com-error_log" # CustomLog "/var/log/httpd/dummy-host.example.com-access_log" common #</VirtualHost> Pada baris ServerName perpus.tkj-smk3bgr.net, Anda diharuskan untuk membuat nama alias perpus dari hostname ns1.tkj-smk3bgr.net, sehingga perpus.tkj-smk3bgr.net adalah nama domain yang bersikan suatu website perpustakaannya milik tkj. Setelah itu buatlah direktori perpus-tkj di dalam direktori /var/www/htdocs masukkan file index.html pada direktori perpus-tkj, editlah file index.html rubah dengan nama Perpustakaan Milik Teknik Komputer dan Pengelolaan Jaringan SMKN 3 Bogor. Ketika Anda mengakses alamat links http://perpus.tkj-smk3bgr.net maka akan keluar tulisan Perpustakaan Milik Teknik Komputer dan Pengelolaan Jaringan SMKN 3 Bogor. Begitu juga dengan www.tkj-smk3bgr.net pada index.html-nya rubahlah dengan kata Ini Program Keahlian Ku. Dan pada subdomain up.tkj-smk3bgr.net rubahlah dengan kata Unit Produksi Tempat Usaha Ku. Semua hasil konfigurasi, baik konfigurasi/pengeditan file httpd-vhosts.conf, index.html dll. yang dilakukan jangan lupa disimpan. Selanjutnya restartlah apache Anda, dan lakukanlah testing pada browser links dengan mengetikkan alamat-alamat yang sudah dibuat pada virtual host, diantaranya adalah: links http://perpus.tkj-smk3bgr.net, links http://www.tkj-smk3bgr.net, http://up.tkjsmk3bgr.net.

54

5.3 User Directory


Bagaimana jika server Anda mempunyai banyak user dan setiap user diberikan kebebasan untuk membuat homepagenya masing-masing? Cara yang paling praktis adalah dengan memasukkan atau meletakkan homepage setiap user pada direktori homenya masing-masing. (Anda ingat setiap user yang di create di mesin Linux akan diberikan directory di /home/<nama_user>). Misalnya kita mempunyai 2 (dua) user katakanlah bernama dia dan saya. Karena setiap user mempunyai home direktory masing-masing, maka perlu dibuat ketetapan untuk meletakkan index.html dan atau index.php di /home/user/public_html. Ini sengaja diberi nama public_html untuk setiap user karena file ini akan dipublish. Jadi untuk setiap user akan mempunyai folder website : /home/dia/public_html untuk user dia; /home/saya/public_html untuk user saya dan seterusnya. Untuk slackware 12.2 konfigurasi terdapat di /etc/httpd/extra/httpd-userdir.conf. Untuk mengaktifkan user directory, Anda cukup meng-edit di /etc/httpd/httpd.conf dan mencari baris: # User home directories # Include /etc/httpd/extra/httpd-userdir.conf Hilangkan tanda # Setelah itu editlah file httpd-vhosts.conf didalam direktori /etc/httpd/extra: root@server-smkn3tkj:/# vi /etc/httpd/extra/httpd-vhosts.conf karena kita sudah membuat user dengan nama dia, otomatis penambahan subdomain terjadi, maka Anda bisa menambahkan alias pada DNS melalui perintah: dia CNAME ns1 dia CNAME ns1 mendefinisikan bahwa hostname ns1.tkj-smk3bgr.net mempunyai nama alias dia.tkj-smk3bgr.net". Langkah selanjutnya adalah menuliskan virtual host utuk user dengan nama dia, serperti di bawah ini: <VirtualHost *:80> ServerAdmin dia@smk3bgr.net DocumentRoot "/home/dia/public_html/webdia" ServerName dia.tkj-smk3bgr.net ErrorLog "/var/log/httpd/dia-access_log" CustomLog "/var/log/httpd/dia-error_log" common <Directory "/home/dia/public_html"> Options Indexes FollowSymLinks IN

55

AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost> Jangan lupa menyimpan perubahan ini, dan restart apache Anda. Kemudian lakukan test pada browser Anda: http://tkj-smk3bgr.net/~user. Jika muncul pesan Parent Directory maka Anda telah berhasil membuat homepage untuk setiap user. Coba Anda jalankan perintah seperti dibawah ini: http://dia.tkj-smk3bgr.net/~dia/

Index of /~dia
Parent Directory webdia/
Jika Anda mengedit file index.html pada direktori webdia dengan tulisan Ini WebDia, maka ketika Anda mengklik link webdia akan terlihat tulisan Ini WebDia, sehingga alamat berubah menjadi http://tundra.tkj-smk3bgr.net/~tundra/webdia/ atau sama saja dengan mengetikkan URL http://tundra.tkj-smk3bgr.net/. Untuk user yang bernama saya sama seperti cara yang tertera di atas.

56

Materi Tanggal Jam

Tugas Praktikum : 5, Apache Nama NIS Nilai

Tujuan : 1. Siswa memahami perintah dasar Linux Slackware 2. Siswa mampu mengkonfigurasi Apache Server di Linux Slackware Intruksi Kerja 1. Siswa disediakan satu perangkat komputer dengan mesin Linux Slackware. 2. Tiap siswa mengerjakan lembar kerjanya masing-masing. 3. Nyalahkan komputer dan log on ke mesin slackware tanpa menggunakan GUI. Pastikan komputer berjalan dengan baik. 4. Laporkan tiap kejadian malfunction atau kode error yang mungkin terjadi. 5. Diskusikan dan tanyakan hal-hal yang Anda anggap kurang paham kepada Guru di Lab. 6. Jika telah selesai, log off komputer Anda dan jangan lupa matikan monitor, rapihkan meja kerja Anda. 7. Kumpulkan lembar kerja Anda. Jangan lupa nama dan nis Anda serta mintalah paraf kepada Guru Lab. 8. Selamat Bekerja

Guru Lab

57

No
1

Pertanyaan
Apa yang dimaksud dengan Web Server ? Jawab:

Pada platform Windows dan Linux banyak kita jumpai web server, coba Anda berikan beberapa nama web server untuk kedua platform tersebut! Minimal 2 web server untuk setiap platform ! Jawab: Windows:

Linux:

Jika Anda mencoba mempunyai situs sendiri, Anda letakkan dimana file-file website Anda tersebut, jika Anda menggunakan web server apache di slackware 12.2 ? Jawab:

Di kantor Anda terdapat 8 staff, dan Anda mencoba untuk membuat intranet di lingkungan kantor Anda. Untuk setiap staff diberikan kebebasan untuk membuat home sitenya masing-masing. Sebagai Admin jaringan, Anda letakkan dimana file-file web site untuk setiap staff tersebut? Jawab:

Bagaimana caranya agar setiap orang dapat mengakses home site sertiap user tersebut ? Jawab:

Studi Kasus:

58

BAB VI FTP Server

FTP server merupakan aplikasi yang digunakan untuk mengambil (download) dan menaruh (upload) file dengan menggunakan protokol ftp. FTP server digunakan untuk melayani transfer file dari satu lokasi ke lokasi yang lain. File-file tersebut dapat berisi segala macam informasi yang dapat disimpan dalam komputer baik yang berformat teks ASCII, teks terformat, gambar, suara dan lain-lain. Biasanya user menggunakan fasilitas ftp dengan menggunakan ftp client. Pada lingkungan UNIX (linux) yang dilengkapi dengan TCP/IP biasanya telah disertakan program (paket) ftp client, sedangkan untuk Windows harus menginstall ftp client terlebih dahulu. Ketika seorang user mulai menjalankan ftp client dan mulai melakukan koneksi dengan ftp server, maka terjadi koneksi: 1. Login: verifikasi userID dan passwordnya. 2. Penentuan direktori: menentukan direktori permulaan. Direktori di komputer user (ftp client) dikenal dengan direktori lokal. Direktori di ftp server dikenal dengan direktori remote. 3. Penetuan modus transfer file, binary atau ASCII 4. Memulai transfer data. Proses menyalin data dari sebuah komputer lain ke komputer pemakai dikenal dengan download. Sebaliknya disebut sebagai upload. 5. Mengakhiri transfer data. FTP merupakan utilitas yang cukup populer dikalangan pengguna jaringan atau internet. Client dan server dapat menggunakannya melalui sistem operasi apa saja. Dapat dikatakan bahwa ftp merupakan jembatan antar sistem operasi dalam mentransfer data. Pada Bab VI ini, Anda akan diajak untuk mengkonfigurasi ftp server pada mesin Slackware. Perlu Anda pahami bahwa konfigurasi server ftp akan berbeda antar sistem operasi. Private user only merupakan kondisi default konfigurasi server ftp. Pada private ftp server, sistem linux hanya akan mengijinkan akses file melalui ftp saja. Selain itu terdapat apa yang dikenal sebagai anonymous ftp server. Sebuah anonymous ftp server akan mengijinkan siapa saja untuk memasuki server dan mentransfer data-data tanpa harus memiliki account. Tentunya untuk mengakses sebuah server ftp digunakan program clinet untuk ftp. Sistem operasi windows, linux banyak menyediakan program ftp client.

59

6.1 Langkah konfigurasi


Pada mesin Linux Slackware 12.2, paket ftp server yang telah terinstal adalah proftpd. Proftpd dibuat dengan tujuan untuk membangun server ftp yang tidak memakan banyak resources dan memiliki keamanan yang baik. Saat ini, selain dilingkungan UNIX, proftpd dapat dikompile dan dijalankan pada BSD/OS, FreeBSD, Mac OS, Solaris, SunOS, IRIX, HP/UX. Jika di mesin Anda belum terinstall paket tersebut, Anda dapat download paket proftpd pada: http://www.proftpd.org. Pilihlah versi terakhir dari paket tersebut. root@server-smkn3tkj:/# ls /var/log/packages/ | grep proftpd proftpd-1.3.1-i486-3 root@server-smkn3tkj:/# Anda lihat bahwa di mesin Slackware 12.2, paket proftpd server yang terinstall adalah proftpd server versi 1.3.1. Proftpd Server pada mesin Slackware 12 dijalankan lewat inetd daemon. Sebelum memulai konfigurasi, Anda lihat dulu apakah daemon inetd telah berjalan di mesin Linux Slackware. 1. root@server-smkn3tkj:/# vi /etc/inetd.conf Kemudian Anda cari baris dibawah ini, kemudian hilangkan tanda pagar agar ftp menjadi aktif. 2. #ftp stream tcp nowait root /usr/sbin/tcpd proftpd

Hilangkan tanda pagar, sehingga menjadi: ftp stream tcp nowait root /usr/sbin/tcpd proftpd

3. Kemudian ketikkan :wq //Menyimpan perubahan 4. Kemudian restart service inetd. root@server-smkn3tkj:/# /etc/rc.d/rc.inetd restart <enter>

Starting Internet super-server daemon: /usr/sbin/inetd 5. Lihat apakah service inetd telah membuka port 21 (port 21 adalah port service ftp)

60

root@server-smkn3tkj:/# nmap 192.168.1.4 Starting Nmap 4.76 ( http://nmap.org ) at 2009-03-30 11:11 Local time zone must be set-see zic manual page Interesting ports on 192.168.1.4: Not shown: 995 closed ports PORT STATE SERVICE

21/tcp open ftp 22/tcp open ssh 37/tcp open time 113/tcp open auth 7200/tcp open fodms Nmap done: 1 IP address (1 host up) scanned in 6.70 seconds root@server-smkn3tkj:/# Anda lihat bahwa, 192.168.1.4 sudah membuka port layanan ftp, yakni port 12. Berarti Proftpd server sudah aktif. Gunakan program gftp (untuk slackware) yang berbasis grafik atau ftp client biasa dari komputer lain, apakah dengan platform windows atau linux untuk mentest server Anda.

6.2 Perintah Dasar FTP


Untuk dapat mengakses server ftp, digunakan program client ftp. Program client ftp banyak ragamnya tergantung sistem operasi apa yang akan Anda gunakan. Jika Anda menggunakan Sistem Operasi Windows Anda dapat memanggil ftp server dengan mengetik: C:\ftp 192.168.1.4 Alamat 192.168.1.4 adalah alamat ftp server. Setelah tekan enter, maka akan muncul prompt yang akan menanyakan user dan password. Jika Anda memasukkan kedua paramater benar, maka akan muncul prompt ftp dan transfer data siap untuk digunakan. Perintah-perintah yang sering digunakan dalam ftp antara lain: 1. Perintah cd Digunakan untuk berpindah direktori dalam server. 2. Perintah ls Digunakan untuk melihat isi direktori dalam server. 3. Perintah lcd Digunakan untuk memindah direktori ke komputer lokal.

61

4. Perintah ! Digunakan untuk menjalankan perintah pada komputer lokal. Jadi misalnya perintah !dir atau !ls akan menampilkan isi direktori di komputer lokal. 5. Perintah bye atau quit Digunakan untuk memutuskan koneksi ftp dan keluar dari program ftp.

62

Materi Tanggal Jam

Tugas Praktikum : 6, FTP Nama NIS Nilai

Tujuan : 1. Siswa memahami perintah dasar Linux Slackware 2. Siswa mampu mengkonfigurasi FTP Server di Linux Slackware Intruksi Kerja 1. Siswa disediakan satu perangkat komputer dengan mesin Linux Slackware. 2. Tiap siswa mengerjakan lembar kerjanya masing-masing. 3. Nyalahkan komputer dan log on ke mesin slackware tanpa menggunakan GUI. Pastikan komputer berjalan dengan baik. 4. Laporkan tiap kejadian malfunction atau kode error yang mungkin terjadi. 5. Diskusikan dan tanyakan hal-hal yang Anda anggap kurang paham kepada Guru di Lab. 6. Jika telah selesai, log off komputer Anda dan jangan lupa matikan monitor, rapihkan meja kerja Anda. 7. Kumpulkan lembar kerja Anda. Jangan lupa nama dan nis Anda serta mintalah paraf kepada Guru Lab. 8. Selamat Bekerja

Guru Lab

63

No
1

Pertanyaan
Sebutkan daemon yang menjalankan proftp server di Slackware ! Dan sebutkan letak filenya. Jawab:

Pada platform Windows dan Linux banyak kita jumpai ftp client, coba Anda berikan beberapa nama ftp client untuk kedua platform tsb! Minimal 2 ftp client Jawab: Windows: 1. 2. Linux 1. 2.

Kembali ke pertanyaan no. 1, tuliskan baris untuk mengaktifkan proftpd? Jawab:

Perintah apa yang digunakan untuk mengetahui proses yang berjalan pada server? Jawab:

Bagaimana cara Anda mengetahui port yang aktif (terbuka) di mesin slackware dan pada port berapakah layanan ftp diberikan? Jawab:

64

BAB VII Firewall

Dari gambar di samping dapat Anda lihat server proxy dan firewall pada mesin yang sama. Antar muka eth0 berhubungan dengan internet melalui sebuah router/gateway ADSL, sedangkan antar muka eth1 berhubungan dengan jaringan lokal. Biasanya, kita menyebut eth0 interface mengarah ke luar dan eth1 interface yang mengarah ke dalam. Dari namanya, firewall berarti tembok api. Firewall ini kita gunakan untuk melindungi komputer (server) dan jaringan dengan membatasi akses dari dunia luar, dalam contoh ini adalah internet. Dan sebaliknya, firewall juga digunakan untuk membatasi akses sebuah komputer atau jaringan ke dunia luar (internet). Firewall bertujuan untuk memeriksa dan mengendalikan lalu lintas paket data antar jaringan lokal dan jaringan internet. Disamping itu, kegunaan firewall adalah untuk mencegah virus ke dalam jaringan. Di pasaran, banyak sekali penawaran firewall baik dalam bentuk perangkat lunak maupun perangkat keras dengan harga dan fasilitas yang beragam. Pada bagian ini, saya akan memberikan salah satu firewall yang menjadikan default di lingkungan Linux yakni iptables. Secara singkat, firewall yang menggunakan iptables bekerja dengan memeriksa paket yang masuk dan mencocokkannya dengan masing-masing chain yang sesuai. Misalnya. Anda mengetikan pada browser Anda www.google.com, maka komputer akan mengirimkan data ke www.google.com untuk meminta halaman HTML yang diperlukan. Paket permintaan tersebut akan melewati chain untuk diperiksa apakah hal tersebut boleh dilakukan atau tidak.

7.1 Dasar Teori


Iptables memiliki 4 tabel aturan yaitu FILTER, NAT, MANGLE dan RAW. Pada masing-masing table terdapat chains (rantai) yang berisi rules/aturan. Namun perlu diketahui tiap table memiliki chains yang berbeda-beda. Table FILTER merupakan table bawaan (default) dalam iptables. Table FILTER digunakan untuk paket filtering. Di dalam table filter terdapat tiga kelompok aturan (chain), yang masing-masing berisi aturan tentang apa yang harus dilakukan ketika sebuah paket data akan masuk ke dalam komputer, kemudian keluar dan melewati komputer tersebut untuk menuju ke komputer lain. Ketiga chain tersebut INPUT, OUTPUT, dan FORWARD.

65

Table Argumen pertama dari program iptables adalah penentuan tabel yang akan digunakan. Opsi yang dipakai untuk menentukan table yang akan digunakan oleh perintah iptables terhadap paket yang sesuai adalah.

-t nama_tabel atau --table nama_tabel

Jika kernel diatur dengan konfigurasi load automatis, maka modul yang sesuai akan dicoba untuk dimuat untuk tabel tersebut. Ada tiga macam tabel dalam iptables yang sudah tersedia secara default sebagai berikut. Table filter Table filter merupakan table default, sehingga tidak perlu secara eksplisit dituliskan. Table ini mengandung rantai built-in INPUT (untuk paket yang datang dan ditujukan untu Firewall sendiri), FORWARD (untuk paket yang akan diteruskan oleh Firewall), dan OUTPUT (untuk paket yang akan dihasilkan oleh proses lokal). Filter akan melihat header paket yang melewatinya dan memutuskan nasib dari paket tersebut. Table nat Table nat digunakan untuk proses translasi alamat jaringan. Table ini akan diperiksa ketika paket membuat koneksi ditemukan. Table ini mengandung tiga rantai built-in yaitu PREROUTING (untuk mengubah paket segera setelah paket datang), OUTPUT (untuk mengubah paket yang dihasilkan proses lokal sebelum paket dirouting), dan POSTROUTING (untuk mengubah paket seraya paket tersebut meninggalkan Firewall). Ada dua tipe table nat yaitu DNAT (Destination NAT) dan SNAT (Source NAT). DNAT digunakan untuk mengubah alamat tujuan paket. Proses yang melibatkan DNAT selalu dikerjakan pada PREROUTING(sebelum routing) yaitu pada saat paket pertama kali datang pada kabel. Proses yang melibatkan DNAT antara lain port forwarding, load sharing dan transparent proxying. SNAT digunakan untuk mengubah asal alamat paket. Proses yang melibatkan SNAT selalu dikerjakan pada POSTROUTING (setelah routing) sebelum paket keluar dari kabel. Salah satu proses yang melibatkan SNAT adalah masquerading.

66

Table mangle Tabel mangle digunakan untuk perubahan paket khusus. Sampai kernel 2.4.18 tabel ini didukung lima rantai built-in yaitu INPUT, FORWARD, OUTPUT, PREROUTING dan POSTROUTING. Sebagai contoh untuk table filter: setiap paket akan masuk ke dalam komputer akan diperiksa oleh chain INPUT, sedangkan paket yang akan keluar dari komputer dan menuju ke jaringan akan diperiksa oleh chain OUTPUT. Paket yang diambil oleh komputer untuk diteruskan ke tempat lain akan diperiksa oleh chain FORWARD. Perhatikan gambar berikut: Table FILTER dan NAT yang sering digunakan dalam pengaturan jaringan. Table filter untuk paket filtering dan table NAT untuk menampilkan Network Address Translation. Untuk lebih memahami, coba Anda perhatikan gambar di bawah ini yang menggambarkan FORWARDING. Perintah Perintah menentukan aksi yang akan dilakukan. Hanya satu perintah yang boleh diberikan untuk satu aturan. Beberapa perintah yang digunakan oleh iptables adalah sebagi berikut. table FILTER dengan ketiga chain: INPUT, OUTPUT,

7.2 Sintaks iptables


Sintaks iptables secara umum dituliskan: iptables [-t table] command [option] [pattern] [-j target/jump] command command atau action menentukan aksi yang akan ditampilkan pada table. Berikut ini command-command yang sering digunakan dalam membangun iptables: -A, --append rantai aturan: menambah satu atau beberapa aturan pada akhir rantai. Jika nama asal dan/atau tujuan sesuai dengan beberapa alamat, maka Table FILTER dan NAT yang sering digunakan dalam pengaturan jaringan. Table filter untuk paket filtering dan table NAT untuk menampilkan Network Address Translation. Untuk lebih memahami, coba Anda perhatikan gambar di bawah ini yang menggambarkan table FILTER dengan ketiga chain: INPUT, OUTPUT, FORWARDING. Perintahan akan ditambahkan untuk masing-masing kombinasi alamat mungkin. -D, --delete rantai aturan: menghapus satu atau lebih aturan rantai. -D, --delete rantai nomor_aturan: menghapus satu atau lebih aturan dari rantai

67

pada nomor tertentu. -E, rename-rule rantai_lama rantai_baru: mengubah nama rantai tertentu dengan nama buatan user. Perintah ini hanya untuk merias saja, tanpa mempengaruhi struktur tabel. -F, --flush [rantai]: menghapus suatu rantai. Jika tidak ditentukan rantainya, maka akan dihapuskan seluruh rantai. Perintah ini sama dengan menghapus semua aturan satu demi satu. -h : menampilkan gambaran singkat tentang iptables. -I, --insert rantai [nomor_aturan] aturan: menyisipkan satu atau lebih aturan dalam rantai pada nomor yang diberikan. Nilai default untuk nomor aturan adalah 1. -L, --list [rantai]: menampilkan semua aturan pada rantai. Jika tidak ditentukan rantainya, maka semua rantai akan ditampilkan. Biasanya perintah ini diterapkan pada tabel tertentu misalnya # iptables -t filter -n -L # iptables -t nat -n -L Opsi -t filter tidak perlu dituliskan. Option -n digunakan untuk menghilangkan pencarian reverse DNS yang memerlukan waktu lama. -N, --new-rantai rantai : membuat rantai baru. Perintah ini tidak boleh menyertakan target. -P, --policy rantai target : mengatur kebijakan rantai terhadap target. Hanya rantai built-in yang dapat diatur kebijakannya. -R, --replace rantai nomor_aturan aturan : mengganti suatu aturan dalam rantai. Jika nama asal dan/atau tujuan sesuai dengan beberapa alamat, perintah akan gagal. -X, --delete-rantai [rantai] : menghapus rantai buatan user. Rantai yang dihapus tidak boleh dalam keadaan diacu oleh rantai lain. Jika tidak menyebutkan nama rantai, maka akan dihapus semua rantai buatan user, rantai built-in tidak ikut terhapus. -Z, --zero [rantai] : menjadikan nol pecahan paket dan byte. Opsi Untuk Iptables Opsi yang dapat digunakan untuk menentukan aturan dapat dilihat pada daftar di bawah ini. Perlu diperhatikan bahwa opsi yang dipisahkan dengan tanda koma (,). [!] -f, --fragmen : hanya untuk fragmen kedua dan berikutnya dari paket yang terfragmentasi.

68

-c, --set-counters PKTS BYTES: mengatur pencacah pada saat operasi INSERT, APPEND atau REPLACE.

-d, -dst, --destination [!] alamat [/mask]: menentukan tujuan alamat paket. -i, --in-interface [!] nama: menentukan nama antarmuka yang dilalui oleh paket yang diterima (untuk paket yang masuk pada rantai INPUT, FORWARD dan ROUTING).

-j, --jump target: menentukan target aturan. Target dapat berubah target built-in atau target ektensi.

--line-numbers: menampilkan nomor baris. --modprobe=<perintah>: mencoba memuat modul dengan menjalankan perintah. -n, --numeric: keluar numerik. Alamat IP dan nomor port ditampilkan dalam format numerik.

-o, --out-interface [!] name: menentukan nama antarmuka yang dilalui oleh paket yang akan dikirim (untuk paket yang masuk pada rantai FORWARD, OUTPUT dan POSTROUTING).

-p, --proto, --protocol [!] protokol: menentukan protokol dari aturan atau paket yang akan diperiksa. Protokol dapat berupa nama atau numerik. Protokol yang mungkin adalah tcp, udp, atau all. Juga diperbolehkan nama protokol dari /etc/protocols. Nilai no ekivalen dengan all.

-s, --src, --source [!] address [/mask] : menentukan asal paket. -v, --verbose: keluaran verbose. Menampilkan beberapa informasi tentang hasil perintah iptables.

-x, --exact: angka expand. Menampilkan nilai eksak paket dan pencacah byte tanpa pembulatan.

Ektensi iptables Program iptables dapat diperluas dengan ekstensi tertentu untuk menambah kemampuannya. Ekstensi iptables berupa modul yang dapat dimuat pada saat menjalankan iptables. Ekstensi untuk iptables dapat dikelompokkan menjadi dua yaitu ekstensi match dan ekstensi target. Ekstensi Match Ekstensi match dimuat secara implisit ketika opsi -m atau -p diberikan. Berikut ini diberikan ekstensi match yang banyak digunakan berserta opsi yang mengikutinya.

69

tcp Digunakan dalam hubungannya dengan protokol TCP. Ektensi ini dimuat secara implisit dengan opsi -p serta menyediakan tiga opsi yaitu: --sport, --source-port [!] port[:port] untuk menetukan rentang port asal, --dport, --destination-port [!] port [:port] untuk menetukan rentang port tujuan, dan --tcp-flags [!] mask comp

udp Digunakan dalam hubungannya dengan protokol UDP. Ekstensi ini dimuat secara implisit dengan opsi -p serta menyediakan dua opsi yaitu: --source-port [!] port [:port] untuk menentukan asal port, dan --destination-port [!] port[:port] untuk menentukan tujuan port

Ekstensi Target Ekstensi match dimuat secara implisit ketika opsi -m atau -p diberikan. Berikut ini diberikan ekstensi match yang banyak digunakan berserta opsi yang mengikutinya. REDIRECT

Target ini hanya valid pada tabel nat dalam rantai PREROUTING dan OUTPUT serta rantai buatan user yang hanya akan dipanggil dari rantai tersebut. Target ini akan mengubah tujuan alamat IP paket ke Firewall. Target ini dapat dilengkapi dengan opsi -to-port port [-port] untuk menentukan tujuan port atau rentang port. Opsi ini hanya valid jika aturan juga menentukan opsi -p tcp atau -p udp. SNAT

Target ini hanya valid pada tabel nat dalam rantai POSTROUTING. Target ini menentukan bahwa alamat asal paket harus diubah, dan aturan harus menghentikan pemeriksaan. Target ini memerlukan opsi --to-source alamat_ip [alamat_ip][:port] untuk menentukan alamat IP asal. Alamat IP asal dapat berupa alamat IP tunggal, rentang alamat IP dan rentang nomor port (apabila aturan juga menentukan opsi -p tcp atau -p udp).

70

Simpan, Hapus, Jalankan Iptables Pada bagian ini akan dijelaskan bagaimana cara menyimpan, menghapus dan menjalankan tabel yang disusun berdasarkan perintah iptables. Menyimpan Aturan Iptables Semua aturan yang sudah dibuat berhubungan dengan suatu rantai akan hilang ketika komputer Firewall mengalami restart. Supaya Firewall dapat menjalankan aturan yang pernah dibuat, perintah tersebut dapat disimpan dalam suatu skrip dan pada saat firewall dihidupkan skrip tersebut /etc/rc.d/rc.local. Jika ingin melihat aturan apa saja yang pernah dibuat, dapat dijalankan perintah iptables-save tanpa argumen. # iptables-save Menghapus Aturan Iptables Ketika komputer tidak menjalankan fungsi Firewall, maka komputer tersebut punya nilai default untuk iptables. Nilai default iptables adalah bahwa kebijakan semua rantai pada semua tabel adalah ACCEPT dan tidak ada aturan yang diterapkan untuk semua rantai pada semua tabel. Pengembalian iptables ke nilai default dapat dianggap sebagai penghapusan seluruh aturan yang sudah dibuat. Dengan demikian yang dimaksud menghapuskan aturan iptables adalah mengembalikan semua aturan dan kebijakan pada nilai default. Mengembalikan kebijakan semua rantai pada tabel filter dengan perintah # iptables -P INPUT ACCEPT # iptables -P FORWARD ACCEPT # iptables -p OUTPUT ACCEPT Mengembalikan kebijakan semua rantai pada tabel nat dengan perintah # iptables -t nat -P PRERAOUTING ACCEPT # iptables -t nat -P POSTROUTING ACCEPT # iptables -t nat -P OUTPUT ACCEPT Mengembalikan kebijakan semua rantai pada tabel mangle dengan perintah # iptables -t mangle -P INPUT ACCEPT # iptables -t mangle -P FORWARD ACCEPT # iptables -t mangle -P OUTPUT ACCEPT # iptables -t mangle -P PREROUTING ACCEPT # iptables -t mangle -P POSTROUTING ACCEPT dijalankan, misalnya disimpan dalam file

71

Menghapus semua aturan pada semua tabel # iptables -F # iptables -t nat -F # iptables -t mangle -F

Menghapus semua rantai buatan user pada semua tabel # iptables -X # iptables -t nat -X # iptables -t mangle -X

Tentu saja tidak semua perintah diatas harus dijalankan, hanya perintah-perintah yang berhubungan dengan aturan pada tabel yang diubah atau kebijakan untuk rantai yang diubah.

IP Masquerade Alamat IP yang digunakan untuk menyusun jaringan lokal umumnya menggunakan alamat IP privat. Alamat IP ini tidak dirouting oleh jaringan publik. Sehingga komputer yang ada dalam jaringan lokal tidak dapat secara langsung berhubungan dengan jaringan publik. Hubungan yang dilakukan antara komputer pada jaringan lokal dengan jaringan publik dengan cara menyamarkan alamat IP privat dengan alamat IP yang dipunyai oleh kartu jaringan dengan alamat IP publik. Proses penyamaran alamat IP privat menjadi IP publik ini disebut IP Masquerade. Dengan cara IP Masquerade, semua komputer pada jaringan lokal ketika berhubungan dengan jaringan IP publik. IP Masquerade adalah salah satu bentuk translasi alamat jaringan (NAT) yang memungkinkan bagi komputer-komputer yang terhubung dalam jaringan lokal yang menggunakan alamat IP privat untuk berkomunikasi ke internet melalui suatu Firewall. Teknik IP Masquerade adalah cara yang biasanya digunakan untuk

menghubungkan jaringan lokal dengan jaringan publik (internet) bagi pelanggan internet yang hanya diberi satu alamat IP dinamis atau pelanggan melalui hubungan dial-up menggunakan modem. Berikut ini diberikan contoh struktur jaringan privat yang terhubung pada jaringan internet melalui Firewall yang akan mempunyai satu alamat IP dinamis.

72

Pada gambar di atas, jaringan privat dengan alamat jaringan privat 172.16.0.0/16 berhubungan dengan jaringan internet melalui suatu Firewall. Pada komputer Firewall terdapat dua antarmuka yaitu antarmuka eth0 dan eth1. komputer Firewall berhubungan dengan jaringan privat melalui antarmuka eth1 yang diberi alamat IP 172.16.0.1. Sedangkan dengan jaringan internet, komputer Firewall berhubungan melalui antarmuka eth0. Alamat IP untuk antarmuka eth0 mungkin dapat diketahui secara pasti, mungkin juga tidak. Alamat IP berapa yang akan diberikan pada antarmuka tersebut, tergantung pada ISP. Syarat utama supaya dapat menjalankan fungsi IP Masquerade, komputer Firewall harus punya kebijakan untuk meneruskan paket yang akan dikirim melalui eth0 maupun paket yang diterima melalui eth1. Paket tipe apa dan port berapa yang akan diteruskan, diatur melalui aturan rantai pada tabel filter yang sudah dibahas sebelumnya. Selanjutnya paket yang akan dikirim melalui antarmuka eth0 harus menjalani translasi alamat jaringan dengan proses IP Masquerade. Perintah yang diberikan untuk menerapkan IP Masquerade adalah sebagi berikut. # iptables t nat A POSTROUTING o eth0 s 172.16.0.0/24 j MASQUERADE Perintah tersebut menyatakan bahwa setelah mengalami routing, paket yang akan dikirim melalui antarmuka eth0 yang berasal dari jaringan 192.168.1.0/24 dan mengalami proses IP Masquerade.

73

Materi Tanggal Jam

Tugas Praktikum : 7, Firewall Nama NIS Nilai

Tujuan : 1. Siswa memahami perintah dasar Linux Slackware 2. Siswa mampu mengkonfigurasi Firewall di Linux Slackware Intruksi Kerja 1. Siswa disediakan satu perangkat komputer dengan mesin Linux Slackware. 2. Tiap siswa mengerjakan lembar kerjanya masing-masing. 3. Nyalahkan komputer dan log on ke mesin slackware tanpa menggunakan GUI. Pastikan komputer berjalan dengan baik. 4. Laporkan tiap kejadian malfunction atau kode error yang mungkin terjadi. 5. Diskusikan dan tanyakan hal-hal yang Anda anggap kurang paham kepada Guru di Lab. 6. Jika telah selesai, log off komputer Anda dan jangan lupa matikan monitor, rapihkan meja kerja Anda. 7. Kumpulkan lembar kerja Anda. Jangan lupa nama dan nis Anda serta mintalah paraf kepada Guru Lab. 8. Selamat Bekerja

Guru Lab

74

No
1

Pertanyaan
Apa yang dimaksud dengan Firewall? Jawab:

Apa yang dimaksud dengan iptables? Jawab:

Tuliskan perintah untuk menyimpan hansil konfigurasi iptables? Jawab:

Disimpan di file manakah iptables supaya pada saat komputer booting, maka iptables langsung dalam keadaan running. Jawab:

Tuliskan script iptables untuk melakukan sharing internet atau konsep PC Gateway. Jawab:

75

BAB VIII Proxy Server


Bagi administrator jaringan pasti pernah berfikir bagaimana caranya agar loding situs yang dibuka oleh user terasa lebih cepat, bagaimana memblok situs-situs yang sering membawa spyware, situs porno dan juga membatasi ukuran download file oleh user bahkan kalau perlu me-redirect situs porno ke situs lain yang lebih bermanfaat dan sebagainya. Server Proxy adalah server yang berguna sebagai perantara antara client dengan server gateway sebelum berhubungan dengan internet. Server Proxy berfungsi untuk membuat salinan data yang dibaca dari internet ke jaringan lokal sehingga jika dilain waktu data yang sama diakses, maka data tersebut akan diambil dari jaringan lokal sehingga akan menghemat bandwidth ke internet. Sehingga dengan adanya proxy server ini, maka url atau situs yang sering diakses (di-browsing) akan terasa semakin cepat terakses oleh user., karena telah disimpan di dalam cache proxy. Melalui server proxy ini, seolah-olah client merasa berinteraksi secara langsung dengan server internet yang dituju. Kenyataannya, sebelum data atau permintaannya disampaikan ke tujuan, data tersebut diarahkan terlebih dahulu ke server proxy kemudian server proxy akan meneruskan ke server yang dituju. Salah satu software terbaik yang ada di GNU/Linux adalah squid. Squid adalah software proxy server open source dengan banyak fitur. Perlu diketahui bahwa squid hanya akan menyimpan data web saja (web-cache only). Dengan demikian data yang akan disimpan hanyalah daya menggunakan protokol HTTP saja. Data-data yang termasuk dalam multimedia, FTP atau menggunakan protokol lain tidak dapat disimpan dalam web-cache. Pada mesin Slackware 12.2, squid tidak terinstall secara langsung. Jadi Anda harus menginstallnya terlebih dahulu. Source paket squid dengan ekstensi .tgz dapat Anda unduh di www.linuxpackage.net. Jika paket squid sudah terinstall, file konfigurasi utama squid berada di /etc/squid dan file konfigurasinya bernama squid.conf. Squid menggunakan port tertentu untuk menerima request dari client, defaultnya adalah 3128. Untuk dapat menggunakan proxy, client dapat merubah preferensi atau option pada web browser dengan mengarahkan ip proxy dan portnya.

76

8.1 Topologi

Keterangan: Internet berasal dari model ADSL, PC Server Proxy mempunyai 2 NIC (Network Interface Card)

8.2 Konfigurasi
Konfigurasi terlebih dahulu IP pada PC yang akan kita jadikan Router. Pada Slackware di edit pada bagian rc.inet1.conf root@server-smkn3tkj:/# vi /etc/rc.d/rc.inet1.conf Editlah seperti dibawah ini: # Config information for eth0: IPADDR[0]="192.168.1.21" NETMASK[0]="255.255.255.0" USE_DHCP[0]="" DHCP_HOSTNAME[0]="" # Config information for eth1: IPADDR[1]="172.16.0.1" NETMASK[1]="255.255.0.0" USE_DHCP[1]="" DHCP_HOSTNAME[1]="" # Config information for eth2: IPADDR[2]="" NETMASK[2]=""

77

USE_DHCP[2]="" DHCP_HOSTNAME[2]="" # Config information for eth3: IPADDR[3]="" NETMASK[3]="" USE_DHCP[3]="" DHCP_HOSTNAME[3]="" # Default gateway IP address: GATEWAY="192.168.1.1" # Gateway ini kepunyaa dari speedy Simpan dengan perintah ( :wq) Penjelasan: Disini saya mengunakan eth0 dan eth1, eth1 terhubung dengan LAN BENGKEL dan eth0 terhubung dengan Internet, setelah diedit dan disimpan, lihat lah hasil konfigurasi dengan perintah ifconfig, jika tertera seperti dibawah ini, berarti hasil konfigurasi telah berhasil, jika berhasil ping ke 192.168.1.1 atau coba ping ke 202.134.0.155 ini adalah DNS kepunyaan speedy: root@server-smkn3tkj:/# ifconfig eth0 Link encap:Ethernet HWaddr 00:16:ec:55:08:99 inet addr:192.168.1.21 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::216:ecff:fe55:899/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1207 errors:0 dropped:0 overruns:0 frame:0 TX packets:1157 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:92902 (90.7 KiB) TX bytes:214223 (209.2 KiB) Interrupt:18 Base address:0xa800 eth1 Link encap:Ethernet HWaddr c0:10:18:c0:28:af inet addr:172.16.0.1 Bcast:172.16.255.255 Mask:255.255.0.0 inet6 addr: fe80::c210:18ff:fec0:28af/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3353 errors:0 dropped:0 overruns:0 frame:0 TX packets:3304 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:784782 (766.3 KiB) TX bytes:321144 (313.6 KiB) Interrupt:19

78

lo

Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:35 errors:0 dropped:0 overruns:0 frame:0 TX packets:35 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3318 (3.2 KiB) TX bytes:3318 (3.2 KiB)

Langkah konfigurasi kedua adalah setup komputer bakal proxy server sebagai gateway, yaitu dengan perintah berikut: # cd / # echo 1 > /proc/sys/net/ipv4/ip_forward Tuliskan konfigurasi IP Masquerade dan Rule iptables pada rc.local # cd / # vi /etc/rc.d/rc.local iptables -t nat -A POSTROUTING -o eth0 -s 172.16.0.0/16 -j SNAT --to-source 192.168.1.21 iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128

Tulisakan kembali pada root untuk memastikan: root@server-smkn3tkj:/# iptables -t nat -A POSTROUTING -o eth0 -s 172.16.0.0/16 -j SNAT --to-source 192.168.1.21 root@server-smkn3tkj:/# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128 root@server-smkn3tkj:/# iptables-save

Penjelasan: Rule firewall tersebut akan menyebabkan setiap koneksi dari LAN dengan port tujuan 80 akan diarahkan ke local process pada komputer gateway, yaitu ke process squid (port 3128).

8.3 Instalasi Squid di Slackware


Unduhlah program squid di alamat: www.linuxpackage.net setelah itu install squid denga perintah:

79

root@server-smkn3tkj:/# installpkg squid-3.0.STABLE14-i486-1_SBo.tgz Pastikan direktori squid sudah ada pada: root@server-smkn3tkj:/# /etc/squid root@server-smkn3tkj:/# ls cachemgr.conf mime.conf squid.conf

cachemgr.conf.default mime.conf.default squid.conf.default #vi squid.conf http_port: parameter ini menunjukkan nomor port service squid. Nilai defaultnya adalah 3128. Untuk menerapkan transparent proxy maka nilai parameter ini harus diset sebagai berikut: http_port 3128 transparent acl: digunakan untuk akses kontrol list atau untuk filtering format Tuliskan Perintah berikut ini: # TAG: acl acl lan_bengkel src 172.16.0.0/16 acl waktu_boleh time MTWHFA 07:00-21:00 acl domain_terlarang dstdomain "/etc/squid/daftar-domain_terlarang.txt" acl url_terlarang url_regex -i "/etc/squid/daftar-url_terlarang.txt" acl file_terlarang url_regex -i "/etc/squid/daftar-file_terlarang.txt" acl ip_terlarang dst "/etc/squid/daftar-ip_terlarang.txt" Penjelasan: Pada konfigurasi acl waktu_boleh-internetan time MTWHFA 07:00-21:00, pola MTWHFA merupakan singkatan dari M=Monday, T=Tuesday, W=Wednesday, H=Thursday, F=Friday, A=Saturday. Sedangkan untuk opsi -i pada acl url_regex menyatakan opsi case sensitive. Dalam konfigurasi acl domain_terlarang, url_terlarang, file_terlarang dan ip_terlarang yang semua ini diletakan pada direktori /etc/squid. Contoh seperti dibawah ini: root@server-smkn3tkj:/# cd / root@server-smkn3tkj:/# vi /etc/squid/ daftar-domain_terlarang.txt playboy.com jangan lupa untuk di save ( :wq ) root@server-smkn3tkj:/# vi /etc/squid/ daftar-url_terlarang.txt porno jangan lupa untuk di save ( :wq )

80

root@server-smkn3tkj:/# vi /etc/squid/daftar-file_terlarang.txt \.pdf$ jangan lupa untuk di save ( :wq )

root@server-smkn3tkj:/# vi /etc/squid/daftar-ip_terlarang.txt 216.163.137.3 69.16.137.252 82.98.86.176 http_access: parameter menunjukkan rule yang akan diterapkan pada access control list. http_access deny !waktu_boleh http_access deny domain_terlarang http_access deny url_terlarang http_access deny ip_terlarang http_access deny file_terlarang http_access allow lan_bengkel # display message cache_mgr hendra@smk3bgr.net cache_effective_user squid cache_effective_group squid visible_hostname TKJ_SMKN_3_Bogor Untuk melakukan uji coba pada squid lakukanlah perintah root@server-smkn3tkj:/# squid -k reconfigure Buatlah user squid dan group squid root@server-smkn3tkj:/# useradd squid root@server-smkn3tkj:/# groupadd squid

Langkah konfigurasi ketiga adalah memberikan hak akses eksekusi pada sercvice squid root@server-smkn3tkj:/# chmod +x /etc/rc.d/rc.squid Jalankan service squid root@server-smkn3tkj:/# squid -D atau root@server-smkn3tkj:/# /etc/rc.d/rc.squid start Langkah konfigurasi keempat adalah Seting IP Client:

81

Seting PC Client 1 IP: 172.16.0.2 Netmask: 255.255.0.0 gateway 172.16.0.1 DNS 202.134.0.155, 202.134.2.5

Seting PC Client 2 IP: 172.16.0.3 Netmask: 255.255.0.0 gateway 172.16.0.1 DNS 202.134.0.155, 202.134.2.5

Seting PC Client 3 IP: 172.16.0.4 Netmask: 255.255.0.0 gateway 172.16.0.1 DNS 202.134.0.155, 202.134.2.5

82

Materi Tanggal Jam

Tugas Praktikum : 8, Proxy Nama NIS Nilai

Tujuan : 1. Siswa memahami perintah dasar Linux Slackware 2. Siswa mampu mengkonfigurasi Proxy Server di Linux Slackware Intruksi Kerja 1. Siswa disediakan satu perangkat komputer dengan mesin Linux Slackware. 2. Tiap siswa mengerjakan lembar kerjanya masing-masing. 3. Nyalahkan komputer dan log on ke mesin slackware tanpa menggunakan GUI. Pastikan komputer berjalan dengan baik. 4. Laporkan tiap kejadian malfunction atau kode error yang mungkin terjadi. 5. Diskusikan dan tanyakan hal-hal yang Anda anggap kurang paham kepada Guru di Lab. 6. Jika telah selesai, log off komputer Anda dan jangan lupa matikan monitor, rapihkan meja kerja Anda. 7. Kumpulkan lembar kerja Anda. Jangan lupa nama dan nis Anda serta mintalah paraf kepada Guru Lab. 8. Selamat Bekerja

Guru Lab

83

No
1

Pertanyaan
Coba Anda jelaskan keuntungan menggunakan proxy server. Jawab:

Bisakah dengan satu buah network interface, kita dapat membangun proxy server? Jelaskan ! Jawab:

Coba Anda gambarkan skema membangun proxy server dengan ADSL Speedy. Lengkapi dengan nomor IP dan konfigurasinya. Jawab:

Tuliskan langkah-langkah Anda, sehingga proxy server siap dijalankan di client Windows maupun Linux. Jawab:

Apa yang dimaksud dengan transparant proxy! Jelaskan dan berikan ilustrasi gambarnya. Jawab:

84

BAB IX e-Mail Server

Jika kita bicara tentang e-mail server, sercara sederhana Anda dapat membayangkan sebagai kantor pos yang bertugas menerima dan mengirim surat ke alamat yang dituju dengan tepat. Jika pada alamat surat menggunakan nama jalan, nomor dan kota maka pada e-mail kita menggunakan username@domain. Sebagai contoh: alamat surat SMK Negeri 3 Bogor, Jln Pajajaran No. 84 Bogor, maka jika SMKN 3 Bogor mempunyai domain bernama tkj.com maka alamat e-mailnya dapat ditulis comnet@tkj.com. comnet adalah username dan tkj.com adalah domain internet, karakter @ dibaca di. Username dapat dianggap sebagai PO Box sedangkan domain sebagai kantor pos dimana kota pos tersebut. Jadi comnet@tkj.com berarti username=comnet dan server e-mail= tkj.com. E-mail server pada umumnya terdiri dari: 1. Mail Transfer Agent (MTA), contohnya sendmail, qmail, postfix dll. MTA menggunakan protokol SMTP, simple mail transfer protokol yang datanya dikirim melalui protokol Transfer Control Protocol. TCP merupakan protokol transport yang reliable. Artinya bahwa data yang dikirim melalui TCP harus terkirim lengkap dan benar. Jika terjadi kesalahan maka TCP akan meminta agar data tersebut dikirim ulang. Dengan demikian setiap e-mail yang dikirim dapat sampai ketujuan dengan benar. 2. Local Delivery Agent, LDA contoh procmail. LDA bertugas menempatkan email yang diterima oleh server pada direktori mailbox yang telah ditentukan, misalnya di /var/spool/mail/username. Selain itu, procmail juga berfungsi sebagai e-mail filter yang dapat menyaring e-mail yang diterima berdasarkan aturan yang telah ditentukan. Sedangkan untuk mengirim, menerima dan membaca e-mail diperlukan Mail Transfer Agent (MUA) atau disebut sebagai Mail Client (MC) seperti: outlook express, eudora, kmail, evolution dll. MUA dapat menggunakan prot/rootokol POP3, post office protocol version 3, atau internet mail application (IMAP). POP POP atau Post Office Protocol adalah salah satu metode untuk mengambil dan mengirim email dari/ke remote machine. Protokolnya cukup sederhana, Anda dapat membaca dan mengirim email dari rumah atau dari tempat lain. Softwaresoftware seperti Netscape, Microsoft Outlook, Eudora, dan hampir semua

85

software email mendukung POP. Agar email di server dapat didownload ke komputer client, maka software di client software harus disetup dahulu agar menggunakan POP. Setelah itu email di server dapat didownload ke client sehingga semua email dipindahkan dari server ke client. Setelah proses download email selesai. Email di serverpun dihapus. IMAP IMAP dikembangkan untuk memperbaiki kekurangan yang dimiliki oleh POP. IMAP dirancang untuk dapat digunakan baik untuk server maupun client. Dengan IMAP semua email di server tidak otomatis dihapus dari server meskipun proses download ke client sudah selesai. Untuk menghapus email dari server harus menunggu perintah dari user di client. Pada POP semua yang di server didownload dalam waktu bersamaan, hal ini akan menjadi masalah jika akses jaringan internetnya lambat sekali. Sedangkan pada IMAP, email di server tidak harus didownload semua. IMAP menyediakan fasilitas agar email dapat didownload headernya saja atau bodynya saja. Email juga dapat disimpan ke folder yang berbeda, sehingga mendukung mode offline, yaitu kita dapat menulis dan membaca email pada saat komputer sedang tidak terkoneksi ke internet. Langkah Instalasi dan Konfigurasi Qmailrocks Download dan ekstrak paket qmailrocks root@server-smkn3tkj:/# mkdir /downloads root@server-smkn3tkj:/# cd /downloads root@server-smkn3tkj:/downloads#wget http://www.qmailrocks.org/downloads/qmailrocks.tar.gz root@server-smkn3tkj:/downloads# tar xvzf qmailrocks.tar.gz root@serversmkn3tkj:/downloads#/downloads/qmailrocks/scripts/install/qmr_install_linux-s1.script root@server-smkn3tkj:/downloads# /downloads/qmailrocks/scripts/util/qmail_big_patches.script root@server-smkn3tkj:/downloads# cd /usr/src/qmail/qmail-1.03/ root@server-smkn3tkj:/usr/src/qmail/qmail-1.03# make man && make setup check root@server-smkn3tkj:/usr/src/qmail/qmail-1.03# ./config-fast mail.tkj.com Selanjutnya buat sertifikat keamanan (sesuai dengan kondisi domain Anda) root@server-smkn3tkj:/usr/src/qmail/qmail-1.03# make cert openssl req -new -x509 -nodes \ -out /var/qmail/control/servercert.pem -days 366 \

86

-keyout /var/qmail/control/servercert.pem State or Province Name (full name) [Some-State]:Jawa Barat Locality Name (eg, city) []:Bogor Organization Name (eg, company) [Internet Widgits Pty Ltd]:SMKN 3 Bogor Organizational Unit Name (eg, section) []:Teknik Komputer dan Jaringan Common Name (eg, YOUR name) []:Hendra Nuryuliansyah Email Address []:postmaster@tkj.com root@server-smkn3tkj:/usr/src/qmail/qmail-1.03#chown -R vpopmail:qmail

/var/qmail/control/clientcert.pem /var/qmail/control/servercert.pem Install ucspi-tcp root@server-smkn3tkj:/usr/src/qmail/qmail-1.03# cd /usr/src/qmail/ucspi-tcp-0.88/ root@server-smkn3tkj:/usr/src/qmail/ucspi-tcp-0.88# /downloads/qmailrocks/patches/ucspi-tcp-0.88.errno.patch patching file error.h root@server-smkn3tkj:/usr/src/qmail/ucspi-tcp-0.88# make && make setup check Install daemontools root@server-smkn3tkj:/usr/src/qmail/ucspi-tcp-0.88# cd /package/admin/daemontools0.76/src/ root@server-smkn3tkj:/package/admin/daemontools-0.76/src#patch< /downloads/qmailrocks/patches/daemontools-0.76.errno.patch root@server-smkn3tkj:/package/admin/daemontools-0.76/src#cd /package/admin/daemontools-0.76/ root@server-smkn3tkj:/package/admin/daemontools-0.76# package/install Melihat efek dari daemontools dengan perintah ps -aux Output yang dihasilkan Lihat efek daemontools dengan perintah ps -aux root root 7361 0.0 0.0 1720 368 ? 7362 0.0 0.0 1548 268 ? S 17:30 0:00 svscan /service S 17:30 0:00 readproctitle service errors: patch <

............... Install Ezmlm root@server-smkn3tkj:/package/admin/daemontools-0.76# cd /downloads/qmailrocks/ root@server-smkn3tkj:/downloads/qmailrocks# tar xvzf ezmlm-0.53-idx-0.41.tar.gz root@server-smkn3tkj:/downloads/qmailrocks# cd ezmlm-0.53-idx-0.41 root@server-smkn3tkj:/downloads/qmailrocks/ezmlm-0.53-idx-0.41# make && make setup

87

Install autorespon root@server-smkn3tkj:/downloads/qmailrocks/ezmlm-0.53-idx-0.41#cd /downloads/qmailrocks/ root@server-smkn3tkj:/downloads/qmailrocks# tar xvzf autorespond-2.0.5.tar.gz root@server-smkn3tkj:/downloads/qmailrocks# cd autorespond-2.0.5 root@server-smkn3tkj:/downloads/qmailrocks/autorespond-2.0.5# make && make install Install Vpopmail Buat directori vpopmail di /home root@server-smkn3tkj:/downloads/qmailrocks/autorespond-2.0.5# mkdir /home/vpopmail root@server-smkn3tkj:/downloads/qmailrocks/autorespond-2.0.5# mkdir /home/vpopmail/etc root@server-smkn3tkj:/downloads/qmailrocks/autorespond-2.0.5# cd / Lihatlah user dan group pemilik direktori vpopmail root@server-smkn3tkj:/# ls -l total 12 drwxr-xr-x 3 root root 4096 2009-08-13 08:37 vpopmail/ root@server-smkn3tkj:/# chown vpopmail:vchkpw /home/vpopmail -R root@server-smkn3tkj:/# lls -l total 12 drwxr-xr-x 3 vpopmail vchkpw 4096 2009-08-13 08:37 vpopmail/ root@server-smkn3tkj:/# echo "localhost|0|vpopmailuser|keren|vpopmail" > ~vpopmail/etc/vpopmail.mysql root@server-smkn3tkj:/# cat ~vpopmail/etc/vpopmail.mysql localhost|0|vpopmailuser|keren|vpopmail vpopmailuser adalah user vpopmail untuk MySQL dan keren adalah password MySQL untuk user vpopmailuser. Untuk keamanan validasi user maka sebaiknya diberikan hak akses file. root@server-smkn3tkj:/# ls -l /home/vpopmail/etc/vpopmail.mysql -rw-r--r-- 1 root root 40 2009-08-13 08:42 /home/vpopmail/etc/vpopmail.mysql root@server-smkn3tkj:/# chmod 640 ~vpopmail/etc/vpopmail.mysql root@server-smkn3tkj:/# ls -l /home/vpopmail/etc/vpopmail.mysql -rw-r----- 1 root root 40 2009-08-13 08:42 /home/vpopmail/etc/vpopmail.mysql

88

Sekarang kita akan membuat database dan user pada MySQL root@server-smkn3tkj:/# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.0.67 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database vpopmail; Query OK, 1 row affected (0.00 sec)

mysql> use mysql; mysql> insert into user (Host, User, Password) values ('localhost','vpopmailuser',password('keren')); Query OK, 1 row affected, 3 warnings (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> grant select,insert,update,delete,create,drop ON vpopmail.* TO vpopmailuser@localhost identified by 'keren'; Query OK, 0 rows affected (0.00 sec) mysql> \q

root@darkstar:~# mysql -u vpopmailuser -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.0.67 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases; +--------------------+ | Database |

+--------------------+ | information_schema |

89

| test | vpopmail

| |

+--------------------+ 3 rows in set (0.00 sec) mysql>

Install Vpopmail root@server-smkn3tkj:/home# cd /downloads/qmailrocks/ root@server-smkn3tkj:/downloads/qmailrocks# tar xvzf vpopmail-5.4.13.tar.gz root@server-smkn3tkj:/downloads/qmailrocks# cd vpopmail-5.4.13 root@server-smkn3tkj:/downloads/qmailrocks/vpopmail-5.4.13# ./configure --enablelogging=p --enable-auth-module=mysql --disable-passwd --enable-clear-passwd -disable-many-domains --enable-auth-logging --enable-sql-logging --enable-valias -disable-mysql-limits root@server-smkn3tkj:/downloads/qmailrocks/vpopmail-5.4.13# make && make installstrip

Install Vqadmin root@server-smkn3tkj:/downloads/qmailrocks/vpopmail-5.4.13# cd /downloads/qmailrocks/ root@server-smkn3tkj:/downloads/qmailrocks# tar xvzf vqadmin-2.3.6.tar.gz root@server-smkn3tkj:/downloads/qmailrocks# cd vqadmin-2.3.6 root@server-smkn3tkj:/downloads/qmailrocks/vqadmin-2.3.6# ./configure --enablecgibindir=/srv/httpd/cgi-bin --enable-htmldir=/srv/httpd/htdocs root@server-smkn3tkj:/downloads/qmailrocks/vqadmin-2.3.6# make && make installstrip root@server-smkn3tkj:/downloads/qmailrocks/vqadmin-2.3.6# vi /etc/httpd/httpd.conf <Directory "/srv/httpd/cgi-bin/vqadmin"> deny from all Options ExecCGI AllowOverride AuthConfig Order deny,allow </Directory>

90

root@server-smkn3tkj:/downloads/qmailrocks/vqadmin-2.3.6# mkdir /usr/local/passvqadmin root@server-smkn3tkj:/downloads/qmailrocks/vqadmin-2.3.6# touch /usr/local/passvqadmin/vqadmin.passwd root@server-smkn3tkj:/srv/httpd/cgi-bin/vqadmin# ls -l .htaccess -rw-r--r-- 1 nobody root 114 2009-08-12 18:00 .htaccess Lihatlah bahwa file .htaccess tidak dimiliki oleh user siapapun, karena nantinya file .htaccess digunakan untuk kebutuhan user apache untuk mengakses validasi vqadmin.passwd. root@server-smkn3tkj:/srv/httpd/cgi-bin/vqadmin# chown apache .htaccess root@server-smkn3tkj:/srv/httpd/cgi-bin/vqadmin# ls -l .htaccess -rw-r--r-- 1 apache root 114 2009-08-12 18:00 .htaccess root@server-smkn3tkj:/srv/httpd/cgi-bin/vqadmin# chmod 644 .htaccess root@server-smkn3tkj:/srv/httpd/cgi-bin/vqadmin# htpasswd -bc /usr/local/passvqadmin/vqadmin.passwd admin tundra Adding password for user admin Kita akan membuat user admin yang akan digunakan untuk mengakses

vqadmin/vqadmin.cgi root@server-smkn3tkj:/srv/httpd/cgi-bin/vqadmin# vi .htaccess AuthType Basic AuthUserFile /usr/local/apache/conf/vqadmin.passwd AuthName vQadmin require valid-user satisfy any Ubahlah menjadi AuthType Basic AuthUserFile /usr/local/passvqadmin/vqadmin.passwd AuthName vQadmin require valid-user satisfy any Coba Anda akses vqadmin.cgi melalui browser kesayangan Anda. http://tkj.com/cgi-bin/vqadmin/vqadmin-cgi

91

Install Maildrop root@server-smkn3tkj:/srv/httpd/cgi-bin/vqadmin# cd /downloads/qmailrocks root@server-smkn3tkj:/downloads/qmailrocks# tar xvzf maildrop-1.6.3.tar.gz root@server-smkn3tkj:/downloads/qmailrocks# cd maildrop-1.6.3 root@server-smkn3tkj:/downloads/qmailrocks# ./configure --prefix=/usr/local --execprefix=/usr/local --enable-maildrop-uid=root --enable-maildrop-gid=vchkpw enablemaildirquota root@server-smkn3tkj:/downloads/qmailrocks/maildrop-1.6.3# make && make installstrip && make install-man Install qmailadmin root@server-smkn3tkj:/downloads/qmailrocks/maildrop-1.6.3# cd /downloads/qmailrocks root@server-smkn3tkj:/downloads/qmailrocks# tar xvzf qmailadmin-1.2.9.tar.gz root@server-smkn3tkj:/downloads/qmailrocks# cd qmailadmin-1.2.9 root@server-smkn3tkj:/downloads/qmailrocks/qmailadmin-1.2.9# ./configure --enablecgibindir=/srv/httpd/cgi-bin enable-htmldir=/srv/httpd/htdocs

92

root@server-smkn3tkj:/downloads/qmailrocks/qmailadmin-1.2.9# make && make install-strip Sebelum Anda dapat mengakses qmailadmin, Anda harus mendaftarkan nama domain dan password pada vqadmin.cgi.

root@server-smkn3tkj:/# /downloads/qmailrocks/scripts/finalize/linux/finalize_linux.script This scripts will perform 3 functions:\n 1. Copy all supervise scripts to their proper locations.\n 2. Copy the qmail rc and qmailctl scripts to their proper locations and create needed symlinks.\n 3. Set all needed permisions on all supervise scripts.\n Press ENTER to proceeed

root@server-smkn3tkj:/# vi /var/qmail/supervise/qmail-pop3d/run Ubahlah mail.example.com menjadi mail.tkj.com

root@server-smkn3tkj:/# vi /var/qmail/supervise/qmail-smtpd/run Ubahlah mail.example.com menjadi mail.tkj.com Matikan service qmail root@server-smkn3tkj:/# qmailctl stop Stopping qmail... qmail-smtpd qmail-send qmail-pop3d root@server-smkn3tkj:/downloads/qmailrocks/qmailadmin-1.2.9# echo '127.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp root@server-smkn3tkj:/downloads/qmailrocks/qmailadmin-1.2.9# qmailctl cdb Reloaded /etc/tcp.smtp. root@server-smkn3tkj:/downloads/qmailrocks/qmailadmin-1.2.9# echo "root@tkj.com" > /var/qmail/alias/.qmail-root

93

root@server-smkn3tkj:/downloads/qmailrocks/qmailadmin-1.2.9# echo "qmailpostmaster@tkj.com" > /var/qmail/alias/.qmail-postmaster root@server-smkn3tkj:/downloads/qmailrocks/qmailadmin-1.2.9# echo "mailerdaemon@tkj.com" > /var/qmail/alias/.qmail-mailer-daemon Membuat link root@server-smkn3tkj:/downloads/qmailrocks/qmailadmin-1.2.9# ln -s /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-anonymous root@server-smkn3tkj:/downloads/qmailrocks/qmailadmin-1.2.9# chmod 644 /var/qmail/alias/.qmail* Anda bisa mengunjungi dengan Browser di http://tkj.com/cgi-bin/qmailadmin

Ini adalah tampilan form login qmailadmin, masukkanlah Domain Name dan Password yang telah Anda buat sebelumnya. Sekarang kita akan menghapus service sendmail, karena kita tidak menggunakan service sendmail tersebut, akan tetapi menggunakan service qmail. root@server-smkn3tkj:/# pkgtool pilih remove dan beritanda bintang dengan spacebar pada sendmail-8.14.3-i486-1 tekan [OK] untuk menghapusnya.

94

Editlah konfigurasi sendmail yang telah ada di sistem kita. root@server-smkn3tkj:/var/qmail/alias# mv /usr/sbin/sendmail /usr/sbin/sendmail.old root@server-smkn3tkj:/var/qmail/alias# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail root@server-smkn3tkj:/var/qmail/alias# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail root@server-smkn3tkj:/var/qmail/alias# /downloads/qmailrocks/scripts/util/qmr_inst_check Congratulations, your Qmailrocks.org Qmail installation looks good! Jika ada pesan seperti yang di atas, maka Qmailrocks yang Anda konfigurasi sudah dapat berjalan dengan baik. root@server-smkn3tkj:~# cd /downloads/qmailrocks/ root@server-smkn3tkj:/downloads/qmailrocks# tar xvjf courier-imap-3.0.8.tar.bz2 root@server-smkn3tkj:/downloads/qmailrocks#./configure --prefix=/usr/local --exec-

prefix=/usr/local --with-authvchkpw --without-authdaemon --without-authldap --disableroot-check --with-ssl with-authchangepwdir=/usr/local/libexec/authlib root@server-smkn3tkj:/downloads/qmailrocks# make && make install-strip && make install-configure root@server-smkn3tkj:/usr/local/etc# /usr/local/sbin/mkimapdcert root@server-smkn3tkj:/usr/local/etc# cp /usr/local/libexec/imapd.rc /etc/rc.d/rc.imap root@server-smkn3tkj:/usr/local/etc# cp /usr/local/libexec/imapd-ssl.rc /etc/rc.d/rc.imaps Lalu jalankan service rc.imap dan rc.imaps root@server-smkn3tkj:/# /etc/rc.d/rc.imap start root@server-smkn3tkj:/# /etc/rc.d/rc.imaps start root@server-smkn3tkj:/# nmap localhost Starting Nmap 4.76 ( http://nmap.org ) at 2009-08-13 11:47 WIT Interesting ports on localhost (127.0.0.1): Not shown: 991 closed ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 37/tcp open time 53/tcp open domain 80/tcp open http 110/tcp open pop3 113/tcp open auth 143/tcp open imap

95

993/tcp open imaps Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds root@server-smkn3tkj:/downloads/qmailrocks# tar xvzf courierpassd-1.0.1.tar.gz root@server-smkn3tkj:/downloads/qmailrocks# cd courierpassd-1.0.1 root@server-smkn3tkj:/downloads/qmailrocks/courierpassd-1.0.1# ./configure withcouriersrc=../courier-imap-3.0.8 root@server-smkn3tkj:/downloads/qmailrocks/courierpassd-1.0.1# make && make install root@server-smkn3tkj:~# vi /etc/inetd.conf Sisipkan baris dibawah ini pada bagian End of inetd.conf courierpassd stream tcp nowait root /usr/local/sbin/courierpassd -s imap root@server-smkn3tkj:~# vi /etc/services Sisipkan baris dibawah ini. courierpassd 106/tcp #for /etc/xinetd.d/courierpassd Restartlah rc.inetd dengan perintah: root@server-smkn3tkj:~# /etc/rc.d/rc.inetd restart Starting Internet super-server daemon: /usr/sbin/inetd Pengujian hasil konfigurasi Mail Server Coba Anda uji dengan cara menjalankan service qmailrocks : root@server-smkn3tkj:~# qmailctl stop; qmailctl start; qmailctl stat; Stopping qmail... qmail-smtpd qmail-send qmail-pop3d

Starting qmail... Starting qmail-send Starting qmail-smtpd Starting qmail-pop3d /service/qmail-send: up (pid 3430) 0 seconds /service/qmail-send/log: up (pid 3432) 0 seconds /service/qmail-smtpd: up (pid 3436) 0 seconds /service/qmail-smtpd/log: up (pid 3439) 0 seconds /service/qmail-pop3d: up (pid 3446) 0 seconds /service/qmail-pop3d/log: up (pid 3447) 0 seconds

96

messages in queue: 0 messages in queue but not yet preprocessed: 0

Cobalah Anda uji pada POP dengan cara menggunakan service telnet: root@server-smkn3tkj:~# telnet mail.tkj.com 110 Trying 192.168.1.21... Connected to mail.tkj.com. Escape character is '^]'. +OK <3494.1250199547@mail.tkj.com> user postmaster@tkj.com +OK pass smk3tkj +OK quit +OK Connection closed by foreign host. root@server-smkn3tkj:~# Coba Anda lakukan pengujian pada server SMTP apakah sudah mendukung service TLS. root@server-smkn3tkj:~# telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mail.tkj.com ESMTP ehlo localhost 250-mail.tkj.com 250-AUTH LOGIN CRAM-MD5 PLAIN 250-AUTH=LOGIN CRAM-MD5 PLAIN 250-STARTTLS 250-PIPELINING 250 8BITMIME starttls 220 ready for tls quit quit Connection closed by foreign host.

97

Sekarang kita akan menguji port 143 imap, sebelum pengujian coba Anda lihat apakah port tersebut sudah open portnya dengan perintah root@server-smkn3tkj:~# nmap localhost Starting Nmap 4.76 ( http://nmap.org ) at 2009-08-14 04:44 WIT Interesting ports on localhost (127.0.0.1): Not shown: 990 closed ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 37/tcp open time 53/tcp open domain 80/tcp open http 106/tcp open pop3pw 110/tcp open pop3 113/tcp open auth 143/tcp open imap 993/tcp open imaps Nmap done: 1 IP address (1 host up) scanned in 0.19 seconds Jika portnya sudah terbuka, Anda bisa melakukan uji coba. Jika belum Anda harus menjalankan service /etc/rc.d/rc.imap start Coba Anda uji port 143 dengan service telnet: root@server-smkn3tkj:~# telnet localhost 143 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE

THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2004 Double Precision, Inc. See COPYING for distribution information. a login postmaster@tkj.com smk3tkj a OK LOGIN Ok. a logout * BYE Courier-IMAP server shutting down a OK LOGOUT completed Connection closed by foreign host.

98

Dengan diinstalnya software courierpassd-1.0.1.tar.gz, maka kita dapat melakukan perubahan password kepada setiap user mail melalui port 106. Sekarang kita coba merubah password pada user postmaster. root@server-smkn3tkj:~# telnet localhost 106 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 200 courierpassd v1.0.1 hello, who are you? user postmaster@tkj.com 200 Your password please. pass smk3tkj 200 Your new password please. newpass tkj 200 Password changed, thank-you. quit 200 Bye. Connection closed by foreign host. Langkah Instalasi dan Konfigurasi Antivirus Clamav root@darkstar:~# cd /downloads/qmailrocks/ root@darkstar:/downloads/qmailrocks# tar xvzf clamav-0.87.tar.gz root@darkstar:/downloads/qmailrocks# cd clamav-0.87 root@darkstar:/downloads/qmailrocks/clamav-0.87# groupadd clamav root@darkstar:/downloads/qmailrocks/clamav-0.87# useradd clamav -g clamav -s /sbin/nologin root@darkstar:/downloads/qmailrocks/clamav-0.87# ./configure --prefix=/usr -sysconfdir=/etc root@darkstar:/downloads/qmailrocks/clamav-0.87# make && make check && make install root@darkstar:/downloads/qmailrocks/clamav-0.87# mv /usr/bin/clamdscan /usr/bin/clamdscan.orig root@darkstar:/downloads/qmailrocks/clamav-0.87# ln -s /usr/bin/clamscan /usr/bin/clamdscan root@darkstar:/downloads/qmailrocks/clamav-0.87# vi /etc/clamd.conf Hilangkan tulisan Example, dan kemudian hilangkan tanda pagar ( # ) pada LogFile, LogTime, LogSyslog dan ScanMail, lalu simpan dan keluar dari konfigurasi.

99

root@darkstar:/downloads/qmailrocks/clamav-0.87# vi /etc/freshclam.conf Hilangkan tulisan Exampel Langkah-langkah Meng-update Antivirus Clamav root@server-smkn3tkj:~# mkdir /var/log/clamav root@server-smkn3tkj:~# touch /var/log/clamav/clam-update.log root@server-smkn3tkj:~# chmod 777 /var/log/clamav/clam-update.log Sebelum meng-update Clamav, server email Anda harus terhubung ke internet. root@server-smkn3tkj:~# /usr/bin/freshclam -l /var/log/clamav/clam-update.log

Proses Update Clamav ClamAV update process started at Wed Aug 12 23:17:14 2009 WARNING: Your ClamAV installation is OUTDATED! WARNING: Local version: 0.87 Recommended version: 0.95.2 DON'T PANIC! Read http://www.clamav.net/faq.html main.cvd updated (version: 51, sigs: 545035, f-level: 42, builder: sven) WARNING: Your ClamAV installation is OUTDATED! WARNING: Current functionality level = 6, recommended = 42 DON'T PANIC! Read http://www.clamav.net/faq.html daily.cvd updated (version: 9684, sigs: 64237, f-level: 43, builder: ccordes) WARNING: Your ClamAV installation is OUTDATED! WARNING: Current functionality level = 6, recommended = 43 DON'T PANIC! Read http://www.clamav.net/faq.html Database updated (609272 signatures) from database.clamav.net (IP: 193.1.193.64) Langkah Instalasi dan Konfigurasi Squirrelmail root@server-smkn3tkj:~# tar xvzf squirrelmail-1.4.20RC1.tar.gz root@server-smkn3tkj:~# mv squirrelmail-1.4.20RC1 webmail root@server-smkn3tkj:~# mkdir /var/sqattachements root@server-smkn3tkj:~# chown -R apache:apache /var/sqattachements root@server-smkn3tkj:~# mv webmail /srv/httpd/htdocs root@server-smkn3tkj:~# cd /srv/httpd/htdocs/webmail/ root@server-smkn3tkj:/srv/httpd/htdocs/webmail# chown -R apache:apache data root@server-smkn3tkj:/srv/httpd/htdocs/webmail# cd config root@server-smkn3tkj:/srv/httpd/htdocs/webmail/config# root@server-smkn3tkj:/srv/httpd/htdocs/webmail/config# ./conf.pl Akan tampak gambar seperti di bawah ini:

100

Pilih menu ke-2 [Enter] Masukkan nama Domain mail server Memberikan hak akses direktori webmail kepada user apache. root@darkstar:/srv/httpd/htdocs/webmail# cd /srv/httpd/htdocs/webmail/config root@darkstar:/srv/httpd/htdocs/webmail/config# vi config.php Rubah baris $data_dir seperti dibawah ini: $data_dir = '/var/local/squirrelmail/data/'; $attachment_dir = '/var/local/squirrelmail/attach/'; menjadi $data_dir = '/srv/httpd/htdocs/webmail/data/'; $attachment_dir = '/var/sqattachements/';

Konfigurasi webmail sudah selesai, dan sekarang bukalah webmail Anda melalui browser pada alamat http://tkj.com/webmail/src/login.php.

101

Uji coba email server. Buatlah user mail baru melalui alamat http://tkj.com/cgi-bin/qmailadmin Klik New Email Account, masukkan nama emailnya: misalnya nama emailnya comnet@tkj.com.

Lihatlah apakah User Account tersebut sudah dibuat. Klik Email Account Akan tampak seperti gambar di bawah ini:

102

Loginlah dengan Username: comnet@tkj.com, lalu tulislah email yang ditujukan ke alamat postmaster@tkj.com. Tekan Compose.

Setelah itu coba dibuka pada user postmaster@tkj.com, apakah email tersebut sudah diterima. Dan comnet@tkj.com. cobalah sebaliknya, kirim email dari postmaster@tkj.com ke

103

Materi Tanggal Jam

Tugas Praktikum : 9, Email Server Nama NIS Nilai

Tujuan : 1. Siswa memahami perintah dasar Linux Slackware 2. Siswa mampu mengkonfigurasi Email Server di Linux Slackware Intruksi Kerja 1. Siswa disediakan satu perangkat komputer dengan mesin Linux Slackware. 2. Tiap siswa mengerjakan lembar kerjanya masing-masing. 3. Nyalahkan komputer dan log on ke mesin slackware tanpa menggunakan GUI. Pastikan komputer berjalan dengan baik. 4. Laporkan tiap kejadian malfunction atau kode error yang mungkin terjadi. 5. Diskusikan dan tanyakan hal-hal yang Anda anggap kurang paham kepada Guru di Lab. 6. Jika telah selesai, log off komputer Anda dan jangan lupa matikan monitor, rapihkan meja kerja Anda. 7. Kumpulkan lembar kerja Anda. Jangan lupa nama dan nis Anda serta mintalah paraf kepada Guru Lab. 8. Selamat Bekerja

Guru Lab

104

No
1

Pertanyaan
Pada konfigurasi email server kali ini, Mail Transfer Agent (MTA) apa yang kita gunakan? Jawab:

Apa kegunakan dari squirrelmail? Jawab:

Sebutkan perintah untuk menjalankan imap dan imaps? Jawab:

Sebutkan aplikasi email client yang Anda ketahui? Jawab:

Cobalah Anda lakukan pemasangan plugin pada squirrelmail untuk mengganti password pada client mail server? Sebutkan langkah-langkahnya! Jawab:

105

BAB X Disk Quota

Mengadministrasian server dalam jaringan merupakan pekerjaan yang harus dilakukan oleh administrator jaringan. Pekerjaan ini memerlukan ketelitian dan kesabaran yang tinggi agar didapat hasil yang baik. Komputer yang terhubung jaringan local atau luas harus diatur dengan baik oleh seorang admin, baik dari sisi akses data, pembagian kegunaan atau pembagian pakai, keamanan dan kenyamanan data untuk diakses. Seringkali masing-masing user menyimpan datanya tanpa memperhatikan kapasitas harddisk komputer tersebut. Tentu saja hal ini akan menimbulkan masalah. Untuk mengatasi agar masing-masing user tidak dapat menyimpan data melebihi kapasitas yang diizinkan, maka seorang administrator perlu menerapkan pemberian disk quota pada masing-masing user tersebut. Quota sendiri yaitu sebuah tool sistem administrasi yang digunakan untuk mengelola batasan resouce berupa kapasitas ruang disk yang digunakan user. Sehingga kita memonitor dan membatasi penggunaan disk user maupun group. Akan tetapi mungkin saja ada beberapa user yang ingin diberikan disk quota yang lebih besar atau bahkan mungkin diberikan disk quota yang tidak terbatas. Karena itu dengan penerapan disk quota ini dapat diatur pembagian quota masing-masing user sesuai dengan yang dikehendaki.

Hal yang harus diperhatikan


1. Quota hanya dapat digunakan pada filesystem ext2 dan ext3. Jika menggunakan filesystem lain, sebaiknya mencari dokumentasi di internet bagaimana menggunakan filesystem selain ext2 dan ext3. 2. Quota akan gagal jika proses pembuatan account user masih salah. Penentuan home directory, owner, dan group home directory harus benar. 3. Jika telah menginstal linux pada beberapa buah partisi atau beberapa buah hard disk, maka tentukanlah partisi dari hard disk yang digunakan untuk menyimpan home directory user. Melakukan quota user pada hakikatnya adalah melakukan quota home directory user tersebut. 4. Root tidak dapat diquota 5. Konfigurasi quota yang salah dapat menyebabkan linux hang terutama jika salah mengkonfigurasi file /etc/fstab. File ini sebaiknya di-back up terlebih dahulu sebelum melakukan perubahan apa pun.

106

Konfigurasi Quota pada user 1. Cek paket Cek apakah paket quota suda ada dalam system atau tidak. root@server-smkn3tkj:/# ls /var/log/packages/ | grep quota quota-3.13-i486-1 2. Pastikan user Sebelum meng-quota, pastikan bahwa user yang akan di quota sudah ada di dalam sistem. Dalam contoh ini kita akan membuat user tkj: root@server-smkn3tkj:/# adduser tkj root@server-smkn3tkj:/# passwd tkj 3. Back up file /etc/fstab root@server-smkn3tkj:/# cp /etc/fstab /etc/fstab.old 4. Lokasi home directory Kita harus mengetahui lokasi home directory. Untuk mengetahui gunakan perintah mount. root@server-smkn3tkj:/# mount /dev/root on / type ext3 (rw,usrquota) /proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) usbfs on /proc/bus/usb type usbfs (rw) tmpfs on /dev/shm type tmpfs (rw) Pada contoh output di atas ternyata tidak ada partisi khusus yang disediakan untuk home directory. Berarti directory /home berada satu partisi dengan root directory (/) yaitu di /dev/root, jika kita lihat dengan perintah ls -l /dev/root lrwxrwxrwx 1 root root 4 2009-08-09 15:25 /dev/root -> hda1 maka akan ketahuan bahwa /dev/root itu sama dengan hda1. Mungkin partisi yang Anda gunakan mungkin saja berbeda dengan contoh di atas. Jadi, amatilah dengan seksama. 5. File fstab Edit /etc/fstab lalu tambahkan argumen berikut pada baris yang menunjukkan lokasi home directory. Karena lokasi /home sama dengan / maka editlah baris: LABEL=// ext3 default 1 1 menjadi LABEL=// ext defaults,usrquota 1 1 Sehingga menjadi seperti berikut: /dev/hda2 /dev/hda1 swap / swap ext3 defaults defaults 0 0 1 1

107

#/dev/cdrom /dev/fd0 devpts proc tmpfs

/mnt/cdrom /mnt/floppy /dev/pts /proc /dev/shm

auto auto

noauto,owner,ro 0 0 noauto,owner 0 0

devpts proc tmpfs

gid=5,mode=620 0 0 defaults defaults 0 0 0 0

Kita harus berhati-hati menambahkan kedua option ini. Tambahkan tepat setelah defaults dan jangan menggunakan spasi, dan pisahkan dengan koma. Ursquota digunakan untuk quota per-user. 6. Mount Untuk merubah mount, gunakan perintah: root@server-smkn3tkj:/# mount -o remount / Untuk melihat hasilnya gunakan perintah: root@server-smkn3tkj:/# mount /dev/root on / type ext3 (rw,usrquota) /proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) usbfs on /proc/bus/usb type usbfs (rw) tmpfs on /dev/shm type tmpfs (rw) 7. File Database untuk quota Menyiapkan file database untuk quota dengan perintah: root@server-smkn3tkj:/# touch aquota.user root@server-smkn3tkj:/# chmod 600 aquota.user root@server-smkn3tkj:/# ls -l -rw------- 1 root root 7168 2009-08-09 11:54 aquota.user 8. Menentukan quota per user Untuk menentukan quota per user, kita gunakan pola sebagai berikut: setquota -u user bs bh is ih -a fs keterangan singkatan: user bs bh is ih sf : mama user : blok soft limit : blok hard limit : inode soft limit : node hard limit : file system

Soft limit: Jumlah maksimum pemakaian hard disk yang masih diijinkan. Hard limit: Jumlah absolut pemakaian disk yang tidak dapat dilampaui oleh user.

108

Dalam prakteknya hard limit hampir mirip dengan soft limit, namun hard limit hanya berfungsi jika option grace period diaktifkan. Option grace period digunakan untuk menentukan time limit sebelum batas soft limit dipaksakan oleh sistem. Secara default, lama batasan quota adalah 7 hari. Namun kita dengan mudah dapat merubahnya. Setting waktu yang diijinkan adalah hari, jam, menit, dan detik. Dengan grace period maka admin dapat memperingatkan user bahwa dalam 7 hari home directorynya akan mendekati batas quota. Untuk merubahnya , gunakan perintah : root@server-smkn3tkj:/# edquota -t Jika ingin merubah batasan quota, rubahlah pada Block dan Inode grace period. Jumlah inode identik dengan jumlah file. Umumnya 1 block setara dengan 1 kb. Jika ada user yang bernama tkj mendapat jatah 250 MB dalam server, maka setquota dapat di set sebagai berikut: root@server-smkn3tkj:/# setquota -u tkj 250000 250000 1000 1000 -a / atau kita bisa juga mengedit dengan dengan perintah dibawah ini: root@server-smkn3tkj:/# edquota -u tkj Pada contoh di atas ditentukan nilai soft/hard block 250000 dan soft/hard inode 1000. Nilai 1000 ini hanya perkiraan saja dengan asumsi rata-rata jika sebuah file berukuran 250 KB maka untuk memenuhi quota sejumlah block diperlukan file sekitar 1000 buah. Anda boleh mengubah nilai inode sesuai kebutuhan. 9. Aktifkan quota Aktifkan quota dengan perintah: root@server-smkn3tkj:/# quotaon -guva /dev/root [/]: user quotas turned on atau root@server-smkn3tkj:/# quotaon -a (Menghidupkan) root@server-smkn3tkj:/# quotaoff -a (Mematikan) Perintah di atas hanya digunakan ketika baru saja membuat file database. Untuk selanjutnya slackware akan mengaktifkan quota secara otomatis. 10. Cek user Cek apakah user tkj sudah berhasil di quota root@server-smkn3tkj:/# quota -u tkj Jika tampak seperti di bawah ini, maka sudah berhasil:

109

11. Report quota

Menguji Quota
1. Berpindah ke user tkj dengan perintah: root@server-smkn3tkj:/# su tkj cd /home/tkj root@server-smkn3tkj:/home/tkj# cat > quota-tes.txt Ini File untuk mencoba quota pada user TKJ

2. Melihat report quota ketika sudah ditambahkan file ke dalam direktory /home/tkj, maka total hard disk yang digunakan oleh user tkj bertambah menjadi 16 KB. 3. Coba Anda rubah block soft=20 KB dan block hard=20 KB, file soft = 20 KB dan file hard = 20 KB. ketikan perintah: root@server-smkn3tkj:/home/tkj# edquota -u tkj Lalu rubahlah angkanya.

110

4.

Sekarang buatlah file oleh user tkj pada direktori tkj. tkj@server-smkn3tkj:~$ cat > quota2-tes.txt Ini uji coba yang kedua untuk melihat kapasitas user TKJ

5. Coba Anda buat kembali file untuk menguji quota pada user tkj tkj@server-smkn3tkj:~$ cat > quota3-tes.txt tes 123 cat: write error: Disk quota exceeded tkj@server-smkn3tkj:~$ Pada pembuatan file yang ketiga kalinya, maka kapasitas hard disk pada user tkj sudah tidak cukup lagi dan muncul tulisan cat: write error: Disk quota exceeded 6. Jika kita liat dengan perintah quota -v tkj root@server-smkn3tkj:/home/tkj# quota -v tkj Disk quotas for user tkj (uid 1000): Filesystem blocks quota limit grace files quota limit grace /dev/root 20* 20 20 6 20 20

Tanda bintang ( * ) pada angka 20 menyatakan hard disk sudah full.

111

Materi Tanggal Jam

Tugas Praktikum : 10, Disk Quota Nama NIS Nilai

Tujuan : 1. Siswa memahami perintah dasar Linux Slackware 2. Siswa mampu mengkonfigurasi Disk Quota di Linux Slackware Intruksi Kerja 1. Siswa disediakan satu perangkat komputer dengan mesin Linux Slackware. 2. Tiap siswa mengerjakan lembar kerjanya masing-masing. 3. Nyalahkan komputer dan log on ke mesin slackware tanpa menggunakan GUI. Pastikan komputer berjalan dengan baik. 4. Laporkan tiap kejadian malfunction atau kode error yang mungkin terjadi. 5. Diskusikan dan tanyakan hal-hal yang Anda anggap kurang paham kepada Guru di Lab. 6. Jika telah selesai, log off komputer Anda dan jangan lupa matikan monitor, rapihkan meja kerja Anda. 7. Kumpulkan lembar kerja Anda. Jangan lupa nama dan nis Anda serta mintalah paraf kepada Guru Lab. 8. Selamat Bekerja

Guru Lab

112

No
1

Pertanyaan
Apa yang ditambahkan pada file konfigurasi fstab ketika akan membuat quota pada user? Jawab:

Tulisakan perintah untuk menjalankan quota? Jawab:

Tuliskan perintah untuk menghentikan quota? Jawab:

Tuliskan perintah untuk memberikan quota pada user? Jawab:

Tuliskan perintah untuk melihat report quota pada user? Jawab:

Tuliskan konfigurasi fstab jika user berada pada partisi root? Jawab:

Jelaskan fungsi dari quota disk pada user? Jawab:

Tuliskan perintah untuk melakukan check pada quota? Jawab: Studi Kasus: Pada contoh kasus ini Anda disuruh melakukan quota berdasarkan group. Terdiri dari satu group dengan nama comnet, dan dua user dengan nama kelas1 dan kelas2. Sekarang cobalah Anda buat quota pada masing-masing user berdasarkan disk quota yang diberikan pada group. Langkah pertama: Buatlah group comnet root@server-smkn3tkj:/# groupadd comnet Buatlah user kelas1 dan kelas2 root@server-smkn3tkj:/# adduser kelas1

113

password: kelas1 root@server-smkn3tkj:/# adduser kelas2 password: kelas2 Masukkan user ke dalam group utama comnet root@server-smkn3tkj:/# usermod -g comnet kelas1 root@server-smkn3tkj:/# usermod -g comnet kelas2 tambahkan grpquota pada file fstab buat file aquota.group pada direktori ( / ), lalu berikan hak akses 600

Disk quotas for group comnet (gid 103): Filesystem hard /dev/root 20 Lakukanlah pengujian atas konfigurasi quota pada group yang Anda buat. Berikanlah kesimpulan atas perbedaan Quota User dan Quota Group. Jawab: 0 20 20 0 20 blocks soft hard inodes soft

114

BAB XI Samba Server


Samba merupakan aplikasi UNIX yang memanfaatkan protokol SMB (Server Message Block) yang dikembangkan oleh Andrew Tridgell. SMB adalah protokol komunikasi data yang juga digunakan oleh Microsoft dan OS/2 untuk menampilkan fungsi jaringan client-server yang menyediakan sharing file dan printer serta tugas-tugas lainnya yang berhubungan. Samba server memungkinkan komputer-komputer

Unix/Linux melakukan sharing file dan printer dengan komputer windows bukan hanya dengan komputer-komputer Unix/Linux sendiri. Dengan kata lain, dengan menjalankan Samba maka server Linux akan tampak seperti Window Server bagi mesin Windows lainnya. Ada lima hal utama yang dapat dilakukan oleh Samba, yaitu: 1. Menghubungkan setiap mesin Unix (Linux) dengan komputer Windows/Dos 2. Menempatkan mesin Unix (Linux) sebagai Primary Domain Controller sebagaimana dalam mesin Windows Server 3. Berbagai (share) printer dan file pada semua komputer yang terhubung ke jaringan 4. Membantu pengguna browsing di network neighbourhood 5. Memberi otentikasi kepada setiap klient yang login ke dalam domain dalam suatu jaringan. Untuk dapat mempergunakan Samba, mesin Linux digunakan harus memiliki segmen Local Area Network ethernet menggunakan TCP/IP. Samba tidak dapat bekerja menggunakan protokol jaringan selain TCP/IP. Beberapa fungsi yang disediakan Samba server yaitu: smbd dan nmbd. smbd adalah aplikasi server atau daemon yang menangani proses sharing file/direktori dan printer, juga menangani autentikasi dan otorisasi dengan SMB client. nmbd adalah aplikasi server atau daemon yang mendukung NetBIOS name service dan WINS (Windows Internet Naming Service), yang juga membantu proses network browsing pada windows client. Samba didistribusikan sebagai aplikasi open source dengan lisensi GPL (Gnu Public License). Pada Bab ini, kita mencoba mengkonfigurasi dan menjalankan server samba pada mesin Linux Slackware. Sesulit apa? Atau semudah apa setting Samba Slackware?

115

Konfigurasi Samba Sebelum kita mengkonfigurasi Samba, tentunya kita harus melihat apakah Samba telah terinstal di mesin Slackware kita. Biasanya, jika kita berhasil melakukan instalasi Linux Slackware, Samba server secara otomatis telah terinstall. Jika Anda menggunakan Distro selain Slackware, Samba telah menjadi standar aplikasi yang disediakan dalam semua distro linux. Untuk mendapatkan versi terbaru dan stabil ada baiknya kita download kode sumbernya melalui official sitenya di www.samba.org atau ke www.linuxpackage.net. Pertama kita lihat dulu, apakah Samba telah terinstall di mesin kita dan berapa versinya: root@server-smkn3tkj:/# ls /var/log/packages/ | grep samba samba-3.2.5-i486-1 root@server-smkn3tkj:/# Terlihat bahwa di mesin slackware telah terinstal paket Samba versi samba-3.2.5i486-1, namun samba yang terinstal ini belum dapat langsung berfungsi sebelum dikonfigurasi. Perhatikan gambar berikut ini:

Langkah-langkah untuk mengkonfigurasi samba server adalah sebagai berikut: #copy konfigurasi sample samba menjadi smb.conf root@server-smkn3tkj:/# cp /etc/samba/smb.conf-sample /etc/samba/smb.conf #Edit file smb.conf root@server-smkn3tkj:/# vi /etc/samba/smb.conf Saat daemon-daemon samba dihidupkan, daemon-daemon tersebut akan membaca file /etc/smb.conf untuk mendapatkan berbagai informasi yang diperlukan untuk

menghubungkan jaringan Windows dengan UNIX. Informasi tersebut antara lain, nama workgroup, password file, direktori yang di-share, hak akses. Berikut ini konfigurasi samba.

116

Standar pada /etc/smb.conf [global] workgroup = WORKGROUP server string = Samba Server security = share log file = /var/log/samba.%m max log size = 50 [Data] path = /data browseable = yes guest ok = yes writeable = yes [Data] adalah direktori sharing yang nanti akan muncul di folder network komputer lain. Path-nya disesuaikan dan permission/attribut dari folder yang dimasukkan kedalam Path tersebut untuk mudahnya di set ke 777 (rwxrwxrwx). Setelah selesai seluruh proses diatas, maka tiba saatnya kita mengaktifkan samba server guna menguji konfigurasi yang telah kita buat. Untuk mengaktifkan samba server maka dapat kita lakukan dengan mengeksekusi server-server samba sebagai berikut: #Ubah attribut file rc.samba sehingga dapat dieksekusi sewaktu proses boot. root@server-smkn3tkj:/# chmod +x /etc/rc.d/rc.samba root@server-smkn3tkj:/# #Start samba root@server-smkn3tkj:/# /etc/rc.d/rc.samba start root@server-smkn3tkj:/# Silahkan cek pada network neighbourhood komputer dengan OS Windows atau pada network (dalam Finder) di Mac OSX makan akan muncul workgroup baru dan komputer dengan folder sharing didalamnya. # Membuat user serta passwordnya agar dapat mengakses samba server # Sebagai contoh Anda menambahkan user bernama jono: root@server-smkn3tkj:/# useradd jono password: retype: root@server-smkn3tkj:/# smbpasswd -a jono New SMB password: added user jono

117

Materi Tanggal Jam

Tugas Praktikum : 11, Samba Nama NIS Nilai

Tujuan : 1. Siswa memahami perintah dasar Linux Slackware 2. Siswa mampu mengkonfigurasi Samba di Linux Slackware Intruksi Kerja 1. Siswa disediakan satu perangkat komputer dengan mesin Linux Slackware. 2. Tiap siswa mengerjakan lembar kerjanya masing-masing. 3. Nyalahkan komputer dan log on ke mesin slackware tanpa menggunakan GUI. Pastikan komputer berjalan dengan baik. 4. Laporkan tiap kejadian malfunction atau kode error yang mungkin terjadi. 5. Diskusikan dan tanyakan hal-hal yang Anda anggap kurang paham kepada Guru di Lab. 6. Jika telah selesai, log off komputer Anda dan jangan lupa matikan monitor, rapihkan meja kerja Anda. 7. Kumpulkan lembar kerja Anda. Jangan lupa nama dan nis Anda serta mintalah paraf kepada Guru Lab. 8. Selamat Bekerja

Guru Lab

118

No
1

Pertanyaan
Protokol apa yang digunakan oleh Samba ? Jawab:

Bagaimana langkah-langkah untuk mengaktifkan samba di mesin Slackware ? Jawab:

Bagaimana cara Anda melihat file log di samba ? Jawab:

Bagaimana cara menghentikan samba di mesin Slackware ? Jawab: Studi Kasus: Pada kasus kali ini Anda dapat melakukan file sharing dari mesin Slackware ke komputer klien yaitu windows. Dengan prosedur yang telah ditetapkan diantaranya: 1. Terdiri dari 3 User diantaranya tkj1, tkj2 dan tkj3 2. Setiap user yang melakukan file sharing harus mempunyai password samba 3. Setiap user diberikan Quota masing: user tkj1 mempunyai quota 50 MB dan quota disk berdasarkan nama usernya. User tkj2 dan tkj3 mempunyai quota 50 MB dan quota disk berdasarkan nama group yaitu: comnet 4. Ujilah hasil konfigurasi dari sisi Server dan klien. Langkah-langkah jawaban ditulis pada kertas terpisah!

119