Anda di halaman 1dari 38

Administrasi Jaringan

Debian GNU/Linux
Debian adalah salah satu distro linux yang ada di dunia, dibangun oleh komunitas yang sangat
besar yang tidak dibayar oleh perusahaan mana pun. Misi utama Debian adalah membuat
suatu distro Linux yang handal, aman, dan tangguh untuk menjalankan berbagai keperluan
server dalam suatu jaringan.
Pada pelatihan ini kita menggunakan Debian GNU/Linux Lenny. Beberapa kelebihan yang
dapat kita temukan pada debian adalah:
1. Debian menyediakan paket-paket program dalam jumlah yang sangat besar, yakni
(untuk release Lenny) sekitar 15 GB – 20 CD.
2. Instalasi/deinstalasi paket-paket tersebut sangat mudah, yakni selain dengan
menggunakan dpkg, kita juga bisa menggunakan apt. Dengan apt kita dapat
menyebutkan dart sumber mana kita akan memperoleh paket-paket program yang kita
gunakan dalam instalasi entail itu melalui CD, atau melalui mirror yang tersebar di
seluruh dunia. Tentu saja untuk menggunakan fasilitas mirror ini kita harus
mempunyai koneksi internet.
3. Secara desain, konfigurasi yang perlu dilakukan di Debian cukup sederhana walaupun
mungkin bagi pemula hal ini tidak begitu terasa.
4. Mempunyai tim update keamanan program-program paket Debian yang sangat sigap,
sehingga hampir dapat dipastikan bahwa jarak antara ditemukannya lubang keamanan
pada suatu software dengan keluarnya perbaikan untuk lubang itu kurang dari 24 jam.
Hal ini sangat membantu kita dalam membantu mengatur keamanan yang ada pada
server-server kita. Pusat keamanan Debian dapat dilihat pada
http://security.debian.org.
Selain kelebihan yang telah disebutkan di atas, Debian juga memiliki beberapa kekurangan di
antaranya:
1. Program-program yang terdapat pada release stable tidak akan diupdate sampai
dengan release stable yang berikutnya sehingga program-program ini cepat terasa
tua/ketinggalan jaman.
2. Tidak terdapat GUI (Graphical User Interface) yang dapat digunakan untuk
memanajemen beberapa aspek software/hardware pada Debian sehingga bagi pemula
mempelajari Debian pada awalnya akan terasa sangat sulit.

Instalasi Debian Base System

Masukkan CD Instalasi Debian Lenny ke CD-ROM dan boot server dari CD tersebut. Pilih
Install (opsi ini akan menjalankan proses instalasi berbasi teks – jika anda lebih senang
dengan proses instalasi grafik, pilih Graphical install):

1 syukhri@unp.ac.id
Administrasi Jaringan

Pilih bahasa :

Kemudian pilih lokasi anda :

2 syukhri@unp.ac.id
Administrasi Jaringan

Pilih layout keyboard :

3 syukhri@unp.ac.id
Administrasi Jaringan

Installer akan memeriksa CD Instalasi, hardware anda dan mengkonfigurasi jaringan dengan
DHCP jika DHCP server ada dalam jaringan :

4 syukhri@unp.ac.id
Administrasi Jaringan

Ketikan hostname, Dalam contoh ini dinamakan server1.example.com, maka saya ketikan
server1:

5 syukhri@unp.ac.id
Administrasi Jaringan

Masukan nama domain, misalnya example.com:

Sekarang anda harus melakukan partisi pada harddisk. Untuk mudahnya buat satu partisi
(dengan mount point) dan partisi swap. Pilih Guided - use entire disk :

6 syukhri@unp.ac.id
Administrasi Jaringan

Pilih harddisk yang ingin di partisi :

Kemudian tentukan skema partisi. Pilih I select All files in one partition (recommended for
new users :

7 syukhri@unp.ac.id
Administrasi Jaringan

Setelah yakin, pilih Finish partitioning and write changes to disk :

Pilih Yes ketika muncul konfirmasi Write changes to disks? :

8 syukhri@unp.ac.id
Administrasi Jaringan

Partisi baru di buat dan di format :

Instalasi base system sedang dilakukan :

9 syukhri@unp.ac.id
Administrasi Jaringan

Setelah itu, anda akan diminta untuk memasukan password user root :

Masukan kembali password user root pada halaman konfirmasi :

10 syukhri@unp.ac.id
Administrasi Jaringan

Buat sebuah user biasa, misalnya user Administrator dengan username administrator (jangan
gunakan username admin karena user admin adalah user cadangan pada Debian Lenny) :

11 syukhri@unp.ac.id
Administrasi Jaringan

Selanjutnya anda harus mengkonfigurasi apt karena kita hanya menggunakan CD installer
Debian Lenny 1. Anda harus menggunakan mirror. Pilih negara mirror yang ingin digunakan :

12 syukhri@unp.ac.id
Administrasi Jaringan

Kemudian tentukan mirror yang ingin digunakan misalnya ftp2.de.debian.org) :

Jika jaringan yang saat ini terkoneksi menggunakan proxy, masukkan informasi proxy. Jika

13 syukhri@unp.ac.id
Administrasi Jaringan

tidak biarkan tetap kosong dan tekan Continue:

Apt akan melakukan update pada database paket :

14 syukhri@unp.ac.id
Administrasi Jaringan

Anda dapat mengabaikan paket permintaan survei dengan memilih No :

Kita membutuhkan sebuah Web server, DNS server, Mail server, and a MySQL database, tapi
untuk saat ini kita tidak akan menginstall secara otomatis. Instalasi akan kita lakukan secara
manual. Oleh karena itu cukup pilih Standard system dan tekan Continue:

15 syukhri@unp.ac.id
Administrasi Jaringan

Semua paket yang dibutuhkan akan di download dan di install pada system :

Pilih Yes saat muncul konfirmasi Install the GRUB boot loader to the master boot record :

16 syukhri@unp.ac.id
Administrasi Jaringan

