MODUL DEBIAN 5 (Lenny ) Konfigurasi Server Linux Debian 5
Tim Penyusun : SMK Negeri 1 Batumandi
1
DAFTAR ISI
Halaman Judul..........................................................................................................
1
Daftar Isi...................................................................................................................
2
Instalasi Linux Debian 5 (Lenny).............................................................................
3
DNS Server...............................................................................................................
24
DHCP Server............................................................................................................
32
Web Server...............................................................................................................
37
Virtual Host..............................................................................................................
43
Mail Server...............................................................................................................
48
Proxy Server.............................................................................................................
58
DNS Server Master & Slave....................................................................................
62
Daftar Pustaka..........................................................................................................
68
2
INSTALASI LINUX DEBIAN 5 (LENNY) Proses instalasi berbasis GUI (Graphical User Interface) tidak akan kita temui ketika kita menginstall Debian Lenny. Proses instalasi Debian Lenny ini sebetulnya hampir sama dengan proses instalasi Windows. Hanya saja main interfacenya yang berbeda. Jika kita sudah pernah melakukan proses instalasi Windows, anda tidak akan mengalami kesulitan untuk menginstall Debian Sarge ini. Proses yang berbeda dari keduanya hanya pada user interfacenya saja. Jika Windows menggunakan interface berbasis GUI nya namun Debian Lenny ini menggunakan interface berbasis text. Oya, tutorial saya kali ini saya tujukan bagi newbie/pemula dalam Debian, jadi tidak disarankan bagi anda yang sudah expert dalam Debian. Untuk mempermudah instalasi, kita perlu membuat suatu desain jaringan yang akan kita buat. Mengapa kita perlu merencanakan desain jaringan nya terlebih dahulu? Sebab dengan kita merencakan jaringan seperti apa yang akan kita buat, kita pun tidak akan mengalami kesulitan dalam prosesnya nanti. Adapun desain jaringan yang akan kita buat meliputi hostname, IP Address, Gateway, dan lain-lain dengan topologi sebagai berikut :
3
Untuk detail informasi dari setiap komponen jaringan tersebut adalah : A. Jaringan Internet B. Server dengan identitas sebagai berikut : Interface IP Address Eth0 172.16.0.2
Netmask 255.255.255.128
Gateway 172.16.0.126
NS 172.16.0.126
Hostname D4V1D
Eth1
C. Client, computer/laptop untuk melakukan pengujian terhadap setiap service yang diberikan oleh server. Juga ada beberapa hal yang harus kita lakukan sebelum melanjutkan ke proses instalasi adalah : 1. Siapkan sebuah computer yang akan kita instalasi Debian Lenny ini. Siapkan dua buah interface jaringan ( LAN Card ) yang akan digunakan oleh computer tersebut untuk menghubungkan dirinya dengan jaringan local dan jaringan luar. Jaringan local dan jaringan luar sengaja kita siapkan untuk tujuan pengujian nantinya. 2. Atur BIOS agar membaca media CD-ROM pada saat booting. Masukkan segera CD Installer di media CD-ROM drive. Kemudian setelah computer boot lewat installer Debian Lenny kiat akan disambut halaman pertama yang akan muncul seperti berikut :
4
Installer Boot Menu Lalu pilih ‘Install’ dan proses instalasi pun berlangsung. 1. Pemilihan Bahasa
Pemilihan bahasa 2. Pemilihan Regional
5
Regional
Regional
6
Regional 3. Pemilihan Keyboard
Pemilihan Keyboard 4. Konfigurasi Network Interface 4.1.Pemilihan Primary Interface
7
Primary Interface 4.2.Penentuan TCP / IP
TCP / IP
8
TCP / IP 4.3.Penentuan IP Address
IP Address
9
4.4.Netmask
Netmask 4.5.Gateway
Gateway
10
4.6.Name server address
Name server addresses 5. Konfigurasi Network 5.1.Hostname
Hostname 5.2.Domain
11
Domain Name 6. Konfigurasi Time Zone
Time zone
12
Time Zone 7. Partisi Hard disk
Partisi harddisk
13
Partisi harddisk
Partisi harddisk
14
Partisi harddisk
Partisi harddisk
15
Partisi harddisk
Partisi harddisk
16
Installing base system 8. Root Password
Root password
17
Root password 9. User Account
User account
18
User account
User password
19
Re-enter user password 10. Konfigurasi Package Manager
Scan another CD
20
Network mirror 11. Popularity Contest
Popularity Contest 12. Pemilihan Paket Software
21
Paket Software
13. Instalasi Boot Loader
Boot Loader 22
Finish the installation Selesai sudah proses instalasinya. Setelah reboot, login dengan username dan password seperti yang telah anda tentukan sebelumnya. Pada proses kali ini usernya ialah "user1" dan passwordnya "user1". Namun jika anda memilih untuk masuk sebagai root (pengguna/admin tertinggi), isikan "root" dan password seperti yang anda tentukan.
Log in Interface
23
DNS Server 1. Apakah Itu DNS? DNS (Domain Name Server) bekerja dengan konsep client server. Sebuah komputer yang menjalankan fungsi server disebut DNS atau name server dan komputer lain yang meminta penterjemahan hostname ke IP Address disebut sebagai client DNS. DNS umumnya diterapkan dengan menggunakan server terpusat yang disebut server DNS atau name server yang memiliki wewenang atau otoritas dalam mengelola beberapa nama domain dan mengacu kepada beberapa domain lainnya yang dikelola server DNS lain. Ketika komputer client meminta informasi IP Address suatu hostname ke nameserver, biasanya melalui port 53. Kemudian nameserver mencoba menterjemahkan berdasarkan library resolv-nya, apakah hostname merupakan nama domain yang dikelola oleh nameserver dan name server memberikan jawaban berdasarkan cache dari data informasi yang sama yang pernah ditanyakan sebelumnya dan berhasil dijawab. 2. Instalasi Software utama untuk membangun sebuah DNS server adalah BIND (Berkeley Internet Name Domain). Software ini menjadi aplikasi default aplikasi DNS dalam semua distribusi Linux. Lakukan proses instalasi bind dengan perintah berikut: root@server:# apt-get install bind9 3. Konfigurasi Beberapa file konfigurasi dan direktori utama DNS server yang harus kita perhatikan adalah: (a) /etc/networking/interface (b) /etc/bind/named.conf.local (c) /etc/bind/forward (d) /etc/bind/reverse (e) /etc/resolv.conf a. Konfigurasi IP Ethernet Pertama-tama kita perlu men-setting IP pada ethernet kita supaya memiliki ID terlebih dahulu dan merupakan syarat dasar untuk setting berikutnya. Untuk setting IP kita dapat memasukkan perintah : root@server:# nano /etc/network/interface sehingga settingnya kira-kira menjadi seperti ini # The primary network interface auto eth0 iface eth0 inet static address 172.16.16.1 24
netmask 255.255.255.128 network 172.16.16.0 broadcast 172.16.16.127 gateway 172.16.16.126 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 172.16.16.1 dns-search bloganakkomputer.com auto eth1 iface eth1 inet static address 192.168.1.1 netmask 255.255.255.192 network 192.168.1.0 broadcast 192.168.1.63 Ingat, setting IP dan lain-lain harus di sesuaikan dengan jaringan yang akan diterapkan. b. Konfigurasi Zone (Domain) Konfigurasi zone atau domain terdiri dari dua mekanisme yang berbeda yaitu forward dan reverse. Konfigurasi forward memetakkan IP Address => hostname dan file reverse memetakkan hostname => IP Address. Dalam tutorial ini zone atau domain yang akan kita kelola bernama bloganakkomputer.com. Untuk mendaftarkan file zone tersebut, lakukan editing pada file /etc/bind/named.conf.local dengan cara : root@server:# nano /etc/bind/named.conf.local Tambahkan rangkaian konfigurasi berikut untuk mendaftarkan domain yang kita kelola. zone "bloganakkomputer.com" { type master; file "/etc/bind/forward"; }; zone "16.16.172.in-addr.arpa" { type master; file "/etc/bind/reverse"; }; c. Konfigurasi file forward Buat dahulu sebuah file yang bernama forward di direktori /etc/bind/. Lakukan dengan perintah berikut root@server:# nano/etc/bind/forward
25
Sesuaikan isi dari file tersebut dengan identitas hostname pada zone yang akan kita kelola, seperti terlihat pada file berikut: ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA bloganakkomputer.com. root. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS bloganakkomputer.com. @ IN A 172.16.16.1 www IN CNAME @ mail IN CNAME @ d. Konfigurasi file reverse Selain file forward kita pun harus menyiapkan sebuah file yang bernama reverse di direktori /etc/bind/. Lakukan dengan perintah berikut: root@server:# nano /etc/bind/reverse Isi dari file tersebut seperti berikut, sesuaikan data pada file reverse tersebut dengan data yang tercatat di file forward sebelumnya. ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA bloganakkomputer.com. root. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS bloganakkomputer.com. 1 IN PTR @ e. Konfigurasi file resolv Juga, jangan lupa untuk menyesuaikan resolv.conf dengan name server yang telah kita buat. Masuk dan edit file resolv.conf dengan cara : root@server:# nano /etc/resolv.conf Dan sesuaikan sehingga menjadi : search bloganakkomputer.com domain bloganakkomputer.com nameserver 172.16.16.1 26
f. Restart Setelah selesai pengeditan file, lakukan re-start pada file tersebut supaya running dengan setting seperti yang kita harapkan. Restart networking dengan cara : root@server:# etc/init.d/networking restart Restart bind dengan cara : root@server:# etc/init.d/bind9 restart 4. Pengujian 1. Pada komputer server/terminal utama, kita dapat men-cek kinerja DNS server yang telah kita buat dengan cara root@server:# nslookup bloganakkomputer.com Server: 172.16.16.1 Address: 172.16.16.1#53 Name: bloganakkomputer.com Address: 172.16.16.1
Pengujian dengan nslookup 2. Pada komputer client, setting IP pada range seperti server dan dapat kita ping NS (name server) tersebut dengan cara, masuk ke comand prompt windows dan ping : ping bloganakkomputer.com
Pengujian dari client
27
DHCP (Dynamic Host Configuration Protocol) adalah sebuah mekanisme yang memunkinkan sebuah server untuk memberikan IP Address secara dinamik bagi client. Client melakukan permintaan IP Address kepada server, dan server memberikan alokasi bagi si client tersebut. Mekanisme ini akan sangat memberikan keuntungan bagi manajemen jaringan di karenakan proses setting IP Address tidak harus dilakukan manual untuk setiap client yang ada.
1. Instalasi Software yang diperlukan untuk membuah sebuah service DHCP adalah dhcp3-server. Untuk melakukan instalasi dhcp3-server lakukan perintah: D4V1D:~# mount /dev/dvd /cdrom (berfungsi untuk mengenalkan cd installernya / proses mounting) D4V1D:~# apt-get
install dhcp3-server
(untuk proses instalasi)
2. Konfigurasi File konfigurasi dhcp3-server terletak di file /etc/dhcp3/dhcpd.conf. Gunakan editor nano untuk melakukan editing terhadap file konfigurasi tersebut. Sebelum melakukan konfigurasi DHCP Server, beberapa hal harus kita perhatikan diantaranya: 1. Alokasi IP Address yang akan diberikan kepada client harus berada satu network dengan IP Address server 2. Tentukan rentang IP Address yang akan diberikan kepada client tersebut 3. Alokasi IP Address untuk si client harus pula dilengkapi dengan subnet, netmask, dns server, gateway, broadcast Edit file dhcpd.conf dengan perintah: D4V1D:~# nano /etc/dhcp3/dhcpd.conf Contoh konfigurasi DHCP yang saya buat, sesuai dengan IP yang telah kita setting pada pembuatan Router sebagai berikut. # A slightly different configuration for an internal subnet. subnet 192.168.1.0 netmask 255.255.255.192 { range 192.168.1.10 192.168.1.20; option domain-name-servers 172.16.16.1; option domain-name "bloganakkomputer.com"; option routers 192.168.1.1; option broadcast-address 192.168.1.63; default-lease-time 600; max-lease-time 7200; }
28
Screenshoot dhcpd.conf Jangan lupa lakukan proses restart terhadap service setiap kali kita melakukan perubahan pada file konfigurasi: D4V1D:~# /etc/init.d/dhcp3-server restart
3. Pengujian Pengujian di Client Untuk melakukan pengujian di sisi client, beberapa hal harus dilakukan diantaranya: 1. Pastikan server dan client saling terkoneksi 2 . Lakukan proses pengaturan di sisi client bahwa settip IP Address di lakukan secara automatic. 1. Ikuti langkah-langkah berikut untuk melakukan setting di sisi client: Klik menu start - Control Panel Pilih Network Connection Pilih Local Area Network - klik kanan mouse - pilih Properties Pilih Internet Protocol (TCP/IP) - Pilih Properties Pilih opsi Obtain an IP address automatically
29
Pilih
opsi
Obtain
DNS
server
address
automatically
-
tekan
tombol
OK
2. Setelah langkah diatas dilakukan, kita harus melakukan pengujian terhadap layanan service DHCP dari server. Ikuti langkah berikut: a) Klik menu start - run ketik "cmd" . Maka akan muncul halaman dos prompt b) Pada halaman Dos prompt tersebut lakukan perintah ipconf ig /release, pastikan bahwa IP address dari interface berubah menjadi 0.0.0.0 c) Masih pada halaman yang sama ketikkan perintah ipconf ig /renew untuk memperoleh IP Address dari server. d) Bila tidak terjadi kesalahan seharusnya client sudah mendapat IP Address dari server. e) Perhatikan gambar berikut yang membuktikan bahwa DHCP Server telah bekerja dan client memperoleh IP Address dari server.
30
Jika kita lihat Propertiesnya akan terlihat sebagai berikut.
Lalu coba kita ping gatewaynya..
31
Jika hingga langkah ini kita telah mendapat IP dari server dan ping gateway lancar berarti DHCP Server yang kita buat telah dapat berjalan dengan baik. Sekian tutorial tentang DHCP server dan selamat mencoba.
32
DHCP Server DHCP (Dynamic Host Configuration Protocol) adalah sebuah mekanisme yang memunkinkan sebuah server untuk memberikan IP Address secara dinamik bagi client. Client melakukan permintaan IP Address kepada server, dan server memberikan alokasi bagi si client tersebut. Mekanisme ini akan sangat memberikan keuntungan bagi manajemen jaringan di karenakan proses setting IP Address tidak harus dilakukan manual untuk setiap client yang ada.
1. Instalasi Software yang diperlukan untuk membuah sebuah service DHCP adalah dhcp3-server. Untuk melakukan instalasi dhcp3-server lakukan perintah: D4V1D:~# mount /dev/dvd /cdrom (berfungsi untuk mengenalkan cd installernya / proses mounting) D4V1D:~# apt-get
install dhcp3-server
(untuk proses instalasi)
2. Konfigurasi File konfigurasi dhcp3-server terletak di file /etc/dhcp3/dhcpd.conf. Gunakan editor nano untuk melakukan editing terhadap file konfigurasi tersebut. Sebelum melakukan konfigurasi DHCP Server, beberapa hal harus kita perhatikan diantaranya: 1. Alokasi IP Address yang akan diberikan kepada client harus berada satu network dengan IP Address server 2. Tentukan rentang IP Address yang akan diberikan kepada client tersebut 3. Alokasi IP Address untuk si client harus pula dilengkapi dengan subnet, netmask, dns server, gateway, broadcast Edit file dhcpd.conf dengan perintah: D4V1D:~# nano /etc/dhcp3/dhcpd.conf Contoh konfigurasi DHCP yang saya buat, sesuai dengan IP yang telah kita setting pada pembuatan Router sebagai berikut. # A slightly different configuration for an internal subnet. subnet 192.168.1.0 netmask 255.255.255.192 { range 192.168.1.10 192.168.1.20; option domain-name-servers 172.16.16.1; option domain-name "bloganakkomputer.com"; option routers 192.168.1.1; option broadcast-address 192.168.1.63; default-lease-time 600; max-lease-time 7200; 33
}
Screenshoot dhcpd.conf Jangan lupa lakukan proses restart terhadap service setiap kali kita melakukan perubahan pada file konfigurasi: D4V1D:~# /etc/init.d/dhcp3-server restart
3. Pengujian Pengujian di Client Untuk melakukan pengujian di sisi client, beberapa hal harus dilakukan diantaranya: 1. Pastikan server dan client saling terkoneksi 2 . Lakukan proses pengaturan di sisi client bahwa settip IP Address di lakukan secara automatic. 1. Ikuti langkah-langkah berikut untuk melakukan setting di sisi client: Klik menu start - Control Panel Pilih Network Connection Pilih Local Area Network - klik kanan mouse - pilih Properties Pilih Internet Protocol (TCP/IP) - Pilih Properties Pilih opsi Obtain an IP address automatically Pilih opsi Obtain DNS server address automatically - tekan tombol OK
34
2. Setelah langkah diatas dilakukan, kita harus melakukan pengujian terhadap layanan service DHCP dari server. Ikuti langkah berikut: (a) Klik menu start - run ketik "cmd" . Maka akan muncul halaman dos prompt (b) Pada halaman Dos prompt tersebut lakukan perintah ipconf ig /release, pastikan bahwa IP address dari interface berubah menjadi 0.0.0.0 (c) Masih pada halaman yang sama ketikkan perintah ipconf ig /renew untuk memperoleh IP Address dari server. (d) Bila tidak terjadi kesalahan seharusnya client sudah mendapat IP Address dari server. Perhatikan gambar berikut yang membuktikan bahwa DHCP Server telah bekerja dan client memperoleh IP Address dari server.
35
Jika kita lihat Propertiesnya akan terlihat sebagai berikut.
Lalu coba kita ping gatewaynya..
Jika hingga langkah ini kita telah mendapat IP dari server dan ping gateway lancar berarti DHCP Server yang kita buat telah dapat berjalan dengan baik.Sekian tutorial tentang DHCP server dan selamat mencoba. 36
Web Server
Web atau World Wide Web (WWW) merupakan salah satu layanan internet yang paling populer. Bisa dikatakan, web adalah "wajahnya internet". Berbagai hal dapat ditampilkan di halaman web. Mulai dari text, gambar, video, music dan sebagainya. Protokol bernama HTTP (Hyper Text Transfer Protocol) bertanggung jawab menangani proses komunikasi antara client web dan server web. Kita akan belajar membangun web server menggunakan Apache (http://apache.org). Apache memerlukan DNS server. Proses resolve (konversi) hostname menjadi IP Address dilakukan oleh DNS server. Untuk setting DNS server sendiri dapat dilihat DISINI. Sehingga saya anggap, DNS server sudah terinstall dengan baik dan akan saya hubungkan dengan Web Server ini dengan nama bloganakkomputer.com. 1. Instalasi Pertama kali kita harus menginstall apache2 yang merupakan web server, php5 beserta lynx yang merupakan browser untuk mengujinya. Perintahnya : D4V1D:~# apt-get install apache2 php5 lynx 2. Konfigurasi Virtual Host Jenis virtual host yang paling banyak digunakan adalah Name Based Virtual Host. Dengan fitur ini maka memungkinkan satu server memiliki lebih dari satu nama virtual. Fitur virtual host ini sering dimanfaatkan untuk jasa web hosting. Fitur virtual host ini harus ditambahkan di file /etc/apache2/sites-available/default. Sebelum kita konfigurasi, kita backup dahulu dengan cara, D4V1D:~# cp /etc/apache2/sites-available/default default2 Kemudian kita edit file default apache dan menyesuikan setting sesuai yang kita kehendaki, caranya D4V1D:~# nano /etc/apache2/sites-available/default Dan tambahkan baris sehingga menjadi berikut ServerAdmin webmaster@localhost 37
ServerName www.bloganakkomputer.com DocumentRoot /var/www/
Konfigurasi file "default" Apache2 Restart apache2 dengan perintah D4V1D:~# /etc/init.d/apache2 restart Kemudian edit file /var/www/index.html dengan perintah D4V1D:~# nano /var/www/index.html Menjadi Selamat Datang di Blog Anak Komputer 3. Pengujian a. Apache Server Setiap kali anda melakukan proses editing terhadap file konfigurasi, pastikan anda selalu melakukan restart terhadap setiap service yang bersesuian. Sebagai catatan, sebaiknya lakukan konfigurasi sedikit-demi-sedikit kemudian lakukan proses restart. Hal tersebut dilakukan untuk menghindari kegagalan service akibat kesalahan konfigurasi. 1. Pengujian dari computer server secara langsung Untuk pengujian secara langsung dari tempat server dapat kita lakukan dengan cara, D4V1D:~# lynx www.bloganakkomputer.com Dan hasilnya seperti gambar di bawah ini.
38
Pengujian dari server dengan Lynx 2. Pengujian dari client Untuk pengujian dengan cara ini, pastikan IP client disetting dengna benar dan pastikan sudah terhubung ke server dengan baik dengan cara ping server. Lalu dengan browser computer client (Mozilla Firefox, Opera, Internet Explorer, dll) masukkan www.bloganakkomputer.com di bagian address. Kemudian akan muncul seperti gambar di bawah.
39
Pengujian dari komputer client dengan browser b. PHP5 Untuk uji coba apakah php sudah dapat berjalan dengan baik kita perlu beberapa setting dahulu. • Hapus file index.html dengan cara D4V1D:~# rm /var/www/index.html • Buat file index.php D4V1D:~# nano /var/www/index.php • Isi dengan phpinfo(); ?> • Simpan dan keluar. • Uji di computer server dengan D4V1D:~# lynx www.bloganakkomputer.com
40
•
Pengujian PHP dari server Dan pada computer client, dengan browser masukkan alamat www.bloganakkomputer.com
Pengujian PHP dari client Jika hasil uji kita sudah sesuai seperti di atas, maka dapat dipastikan web server kita sudah berjalan dengan baik (apache maupun php nya). Tinggal kita isi kontennya supaya web server 41
dapat terisi halaman-halaman web yang cantik. Nah cara memberikan kontennya, kita desain dahulu dengan web maker seperti Microsoft Frontpage ataupun Macromedia Dreamwaver, lalu dapat kita upload dengan teknik FTP atau dengan teknik lain. Untuk cara upload nya, mungkin akan saya jelaskan di kesempatan yang lain.
42
Virtual Host Untuk sesi kali ini, saya ingin berbagi konfigurasi Virtual Host yang merupakan lanjutan dari Web Server. Namun sebelumnya saya anggap dahulu bahwa Web Server, Mail Server dan DNS Server yang akan kita buat virtual host sudah terinstall dan dikonfigurasi serta dapat berjalan dengan lancar. Ok, langsung saja untuk konfigurasi Virtual Host ikuti langkah2 berikut.
1. Konfigurasi •
Edit apache2
D4V1D:~# nano /etc/apache2/sites-available/default • Ubah dan tambahkan dengan domain yang kita buat pada bagian paling bawah. Karena saya akan membuat www.bloganakkomputer.com, mail.bloganakkomputer.com, download.bloganakkomputer.com maka konfigurasinya akan menjadi:
43
44
• Buat juga folder untuk subdomain download (sebab saya membuat domain download.bloganakkomputer.com, jika subdomain anda berbeda, tinggal sesuikan saja). D4V1D:~# mkdir /home/download • Restart apache2 D4V1D:~# /etc/init.d/apache2 restart • Buat file index untuk www.bloganakkomputer.com (tapi biasanya sudah ada file default untuk www ini) D4V1D:~# nano /var/www/index.html Isi script html sesuai yang kita inginkan (dapat juga dengan php script). Contohnya Selamat Datang di Blog Anak Komputer • Buat file index juga untuk download.bloganakkomputer.com. D4V1D:~# nano /var/www/index.html Isi script html sesuai yang kita inginkan (dapat juga dengan php script). Contohnya Ini adalah halaman Download Bloganakkomputer • Untuk index mail.bloganakkomputer.com tidak perlu dibuat sebab kita hanya mengarahkan saja ke index squirrelmail yang telah kita buat.
2. Pengujian Untuk pengujian, akan saya coba dari computer client dengan browser Mozilla Firefox (atau dapat dengan browser yang lain). Pertama buka www.bloganakkomputer.com, maka akan keluar:
45
Lalu kita buka mail.bloganakkomputer.com dan akan keluar:
Dan yang terakhir kita buka download.bloganakkomputer.com dan akan keluar:
46
Jika telah berhasil keluar halaman sesuia yang kita buat, berarti Virtual Host kita telah bekerja dengan baik. Namun jika belum keluar, cek sekali lagi mungkin konfigurasi apache2 atau file index yang kita buat salah tempat. Sekian.
47
Mail Server E-mail merupakan aplikasi internet yang banyak digunakan saat ini untuk komunikasi dua arah. Selain karena kemudahan dalam penggunaannya juga karen kemurahan teknologi yang ditawarkan oleh email ini. E-mail singkatan dari electronic mail juga dapat dianalogikan dengan pengiriman surat yang umum digunakan saat ini melalui kantor pos, atau melalui jasa pengirim surat atau barang. Pengiriman email dilakukan melalui perangakat elektronik seperti HP/PDA. Proses pengiriman/penerimaan e-mail melibatkan protokol Simple Mail Transfer Protocol (SMTP) dan Post Office Protocol verson 3 (POP3). Protokol SMTP bertugas untuk mempros-es pengiriman mail (Outgoing mail) dan PHP3 bertugas untuk memproses penerimaan mail (Incoming mail). Jika user atau pemilik e-mail tidak sedang aktif/off-line untuk mengakses e-mail, maka e-mail yang tertuju kepadanya akan ditampung sementara oleh server e-mail sampai pemilik email tersebut mengaksesnya. Hal ini bisa terjadi karena adanya protokol POP3. Untuk instalasi kali ini saya asumsikan bahwa DNS server sudah terinstall dengan baik, dan jika ingin melihat konfigurasi DNS server sebelumnya dapat dilihat disini. Langkah-Langkah membuat mail server seperti berikut. Instalasi Postfix adalah aplikasi yang akan kita installkan untuk membangung sebuah mail server. Untuk melengkapi mail server kita harus menginstallkan software lain yaitu php5, courier-pop, courierimap, dan Squirrelmail. a. Perintahnya D4V1D:~# apt-get install postfix courier-imap courier-pop php5 squirrelmail b. Maka akan keluar pilihan Configuring courier-base
48
c.
Pilih No Lalu keluar Postfix Configuration, pilih Local Only (sebab kita hanya akan menginstall mail server dalam skala local sebagai uji coba dahulu).
49
d. Untuk system mail name masukkan bebas, dan saya pilih mail.bloganakkomputer.com
Konfigurasi a. Konfigurasi postfix pada file main.cf D4V1D:~# nano /etc/postfix/main.cf Tambahkan tanda # pada bagian mydestination dan mailbox_command. Tambahkan pada baris terakhir home_mailbox = Maildir/ Sehingga akan menjadi seperti gambar berikut.
b. Kemudian masuk direktori skel dan buat direktori Maildir D4V1D:~# cd /etc/skel/ D4V1D:/etc/skel# maildirmake Maildir c.
Konfigurasi squirrelmail Buat konfigurasi untuk squirrelmail. 50
D4V1D:~# squirrelmail-configure Kemudian akan muncul
Masukkan command Command >> d Lalu ketik courier Command >> courier Lalu akan keluar konfigurasi imap_server_type = courier default_folder_prefix = INBOX. trash_folder = Trash sent_folder = Sent draft_folder = Drafts show_prefix_option = false default_sub_of_inbox = false show_contain_subfolders_option = false optional_delimiter = . delete_folder = true Press any key to continue... Tekan enter Save data Command >> s Lalu Quit Command >> q d. Buat Virtualhost squirrelmail dengan cara edit /etc/apache2/apache2.conf D4V1D:~# nano /etc/apache2/apache2.conf Pada baris terakhir tambahkan, Include /etc/squirrelmail/apache.conf Sehingga menjadi
51
e.
Restart Apache D4V1D:~# /etc/init.d/apache2 restart
Pengujian A. Dari computer server D4V1D:~# lynx bloganakkomputer/squirrelmail Sehingga akan keluar
Untuk uji coba apakah mail server sudah dapat berjalan dengan benar, kita perlu login, maka kita akan membuat user dahulu dari server dengan perintah D4V1D:~# adduser angela Adding user `angela' ... Adding new group `angela' (1003) ... Adding new user `angela' (1003) with group `angela' ... 52
Creating home directory `/home/angela' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for angela Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] y
•
Untuk melakukan test konfigurasi mail server pada local mesin (server) ikuti langkah-langkah di bawah ini : Masuk ke localmesin D4V1D:~# telnet localhost 25
•
Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 bloganakkomputer.com ESMTP Postfix (Debian/GNU) kemudian ketikan perintah di bawah ini Anda : ehlo virtual.test 250-bloganakkomputer.com 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN Anda: mail from:
[email protected] Server: 250 2.1.0 Ok Anda: rcpt to:
[email protected] Server: 250 2.1.5 Ok Anda: data Server: 354 End data with . Anda: Subject:mencoba kirim email 53
Hai,... Namaku Angela . (tanda titik) Server: 250 2.0.0 Ok: queued as 17B2F503BA Anda: quit Server: 221 2.0.0 Bye
Screenshoot Langkah Telnet
54
Langkah di atas merupakan langkah untuk mengirim email ke
[email protected] yang merupakan user default (saat instalasi) dengan user
[email protected] yang merupakan user kedua dengan program telnet. Apakah email di atas telah terkirim ke user david? Mari kita cek dari computer client. B. Dari computer client Dari computer client dengan browser, buka http://bloganakkomputer.com/squirrelmail Masukkan username dan passwordnya, enter.
Buka Inbox dan cek Inbox.
55
Coba kita buka.
Lalu coba balas, dengan memilih reply.
56
Kemudian logout dan login dengan user angela. Cek Inboxnya, bila sudah terkirim, maka mail server yang kita bangun telah berhasil. Sampai langkah ini, bila proses mengirim (baik dari telnet maupun dari browser internet client) dan menerima telah berhasil, maka dapat kita pastikan mail server telah dapat berjalan lancar. Namun sebenarnya ada yang masih kurang dengan alamat domainnya. Kita harus memasukkan alamat http://bloganakkomputer.com/squirrelmail untuk dapat mengaksesnya. Bagaimana caranya, supaya untuk dapat mengaksesnya dengan alamat http://mail.bloganakkomputer.com/ ? Akan saya bahas di bagian berikutnya pada bagian Virtual Host.
57
Proxy Untuk Sekolahan
Kali ini saya akn menshare pembuatan proxy yang saya lakukan untuk keperluaan sekolah, akan tetapi tulisan ini bisa anda terapan di tempat usaha anda (warnet misalnya) atau perusahaan anda. untuk proxy kali ini saya gabung dengan router sehingga langsung terintegrasi router dengan proxy. langsung aja deh. 1. Install Distro Debian anda (mode text ya) Soale kalau untuk anak tkj aku suruh buat dengan mode text, kalau untuk anda terserah deh. 2. kalau sudah kita lanjutkan dengan setting proxy kita 3. Install paket #apt-get install squid 4. Stop services squid #/etc/init.d/squid stop 5. Setting squid.conf kalau saya buat aku hapus semua dan aku ganti dengan ini http_port 3128 transparent icp_port 3130 udp_incoming_address 0.0.0.0 udp_outgoing_address 255.255.255.255 hierarchy_stoplist cgi-bin ? acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY #PENDEFINISIAN CACHE cache_mem 1000 MB cache_swap_low 90 cache_swap_high 95 connect_timeout 1 minutes 58
negative_ttl 5 minutes read_timeout 15 minutes request_timeout 5 minutes persistent_request_timeout 1 minutes client_lifetime 5 day pconn_timeout 120 seconds shutdown_lifetime 30 seconds maximum_object_size 20480 KB minimum_object_size 0 KB maximum_object_size_in_memory 4096 KB ipcache_size 1024 ipcache_low 90 ipcache_high 95 fqdncache_size 1024 cache_replacement_policy lru memory_replacement_policy lru cache_dir ufs /var/spool/squid 50000 16 256 cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log cache_store_log /var/log/squid/store.log log_ip_on_direct on debug_options ALL,1 client_netmask 255.255.255.255 ftp_user Squid@ ftp_list_width 32 ftp_passive on ftp_sanitycheck on ftp_telnet_protocol on redirect_children 10 auth_param basic children 10 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive off refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320 quick_abort_min 16 KB quick_abort_max 16 KB quick_abort_pct 95 ##Memblock Akses Internet dari jam 18:00 sore sampai jam 08:00 pagi #acl not-akses time MTWHFA 00:59-07:00 18:00-24:00 ##Memblock Domain terlarang acl kata_1 dstdomain "/etc/squid/situs" #Memblock Kata - kata terlarang acl kata_2 url_regex -i "/etc/squid/kata" acl all src 0.0.0.0/0.0.0.0 59
acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 563 6667 7000 acl Safe_ports port 80 acl Safe_ports port 81 acl Safe_ports port 21 acl Safe_ports port 443 563 acl Safe_ports port 70 acl Safe_ports port 210 acl Safe_ports port 1025-65535 acl Safe_ports port 280 acl Safe_ports port 488 acl Safe_ports port 591 acl Safe_ports port 777 110 acl Safe_ports port 4461 acl Safe_ports port 5050 acl CONNECT method CONNECT http_access deny kata_1 http_access deny kata_2 #http_access deny not-akses http_access allow manager localhost acl sekolahan src 192.168.100.1/25 acl bebaspakai src 192.168.100.128/25 http_access allow sekolahan http_access allow bebaspakai http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access deny all http_reply_access allow all icp_access allow all miss_access allow all cache_mgr admin visible_hostname xwaja.web.id logfile_rotate 10 buffered_logs off snmp_port 3401 snmp_access allow localhost snmp_access deny all snmp_access deny all coredump_dir /var/spool/squid ie_refresh on ##Delay pools acl download url_regex -i ftp \.exe$ \.mp3$ \.mp4$ \.tar.gz$ \.gz$ \.tar.bz2$ \.rpm$ \.zip$ \.rar$ 60
acl download url_regex -i \.avi$ \.mpg$ \.mpeg$ \.rm$ \.iso$ \.wav$ \.mov$ \.dat$ \.mpe$ \.mid$ acl download url_regex -i \.midi$ \.rmi$ \.wma$ \.wmv$ \.ogg$ \.ogm$ \.m1v$ \.mp2$ \.mpa$ \.wax$ acl download url_regex -i \.m3u$ \.asx$ \.wpl$ \.wmx$ \.dvr-ms$ \.snd$ \.au$ \.aif$ \.asf$ \.m2v$ acl download url_regex -i \.m2p$ \.ts$ \.tp$ \.trp$ \.div$ \.divx$ \.mod$ \.vob$ \.aob$ \.dts$ acl download url_regex -i \.ac3$ \.cda$ \.vro$ \.deb$ delay_pools 1 delay_class 1 1 delay_parameters 1 16000/16000 delay_access 1 allow download delay_access 1 deny all
6. Kita buat situs dan kata yang akan di blok untuk situs #nano /etc/squid/situs Isi kan file tersebut : seksbebas.com facebook.com #nano /etc/squid/kata Isi kan file tersebut : sex ngentot 7. Membuat swap squid #squid -z 8. Konfigurasi rc.local Beri tambahan di atas exit 0 iptables -t nat -A PREROUTING -s 192.168.78.0/24 -p tcp --dport 80 -j REDIRECT --toports 3128 untuk ip 192.168.78.0 diganti alamat network ip yang ke client 9. Restart pc anda
61
DNS Server Master & Slave Tanpa banyak penjelasan lengkap tentang DNS anda bisa lihat di Wikipedia. Pada pembahasan kali ini akan dijelaskan bagaimana membuat DNS server master dan slave untuk menangani satu domain atau lebih. Contoh kasus disini adalah domain yang saya beli kurang hampir dua minggu. Domain web ini yaitu “mbalelo.info”. Saya beli cuma 25 rb di Ardhosting. Cukup murahkan untuk sebuah experiman. Fasilitas control panel termasuk lengkap sehingga kita bisa assign child nameserver untuk domain ini dengan mudah. Untuk domain ini child nameserver yang saya assign adalah ns1.mbalelo.info untuk ip 124.81.224.211 dan ns2.mbalelo.info 124.81.224.210. Sebenarnya sangat tidak dianjurkan untuk meletakkan nameserver pada blok ip yang sama dan alokasi yang sama. Lebih baik lagi apabila salah satu nameserver diletakkan ditempat lain dengan geografis beda misalkan diluar negeri, sehingga apabila ada gangguan atau bencana domain tidak akan mati. Karena keterbatasan tempat dan tidak ada server ditempat lain cukuplah 2 server yang ada saya pakai sebagai sarana ujicoba/experimen. Untuk server saya menggunakan FreeBSD 6.1 dengan Bind 9.3.2 dan FreeBSD 5.4 dengan Bind 9.3.1 yang sudah bulit in didalamnya. Untuk mengaktifkan bind setiap kali startup tambahkan parameter pada rc.conf # ee /etc/rc.conf named_enable=”YES” named_flags=”-u bind” Pada Bind versi 9 terdapat utility yang digunakan utntuk mengontrol bind yaitu “rndc”. Agar rndc bisa digunakan setidaknya ada 2 file yang harus kita buat yaitu “rncd.conf” dan “rndc.key” yang diletakkan pada direktori “/etc/named”. Untuk membuat file tersebut dipakai command rndc-confgen # rndc-confgen # Start of rndc.conf key “rndc-key” { algorithm hmac-md5; secret “8EQdlGbpeIO2/I7yLJP5CQ==”; }; options { default-key “rndc-key”; default-server 127.0.0.1; default-port 953; }; # End of rndc.conf # Use with the following in named.conf, adjusting the allow list as needed: #key “rndc-key” { # algorithm hmac-md5; 62
# secret “8EQdlGbpeIO2/I7yLJP5CQ==”; #}; # #controls { # inet 127.0.0.1 port 953 # allow { 127.0.0.1; } keys { “rndc-key”; }; #}; # End of named.conf Ok setelah itu kita pisahkan masing2 konfigurasi berdasarkan letaknya pada file masing2 # ee /etc/named/rndc.conf key “rndc-key” { algorithm hmac-md5; secret “8EQdlGbpeIO2/I7yLJP5CQ==”; }; options { default-key “rndc-key”; default-server 127.0.0.1; default-port 953; }; Sedangkan rndc.key saya letakkan pada # ee /etc/namedb/rndc.key key “rndc-key” { algorithm hmac-md5; secret “8EQdlGbpeIO2/I7yLJP5CQ==”; }; Lakukan langkah yang sama pada pembuatan file rndc.conf dan rndc.key pada DNS server Slave. Berikutnya akan kita bahas file named.conf yang berisi konfigurasi bind. Kita bagi pembahasan file named.conf ini, untuk file named.conf pada DNS server master dan named.conf untuk DNS server slave. # ee /etc/namedb/named.conf (pada DNS server master) acl slave { 124.81.224.210/32; 124.81.252.55/32; }; options { directory “/etc/namedb”; pid-file “/var/run/named/pid”; dump-file “/var/dump/named_dump.db”; statistics-file “/var/stats/named.stats”; allow-transfer { slave; }; recursion no; notify yes; }; 63
controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { “rndc-key”; }; }; key “rndc-key” { algorithm hmac-md5; secret “8EQdlGbpeIO2/I7yLJP5CQ==”; }; zone “.” { type hint; file “named.root”; }; zone “0.0.127.IN-ADDR.ARPA” { type master; allow-update { none; }; file “master/db.127.0.0.1”; }; zone “localhost” { type master; allow-update { none; }; file “master/db.localhost”; }; zone “mbalelo.info” { type master; allow-update { none; }; file “master/db.mbalelo.info”; }; Pada konfigurasi diatas kita buat acl (Access Control) “acl slave” untuk mengatur server hostname mana yang boleh menerima tranfer zone. Opitons “recursion no” dengan option ini kita hanya memberikan jawaban query atas domain yang kita pegang (Authoritative Domain) dalam hal ini mbalelo.info. Selain domain tersebut maka DNS server tidak akan memberikan jawaban atas query selain domain mbalelo.info. Selain mengurangi resiko DNS cache poisoning atau resiko sekurity lainnya. Option ini juga akan meningkatkan performa DNS server karena kita tidak akan memberikan jawaban atas query domain yang lain. Options “notify yes” artinya setiap perubahan zone server master akan memberikan notify ke server slave untuk mengadakan update pada zone yang bersangkutan. Berikutnya adalah zone pointer dan reverse localhost seperti dibawah ini: # ee /etc/namedb/master/db.127.0.0.1 $TTL 86400 @ IN SOA localhost. root.localhost. ( 2006081613 ; serial 28800 ; refresh 14400 ; retry 3600000 ; expiry 64
86400 ) ; minimum IN NS localhost. 1 IN PTR localhost. # ee /etc/namedb/master/db.localhost $TTL 86400 $ORIGIN localhost. @ IN SOA localhost. root.localhost. ( 2006081613 ; serial 28800 ; refresh 14400 ; retry 3600000 ; expiry 86400 ) ; minimum IN NS localhost. IN A 127.0.0.1 Untuk zone mbalelo.info sebagai berikut: # ee /etc/namedb/master/db.mbalelo.info $TTL 86400 @ IN SOA ns1.mbalelo.info. info.mbalelo.info. ( 2007012602 ; Serial (YYYYMMDDnn) 10800 ; Refresh 3600 ; Retry 604800 ; Expire 86400 ) ; Negative Cache TTL IN NS ns1.mbalelo.info. IN NS ns2.mbalelo.info. IN MX 10 mail.mbalelo.info. IN A 124.81.224.211 ns1 IN A 124.81.224.211 ns2 IN A 124.81.224.210 mail IN A 124.81.224.211 www IN CNAME mbalelo.info. ftp IN CNAME mbalelo.info. download IN CNAME mbalelo.info. Standart format serial untuk zone adalah (YYYYMMDDnn) “nn” adalah revisi zone. Setiap kali ada perubahan zone sebaliknya merubah serial zone. Misalkan kita dalam sehari melakukan beberapa kali update zone revisi sebaliknya berybah seperti 01 atau 02 sebanyak revisi yang kita lakukan. Secara tidak langsung juga untuk memberitahukan DNS Server Slave untuk mengupdate zonenya. SPF secara record disini berfungsi untuk mencegah spammer menggunakan domain untuk tujuan spam. Lebih jelasnnya lihat websitenya tentang format penulisan atau memanfaatkan wizard yang ada. Berikut adalah file konfigurasi DNS Server Slave yang hampir sama dengan file konfigurasi server master. Untuk pembuatan file rndc.conf dan rndc.key sama dengan langkah yang dijelaskan diatas. Kita langsung saja pada file konfigurasi Bindnya. # ee /etc/namedb/named.conf (Pada DNS Server Slave) 65
options { directory “/etc/namedb”; pid-file “/var/run/named/pid”; dump-file “/var/dump/named_dump.db”; statistics-file “/var/stats/named.stats”; recursion no; notify no; }; key “rndc-key” { algorithm hmac-md5; secret “reseHZh2qBABma1zjrT3/A==”; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { “rndc-key”; }; }; zone “.” { type hint; file “named.root”; }; zone “0.0.127.IN-ADDR.ARPA” { type master; file “master/db.127.0.0.1”; }; zone “localhost” { type master; file “master/db.localhost”; }; zone “mbalelo.info” { type slave; file “slave/db.mbalelo.info”; masters { 124.81.224.211; }; }; Konfigurasi DNS server Slave tidak jauh beda dengan Master cuman parameter type disini adalah slave yang menyatakan server ini adalah DNS server slave dan ada tambahan parameter master yang diberitahukan DNS server slave harus mengambil dari mana update zone yang dipegangnya. Kemudian karena kita menjalankan bind dengan user bind maka kita harus rubah permission untuk file2 zone pada direktori /etc/namedb. Server Master: #cd /etc/namedb/master #chown bind* db.* 66
Server Slave: #cd /etc/namedb/slave #chown bind* db.* Setelah konfigurasi selesai maka berikutnya adalan menjalankan DNS server.Jalankan terlebih dahulu server master baru kemudian server slave. #/usr/sbin/named -u bind Cek pesan server ketika bind dijalankan: # tail -f /var/log/messages Bila sukses pesan yang ditampilkan adalah sebagai berikut: Jan 23 10:35:31 ns1 named[28558]: starting BIND 9.3.2 -u bind Jan 23 10:35:31 ns1 named[28558]: command channel listening on 127.0.0.1#953 Jan 23 10:35:31 ns1 named[28558]: running Kemudian jalankan DNS Server Slave dan cek apakah file database zone telah ditransfer ke dalam direktori /etc/namedb/slave.Jika sudah maka proses testing server sudah selesai dan anda telah berhasil membuat DNS Server Master dan Slave.Jika file database zone belum ditransfer maka kita bisa secara manual mengkopi file database untuk zone tersebut ke server slave.Kemudian kita jalankan command rndc reload atau rndc reconfig untuk mereload konfigurasi atau zone yang baru. Ok setelah semua konfigurasi selesai coba cek domain yang anda buat dengan DNS tools yang banyak di internet seperti DNS Report atau Checkdns.
Daftar Pustaka 67
bloganakkomputer.com satujamsaja.org
68