Instalasi base system telah selesai. Keluarkan CD installer Debian Lenny dari CD ROM dan
tekan Continue untuk melakukan proses Reboot :

17 syukhri@unp.ac.id
Administrasi Jaringan

Install The SSH Server

Debian Lenny tidak menginstalasi OpenSSH secara default, untuk itu kita harus melakukan
instalasi OpenSSH. Jalankan :

apt-get install ssh openssh-server


Anda bisa gunakan SSH client seperti PuTTY, SSH Secure Shell atau lainnya.

Install vim-nox (Optional)

Dalam pelatihan ini kita akan menggunakan teks editor vim. Secara standar vim tidak
otomatis diinstall di Debian. Untuk itu install vim dengan cara sebagai berikut :

apt-get install vim

Setting Network Pada Debian


Pada intinya, setting network pada debian ditentukan oleh beberapa file yaitu:
/etc/network/interfaces
/ete/sysctl.donf

/etc/network/interfaces
File ini memuat konfigurasi IP yang akan digunakan oleh Network Interface yang terpasang
pada suatu komputer. Selain alamat IP, file ini juga menyimpan informasi tentang routing. Di
bawah ini adalah salah satu contoh isi file /etc/network/intefaces:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface


auto lo
iface lo inet loopback

# The primary network interface


auto eth0
iface eth0 inet static
address 192.168.194.100
netmask 255.255.255.0
network 192.168.194.0
broadcast 192.168.194.255
gateway 192.168.194.1

Kata auto, yang mendahului nama suatu interface menandakan bahwa interface tersebut akan
dinyalakan secara otomatis pada saat booting. Interface lo tidak memiliki konfigurasi IP
karena lo digunakan sebagai loophack sehingga memiliki IP yang pasti yakni 127.0.0.1.
Alamat IP ini digunakan oleh komputer untuk berkomunikasi dengan dirinya sendiri.
Konfigurasi untuk eth0 harus diberikan karena interface ini dikonfigurasi menggunakan IP

18 syukhri@unp.ac.id
Administrasi Jaringan

statis. Parameter-parameter yang harus disebutkan untuk jenis interface static adalah:
Address : menentukan IP address yang digunakan suatu komputer.
Network : menentukan Network Address komputer.
Netmask : menentukan subnet mask network komputer.
Broadcast : menentukan alamat broadcast yang digunakan komputer untuk memperkenalkan
diri pada jaringan.
Gateway : menentukan default gateway yang digunakan apabila komputer tersebut
mengirimkan paket data Ice luar jaringan anggotanya.
Setelah selesai melakukan perubahan pada file ini anda dapat mengaktifkan setting ini dengan
menjalankan perintah:
syukhri:-# /etc/init.d/networking start
Untuk memeriksa apakah setting ini sudah benar, perintah di bawah ini dapat digunakan.
syukhri:-# /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 00:10:83:01:18:41
inet addr:192.168.194.100 Bcast:192.168.194.255 Mask:255.255.255.0
inet6 addr: fe80::210:83ff:fe01:1841/64 Scope:Link UP
BROADCAST RUNNING PROMISC MULTICAST MTU:1500 MetrIc:1 RX
packets:116392026 errors:0 dropped:0 overruns:0 frame:0 TX
packets:172631398 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1681468257 (1.5 GiB) TX bytes:3669393927 (3.4 GIB)
Interrupt:9 Base address:Oxece0
lo Link encap:Local Loopback
inept add:110.11.0.1 MaA:1
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1964988 errors:0 dropped:0 overruns:0 frame:0
TX packets:1964988 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1906725465 (1.7 GiB) TX bytes:1906725465 (1.7 GIB)
Bila jawaban yang didapat mirip dengan yang di atas maka berarti setting IP sudah berhasil.
Kemudian untuk memeriksa tabel routing dapat dilakukan perintah seperti di bawah ini.
syukhri:-# /sbin/route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.194.0 0.0.0.0 255.255.255.0 U 0 0 0 eLhO
0.0.0.0 192.168.194.1 0.0.0.0 UG 0 0 0 eth0

Tabel di atas menjelaskan bahwa paket-paket IP yang ditujukan pada network 192.168.194.0
dikirimkan langsung tanpa melewati gateway, sedangkan untuk network yang lain dikirimkan
melalui gateway dengan alamat IP 192.168.194.0.

/etc/sysctl.conf
File ini memuat beberapa pilihan yang dijalankan saat proses booting. Selain beberapa
parameter jaringan, setting parameter kernel yang lain juga dapat dilakukan.
Secara default, isi file ini kurang lebih seperti di bawah ini :
# /etc/sysctl.conf - Configuration file for setting system variables
# See /etc/sysctl.d/ for additonal system variables
# See sysctl.conf (5) for information.

19 syukhri@unp.ac.id
Administrasi Jaringan

#kernel.domainname = example.com

# Uncomment the following to stop low-level messages on console


#kernel.printk = 4 4 1 7

##############################################################3
# Functions previously found in netbase
#

# Uncomment the next two lines to enable Spoof protection (reverse-path


filter)
# Turn on Source Address Verification in all interfaces to
# prevent some spoofing attacks
#net.ipv4.conf.default.rp_filter=1
#net.ipv4.conf.all.rp_filter=1

# Uncomment the next line to enable TCP/IP SYN cookies


# This disables TCP Window Scaling (http://lkml.org/lkml/2008/2/5/167),
# and is not recommended.
#net.ipv4.tcp_syncookies=1

# Uncomment the next line to enable packet forwarding for IPv4


#net.ipv4.ip_forward=1

# Uncomment the next line to enable packet forwarding for IPv6


#net.ipv6.conf.all.forwarding=1

###################################################################
# Additional settings - these settings can improve the network
# security of the host and prevent against some network attacks
# including spoofing attacks and man in the middle attacks through
# redirection. Some network environments, however, require that these
# settings are disabled so review and enable them as needed.
#
# Ignore ICMP broadcasts
#net.ipv4.icmp_echo_ignore_broadcasts = 1
#
# Ignore bogus ICMP errors
#net.ipv4.icmp_ignore_bogus_error_responses = 1
#
# Do not accept ICMP redirects (prevent MITM attacks)
#net.ipv4.conf.all.accept_redirects = 0
#net.ipv6.conf.all.accept_redirects = 0
# _or_
# Accept ICMP redirects only for gateways listed in our default
# gateway list (enabled by default)
# net.ipv4.conf.all.secure_redirects = 1
#
# Do not send ICMP redirects (we are not a router)
#net.ipv4.conf.all.send_redirects = 0
#
# Do not accept IP source route packets (we are not a router)
#net.ipv4.conf.all.accept_source_route = 0
#net.ipv6.conf.all.accept_source_route = 0
#
# Log Martian Packets
#net.ipv4.conf.all.log_martians = 1
#

20 syukhri@unp.ac.id
Administrasi Jaringan

# The contents of /proc/<pid>/maps and smaps files are only visible to


# readers that are allowed to ptrace() the process
# kernel.maps_protect = 1

Pada jaringan IPv4 hanya 3 pilihan yang perlu kita cermati pada file di atas yaitu rp_filter,
top syncookies, dan default.forwarding.
Konfigurasi pertama menunjukkan bahwa perlindungan ipspoof aktif. Ada baiknya pilihan
ini selalu yes untuk menghindari terjadinya spoofing alamat IP kita oleh orang. Namun
demikian pada skenario routing yang kompleks seperti asynchronous source routing, opsi ini
biasanya tidak boleh aktif.
Konfigurasi kedua menyatakan bahwa syncookies tidak diaktifkan. Pilihan ini bertujuan
untuk membatasi jumlah usaha membuat koneksi baru dari komputer lain ke komputer kita.
Bila komputer kita menerima semua request secara serentak dengan jumlah banyak, besar
kemungkinan bahwa komputer kita akan hang dalam waktu singkat.
Konfigurasi ketiga menunjukkan bahwa komputer ini tidak digunakan untuk mem-forward
paket data yang diterimanya ke komputer lain. Default.forwarding harus diset 1 bila
memang komputer ini dibangun untuk bertindak sebagai router.

Apache Web Server


Beberapa tahun belakangan ini Apache telah menjadi program web server yang paling banyak
digunakan di dunia. Apache dipakai oleh lebih dari 50% web server di seluruh dunia dan
mengalahkan program web server lainnya yang dikeluarkan oleh beberapa perusahaan besar
seperti IIS dari Microsoft, dan Netscape Netcenter dari Netscape.
Pada bab ini akan dibahas cara administrasi dan konfigurasi sederhana dari Apache Web
Server pada Debian. Cakupan dari konfigurasi apache sangat luas sehingga kita hanya akan
membahas hal-hal yang bersifat pokok saja. Untuk dokumentasi yang lengkap anda dapat
melihat di website apache (httpd.apache.org). Anda juga dapat membaca buku-buku yang
membahas mengenai Apache Web Server ini, atau mencari sumber-sumber bacaan lain yang
tersebar luas di internet.
Apache adalah salah satu program yang memerlukan komputer dengan performa tinggi karena
memang proses yang dijalankan oleh apache bukanlah proses yang memerlukan resource
kecil. Pada webserver dengan skala kecil mungkin hal ini tidaklah begitu terasa, namun
apabila website anda mulai diakses oleh lebih dari 50 pengunjung per menit maka beban keija
pada komputer akan mulai terasa, terlebih lagi jika webserver anda diakses oleh ribuan
pengunjung seperti google, altavista, dan yahoo.

Instalasi Apache
Pada pelatihan ini kita menggunakan Apache2. Instalasi apache di Debian cukup mudah,
hanya dengan menggunakan apt-get seperti pada contoh di bawah ini.
syukhri:-# apt-get install apache2
Apt akan menambahkan paket-paket lainnya yang diperlukan agar apache dapat berjalan
dengan lancar.
Setelah apache terinstall, anda dapat menjalankan/menghentikan jalannya apache dengan

21 syukhri@unp.ac.id
Administrasi Jaringan

menggunakan perintah:
syukhri:-# /etc/init.d/apache2 [start|stop|restart]
Untuk mencoba, gunakan sembarang webbrowser dan masukkan alamat http://127.0.0.1 atau
http://192.168.194.100. Bila anda mendapatkan hasil berupa web default, maka itu berarti
instalasi web server anda sudah berhasil.

Sekarang kita tinggal menyesuaikan beberapa konfigurasi apache agar web server ini berjalan
sesuai dengan yang kita inginkan.

Konfigurasi Apache
Secara default, file konfigurasi utama yang digunakan oleh apache adalah file httpd.conf yang
terletak pada direktori /et c/apache. File inilah yang mengatur segala macam jalannya apache.
Di sini kita akan mengkonfigurasikan beberapa hal penting saja.
ServerType standalone
ServerType dapat diset standalone atau inetd. Inetd adalah salah satu cara pengelolaan
jalannya suatu server. Inetd hanya dapat dijalankan di sistem *nix. Standalone adalah default
pilihan untuk opsi ini, sehingga apache tidak dikelola oleh program lain melainkan
dikendalikan hanya oleh dirinya sendiri. Metode inetd sebaiknya tidak digunakan, karena
cenderung tidak sekuat jalannya apache bila menggunakan tipe standalone.
Timeout 300
Opsi ini menentukan jarak waktu terlama sebagai delay antara permintaan dan jawaban
sebelum dianggap mati. Angka di sini menggunakan satuan detik. Nilai awal untuk setting ini
adalah 5 menit.
KeepAlive On
Mengizinkan adanya lebih dari 1 request pada tiap koneksi. Hal ini dapat membantu

22 syukhri@unp.ac.id
Administrasi Jaringan

mengurangi bandwidth karena usaha penyambungan hanya dilakukan sekali, dan request
berikutnya tinggal mcmanfaatkan koneksi yang sudah ada.
MaxKeepAliveRequests 100
Walaupun KeepAlive merupakan suatu fasilitas yang bagus, namun bila server menangani
terlalu banyak koneksi secara bersamaan, mungkin saja servernya tidak kuat dan kemudian
mati. Untuk itu maka jumlah koneksi simultan harus dibatasi. Pembatasan default apache
adalah 100 koneksi. Bila anda ingin jumlah ini tidak terbatas maka nilai ini bisa diganti
dengan 0.
KeepAliveTimeout 15
Konfigurasi ini digunakan untuk menentukan jarak maksimal request setelah hasil terakhir
request sebelumnya terkirim. Apabila pada selang waktu ini tidak ada request lagi, maka
koneksi yang sudah ada diputus. Default setting apache adalah 15 detik.
MaxClients 150
MaxClients digunakan untuk membatasi berapa jumlah client yang boleh membuat koneksi
baru pada satu waktu secara simultan. Bila angka ini tercapai, maka client yang membuat
koneksi baru akan ditolak untuk sementara waktu sampai ada koneksi lain yang mati. Karena
itu, sebaiknya angka ini jangan diset terlalu kecil. 150 rasanya sudah menjadi batas yang
aman dan tidak terlalu banyak memakan resource komputer.
ServerAdmin me@syukhri.com
Bagian ini berguna untuk menampilkan email administrator web server ini apabila entah
kapan timbul masalah saat user mengakses web kita. Dengan adanya email ini, maka user
dapat memberitahukan pada kita mengenai kerusakan yang dialami web server. Secara esensi,
setting ini tidak berpengaruh banyak, bahkan mungkin tidak begitu berguna.
ServerName server1.syukhri.com
Bila apache tidak dapat me-resolve domain name untuk dirinya, maka apache perlu
mengetahui nama domain yang ditanganinya. Perlu diingat bahwa domain yang disebutkan
harus terdaftar pada DNS Server.
Document Root /var/www
Setting ini menentukan direktori letak file-file web yang akan ditampilkan. Anda bebas
menempatkan direktori ini di mana saja, asalkan apache mempunyai permission yang cukup
untuk dapat membaca file-file web tersebut.

Modul Tambahan Apache


Banyak orang yang ingin menambah kemampuan dari apache untuk melakukan beberapa hal
selain tugas utamanya sebagai web server. Kita dapat menambahkan kemampuan itu ke dalam
apache sebagai suatu modul yang akan diload oleh apache pada saat start.
Sebagai contoh, kita akan menambahkan PHP pada apache sehingga selain menampilkan file-
file HTML. apache juga dapat menampilkan file-file .php yang dapat melakukan berbagai
macam hal seperti membuat koneksi dengan database, membuat suatu gambar, dan masih
banyak lagi.
Jalankan perintah di bawah ini untuk menginstall PHP5.

23 syukhri@unp.ac.id
Administrasi Jaringan

Installing PHP5
Syukhri:~# apt-get install php5 libapache2-mod-php5

Setelah itu restart Apache :

/etc/init.d/apache2 restart

Secara default document root Apache terletak di /var/www. Untuk memastikan apache sudah
dapat menjalankan file .php, buat sebuah file kecil (info.php) di dalam direktori /var/www
kemudian buka di browser. File tersebut akan menampilkan informasi detail tentang instalasi
PHP, termasuk versi PHP.

Modul lain yang juga sering digunakan adalah libapache-mod-gzip. Modul ini berfungsi
untuk melakukan kompresi "on the fly" terhadap segala macam file yang dikirimkan oleh
apache ke user. Dengan menggunakan kompresi ini maka penggunaan bandwidth yang
digunakan oleh web server dapat lebih dioptimalkan karena ukuran data yang dikirim menjadi
lebih kecil daripada data yang tidak terkompres, sehingga juga memungkinkan apache
melayani lebih banyak client dalam satu waktu.

Virtual Host
Salah satu fasilitas penting lain yang dimiliki oleh apache yang sangat sering digunakan
adalah VirtualHost. Fasilitas ini memungkinkan sebuah web server menyediakan layanan
untuk lebih dari satu website dengan nama domain yang berbeda-beda. Konfigurasinya

24 syukhri@unp.ac.id
Administrasi Jaringan

terdapat di /etc/apache2/sites-enabled dan didefinisikan di


/etc/apache2/site-available
Buat sebuah file misalnya mail.syukhri.com di direktori /etc/apache2/site-
available sebagai berikut :
syukhri:~# cd /etc/apache2/sites-available
syukhri:/etc/apache2/sites-available# vim mail.syukhri.com
<VirtualHost *>
ServerAdmin me@syukhri.com
ServerName mail.syukhri.com
ServerAlias mail.syukhri.com

# Indexes + Directory Root.


DirectoryIndex index.php
DocumentRoot /var/www/mail/htdocs/
<Directory />
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>

# CGI Directory
ScriptAlias /cgi-bin/ /var/www/mail/cgi-bin/
<Location /cgi-bin>
Options +ExecCGI
</Location>

# Logfiles
ErrorLog /var/www/mail/logs/error.log
CustomLog /var/www/mail/logs/access.log combined
</VirtualHost>

syukhri:/etc/apache2/sites-available# vim blog.syukhri.com


<VirtualHost *>
ServerAdmin me@syukhri.com
ServerName blog.syukhri.com
ServerAlias blog.syukhri.com

# Indexes + Directory Root.


DirectoryIndex index.php
DocumentRoot /var/www/blog/htdocs/
<Directory />
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>

# CGI Directory
ScriptAlias /cgi-bin/ /var/www/blog/cgi-bin/
<Location /cgi-bin>

25 syukhri@unp.ac.id
Administrasi Jaringan

Options +ExecCGI
</Location>

# Logfiles
ErrorLog /var/www/blog/logs/error.log
CustomLog /var/www/blog/logs/access.log combined
</VirtualHost>

Pada konfigurasi di atas terlihat bahwa ada dua web yang dilayani oleh apache yaitu
mail.syukhri.com dan blog.syukhri.com. Masing-masing web mempunyai nama alias
mail.syukhri.com dan blog.syukhri.com. Sebelum membuat VirtualHost anda harus
memastikan bahwa record DNS telah dibuat dengan benar.
Buat symbolic link ke-2 file tersebut ke /etc/apache2/site-enable/ dan restart
Apache dengan perintah sebagai berikut :
ln –s / etc/apache2/sites-available/mail.syukhri.com /etc/apache2/sites-
enable/mail.syukhri.com
dan
ln –s / etc/apache2/sites-available/blog.syukhri.com /etc/apache2/sites-
enable/blog.syukhri.com
Pastikan document root masing-masing virtual host sudah dibuat sebelum apache di restart.
Untuk mail.syukhri.com buat beberapa direktori sebagai berikut :
syukhri:~# mkdir /var/www/mail
syukhri:~# mkdir /var/www/mail/cgi-bin
syukhri:~# mkdir /var/www/mail/logs
Sedangkan untuk blog.syukhri.com, buat beberapa direktori berikut :
syukhri:~# mkdir /var/www/blog
syukhri:~# mkdir /var/www/blog/cgi-bin
syukhri:~# mkdir /var/www/blog/logs

Restart apache dengan mengetikan perintah sebagai berikut :


/etc/init.d/apache2 restart
Untuk memastikan apakah virtualhost anda sudah berfungsi atau belum, silahkan buka
browser dan ketikkan http://mail.syukhri.com. Jika anda memperoleh tampilan seperti gambar
di bawah artinya virtualhost anda sudah berhasil.

26 syukhri@unp.ac.id
Administrasi Jaringan

Domain Name Service (DNS)


Server DNS bertugas menerjemahkan IP Address ke nama domain (contoh: mail.satu.com,
www.itu.org) dan sebaliknya dari nama domain ke alamat IP. Beberapa cara untuk
menerjemahkan alamat internet antara lain adalah:
1. Dengan membaca file lokal /etc/hosts
2. Dengan memanfaatkan layanan DNS Server
File /etc/hosts ini berisi daftar penerjemahan nama komputer ke alamat IP yang bisa
digunakan juga untuk melakukan penerjemahan alamat IP ke nama komputer. Dengan
memiliki file ini, Linux dapat menggunakan nama yang lebih mudah diingat untuk memanggil
atau mengakses komputer lain dalam jaringan, daripada harus menggunakan nomor IP.
File ini isinya sangat sederhana seperti dalam contoh berikut:
$ cat /etc/hosts
192.168.194.100 syukhri.com syukhri
127.0.0.1 localhost.localdomain localhost
Keterangan :
• Kolom 1 adalah alamat IP
• Kolom 2 adalah FQDN (Fully Qualified Domain Name)
• Kolom 3 adalah nama host
File /etc/hosts di atas menunjukkan bahwa nama syukhri.com dan syukhri dipetakan ke

27 syukhri@unp.ac.id
Administrasi Jaringan

alamat IP 192.168.194.100, nama localhost.localdomain dan localhost dipetakan ke alamat IP


127.0.0.1.
Kelemahan menggunakan /etc/hosts :
1. Semua komputer dalam satu jaringan harus memiliki file /etc/hosts yang identik.
2. Setiap kali ada perubahan nama atau alamat IP maka seluruh file di tiap komputer
harus diperbarui sehingga sangat tidak praktis untuk jaringan dengan jumlah host
besar.
Catatan: pada beherapa sistem kolom 2 bisa saja kosong, sehingga dalam 1 baris hanya ada
alamat IP dan hostname, kasus semacam ini biasanya terdapati pada entry yang
nienunjuk pada localhost sehingga baris localhost akan tampak seperti baris
dibawah ini
127.0.0.1 localhost
Menggunakan DNS tidaklah seperti menggunakan file /etc/hosts. DNS bersifat client-
server sehingga administrasi cukup dilakukan di sisi server saja, sedangkan pada client cukup
melakukan konfigurasi sekali saja yaitu menyebutkan alamat IP server DNS pada waktu
konfigurasi network.
Konfigurasi ini terletak pada /etc/resolv.conf dengan contoh isi :
search syukhri.com
nameserver 192.168.194.100
Dalam jaringan internet, DNS server di seluruh dunia saling bekerjasama dalam rangka
menerjemahkan alamat internet. Network yang besar memiliki DNS server yang menjadi
sumber data bagi DNS server pada network dibawahnya. Kerjasama yang dijalin ini dapat
digambarkan pada contoh kasus berikut:
Contoh Kasus : Proses penampilan halaman web pada browser yang digunakan oleh
seorang pengguna internet yang memiliki DNS server dengan IP
Address 202.150.128.64.
Perjalanan yang ditempuh untuk menerjemahkan IP secara umum dapat dijelaskan sebagai
berikut :
1. Browser membuka alamat http://maititu.com
2. DNS client pada komputer user menghubungi DNS server agar mendapatkan alamat
IP dari domain mail.itu.com.
3. DNS server mencari data mengenai mail.itu.com dengan cara menghubungi DNS
server tertinggi yaitu "." (dot) atau root server.
4. DNS root server menghubungi DNS server com.
5. DNS server com menghubungi DNS server itu.com.
6. DNS server itu.com mengenali subdomain dan berhasil menerjemahkan mail.itu.com
ke alamat IP 203.131.22.32.
7. IP yang telah diterjemahkan dikirim kembali ke DNS server pembuka web
(202.150.128.64).
8. DNS Server mengirimkan hasil alamat IP ke browser dan browser akan menghubungi
web server pada IP 203.131.22.32.
DNS server terdiri dari dua jenis server yaitu:
1. Primary Name Server, sering juga disebut Master Server, adalah DNS server yang
bertanggungjawab atas resolusi domain dan subdomain yang dikelolanya.

28 syukhri@unp.ac.id
Administrasi Jaringan

2. Secondary Name Server, sering juga disebut Slave Server, adalah DNS server yang
secara hirarki setara dengan Master Server namun data-data domain dan subdomain
diperoleh dengan cara menyalin data yang terdapat pada Master Server.

Konfigurasi DNS Server


Debian menyertakan bind-9.2.4 pada release Lenny dengan nama paket bind9. Bind (Berkely
Internet Name Domain) adalah salah satu software DNS server yang banyak digunakan di
dunia. Program ini dibuat oleh Berkely University dan disebarkan secara luas melalui GNU.
Anda dapat menginstall paket ini dengan perintah :
syukhri:-# apt-get install bind9 dnsutils
File konfigurasi utama bind adalah named.conf yang terletak pada direktori /etc/bind/. File
ini memuat konfigurasi mengenai parameter kerja BIND, sekaligus tempat menentukan zone
dari domain apa saja yang akan ditangani oleh server BIND itu.
Catatan: pada release terakhir, tim debian package memisahkan beberapa fungsi named.conf
menjadi tiga file yaitu named.conf itu sendiri, named.conf.options, dan
named.root.local. named.conf.options berisi konfigurasi options named.conf,
kemudian named.conf.local ditujukan untuk penambahan zone domain kita, dan
named.conf itu sendiri memuat konfigurasi tentang zone hint dan root domain.
Kedua file tambahan tersebut ditambahkan ke file named.conf dengan menggunakan keyword
include, sehingga pada dasarnya tidak ada perbedaan bila dibandingkan dengan sebuah file
named.conf secara utuh.
Pada panduan ini kita tetap merujuk pada named.conf, hanya saja penambahan zone domain
kita lakukan pada file named.conf dan penambahan beberapa pilihan kita tambahkan pada file
named.conf.options.
Berikut ini adalah isi file /etc/bind/named.conf tersebut.
/etc/hind/named.conf
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in
/etc/bind/named.conf.local

include "/etc/bind/named.conf.options";

// prime the server with knowledge of the root servers


zone "." {
type hint;
file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "localhost" {
type master;
file "/etc/bind/db.local";

29 syukhri@unp.ac.id
Administrasi Jaringan

};

zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};

include "/etc/bind/named.conf.local";

Beberapa bagian di atas akan dijelaskan maksudnya di bawah ini :


• Zone Statement adalah definisi dari zone dari domain-domain yang ditangani oleh
sebuah Name Server. Zone "." Dengan tipe hint merupakan zone yang bertugas
sebagai caching name server, yaitu menyimpan basil query domain yang diperoleh
dari server DNS yang lain dan menentukan Root Name Server yang mana daftar dari
nameserver tersebut dapat ditemukan pada file /etc/bind/db. root.
• Reverse DNS Zone diperlukan untuk mengkonfigurasi Server DNS anda sebagai Name
Server untuk resolv IP ke host dari suatu alokasi IP Address. Nama zone yang dipakai
untuk mendefinisikan zone jenis ini adalah z.y.x.in-addr.arpa.
Anda juga dapat menentukan zone untuk domain anda sendiri, caranya adalah dengan
menuliskan definisi zone dari domain-domain anda pada baris di bawah. Secara umum,
definisi zone untuk Master/Primary Name Server memiliki format seperti :
zone "syukhri.com" {
type master;
file "db.syukhri.com";
};

Sedangkan untuk Slave/Secondary Name Server memiliki format seperti:


zone "syukhri.com" {
type slave;
masters; {
ip_address1;
ip_address2; // ip selanjutnya tidak harus ada.
};
file "db.syukhri.com.reverse";
}:

Pada contoh di atas nampak bahwa zone slave dapat membackup lebih dari 1 zone master.
Untuk membuat zone slave minimal terdapat satu zone master, namun bila jumlah dari master
server lebih dari satu maka alamat IP dari server-server tersebut dapat dimasukkan satu-
persatu pada pilihan "master" seperti di atas.
Selain membackup zone master, sebuah slave server dapat pula dibackup oleh slave server
yang lain sehingga seolah-olah slave server tersebut menjadi master server bagi server lain

30 syukhri@unp.ac.id
Administrasi Jaringan

yang membackupnya.

Konfigurasi Zone File


Zone-zone file adalah file yang berisi informasi yang berkaitan dengan suatu domain. Pada
zone file terdapat informasi untuk suatu domain seperti IP address, nama alias dari suatu
host/domain, nama server DNS yang bertanggung jawab terhadap domain tersebut, dan
sebagainya.
Berikut ini adalah beberapa bagian konfigurasi yang dapat dilakukan pada file-file zone
domain.
SOA (Start Of Authority) digunakan mendefinisikan awal dari suatu zone. Format
konfigurasi SOA adalah sebagai berikut :
@ IN SOA nameserver. email-admin.
serial_number
refresh_number
retry_number
expire_number
minimum_number
Penjelasan :
Baris pertama adalah name field, baris ini selalu diawali dengan "(./)".
nameserver mendefinisikan hostname yang menjadi Primary Name Server untuk suatu
domain, contoh: ns1.domainku.com. Ingat, jangan lupa memberikan tanda titik (.) di belakang
nama domain.
email-admin mendeklarasikan email administrator yang bertanggungjawab terhadap domain
tersebut. Format penulisannya bukan admin@domain.com, tetapi admin.domain.com.
serial_number merupakan nomor seri dari zone file. Secondary Name Server akan selalu
mengadakan pemeriksaan terhadap nomor seri ini. Jika kemudian Secondary NS mendapati
nomor seri ini lebih besar dari nomor seri yang dimiliki oleh Secondary NS, maka Secondary
NS akan mengadakan full zone transfer ke Primary NS ini.
refresh_number mendefinisikan selang waktu dalam detik yang diperlukan oleh Secondary
NS untuk memeriksa perubahan zone file pada Primary NS. Tiap selang waktu tersebut
Secondary NS akan memeriksa nomor seri pada Primary NS.
retry_number mendefinisikan berapa lama (dalam detik) Secondary NS harus menunggu
untuk mengulang pemeriksaan terhadap Primary NS, apabila Primary NS tidak memberikan
respon pada saat proses refresh.
expire_number mendefinisikan berapa lama (dalam detik) zone file dipertahankan pada
Secondary NS apabila Secondary NS tidak dapat melakukan zone refresh. Apabila setelah
masa expire tercapai dan Secondary NS tidak dapat melakukan zone transfer maka file-file
untuk zone yang bersangkutan akan dihapus.
minimum_number mendefinisikan nilai default TTL (Time To Live) untuk semua resource
record pada zone file.
Berikut ini contoh penulisan SOA dalam file /etc/bind/syukhri.com pada Primary Name
Server ns1 .syukhri.com (192.168.194.100).
IN SOA nsl.syukhri.com. admin.syukhri.com.

31 syukhri@unp.ac.id
Administrasi Jaringan

2010102201 ; Serial Number


7200 ; Refresh tiap 2 jam
7200 ; Retry 2 jam
36000 ; expire 10 jam
7200 ; minimum 2 jam
NS (Name Server) digunakan untuk mendefinisikan "Authorative Name Server" yang
mengelola suatu domain. Authorative Name Server ini sebaiknya lebih dari satu, sehingga
apabila Primary NS tidak bisa diakses masih ada Secondary Name Server yang dapat
menggantikan untuk sementara waktu. Format penulisannya adalah :
IN NS nama-host-DNS
Contoh penggunaannya adalah sebagai berikut:
IN NS ns1.syukhri.com.
IN NS ns2.syukhri.com.
A (Address) digunakan untuk memetakan suatu nama host ke suatu IP Address. Format
penulisannya adalah :
hostname IN A [Ip Address]
Contoh penggunaannya :
nsl IN A 192.168.194.100
ns2 IN A 192.168.194.101
Gw IN A 192.168.194.102
Pada contoh di atas, ns1.syukhri.com memiliki IP Address 192.168.194.100,
ns2.syukhri.com memiliki IP Address 192.168.194.101, dan gw.kampus.com memiliki IP
Address 192.168.194.102.
PTR (Domain Name Pointer) digunakan untuk memetakan IP Address ke nama host. Cara ini
sering juga disebut Reverse Domain Name Service. Format penulisannya adalah :
IP Address IN PTR hostname
Contoh penggunaan :
$ORIGIN 194.168.192.in-addr.arpa
100 IN PTR nsl
101 IN PTR ns2
Pada contoh di atas, IP Address 192.168.194.100 dipetakan ke nama host nsl.syukhri.com,
dan IP Address 192.168.194.101 dipetakan ke nama host ns2.syukhri.com.
CNAME (Canonical Name) digunakan untuk mendefinisikan sebuah alias atau nickname dari
suatu host. Format penulisanya adalah :
Alias IN CNAME Canonical-hostname
Contoh penggunaannya :
badsect IN CNAME ns1
gumelta IN CNAME ns2
Pada contoh di atas host nsl.kampus.com memiliki nama alias badsect.syukhri.com, dan
ns2.syukhri.com memiliki nama alias gumelta.syukhri.com.
MX (Mail Exchange) digunakan untuk mengarahkan email terhadap suatu domain ke host
yang berfungsi sebagai mailserver. Host yang disebutkan disinilah yang bertugas menangani
segala macam transportasi email untuk domain yang bersangkutan.

32 syukhri@unp.ac.id
Administrasi Jaringan

Karena pentingnya email terhadap suatu host/domain, ada baiknya pada suatu host atau
domain memiliki lebih dari satu host yang berfungsi sebagai mailserver.
Format penulisannya adalah :
IN MX preference-value mailserver-hostname
Contoh penggunaannya :
IN MX 10 maill.syukhri.com.
IN MX 20 mail2.syukhri.com.
Mailserver yang utama adalah mailserver dengan nilai preference value terkecil, dan
selanjutnya dilanjutkan menurut peningkatan preference-value. Dengan demikian pada contoh
di atas yang menjadi mailserver utama adalah mail1.syukhri.com. Segala email yang masuk
untuk domain tersebut akan mencoba untuk masuk ke mail1 terlebih dahulu, dan apabila host
mail1 tidak dapat menerima email yang masuk barulah pengirim mencoba untuk mengirimkan
email melalui host mail2.

Master/Primary Domain Name Service


Setelah sekian jauh kita membahas named.conf dan beberapa konfigurasi pada zone file kini
kita akan mencoba mengkonfigurasi sebuah Domain Name Service Server yang berfungsi
sebagai Primary Name Server.
Contoh kasus:
Misalkan anda mempunyai sebuah domain syukhri.com dan saat pembelian domain itu
anda memasukkan IP Address 192.168.194.100 dengan hostname nsl.syukhri.com. ns1
sebagai Primary Name Server.
Dengan mengacu pada contoh yang telah dijelaskan sebelumnya, maka konfigurasi file
/etc/bind/named.conf pada host nsl.syukhri.com adalah sebagai berikut :

// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in
/etc/bind/named.conf.local

include "/etc/bind/named.conf.options";

// prime the server with knowledge of the root servers


zone "." {
type hint;
file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "localhost" {
type master;
file "/etc/bind/db.local";
};

33 syukhri@unp.ac.id
Administrasi Jaringan

zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};

zone "syukhri.com" {
type master;
file "/etc/bind/db.syukhri.com";
};

include "/etc/bind/named.conf.local";

Sedangkan isi zone file seperti disebutkan pada contoh konfigurasi di atas yaitu file
/etc/bind/db.syukhri.com adalah sebagai berikut :

$TTL 38400
@ IN SOA syukhri.com. admin.syukhri.com. (
127 ; serial number
108000 ; refresh
3600 ; retry
6048000 ; expiry
38400 ; ttl
)

IN NS ns1.syukhri.com.
IN NS syukhri.com.
IN A 192.168.194.100
www IN A 192.168.194.100
mail IN A 192.168.194.100
blog IN A 192.168.194.100

Pengontrolan Domain Name Server


Setelah selesai mengkonfigurasi DNS Server, berikut ini diberikan beberapa cara mengontrol
server DNS anda. Cara-cara itu adalah :
Memulai Domain Name Server, untuk memulainya loginlah ke Linux sebagai root atau user
biasa dan kemudian melakukan su. ketikkan :
syukhri:~# /etc/init.d/bind9 start
Perintah tersebut akan menjalankan BIND anda, tetapi biasanya anda tidak perlu melakukan
hal tersebut karena pada saat booting perintah itu sudah dijalankan secara otomatis.
Menghentikan Domain Name Server, untuk menghentikan BIND, caranya hampir sama

34 syukhri@unp.ac.id
Administrasi Jaringan

dengan perintah waktu menjalankannya, hanya saja "start" di atas diganti dengan
"stop"seperti:
syukhri:~# /etc/init.d/bind9 stop
Perintah-perintah lainnya yang dapat dilakukan antara lain adalah :
syukhri:~# /etc/init.d/bind9 restart
untuk merestart Name Server anda, dan
syukhri:~# /etc/init.d/bind9 reload
untuk mengaktifkan konfigurasi lama tanpa harus merestart server.

Testing Domain Name Server


Untuk mencoba Domain Name Server anda dapat menggunakan beberapa tool yang tersedia
untuk melakukan query terhadap Domain Name Server. beberapa yang terkenal yang sering
digunakan adalah nslookup dan dig.
nslookup
Untuk menggunakan nslookup anda dapat menjalankan perintah nslookup diikuti dengan
domain yang ingin diquery. Misal jika anda ingin melihat record DNS dari domain
syukhri.com, anda dapat menjalankan perintah :
syukhri:~# nslookup syukhri.com
Bila memang domain tersebut ada maka anda akan mendapatkan jawaban
syukhri:~# nslookup syukhri.com
Server: 192.168.194.100
Address: 192.168.194.100#53

Name: syukhri.com
Address: 192.168.194.100

dig
dig adalah program lain yang juga dapat digunakan untuk melihat record NS dari suatu
nameserver. Sebagai contoh anda dapat menjalankan perintah :
syukhri:~# dig syukhri.com

; <<>> DiG 9.6-ESV-R1 <<>> syukhri.com


;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62914
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2,
ADDITIONAL: 0

;; QUESTION SECTION:
;syukhri.com. IN A

;; ANSWER SECTION:
syukhri.com. 38400 IN A 192.168.194.100

;; AUTHORITY SECTION:

35 syukhri@unp.ac.id
Administrasi Jaringan

syukhri.com. 38400 IN NS ns1.syukhri.com.


syukhri.com. 38400 IN NS syukhri.com.

;; Query time: 1 msec


;; SERVER: 10.1.1.225#53(10.1.1.225)
;; WHEN: Fri Oct 22 11:50:09 2010
;; MSG SIZE rcvd: 77

Database Server
Database server adalah server yang bertanggung jawab pada penyimpanan data, pengaksesan
dan pemprosesan dalam lingkungan client - server. Pada pelatihan ini kita akan menggunakan
MySQL sebagai database server.

MySQL adalah salah satu jenis database server yang terkenal. MySQL termasuk jenis
RDBMS (Relational Database Management System), itulah sebabnya istilah seperti table,
baris dan kolom digunakan pada MySQL.

Instalasi MySQL di Debian

Hal pertama yang harus dilakukan untuk menjadikan sebuah server sebagai database server
adalah menginstall MySQL 5.0, dengan cara sebagai berikut :

syukhri:~# apt-get install mysql-server mysql-client

Saat proses instalasi anda akan diminta memasukkan password untuk MySQL root user.
Password ini berlaku untuk user root@localhost atau root@server1.syukhri.com,
sehingga tidak perlu pendefinisian password secara manual :

New password for the MySQL "root" user: <-- password rootsql
Repeat password for the MySQL "root" user: <-- password rootsql

Akses ke MySQL

Untuk akses ke database silahkan gunakan perintah sebagai berikut :

syukhri:~# mysql -u root -p


Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 33
Server version: 5.0.51a-24+lenny4 (Debian)

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

mysql>

mysql> show databases;


+--------------------+

36 syukhri@unp.ac.id
Administrasi Jaringan

| Database |
+--------------------+
| information_schema |
| mysql |
+--------------------+
2 rows in set (0.00 sec)

Buat sebuah database, misal webku dengan cara sebagai berikut :

mysql> create database webku;


Query OK, 1 row affected (0.01 sec)

Beri hak akses database tersebut ke user adminweb, hostname localhost dengan password
passwordwebku;

mysql> grant all privileges on webku.* to 'adminweb'@'localhost'


identified by 'passwordwebku';
Query OK, 0 rows affected (0.01 sec)

Jangan lupa me-refresh perubahan terhadap query yang dilakukan dengan menjalankan
perintah :

mysql> flush privileges;


Query OK, 0 rows affected (0.00 sec)

mysql> quit;

syukhri:~#

MySQL juga bisa diakses melalui web dengan menginstall PhpMyAdmin. Install
PhpMyAdmin dengan perintah sebagai berikut :

syukhri:~# apt-get install phpmyadmin

Anda akan disuguhi pertanyaan sebagai berikut:

Web server to reconfigure automatically: <-- pilih apache2

Setelah itu, anda dapat mengakses phpMyAdmin melalui browser dengan cara mengetikan
http://192.168.194.100/phpmyadmin/:

37 syukhri@unp.ac.id
Administrasi Jaringan

Selanjutnya kita perlu menginstall beberapa modul agar MySQL dapat bekerja pada apache2
dan PHP5.

Syukhri:~# apt-get install php5-mysql php5-curl php5-gd php5-idn


php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash
php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite
php5-tidy php5-xmlrpc php5-xsl php5-json

Catatan : Jika nama domain di DNS dan Apache sudah dikonfigurasi dengan benar maka IP
Address bisa anda ganti dengan nama domain, misalnya http://blog.syukhri.com

38 syukhri@unp.ac.id