How To
How To
Berikut ini adalah prosedur instalasi FTP Server menggunakan vsftpd pada distro Scientific
Linux 6 yang merupakan distro yang setara dengan Red Hat Enterprise Linux 6 (RHEL).
Prosedur ini pun dapat dilakukan untuk distro yang lain selama masih satu keluarga dengan
Red Hat.
vsftpd adalah salah satu FTP Server yang mudah diinstall dan memiliki fitur keamanan yang
cukup baik. Selain itu vsftpd dengan mudah dapat dari repository masing-masing distro.
Tahap pertama periksa dahulu apakah vsftpd sudah terinstalasi pada komputer anda dengan
menggunakan perintah (sebagai root) seperti terlihat di bawah ini :
atau
Bagian pertama anda lakukan bila komputer anda terhubung ke internet. Bila komputer anda
tidak terhubung ke internet maka pergunakan perintah pada bagian kedua.
Apabila tampilan yang anda dapatkan seperti pada gambar diatas maka hal itu berarti vsftpd
belum terinstall pada komputer anda. Untuk melakukan instalasi bila komputer anda tidak
terhubung ke internet maka anda harus mencari dulu file rpm dari vsftpd. Copykan lah file
tersebut ke dalam salah satu directory di komputer anda. Misalkan sebagai root anda copy
kan file tersebut ke dalam directory /root seperti tampak pada gambar di bawah ini :
[root@sl6 ~]# ls l
total 220
rw. 1 root root 1608 May 9 04:55 anaconda[Link]
rwrr. 1 root root 44528 May 9 04:55 [Link]
rwrr. 1 root root 10232 May 9 04:53 [Link]
rwrr. 1 root root 157624 Nov 25 04:08 vsftpd2.2.2[Link]
[root@sl6 ~]#
Bila anda sudah mengcopykan seperti tampak pada gambar diatas selanjutnya untuk
melakukan instalasi anda tinggal memberikan perintah seperti berikut ini :
Bila komputer anda terhubung ke internet secara langsung maka anda tidak perlu mencari dan
mengcopy file [Link] terlebih dahulu. Anda langsung dapat melakukan
instalasi dengan memberikan perintah :
Dependencies Resolved
==============================================================
Package Arch Version Repository Size
==============================================================
Installing:
vsftpd i686 2.2.26.el6_0.1 slsecurity 154 k
Transaction Summary
==============================================================
Install 1 Package(s)
Upgrade 0 Package(s)
Downloading Packages:
vsftpd2.2.26.el6_0.[Link] | 154 kB 00:02
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : vsftpd2.2.26.el6_0.1.i686 1/1
Installed:
vsftpd.i686 0:2.2.26.el6_0.1
Complete!
[root@sl6 etc]#
Hasil dari instalasi ini kita akan mempunyai directory baru dalam directory etc yaitu
/etc/vsftpd yang isinya adalah sebagai berikut :
Kumpulan How To 4
[root@sl6 vsftpd]# ls l
total 20
rw. 1 root root 125 Mar 10 21:29 ftpusers
rw. 1 root root 361 Mar 10 21:29 user_list
rw. 1 root root 4494 Mar 10 21:29 [Link]
rwxrr. 1 root root 338 Mar 10 21:29 vsftpd_conf_migrate.sh
[root@sl6 vsftpd]#
Selanjutnya sebelum menjalankan vsftpd kita perlu melakukan konfigurasi terlebih dahulu
dengan mengedit file [Link] yang terdapat dalam directory /etc/vsftpd.
Ada banyak sekali parameter yang dapat dikonfigurasi untuk vsftpd ini, default nya adalah
sebagai berikut :
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
Konfigurasi di atas memfungsikan FTP Server untuk menerima user yang mempunyai
account pada komputer yang menjalankan FTP dan user yang login dengan username
anonymous. User yang mempunyai account dapat melakukan upload dan download
sedangkan anonymous user hanya diijinkan download saja.
Rincian dari semua parameter yang dapat dikonfigurasi dapat dibaca pada manual nya dengan
menggunakan perintah man [Link].
Agar vsftpd ini selalu dijalankan setiap kali komputer dihidupkan dan juga sekaligus
dimatikan setiap kali komputer dimatikan maka buat konfigurasi nya permanen dengan
perintah :
Dan periksa apakah konfigurasi nya benar aktif seperti terlihat pada tampilan di bawah ini :
Terlihat bahwa vsftpd akan aktif pada run level 2,3,4 dan 5.
Satu lagi yang perlu diperhatikan adalah apabila komputer yang menjalankan vsftpd ini
mengaktifkan Firewall dengan menggunakan iptables, maka iptables harus dikonfigurasi
untuk mengijinkan trafik network menuju vsftpd ini terbuka. Default filter yang dijalankan
untuk komputer yang tidak menjalankan service apapun biasanya adalah sebagai berikut :
Filter tersebut harus diubah dengan mengedit file /etc/sysconfig/iptables sehingga menjadi
seperti berikut ini (dengan menggunakan vim) :
Perhatikan baris yang ditambahkan pada file tersebut yaitu baris yang dicetak miring dan
tebal.
Selain mengedit file /etc/sysconfig/iptables ada satu file konfigurasi lagi yang harus diedit
yaitu file /etc/sysconfig/iptables-config. Konfigurasi ini diperlukan untuk menambahkan
“helper” pada iptables untuk menangani lalu lintas data FTP karena FTP agak sedikit berbeda
dalam melakukan komunikasi. FTP Server menggunakan dua port untuk komunikasi yaitu
port 21 untuk command dan satu port lagi untuk data yang ditentukan kemudian oleh karena
itu tidak dapat dikonfigurasi terlebih dahulu. Helper berfungsi untuk membuka port lain yang
diperlukan tersebut.
Dengan menggunakan editor vim tambahkan parameter pada baris seperti yang terlihat di
bawah ini :
Perhatikan hasil keluaran perintah seperti gambar diatas terutama periksa apakah baris yang
berisi tulisan “Loading additional modules ..... “ tampak seperti pada gambar diatas.
Periksa sekali lagi apakah filter sudah membuka port 21 untuk FTP dengan menggunakan
perintah :
Kumpulan How To 7
Bila semua nya sudah benar seperti pada prosedur diatas kita test apakah ftp server kita
berfungsi dengan baik. Untuk itu pergunakan lah komputer lain untuk melakukan koneksi ftp
ke FTP Server kita seperti terlihat di bawah ini
Contoh diatas adalah untuk ftp dengan anonymous user. Untuk anonymous user ini password
nya adalah e-mail address dari user tersebut. Kita akan mendapatkan prompt “ftp>” seperti
tampak pada gambar diatas
Selanjut nya kita coba untuk login ftp dengan user account yang ada, seperti terlihat pada
gambar berikut ini :
Ternyata login dengan user yang sudah memiliki account (username nya : user) gagal. Ada
error dengan pesan kesalahan “500 OOPS : cannot change directory:/home/user ” walaupun
Kumpulan How To 8
Ternyata dalam hal ini ada pengaruh dari SELinux yang tidak membolehkan vsftpd
mengakses home directory user (hal ini terjadi bila SELinux diaktifkan, bila anda sudah
men-disable SELinux maka error ini tidak akan terjadi). Untuk membuka proteksi SELinux
gunakan perintah berikut ini (di server, bukan di client) sebagai root :
Setelah itu bila kita coba lagi melakukan ftp dari client hasil nya dapat dilihat seperti berikut :
Berikut ini adalah prosedur instalasi DHCP Server menggunakan ISC DHCP pada distro
Scientific Linux 6 yang merupakan distro yang setara dengan Red Hat Enterprise Linux 6
(RHEL). Prosedur ini pun dapat dilakukan untuk distro yang lain selama masih satu keluarga
dengan Red Hat.
ISC DHCP adalah dhcp server yang paling banyak digunakan pada lingkungan Linux dan
terbukti cukup handal dengan fitur yang lengkap. Selain itu ISC DHCP Server biasanya
sudah termasuk dalam hampir semua distro Linux yang ada.
Tahap pertama periksa dahulu apakah ISC dhcp sudah terinstalasi pada komputer anda
dengan menggunakan perintah (sebagai root) seperti terlihat di bawah ini :
atau
Bagian pertama anda gunakan bila komputer anda terhubung ke internet, sedangkan bagian
kedua anda pergunakan bila komputer anda tidak terhubung ke internet.
Apabila tampilan yang anda dapatkan seperti pada gambar diatas maka hal itu berarti dhcp
belum terinstall pada komputer anda. Untuk melakukan instalasi bila komputer anda tidak
terhubung ke internet maka anda harus mencari dulu file rpm dari dhcp. Copykan lah file
tersebut ke dalam salah satu directory di komputer anda. Misalkan sebagai root anda copy
kan file tersebut ke dalam directory /root seperti tampak pada gambar di bawah ini :
[root@sl6 ~]# ls l
total 1088
rw. 1 root root 1608 May 9 04:55 anaconda[Link]
rwrr. 1 root root 888260 Nov 26 01:07 dhcp4.1.1[Link]
rwrr. 1 root root 44528 May 9 04:55 [Link]
rwrr. 1 root root 10232 May 9 04:53 [Link]
rwrr. 1 root root 157624 Nov 25 04:08 vsftpd2.2.2[Link]
[root@sl6 ~]#
Bila anda sudah mengcopykan seperti tampak pada gambar diatas selanjutnya untuk
melakukan instalasi anda tinggal memberikan perintah seperti berikut ini :
Kumpulan How To 10
Bila komputer anda terhubung ke internet secara langsung maka anda tidak perlu mencari dan
mengcopy file [Link] terlebih dahulu. Anda langsung dapat
melakukan instalasi dengan memberikan perintah :
Dependencies Resolved
==============================================================
Package Arch Version Repository Size
==============================================================
Installing:
dhcp i686 12:4.1.112.P1.el6_0.4 slsecurity 887 k
Transaction Summary
==============================================================
Install 1 Package(s)
Upgrade 0 Package(s)
Installed:
dhcp.i686 12:4.1.112.P1.el6_0.4
Complete!
[root@sl6 ~]#
Hasil dari instalasi ini kita akan mempunyai directory baru dalam directory etc yaitu
/etc/dhcp yang isinya adalah sebagai berikut :
Kumpulan How To 11
[root@sl6 dhcp]# ls l
total 12
drwxrxrx. 2 root root 4096 Apr 8 23:14 dhclient.d
rwrr. 1 root root 193 Apr 8 23:14 [Link]
rwrr. 1 root root 112 Apr 8 23:14 [Link]
[root@sl6 dhcp]#
Kita mengharapkan bahwa file /etc/[Link] adalah file konfigurasi dari dhcp server. Akan
tetapi bila kita lihat isinya adalah sebagai berikut :
Jadi file tersebut tidak berisi konfigurasi untuk dhcp tapi petunjuk untuk mengambil contoh
konfigurasi yang berada di directory /usr/share/doc/dhcp-4.1.1/. Jadi kita copy dulu contoh
konfigurasi itu ke dalam directory /etc/dhcp sebagai berikut :
Dalam contoh file tersebut ada sedikit dokumentasi yang disertakan untuk mengkonfigurasi
dhcp secara cepat. Rincian dari masing-masing deklarasi dan parameter untuk dhcp server
dapat dilihat secara detail pada manual nya dengan perintah man [Link]
Berdasarkan contoh tersebut kita dapat membuat konfigurasi dhcp yang melayani subnet
[Link] dan memberikan alokasi ip address dynamic mulai dari [Link] sampai
dengan [Link] dengan file konfigurasi sebagai berikut :
defaultleasetime 600;
maxleasetime 7200;
ddnsupdatestyle none;
authoritative;
host BeServer {
hardware ethernet 08:00:07:26:c0:a5;
fixedaddress [Link];
}
DHCP server ini juga secara otomatis akan memberikan IP untuk gateway dan dns address.
Selain memberikan alokasi ip dynamic konfigurasi diatas juga memberikan alokasi IP static
untuk satu host yang ethernet card nya memiliki MAC Address 08:00:07:26:c0:a5
Agar dhcpd ini selalu dijalankan setiap kali komputer dihidupkan dan juga sekaligus
dimatikan setiap kali komputer dimatikan maka buat konfigurasi nya permanen dengan
perintah :
Dan periksa apakah konfigurasi nya benar aktif seperti terlihat pada tampilan di bawah ini :
Terlihat bahwa dhcpd akan aktif pada run level 2,3,4 dan 5.
Satu lagi yang perlu diperhatikan adalah apabila komputer yang menjalankan dhcpd ini
mengaktifkan Firewall dengan menggunakan iptables, maka iptables harus dikonfigurasi
untuk mengijinkan trafik network menuju dhcpd ini terbuka. Default filter yang dijalankan
untuk komputer yang tidak menjalankan service apapun biasanya adalah sebagai berikut :
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [50748:3067649]
A INPUT m state state RELATED,ESTABLISHED j ACCEPT
A INPUT p icmp j ACCEPT
A INPUT i lo j ACCEPT
A INPUT p tcp m state state NEW m tcp dport 22 j ACCEPT
A INPUT j REJECT rejectwith icmphostprohibited
A FORWARD j REJECT rejectwith icmphostprohibited
COMMIT
# Completed on Tue May 10 09:31:24 2011
[root@sl6 ~]#
Filter tersebut harus diubah dengan mengedit file /etc/sysconfig/iptables sehingga menjadi
seperti berikut ini (dengan menggunakan vim) :
Perhatikan baris yang ditambahkan pada file tersebut yaitu baris yang dicetak miring dan
tebal. DHCP menggunakan protokol udp pada port nomor 67.
Setelah mengedit file tersebut restart iptables dan periksa sekali lagi filter iptables apakah
sudah sesuai dengan rincian seperti berikut ini :
Selanjut nya kita tinggal mencoba fungsionalitas DHCP Server tersebut dengan
menggunakan client yang kita konfigurasi agar seting IP address ethernet nya menggunakan
DHCP Server yang sudah kita buat. Atau kalau kita ingin memeriksa secara cepat,
pergunakan komputer lain untuk menjalankan perintah berikut :
Perintah “dhclient” digunakan untuk meminta alokasi IP Address, bila sukses maka hasil nya
dapat kita lihat dengan perintah “ip addr show” seperti tampak pada gambar diatas eth0
mendapatkan IP address dalam range yang sesuai dengan yang kita deklarasikan dalam
[Link]
Berikut contoh konfigurasi apabila Server DHCP anda melayani beberapa subnet (misalkan
ethernet card yang ada di Server lebih dari satu). Tidak semua subnet yang terhubung ke
DHCP Server harus dilayani oleh DHCP Server, namun DHCP Server juga dapat melayani
subnet yang tidak terhubung langsung dengan Server (tetapi melalui router misal nya).
Berikut ini contoh konfigurasi nya.
defaultleasetime 600;
maxleasetime 7200;
ddnsupdatestyle none;
authoritative;
group {
nextserver [Link];
filename "our[Link]";
Server DHCP dengan konfigurasi seperti diatas diasumsikan memiliki 3 ethernet card yang
melayani 3 segmen. Segmen pertama dengan subnet [Link], subnet kedua dengan
subnet [Link]. Pada kedua subnet ini DHCP Server melayani alokasi IP address
dynamic. Segmen ketiga adalah [Link]. Pada subnet ketiga ini DHCP Server tidak
memberikan layanan alokasi IP Address. Walaupun tidak memberikan layanan IP address
deklarasi subnet nya harus tetap dibuat agar DHCP Server tidak bingung dimana sebuah IP
address seharusnya berada.
Kemudian terdapat deklarasi subnet ke empat yaitu [Link] yang sebenar nya tidak
terhubung langsung ke DHCP Server. Walaupun tidak terhubung langsung ke DHCP Server
segmen tersebut tetap dapat dilayani oleh DHCP Server dengan menggunakan ISC DHCP
Relay yang dijalankan pada router yang menghubungkan segment tersebut dengan salah satu
segmen yang terhubung langsung ke server.
Kita dapat menggunakan sebuah PC yang dipasangi 2 ethernet card untuk difungsikan
sebagai router. Misalkan pada PC tersebut masing-masing ethernet card dikonfigurasi dengan
IP Address [Link] dan [Link]. Maka pada PC tersebut kita dapat menjalankan
DHCP Relay dengan perintah sebagai berikut :
Berikut ini adalah prosedur instalasi DHCP Server menggunakan ISC BIND pada distro
Scientific Linux 6 yang merupakan distro yang setara dengan Red Hat Enterprise Linux 6
(RHEL). Prosedur ini pun dapat dilakukan untuk distro yang lain selama masih satu keluarga
dengan Red Hat.
ISC BIND adalah dns server yang paling banyak digunakan pada lingkungan Linux dan
terbukti cukup handal dengan fitur yang lengkap. Selain itu ISC BIND biasanya sudah
termasuk dalam hampir semua distro Linux yang ada.
Tahap pertama periksa dahulu apakah ISC bind sudah terinstalasi pada komputer anda
dengan menggunakan perintah (sebagai root) seperti terlihat di bawah ini :
atau
Bagian pertama anda gunakan bila komputer anda terhubung ke internet, sedangkan bagian
kedua anda pergunakan bila komputer anda tidak terhubung ke internet. Untuk melihat
apakah sebuah paket sudah terinstall atau belum dengan menggunakan perintah yum bagian
yang perlu anda lihat adalah pada bagian “Available Packages”. Bila paket terdaftar dalam
bagian ini artinya paket tersedia di repository tetapi belum terinstall pada komputer. Bila
sudah terinstal di komputer nama paket akan muncul di bagian “Installed Packages”
Nama paket untuk ISC BIND adalah [Link], jadi walaupun perintah
rpm -qa memberikan beberapa nama paket tetapi itu bukan nama paket untuk ISC BIND.
Kumpulan How To 17
Apabila tampilan yang anda dapatkan seperti pada gambar diatas maka hal itu berarti dhcp
belum terinstall pada komputer anda. Untuk melakukan instalasi bila komputer anda tidak
terhubung ke internet maka anda harus mencari dulu file rpm dari dhcp. Copykan lah file
tersebut ke dalam salah satu directory di komputer anda. Misalkan sebagai root anda copy
kan file tersebut ke dalam directory /root seperti tampak pada gambar di bawah ini :
[root@sl6 ~]# ls l
total 4632
rw. 1 root root 1608 May 9 04:55 anaconda[Link]
rwrr. 1 root root 3624972 Nov 25 04:04 bind9.7.0[Link]
rwrr. 1 root root 888260 Nov 26 01:07 dhcp4.1.1[Link]
rwrr. 1 root root 44528 May 9 04:55 [Link]
rwrr. 1 root root 10232 May 9 04:53 [Link]
rwrr. 1 root root 157624 Nov 25 04:08 vsftpd2.2.2[Link]
[root@sl6 ~]#
Bila anda sudah mengcopykan seperti tampak pada gambar diatas selanjutnya untuk
melakukan instalasi anda tinggal memberikan perintah seperti berikut ini :
Bila komputer anda terhubung ke internet secara langsung maka anda tidak perlu mencari dan
mengcopy file [Link] terlebih dahulu. Anda langsung dapat melakukan
instalasi dengan memberikan perintah :
Dependencies Resolved
==============================================================
Package Arch Version Repository Size
==============================================================
Installing:
bind i686 32:9.7.05.P2.el6_0.1 slsecurity 3.5 M
Transaction Summary
==============================================================
Install 1 Package(s)
Upgrade 0 Package(s)
Installed:
bind.i686 32:9.7.05.P2.el6_0.1
Complete!
[root@sl6 ~]#
Hasil dari instalasi ini kita akan mendapatkan satu file konfigurasi dalam directory /etc
dengan nama [Link] seperti terlihat di bawah ini :
dan sebuah directory baru dalam directory /var yaitu directory /var/named yang isinya
adalah sebagai berikut :
[root@sl6 named]# ls l
total 28
drwxrwx. 2 named named 4096 Dec 18 03:51 data
drwxrwx. 2 named named 4096 Dec 18 03:51 dynamic
rwr . 1 root named 1892 Feb 18 2008 [Link]
rwr . 1 root named 152 Dec 15 2009 [Link]
rwr . 1 root named 152 Jun 21 2007 [Link]
rwr . 1 root named 168 Dec 15 2009 [Link]
drwxrwx. 2 named named 4096 Dec 18 03:51 slaves
[root@sl6 named]#
Konfigurasi untuk bind juga sangat bervariasi, tergantung kebutuhan dan keperluan nya.
Secara lengkap penjelasan tentang syntax dan parameter untuk konfigurasi dapat dibaca pada
manual nya dengan menggunakan perintah “man [Link]”
Berikut akan diberikan beberapa contoh konfigurasi bind untuk beberapa keperluan
sederhana. Pertama kita dapat memfungsikan bind sebagai Caching Only DNS Server, yaitu
sebuah DNS Server yang dapat digunakan sebagai DNS Server privat untuk “private
network” kita. Dalam hal ini DNS Server bekerja dengan cara meneruskan permintaan
resolusi address ke “authoritative” DNS Server di Internet dan kemudian selain memberikan
jawaban kepada pemohon juga menyimpan nya dalam cache. Apabila berikut nya ada
permintaan yang sama DNS Server akan menjawab langsung berdasarkan data yang sudah
tersimpan dalam cache asalkan TTL (Time To Live) dari data tersebut belum expire. Bila
expire DNS akan melakukan proses yang awal kembali.
Kumpulan How To 19
options {
listenon port 53 { [Link]; [Link]; };
directory "/var/named";
dumpfile "/var/named/data/cache_dump.db";
statisticsfile "/var/named/data/named_stats.txt";
memstatisticsfile "/var/named/data/named_mem_stats.txt";
allowquery { localhost; [Link]/24; };
recursion yes;
};
logging {
channel default_debug {
file "data/[Link]";
severity dynamic;
};
};
zone "." IN {
type hint;
file "[Link]";
};
include "/etc/[Link]";
Konfigurasi di atas diasumsikan bahwa IP address dari DNS Server adalah [Link]
(dicantumkan dalam options “listen-on port 53”}, dan DNS Server hanya melayani client
pada segmen [Link] saja (dicantumkan dalam options “allow-query”). Perhatikan bahwa
baris terakhir berisi pernyataan “include” yang artinya file [Link] yang berada
dalam directory /etc merupakan bagian yang tidak terpisahkan dari file [Link] (isi nya
dicopy kan untuk menggantikan baris yang berisi pernyataan “include” tersebut).
Agar named ini selalu dijalankan setiap kali komputer dihidupkan dan juga sekaligus
dimatikan setiap kali komputer dimatikan maka buat konfigurasi nya permanen dengan
perintah :
Kumpulan How To 20
Dan periksa apakah konfigurasi nya benar aktif seperti terlihat pada tampilan di bawah ini :
Terlihat bahwa named akan aktif pada run level 2,3,4 dan 5.
Satu lagi yang perlu diperhatikan adalah apabila komputer yang menjalankan named ini
mengaktifkan Firewall dengan menggunakan iptables, maka iptables harus dikonfigurasi
untuk mengijinkan trafik network menuju named ini terbuka. Default filter yang dijalankan
untuk komputer yang tidak menjalankan service apapun biasanya adalah sebagai berikut :
Filter tersebut harus diubah dengan mengedit file /etc/sysconfig/iptables sehingga menjadi
seperti berikut ini (dengan menggunakan vim) :
Perhatikan baris yang ditambahkan pada file tersebut yaitu baris yang dicetak miring dan
tebal. DNS menggunakan protokol udp pada port nomor 53.
Setelah mengedit file tersebut restart iptables dan periksa sekali lagi filter iptables apakah
sudah sesuai dengan rincian seperti berikut ini :
Selanjut nya kita tinggal mencoba fungsionalitas DNS Server tersebut dengan menggunakan
client yang kita konfigurasi agar seting IP address ethernet nya menggunakan DNS Server
yang sudah kita buat.
Kita dapat menggunakan perintah “dig” atau “nslookup” pada komputer client seperti
tampak pada gambar di bawah ini :
Nonauthoritative answer:
[Link] canonical name = [Link].
Name: [Link]
Address: [Link]
Name: [Link]
Address: [Link]
[user@sl6c ~]$
Kita tidak perlu mencantumkan ip address (dalam contoh diatas [Link]) sebagai
parameter dari perintah nslookup bila komputer kita sudah diset untuk menggunakan DNS
yang ada pada IP Address tersebut. Demikian juga perintah dig seperti terlihat di bawah ini :
Kumpulan How To 22
;; QUESTION SECTION:
;[Link]. IN A
;; ANSWER SECTION:
[Link]. 85362 IN CNAME [Link].
[Link]. 85362 IN A [Link]
[Link]. 85362 IN A [Link]
;; AUTHORITY SECTION:
[Link]. 171761 IN NS [Link].
[Link]. 171761 IN NS [Link].
;; ADDITIONAL SECTION:
[Link]. 85362 IN A [Link]
[Link]. 85362 IN AAAA 2402:a000:0:7::2
[Link]. 85362 IN A [Link]
[Link]. 85362 IN AAAA 2402:a000:0:3::131
[user@sl6c ~]$
Modifikasi dari Cache Only DNS Server adalah Forwarding Name Server. Kalau cache
only mencari jawaban dari “authoritative DNS Server” yang ada di internet, maka forwarding
lebih sederhana yaitu meminta tolong untuk mencari jawaban kepada DNS Server tertentu
saja. Jadi kalau cache only mencari jawaban sendiri, forwarding selalu minta tolong kepada
DNS Server tertentu saja.
Contoh nya bila kita punya sambungan internet menggunakan Speedy dan kita ingin tetap
menggunakan DNS Server milik Speedy tetapi memiliki DNS Server sendiri untuk
mendapatkan respon DNS yang lebih cepat (karena DNS Server selalu secara default selalu
melakukan “cache” terhadap semua jawaban).
Berikut konfigurasinya
options {
listenon port 53 { [Link]; [Link]; };
directory "/var/named";
dumpfile "/var/named/data/cache_dump.db";
statisticsfile "/var/named/data/named_stats.txt";
Kumpulan How To 23
memstatisticsfile "/var/named/data/named_mem_stats.txt";
allowquery { localhost; [Link]/24; };
forwarders { [Link]; [Link]; };
forward only;
};
logging {
channel default_debug {
file "data/[Link]";
severity dynamic;
};
};
zone "." IN {
type hint;
file "[Link]";
};
include "/etc/[Link]";
Tentunya kita tidak hanya memerlukan DNS Server yang berfungsi sebagai cache atau
forwarder saja, kita memerlukan DNS Server yang juga berfungsi sebagai “authoritative
DNS Server” untuk semua host yang ada dalam private network kita. Untuk keperluan itu
kita selain mengkonfigurasi [Link], kita juga harus membuat zone file untuk private
network kita. Misalkan kita menggunakan domain [Link] (hanya valid untuk keperluan
private network saja, jangan dipergunakan untuk DNS Server yang berada di public IP).
Contoh konfigurasi nya adalah sebagai berikut :
options {
listenon port 53 { [Link]; [Link]; };
directory "/var/named";
dumpfile "/var/named/data/cache_dump.db";
statisticsfile "/var/named/data/named_stats.txt";
memstatisticsfile "/var/named/data/named_mem_stats.txt";
allowquery { localhost; [Link]/24; };
forwarders { [Link]; [Link]; };
forward only;
};
logging {
channel default_debug {
file "data/[Link]";
severity dynamic;
};
};
zone "." IN {
type hint;
file "[Link]";
};
type master;
file "[Link]";
};
include "/etc/[Link]";
Diatas kita telah mendeklarasikan forward zone dan reverse zone untuk domain [Link].
Berikut nya zone file nya harus kita buat dalam directory /var/named sesuai dengan deklarasi
di atas. Isi dari zone file ini adalah sebagai berikut :
NS [Link].
sl6 A [Link]
sl6c A [Link]
www A [Link]
mail CNAME www
Perhatikan bahwa “titik” di setiap akhir nama domain dalam zone file ini sangat penting.
Apabila tidak anda cantumkan maka DNS Server anda akan berkelakuan aneh. Sedangkan isi
dari reverse zone nya adalah sebagai berikut :
NS [Link].
11 PTR [Link].
12 PTR [Link].
13 PTR www .[Link].
Kumpulan How To 25
Konfigurasi diatas memfungsikan DNS Server kita sebagai Forward DNS untuk semua
domain kecuali domain [Link] (private). Anda tinggal menambahkan record record yang
lain sesuai dengan kebutuhan anda. DNS Server yang berfungsi ganda ini biasa disebut juga
sebagai Mix Mode DNS Server.
Untuk membuat Real Authoritative DNS Server tentu anda harus mempunyai domain yang
legal terlebih dahulu dan juga mempunyai legal IP static agar supaya DNS anda dapat
berfungsi sebagaimana mustinya. Konfigurasi untuk Authoritative DNS Server dapat
mencontoh konfigurasi untuk Forward DNS Server diatas dengan menghilangkan deklarasi
“forwarders” dan “forward only” dan mendeklarasikan zone sesuai dengan nama domain
legal anda serta membuat zone file yang sesuai dengan IP address public yang legal.
Berikut ini adalah contoh konfigurasi untuk Slave DNS Server untuk DNS Server yang
sudah kita buat diatas. Slave DNS Server diperlukan untuk keperluan redundancy dan load
balancing (bila beban DNS Server kita terlalu berat). Untuk kita kita memerlukan 3
komputer untuk mencoba nya. Pertama Master DNS, Slave DNS, dan client untuk melakukan
testing.
Slave DNS Server akan memperoleh zone file dari Master DNS melalui mekanisme yang
disebut zone transfer. Bila terjadi perubahan zone file maka Master DNS akan memberikan
notify kepada semua Slave DNS untuk melakukan zone transfer. Selain itu bila Slave DNS
mendeteksi terjadinya kadaluarsa (expire) pada record SOA maka Slave DNS juga akan
melakukan zone transfer.
Pada Master DNS Server kita hanya perlu mengubah zone file nya saja untuk
memberitahukan kepada Master DNS Server pada IP Address berapa Slave DNS bekerja.
Forward zone nya adalah sebagai berikut :
NS [Link].
NS [Link]
sl6 A [Link]
sl6c A [Link]
www A [Link]
mail CNAME www
dan
NS [Link].
NS [Link].
11 PTR [Link].
12 PTR [Link].
13 PTR www .[Link].
Apabila anda mengaktifkan filtering dengan iptables pada Master DNS Server ini maka anda
harus membuka port 53 tcp agar dapat terjadi zone-transfer. Bila tidak Slave DNS tidak akan
mendapatkan zone file dari Master DNS. Untuk membuka port 53 edit file
/etc/sysconfig/iptables agar terlihat seperti dibawah ini :
Jangan lupa merestart service iptables dengan perintah “service iptables restart”
Kemudian siapkan Slave DNS Server persis seperti pada prosedur untuk menyiapkan Master
DNS Server. Berikut adalah file konfigurasi [Link] untuk Slave DNS Server
options {
listenon port 53 { [Link]; [Link]; };
directory "/var/named";
dumpfile "/var/named/data/cache_dump.db";
statisticsfile "/var/named/data/named_stats.txt";
memstatisticsfile "/var/named/data/named_mem_stats.txt";
allowquery { localhost; [Link]/24; };
forwarders { [Link]; [Link]; };
forward only;
};
logging {
channel default_debug {
Kumpulan How To 27
file "data/[Link]";
severity dynamic;
};
};
zone "." IN {
type hint;
file "[Link]";
};
include "/etc/[Link]";
Perhatikan bawha zone file untuk Slave DNS ini kita simpan dalam directory
/var/named/slaves berbeda dengan directory untuk menyimpan master zone file. Bila anda
telah me-non-aktifkan SELinux letak slave zone file ini boleh sembarang, tetapi bila SELinux
aktiv maka DNS Server hanya dapat menyimpan slave zone file ini pada directory tersebut,
kecuali anda ubah seting SELinux nya.
Karena Slave DNS mendapatkan zone file dari Master maka kita tidak perlu membuat zone
file untuk Slave DNS Server. Selanjut bila tidak terdapat kesalahan anda dapat mencoba
untuk mengganti seting DNS Server pada client ke Slave DNS dan memeriksa apakah Slave
DNS ini bekerja sama seperti Master nya.
Kumpulan How To 28
Dengan menggunakan referensi pada Instalasi DNS Server dan Instalasi DHCP Server kita
akan mencoba menggabungkan kedua nya untuk membuat layanan DNS dan DHCP Server
yang bisa melakukan update zone file secara otomatis.
Cara kerja nya adalah ketika suatu client meminta alokasi IP address kepada DHCP Server
maka bila DHCP Server memberikan alokasi IP address tersebut maka DHCP Server
sekaligus juga akan mengupdate informasi yang terdapat dalam DNS Server sehingga record
untuk client tersebut langsung tercatat dalam DNS Server. Demikian juga bila client tersebut
mengembalikan alokasi IP address nya maka data nya pada DNS Server juga akan dihapus.
Fasilitas ini tentu sangat memudahkan sekali bagi administrator karena administrator tidak
perlu mengedit zone file setiap kali ada client baru yang masuk ke jaringan atau ada client
yang sudah tidak pernah menggunakan jaringan lagi.
Untuk mewujudkan hal tersebut DNS dan DHCP Server kita jalankan pada satu Server
sekaligus (walapun bisa saja dijalankan di server yang terspisah) untuk memudahkan. Update
terhadap zone file kita batasi hanya dapat dilakukan oleh DHCP Server saja, karena
sebenarnya client juga dapat melakukan update tersebut langsung ke DNS Server, akan tetapi
hal itu berarti kita tidak dapat mengontrol siapa yang boleh mengupdate zone file.
DNS Server memberlakukan pengamanan terhadap update kedalam zone file ini dengan
mekanisme yang disebut “key” semacam username dan password bagi pihak yang akan
melakukan update (dalam skenario ini DHCP Server). Jadi hanya pihak yang memiliki “key”
saja yang dapat melakukan update.
Untuk membuat key tersebut kita gunakan perintah “dnssec-keygen” seperti berikut ini :
“belogix” adalah nama key yang kita berikan. Anda dapat menggunakan text apa saja sebagai
nama key untuk keperluan anda. Hasil dari perintah ini kita akan mendapatkan dua file
dengan nama yang dimulai dengan huruf K disambung nama key dan beberapa karakter lagi
dengan extension key dan private seperti terlihat pada gambar diatas. Nah simpan baik-baik
file ini, yang kita perlukan adalah file dengan extension key. Kalau kita lihat isinya adalah
sebagai berikut (contoh) :
Kumpulan How To 29
Bagian yang dicetak tebal adalah bagian yang penting yang berfungsi sebagai username dan
password untuk melakukan update zone file.
Berikut nya tinggal mempersiapkan konfigurasi untuk DNS Server yang dibuat seperti
berikut ini :
key belogix {
algorithm hmacmd5;
secret "j4fEKxQ63LKIFKi91XOMzQ==";
};
logging {
channel default_debug {
file "data/[Link]";
severity dynamic;
};
};
zone "." IN {
type hint;
file "[Link]";
};
zone "[Link]" IN {
type master;
file "dynamic/[Link]";
allowupdate { key belogix; };
};
zone "[Link][Link]" IN {
type master;
file "dynamic/[Link]";
allowupdate { key belogix; };
};
Kumpulan How To 30
include "/etc/[Link]";
[root@sl6 etc]#
Perhatikan perubahan yang terjadi pada definisi zone file dimana zone file sekarang kita
letakkan dalam directory /var/named/dynamic/, terutama bila anda mengaktifkan SELinux
karena SELinux tidak mengijinkan named untuk mengedit dile yang berada dalam
directory /var/named. Selain perubahan letak zone file juga penggunaan key seperti terlihat
diatas, perhatikan semua tanda baca tidak boleh ada yang kurang atau lebih.
Kita masih menggunakan konfigurasi Mix DNS Server yaitu DNS Forwarding untuk semua
domain kecuali untuk private domain [Link]. Ingat konfigurasi DNS ini adalah untuk
keperluan DNS Server dalam private network saja.
Sedangkan konfigurasi untuk DHCP server nya berubah menjadi seperti berikut ini :
defaultleasetime 1800;
maxleasetime 3000;
minleasetime 600;
ddnsupdatestyle interim;
authoritative;
key belogix {
algorithm hmacmd5;
secret 42+tp3kqfPOzB87GB6s4eQ==;
}
zone [Link] {
primary localhost;
key belogix;
}
zone [Link][Link] {
primary localhost;
key belogix;
}
[root@sl6 dhcp]#
Perhatikan perbedaan menuliskan deklarasi key antara [Link] dan [Link]. Pada
[Link] tidak menggunakan tanda kutip. Selain itu sekarang dalam [Link] terdapat
deklarasi zone juga walaupun format nya agak sedikit berbeda dengan yang berada di
[Link]. Perhatikan baris deklarasi “primary localhost”, ini menyatakan bahwa update
Kumpulan How To 31
dari DHCP Server ke DNS Server harus dilakukan melalui interface “localhost” ([Link])
karena kebetulan kedua server itu dalam komputer yang sama bila tidak yang harus
dicantumkan disini adalah IP Address DNS Server.
Selanjut nya kita juga harus membuka filter iptables agar melewatkan trafik yang ditujukan
ke DNS dan DHCP Server. Jadi kita ubah filter iptables menjadi seperti di bawah ini :
Jangan lupa untuk merestart iptables setelah membuat perubahan seperti diatas. Selanjut nya
kita tinggal mengaktifkan DNS dan DHCP Server yang sudah diubah konfigurasinya tersebut
dan siap untuk melakukan percobaan.
Perlu diketahui bahwa fasiltas dynamic update ini juga membutuhkan sedikit perubahan
konfigurasi disisi client. Client harus menggunakan perintah “dhclient” untuk mendapatkan
alokasi IP Address yang sekaligus dapat mengupdate zone file pada DNS Server, tanpa
menggunakan perintah dhclient maka update terhadap zone file tidak dilakukan.
Disamping itu pada client juga harus dibuat file konfigurasi untuk perintah dhclient. File
konfigurasi ini gunanya untuk memberikan nama host pada client yang akan dicantumkan
pada zone file. Misal nya saya menginginkan client yang saya pakai akan menggunakan nama
[Link]. Maka nama tersebut harus dicantumkan dalam file konfigurasi dhclient.
Bila tidak darimana DNS Server akan mendapatkan nama untuk dicantumkan dlm zone file ?
File [Link] ini disimpan pada directory /etc/dhcp di masing-masing komputer client
yang nama nya akan dicantumkan dalam zone file. Berikut contoh konfigurasi untuk
[Link]
address maka network-script nya harus diubah menjadi seperti di bawah ini :
Pada saat booting client masih belum memiliki IP address, sampai kita mengetikkan perintah
berikut sebagai root :
Memang akibat nya hal ini menjadi kurang praktis dari sisi user, apalagi bila user tidak dapat
menjalankan perintah sebagai root karena perintah dhclient hanya dapat dijalankan oleh root.
Salah satu cara untuk mengatasi kendala itu adalah dengan memasukkan perintah tersebut ke
dalam boot script yang ada di dalam file /etc/rc.d/[Link].
Untuk memeriksa apakah bila pada client kita ketikkan perintah dhclient maka selain
didapatkan alokasi IP Address juga terjadi update terhadap zone file kita dapat melihat nya
melalui log file yang berada pada server. Kita akan mendapatkan hasil sebagai berikut :
Atau kita dapat mencoba langsung pada komputer client apakah betul namanya sudah
tercantum dalam zone file secara otomatis dengan perintah sebagai berikut :
Name: [Link]
Address: [Link]
[root@sl6c1 ~]#
Perhatikan juga bahwa sebelum mematikan client zone file juga perlu diupdate. Karena kalau
tidak nama host dari client tetap tercantum dalam zone file walaupun client sudah tidak aktif.
Oleh karena itu sebelum mematikan komputer client berikan dulu perintah :
Untuk memudahkan sekali lagi perintah ini juga dapat dimasukkan ke dalam salah satu script.
Kumpulan How To 34
Berikut ini adalah prosedur instalasi Web Server menggunakan Apache pada distro
Scientific Linux 6 yang merupakan distro yang setara dengan Red Hat Enterprise Linux 6
(RHEL). Prosedur ini pun dapat dilakukan untuk distro yang lain selama masih satu keluarga
dengan Red Hat.
Apache adalah Web Server yang paling populer dan paling banyak dipakai di seluruh dunia.
Instalasi Apache juga cukup mudah dan Apache biasanya sudah terdapat dalam repository
masing-masing distro.
Untuk distro Scientific Linux ini instalasi default dengan pilihan paling minimum yaitu untuk
pilihan dengan konfigurasi Desktop sudah secara otomatis menginstall Apache tanpa perlu
kita melakukan apa-apa lagi. Hal ini dapat dilihat dengan perintah :
atau
Server Apache ini nama paket nya adalah httpd. Bila di komputer anda belum terinstall
Apache anda dapat melakukan instalasi dengan perintah “yum install httpd” bila terhubung
ke internet. Bila komputer anda tidak terhubung ke internet anda dapat melakukan instalasi
dengan perintah rpm dengan terlebih dahulu mencari paket file rpm untuk Apache yang
sesuai dengan distro yang anda pakai.
Apache meletakkan konfigurasi nya dalam directory /etc/httpd yang isinya adalah sebagai
berikut :
[root@sl6d httpd]# ls l
total 8
drwxrxrx. 2 root root 4096 May 16 06:02 conf
drwxrxrx. 2 root root 4096 May 16 05:08 conf.d
lrwxrwxrwx. 1 root root 19 May 16 05:08 logs > ../../var/log/httpd
lrwxrwxrwx. 1 root root 27 May 16 05:08 modules > ../../usr/lib/httpd/modules
lrwxrwxrwx. 1 root root 19 May 16 05:08 run > ../../var/run/httpd
[root@sl6d httpd]#
Kumpulan How To 35
Salah satu kemudahan dari Apache web server ini adalah begitu selesai melakukan instalasi
apache web server ini sudah langsung dapat digunakan. Untuk menjalankan Apache web
server ini pergunakan perintah :
Walaupun ada sedikit error yang berkaitan dengan masalah nama web server ini sudah
berjalan, anda dapat menggunakan browser yang ada di komputer yang menjalankan Apache
dengan browsing ke “localhost” seperti terlihat berikut :
Bila anda ingin mencoba mengakses web server ini dari komputer lain perhatikan terlebih
dahulu apakah filter yang ada di komputer yang menjalankan Apache web server
mengijinkan komputer dari luar untuk mengakses web site tersebut. Filter untuk iptables yang
mengijinkan akses ke web server adalah sebagai berikut : (edit file /etc/sysconfig/iptables
sehingga isinya adalah sebagai berikut)
Kumpulan How To 36
Jangan lupa setelah mengedit file tersebut iptables harus direstart terlebih dahulu dengan
memberikan perintah “service iptables restart”
Untuk membuat agar web server ini selalu dijalankan apabila komputer dihidupkan maka
anda harus memberikan perintah :
Perintah yang kedua adalah untuk memastikan bahwa httpd pasti dijalankan pada run level
2,3,4, dan 5.
Sampai disini selesai sudah instalasi dan konfigurasi sederhana untuk Web Server, namun
tentunya ada beberapa hal lagi yang penting untuk dipelajari sehubungan dengan konfigurasi
web server Apache. Pertama apabila anda melakukan instalasi web server maka sebaik nya
anda sudah meregistrasikan keberadaan web server ini pada DNS Server yang melayani
network anda. Bila tidak anda akan menjumpai error seperti di atas setiap kali anda men –
start web server anda.
Bila anda tidak meregistrasikan web server anda ke DNS Server, untuk menghilangkan error
yang terjadi setiap kali web server tersebut di start ubahlah konfigurasi web server pada baris
yang berisi deklarasi ServerName menjadi seperti di bawah ini (edit file
/etc/dhcpd/conf/[Link]) :
ServerName [Link]:80
Sesuaikan dengan IP Address yang terdapat pada komputer anda. Baris ini default nya
ditandai sebagai komentar (ada tanda “#” di depan nya).
Kumpulan How To 37
Letak root document, yaitu dimana anda menyimpan file file html anda (untuk static html).
Deklarasinya adalah :
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Apabila anda mengubah letak document root ini ke directory yang lain penting untuk
diperhatikan bahwa directory tersebut harus “word readable” artinya isi directory tersebut
dapat dibaca oleh semua orang, bila tidak server http akan memberikan pesan kesalahan
"Forbidden 403" ketika anda mengakses web server tersebut.
Satu hal lagi yang perlu anda perhatikan bila mengubah letak document root adalah apabila
server mengaktifkan SELinux. Anda harus menyesuaikan “security context” nya karena bila
tidak web server juga tidak dapat mengakses directory tersebut walaupun permission nya
sudah benar.
Misalkan anda ubah letak document root ke /var/otherwww bila anda periksa security context
nya hasilnya adalah :
Bila anda ingin bermain dengan dynamic html, atau bermain dengan script cgi maka apache
sudah menyediakan directory khusus untuk menyimpan file-file script anda. Deklarasinya
adalah
Kumpulan How To 38
<Directory "/var/www/cgibin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
Selanjut nya anda tinggal menyimpan script anda dalam directory tersebut, contoh nya untuk
anda dapat membuat script sederhana seperti di bawah ini :
#!/usr/bin/perl
print "Contenttype: text/html\n\n";
print "Hello, World.";
dan menyimpan nya sebagai /var/www/cgi-bin/[Link] maka kalau anda mengakses web
server anda dengan alamat [Link] anda akan mendapatkan tulisan
“Hello World”. Jangan lupa bahwa anda harus memberikan permission world executable
(chmod a+x [Link]) agar script tersebut dapat dieksekusi.
Apabila anda bermaksud meletakkan file script ini dalam directory yang lain pastikan bahwa
directory tersebut word readable juga seperti untuk file html. Selain itu untuk server yang
mengaktifkan SELinux security context nya juga harus disesuaikan. Perhatikan cara merubah
security context bila misal nya anda mengubah letak direcotry yang berisi script ke directory
/var/other-cgi seperti di bawah ini
Salah satu penggunaan Apache yang paling populer adalah untuk diintegrasikan dengan PHP
untuk menghasilkan dynamic web site. Sebenar nya hal ini mirip dengan cgi-script hanya
perbedaan pada bahasa yang digunakan. Seiring dengan semakin populer nya PHP untuk
membuat aplikasi berbasis web maka kebutuhan untuk mengintegrasikan PHP dengan
Apache juga semakin diperlukan. Dibawah ini akan dirinci langkah-langkah nya.
PHP secara default tidak diinstall apabila anda melakukan instalasi Scientific Linux dengan
pilihan default. Hal ini dapat dilihat dengan perintah berikut :
atau bila komputer anda tidak terhubung ke internet anda dapat memeriksa nya dengan
perintah :
Kumpulan How To 39
Untuk melakukan instalasi PHP berikut langkah-langkah nya. Bila anda tidak terhubung ke
internet anda harus mencari paket file rpm nya, yaitu [Link]. Akan tetapi
ternyata paket ini punya ketergantungan terhadap paket yang lain, artinya sebelum melakukan
instalasi paket [Link] anda harus menginstall dulu semua paket yang
menjadi ketergantungan tersebut. Hal ini dapat dilihat sebagai berikut :
Setelah mendapatkan kedua paket rpm nya anda dapat melakukan instalasi dengan perintah
sebagai berikut :
Apabila anda komputer anda terhubung ke internet anda dapat melakukan instalasi PHP ini
dengan lebih mudah menggunakan perintah yum karena perintah yum ini secara otomatis
langsung melakukan instalasi terhadap semua ketergantungan yang diperlukan seperti telihat
di bawah ini :
Dependencies Resolved
==============================================================
Package Arch Version Repository Size
==============================================================
Installing:
php i686 5.3.26.el6_0.1 slsecurity 1.1 M
Installing for dependencies:
phpcli i686 5.3.26.el6_0.1 slsecurity 2.2 M
phpcommon i686 5.3.26.el6_0.1 slsecurity 515 k
Transaction Summary
==============================================================
Install 3 Package(s)
Upgrade 0 Package(s)
Installed:
php.i686 0:5.3.26.el6_0.1
Dependency Installed:
phpcli.i686 0:5.3.26.el6_0.1 phpcommon.i686 0:5.3.26.el6_0.1
Complete!
[root@sl6 ~]#
Setelah melakukan instalasi PHP seperti diatas berikut nya adan melakukan konfigurasi pada
Apache dengan mengedit file /etc/httpd/conf/[Link]. Tambahkan deklarasi seperti di
bawah ini ke dalam nya.
Kumpulan How To 41
Anda dapat menambahkan deklarasi tersebut di bagian bawah dari file [Link] atau supaya
memudahkan tambahkan masin-masing baris sesuai kelompok nya misalkan deklarasi
“AddHandler php5-scipr php” anda tambahkan di bawah deklarasi AddHandler yang sudah
ada, demikian seterus nya.
Untuk memeriksa apakah instalasi PHP anda sudah terintegrasi dengan baik dengan Apache
anda dapat membuat sebuah script php yang sangat sederhana seperti di bawah ini dan
simpan dalam “Document Root” Apache (/var/www/html) dengan nama [Link] :
<h1>PHP Test</h1>
<p>
<b>An Example of PHP in Action</b><br />
<?php echo "The Current Date and Time is: <br>";
echo date("g:i A l, F j Y.");?>
</p>
<h2>PHP Information</h2>
<p>
<?php phpinfo(); ?>
</p>
Selanjut nya anda akses web server tersebut dengan menggunakan browser. Anda harus
mendapatkan tampilan seperti di bawah ini :
Kumpulan How To 42
Berikut ini adalah prosedur instalasi Database Server menggunakan MySQL pada distro
Scientific Linux 6 yang merupakan distro yang setara dengan Red Hat Enterprise Linux 6
(RHEL). Prosedur ini pun dapat dilakukan untuk distro yang lain selama masih satu keluarga
dengan Red Hat.
MySQL adalah salah satu Database Server yang paling banyak dipakai di lingkungan Linux
dan biasanya sudah tersedia pada repository masing-masing distro. Paket mysql terpisah
dalam dua kelompok yaitu mysql-server sebagai database server nya dan mysql sebagai client
untuk berinteraksi dengan server melalui perintah-perintah CLI baik untuk keperluan
management user dan database atau untuk keperluan akses data.
Tahap pertama periksa dahulu apakah mysql dan mysql-server sudah terinstalasi pada
komputer anda dengan menggunakan perintah (sebagai root) seperti terlihat di bawah ini :
atau
Bagian pertama anda lakukan bila komputer anda terhubung ke internet. Bila komputer anda
tidak terhubung ke internet maka pergunakan perintah pada bagian kedua.
Apabila tampilan yang anda dapatkan seperti pada gambar diatas maka hal itu berarti mysql-
server dan mysql belum terinstall pada komputer anda. Untuk melakukan instalasi bila
komputer anda tidak terhubung ke internet maka anda harus mencari dulu file rpm nya. Perlu
diperhatikan bahwa paket file rpm untuk mysql-server mempunyai ketergantungan pada
beberapa file rpm yang lain. Selengkapnya semua file rpm yang diperlukan untuk instalasi
mysql dan mysql-server dapat dilihat seperti berikut ini :
[root@sl6 ~]# ls l
total 10276
rw. 1 root root 1608 May 9 04:55 anaconda[Link]
rwrr. 1 root root 44528 May 9 04:55 [Link]
Kumpulan How To 43
Anda dapat melakukan instalasi untuk semua paket file rpm secara sekaligus seperti terlihat
berikut ini :
Bila komputer anda terhubung ke internet secara langsung maka anda tidak perlu mencari
file-file rpm nya terlebih dahulu. Anda langsung dapat melakukan instalasi dengan
memberikan perintah :
Dependencies Resolved
==============================================================
Package Arch Version Repository Size
==============================================================
Installing:
Kumpulan How To 44
Transaction Summary
==============================================================
Install 4 Package(s)
Upgrade 0 Package(s)
Installed:
mysql.i686 0:5.1.521.el6_0.1 mysqlserver.i686 0:5.1.521.el6_0.1
Dependency Installed:
perlDBDMySQL.i686 0:4.0133.el6 perlDBI.i686 0:1.6094.el6
Complete!
[root@sl6 ~]#
Hasil dari instalasi ini kita akan mendapatkan sebuah file konfigurasi /etc/[Link] dan sebuah
startup script dalam directory /etc/init.d/ seperti terlihat berikut ini :
[mysqld_safe]
logerror=/var/log/[Link]
pidfile=/var/run/mysqld/[Link]
[root@sl6 ~]#
Dari situ kita mendapatkan informasi dimana MySQL menyimpan data nya yaitu dalam
directory /var/lib/mysql.
Pertama kali anda jalankan MySQL Server anda akan mendapatkan tampilan seperti berikut
ini :
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
[ OK ]
Kumpulan How To 46
Starting mysqld: [ OK ]
[root@sl6 ~]#
Tampilan di atas hanya muncul sekali saja pada saat pertamakali anda menjalankan MySQL
Server. Selanjutnya tampilan tersebut tidak akan muncul lagi. Yang penting dari tampilan
diatas adalah pesan bahwa instalasi MySQL server anda harus segera diamankan dengan
memberikan password untuk user “root” mysql. Perhatikan bahwa ini bukan root untuk
komputer anda tetapi user yang berfungsi sebagai administrator khusus untuk server MySQL.
User ini dipergunakan untuk conect ke server dari mysql client.
Pada kondisi awal seperti ini maka siapapun dapat melakukan koneksi ke server mysql tanpa
password. Perhatikan tampilan di bawah ini :
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Perintah diatas menjalankan mysql client di komputer yang juga menjalankan mysql-server
dengan username sembarang. Konfigurasi awal dari MySQL hanya membolehkan koneksi
melalui “localhost” (dengan username sembarang atau anonymous) artinya hanya di
komputer yang menjalankan mysql-server saja, oleh karena itu anda belum dapat
menjalankan mysql client untuk connect dari komputer lain.
Setelah menjalankan mysql-client selanjut nya anda akan mendapatkan prompt mysql seperti
tampak pada tampilan diatas. Selanjut nya anda berinteraksi dengan mysql-server
menggunakan perintah-perintah SQL (tidak dibahas disini).
Untuk mengubah susunan user dan mengamankan instalasi mysql sesaat setelah melakukan
instalasi seperti di atas anda harus connect ke mysql-server dengan user “root” dari mysql dan
mengakses database “user” yang menyimpan daftar user mysql. Caranya adalah sebagai
berikut :
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Kumpulan How To 47
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
MySQL mempunyai aturan tersendiri untuk user yang boleh mengakses server dan kita dapat
memeriksanya dengan memberikan perintah berikut setelah menjalankan perintah diatas :
mysql>
Susunan tabel user diatas kita baca dengan pengertian bahwa user “root” dapat melakukan
koneksi dari localhost, [Link] dan “[Link]” yang tidak lain adalah IP address dari
komputer yang menjalankan mysql-server tanpa password. Selain itu user anonymous juga
dapat melakukan koneksi dari localhost dan “[Link]” juga tanpa password.
mysql>
Perintah diatas menset password untuk user root adalah “passwdmysql”. Perhatikan bahwa
perintah “PASSWORD” di depan password yang kita berikan berfungsi untuk melakukan
enkripsi terhadap password yang kita berikan, sehingga kalau kita baca lagi tabel user terlihat
bahwa password yang disimpan sudah melalui proses enkripsi terlebih dahulu :
mysql>
Selain menggunakan perintah diatas bisa juga digunakan perintah “mysqladmin” untuk
mengubah password “root” tetapi tidak dibahas disini. Selanjut nya bila anda menghendaki
tidak boleh ada user anonymous yang dapat melakukan koneksi ke server maka anda harus
menghapus user anonymous ini dengan perintah :
Jangan lupa anda harus memberikan perintah “FLUSH PREVILEGES” setiap kali anda
mengubah database user ini agar perubahan tersebut segera diaktifkan. Hasil akhir nya adalah
sebagai berikut :
mysql>
Dengan hasil seperti di atas maka mysql-server anda sudah relatif aman dan sementara hanya
user root yang dapat mengakses dengan password seperti yang telah diberikan.
Agar mysqld ini selalu dijalankan setiap kali komputer dihidupkan dan juga sekaligus
Kumpulan How To 49
dimatikan setiap kali komputer dimatikan maka buat konfigurasi nya permanen dengan
perintah :
Dan periksa apakah konfigurasi nya benar aktif seperti terlihat pada tampilan di bawah ini :
Terlihat bahwa mysqld akan aktif pada run level 2,3,4 dan 5.
Apabila anda mengaktifkan firewall dengan iptables maka anda harus membuka port untuk
MySQL Server apabila mysqld ini akan diakses dari komputer lain. Biasanya hal ini jarang
dilakukan kecuali anda membuat aplikasi yang langsung berinteraksi dengan mysql-server.
Port yang harus dibuka adalah seperti terlihat di bawah ini :
Satu lagi yang perlu ditambahkan sehubungan dengan instalasi MySQL Server ini adalah
apabila nanti nya MySQL akan diakses dari PHP maka kita harus melakukan instalasi file
paket dukungan bagi PHP-MySQL. Untuk itu carilah dahulu paket file php-mysql-5.3.2-
6.el6_0.[Link] dan php-pdo-5.3.2-6.el6_0.[Link].
Bila anda sudah mendapatkan nya anda dapat langsung menginstall nya dengan perintah :
Dependencies Resolved
==============================================================
Package Arch Version Repository Size
==============================================================
Installing:
phpmysql i686 5.3.26.el6_0.1 slsecurity 72 k
Installing for dependencies:
phppdo i686 5.3.26.el6_0.1 slsecurity 70 k
Transaction Summary
==============================================================
Install 2 Package(s)
Upgrade 0 Package(s)
Installed:
phpmysql.i686 0:5.3.26.el6_0.1
Dependency Installed:
phppdo.i686 0:5.3.26.el6_0.1
Complete!
[root@sl6 ~]#
Kumpulan How To 51
Dengan mempraktekkan instalasi yang sudah dibahas pada bab 5 mengenai Apache Web
Server dan bab 6 mengenai MySQL Server kita secara tidak langsung sudah menyiapkan
platform LAMP yang diperlukan untuk melakukan instalasi CMS sNews. Berikut ini
langkah-langkah yang harus dilakukan.
Pertama kita download terlebih dahulu source code WordPress ini dari web site nya. Versi
terbaru pada saat manual ini ditulis adalah versi 1.7 dengan perintah seperti di bawah ini :
[root@sl6 ~]#
kita akan mendapatkan satu file dengan nama [Link] seperti terlihat pada gambar
berikut :
[root@sl6 ~]# ls l
total 2776
rw. 1 root root 1608 May 9 04:55 anaconda[Link]
rwrr. 1 root root 44528 May 9 04:55 [Link]
rwrr. 1 root root 10232 May 9 04:53 [Link]
rw. 1 root root 49 May 12 14:43 Kbelogix.+157+[Link]
rw. 1 root root 165 May 12 14:43 Kbelogix.+157+[Link]
rwrr. 1 root root 2764136 May 19 14:38 [Link]
drwxrxrx. 2 root root 4096 May 19 11:49 rpm
Kumpulan How To 52
[root@sl6 ~]#
Karena file tersebut masih dipaket dalam format [Link], kita harus mengurai nya terlebih
dahulu dengan perintah sebagai berikut :
Langkah berikut nya adalah kita menyiapkan database untuk keperluan CMS ini pada
database server yang sudah diinstall dan siap digunakan sesuai dengan pembahasan pada bab
6. Untuk keperluan ini kita membuat sebuah database dengan nama wordpress dengan
perintah berikut :
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> EXIT;
Bye
Kumpulan How To 53
[root@sl6 ~]#
Selanjut nya anda harus membuat file [Link], untuk memudahkan anda dapat meng-
copy nya dari file [Link] yang terdapat dalam directory wordpress hasil dari
perintah tar pada langkah sebelum nya. Dalam file ini anda ubah baris-baris deklarasi dan
sesuaikan dengan yang ada di bawah ini :
// ** MySQL settings You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');
Masih dalam file [Link], anda harus membuat “security key” dengan cara
menggunakan key generator yang ada pada web site dari Wordpress
([Link] Dengan mengakses web site pada alamat
tersebut anda sekaligus akan mendapatkan semua security keys yang diperlukan, tinggal
menyalin ke dalam file [Link] pada baris yang sesuai seperti terlihat berikut ini :
Langkah berikut nya anda tinggal mengcopy kan seluruh isi file dalam directory wordpress
ke dalam root document web server anda misal nya dengan menggunakan perintah sebagai
berikut :
Perhatikan bila anda mengaktifkan SELinux anda harus men-set security context file-file
Kumpulan How To 54
wordpress yang anda pindahkan dari luar directory tempat anda mengurai source code dari
Wordpress dengan perintah :
Selanjut nya anda sudah dapat melakukan konfigurasi Wordpress dengan mengakses nya
melalui browser ke web server seperti terlihat pada gambar beikut :
Kumpulan How To 55
Berikut ini adalah prosedur instalasi FTP Server menggunakan squid pada distro Scientific
Linux 6 yang merupakan distro yang setara dengan Red Hat Enterprise Linux 6 (RHEL).
Prosedur ini pun dapat dilakukan untuk distro yang lain selama masih satu keluarga dengan
Red Hat.
squid adalah salah satu Cache/Proxy Server yang paling banyak dipakai dan mudah diinstall,
walaupun penggunaan Cache/Proxy Server kurang begitu relevan saat ini dengan semakin
banyaknya web site yang menggunakan “dynamic content”. Selain itu penggunaan
Cache/Proxy Server juga tidak relevan untuk web site yang “secure” (biasa ditandai dengan
penggunaan https). Namun proxy masih dapat dimanfaatkan untuk masalah “access control”
yaitu untuk membatasi akses.
Tahap pertama periksa dahulu apakah squid sudah terinstalasi pada komputer anda dengan
menggunakan perintah (sebagai root) seperti terlihat di bawah ini :
atau
Bagian pertama anda lakukan bila komputer anda terhubung ke internet. Bila komputer anda
tidak terhubung ke internet maka pergunakan perintah pada bagian kedua.
Apabila tampilan yang anda dapatkan seperti pada gambar diatas maka hal itu berarti squid
belum terinstall pada komputer anda. Untuk melakukan instalasi bila komputer anda tidak
terhubung ke internet maka anda harus mencari dulu file rpm dari squid. Copykan lah file
tersebut ke dalam salah satu directory di komputer anda. Misalkan sebagai root anda copy
kan file tersebut ke dalam directory /root seperti tampak pada gambar di bawah ini :
[root@sl6 ~]# ls l
total 1788
rw. 1 root root 1608 May 9 04:55 anaconda[Link]
rwrr. 1 root root 769 May 19 15:03 Documents
rwrr. 1 root root 44528 May 9 04:55 [Link]
rwrr. 1 root root 10232 May 9 04:53 [Link]
drwxrxrx. 2 root root 4096 May 23 14:02 rpm
rwrr. 1 root root 1756620 Nov 25 04:07 squid3.1.4[Link]
[root@sl6 ~]#
Kumpulan How To 56
Bila anda sudah mengcopykan seperti tampak pada gambar diatas selanjutnya untuk
melakukan instalasi anda tinggal memberikan perintah seperti berikut ini :
Bila komputer anda terhubung ke internet secara langsung maka anda tidak perlu mencari dan
mengcopy file [Link] terlebih dahulu. Anda langsung dapat melakukan
instalasi dengan memberikan perintah :
Dependencies Resolved
==============================================================
Package Arch Version Repository Size
==============================================================
Installing:
squid i686 7:3.1.41.el6 sl 1.7 M
Transaction Summary
==============================================================
Install 1 Package(s)
Upgrade 0 Package(s)
Installed:
squid.i686 7:3.1.41.el6
Complete!
[root@sl6 ~]#
Hasil dari instalasi ini kita akan mempunyai directory baru dalam directory etc yaitu /etc/suid
Kumpulan How To 57
[root@sl6 squid]# ls l
total 56
rwrr. 1 root squid 419 Nov 24 14:17 [Link]
rwrr. 1 root root 419 Nov 24 14:17 [Link]
rwrr. 1 root root 1411 Nov 24 14:17 [Link]
rwrr. 1 root root 1411 Nov 24 14:17 [Link]
rwrr. 1 root root 11651 Nov 24 14:17 [Link]
rwrr. 1 root root 11651 Nov 24 14:17 [Link]
rwrr. 1 root root 421 Nov 24 14:17 [Link]
rwrr. 1 root root 421 Nov 24 14:17 [Link]
rwr. 1 root squid 2549 Nov 24 14:17 [Link]
rwrr. 1 root root 2549 Nov 24 14:17 [Link]
[root@sl6 squid]#
Agar setiap kali komputer booting squid langsung dijalankan berikan perintah :
Konfigurasi standar ini menjalankan squid untuk bekerja pada port 3128, artinya bila
komputer client bermaksud menggunakan Cache/Proxy Server maka komputer client harus
dikonfigurasi untuk berkerja dengan port 3128. Contoh nya untuk browser Firefox
konfigurasi itu dilakukan pada menu Edit --> Preferences --> Advanced --> Settings seperti
terlihat di bawah ini :
Apabila komputer client tidak dikonfigurasi untuk menggunakan proxy seperti pada gambar
di atas maka komputer client tidak akan menggunakan Proxy.
Perlu diingat juga bila pada komputer yang menjalankan squid ini terpasang firewall dengan
iptables maka anda harus mengkonfigurasi iptables untuk membuka akses yang menuju port
3128, atau dengan kata lain file /etc/sysconfig/iptables nya harus diedit hingga menjadi
seperti berikut ini :
Cara ini bagi kebanyakan administrator jaringan dinilai kurang praktis karena komputer client
harus dikonfigurasi satu persatu, bila jumlah komputer client cukup banyak tentu pekerjaan
ini cukup merepotkan. Jalan keluar nya adalah dengan mengkonfigurasi agar Squid bekerja
sebagai “transparent proxy”. Untuk itu Squid harus dikombinasikan dengan Firewall
menggunakan IPTABLES.
Cara kerja transparent proxy adalah dengan menjalankan IPTABLES pada komputer yang
berfungsi sebagai gateway, sebagai contoh untuk menghemat Cache/Proxy server dijalankan
juga di komputer yang berfungsi sebagai gateway ini. Misalkan semua client berada pada
network [Link] dan terhubung ke eth0 dan IP address eth0 [Link], maka iptables di
gateway tersebut harus diubah dengan mengedit file /etc/sysconfig/iptables menjadi seperti di
bawah ini :
Perhatikan tambahan tabel nat pada konfigurasi iptables diatas. Iptables dengan konfigurasi
ini akan memblok semua trafik keluar yaitu semua trafik yang berasal dari internal network
yang terhubung ke eth0 termasuk juga trafik http yang bercirikan port tujuan nya adalah port
80 (http port).
Namun khusus untuk trafik http (dengan tujuan port 80) dengan tujuan kemana saja yang
berasal dari internal network yang terhubung ke eth0 dialihkan ke alamat [Link] port
3128 yaitu ke Cache/Proxy Server yang berjalan di komputer yang berfungsi sebagai gateway
tersebut. Agar Cache/Proxy Server segera menangkap trafik ini maka anda perlu mengubah
konfigurasi Proxy/Cache dengan cara mengedit file /etc/squid/[Link] pada baris yang
Kumpulan How To 60
Sekarang anda tidak perlu repot-repot lagi mengkonfigurasi komputer client untuk
menggunakan proxy lagi. Semua akses ke web dari client secara otomatis akan dibelokkan
menuju Proxy/Cache Server. Namun perlu diingat bahwa dengan konfigurasi diatas client
anda tidak dapat mengakses web server yang dikonfigurasi dengan “secure http” ditandai
dengan penggunaan syntax https://
Secure http memang tdak dapat dilayani dengan Proxy/Cache Server karena akan menjadi
tidak secure lagi, Proxy/Cache Server akan menjadi “man in the middle”. Jadi trafik yang
menuju ke secure http server harus diteruskan tanpa cache, untuk keperluan tersebut yang
perlu dimodifikasi adalah IPTABLES, dengan mengedit file /etc/sysconfig/iptables menjadi
seperti berikut :
Bila anda sudah berhasil mengkonfigurasi squid untuk keperluan transparent proxy berikut
nya anda dapat memanfaatkan squid untuk mengontrol akes internet yang melalui protocol
http menggunakan “access control list” (ACL). Ada dua macam deklarasi untuk melakukan
hal tersebut yang kita masukkan dalam file /etc/squid/[Link] yaitu deklarasi “acl” dan
“http_access”. Misal nya kita bermaksud membatasi akses berdasarkan jam atau client
tertentu. Kita tambahkan deklarasi berikut :
#
Kumpulan How To 61
#
# Tambahkan diatas deklarasi http_access dari [Link]
#
http_access deny RestrictedHost
http_access allow home_network jam_kerja
Contoh lain misalkan untuk pembatasan waktu dengan deklarasi sebagai berikut :
#
acl pagi time 7:3010:00
#
http_access allow pagi
#
Untuk memfilter berdasarkan web site anda dapat membuat list mana web site yang boleh
dikunjungi atau mana web site yang tidak boleh dikunjungi dengan deklarasi sebagai berikut :
#
acl home_network src [Link]/24
acl jam_kantor time M T W H F 9:0017:00
acl Boleh dstdomain "/usr/local/etc/[Link]"
acl Dilarang dstdomain "/usr/local/etc/[Link]"
#
#
http_access deny Dilarang
http_access allow home_network jam_kantor Boleh
kemudian anda membuat dua buah file dalam directory /usr/local/etc dengan nama
[Link] dan [Link]. Misalnya sebagai berikut :
# File: /usr/local/etc/[Link]
[Link]
[Link]
# File: /usr/local/etc/[Link]
[Link]
[Link]
Perhatikan bahwa default ACL dari squid membolehkan semua privat network untuk
mengakses squid dengan deklarasi berikut :
Jadi bila anda membuat acl yang akan membatasi berdasarkan ip address perhatikan apakah
deklarasi anda tidak ternetralisir oleh deklarasi di atas. Artinya walaupun anda sudah
membuat deklarasi untuk membatasi berdasarkan IP Address tertentu bila IP Address tersebut
adalah private network dalam salah satu deklarasi di atas maka pembatasan anda akan
diabaikan.
Untuk itu ada sebaiknya anda hilangkan deklarasi “http_access allow localnet” terlebih
dahulu.
Squid juga dapat berfungsi sebgai “bandwidth limiter” untuk trafik http. Jadi bila anda ingin
mengendalikan trafik http agar tidak menghabiskan seluruh bandwidth anda dapat
menggunakan squid. Pembatasan yang dilakukan bahwan dapat di atur untuk setiap user dan
setiap subnet (bila anda memiliki beberapa subnet).
Untuk keperluan tersebut squid menggunakan konsep yang disebut “pool” atau dapat kita
terjemahkan secara bebas sebagai kelompok penjatahan. Setiap “pool” memiliki kelas atau
kategori mulai dari 1 s/d 5 akan tetapi yang sering digunakan dan lebih mudah dimengerti
adalah kelas 1 s/d 3 saja.
Berdasarkan kelas nya setiap pool akan memiliki beberapa parameter yang merupakan angka
pembatas berupa sepasang angka. Pool kelas 1 hanya memiliki 1 parameter (sepasang angka
pembatas), pool kelas 2 memiliki 2 parameter (dua pasang angka pembatas) dan pool kelas 3
memiliki 3 parameter (tiga pasang angka pembatas), pool kelas 4 dan 5 memiliki definisi
tersendiri, tidak kita bahas disini.
Angka pembatas ini menggambarkan cara keja squid dalam membatasi trafik. Setiap pool
dapat dianalogikan dengan sebuah keranjang. Ke dalam keranjang ini squid akan mengisikan
data yang nantinya akan diambil oleh client. Angka pertama mencerminkan seberapa cepat
squid mengisi keranjang tersebut dengan data dalam satuan Byte/Sec, misalkan 8 KBps
artinya squid mengisi keranjang (pool) dengan kecepatan 8 Kilo Byte setiap detik nya. Bila
data ini tidak diambil oleh client maka data akan menumpuk terus dalam keranjang oleh
karena itu perlu ada angka ke dua yang membatasi sampai berapa banyak squid boleh
mengisi keranjang tersebut misalkan 64 KB maka setelah 8 detik bila data dalam keranjang
tadi tidak diambil oleh client squid akan berhenti mengisi keranjang (8 x 8KBps = 64 KB).
Pada umum nya kecepatan client mengosongkan data dalam keranjang lebih cepat dari
kecepatan squid mengisi keranjang seolah-olah angka kedua tidak terlalu penting.
Pool kelas 1 hanya memiliki satu parameter artinya semua client secara total dibatasi oleh
satu pasang angka saja. Contoh nya adalah deklarasi berikut :
delay_pools 1
delay_class 1 1
Kumpulan How To 63
delay_parameters 1 8000/8000
delay_access 1 allow my_net
delay_access 1 deny all
Deklarasi pertama yaitu “delay_pools 1” menyatakan kita hanya membuat 1 pool saja,
deklarasi kedua “delay_class 1 1” menentukan bahwa pool 1 adalah pool kelas 1 (angka
pertama nomor pool angka kedua kelas), deklarasi ketiga “delay_parameters 1 8000/800”
menyatakan pool nomor 1 dibatasi dengan kecepatan mengisi 8000 byte/detik dan maksimum
data sebanyak 8000 byte, deklarasi keempat dan kelima menentukan siapa yang terkena
pembatasan pool ini (dalam hal ini my_net dan sudah harus didefinisikan sebelum nya
dengan deklarasi acl.
delay_pools 1
delay_class 1 2
delay_parametes 1 62500/62500 6250/6250
delay_access 1 allow my_net
delay_access 1 deny all
Menyatakan bahwa hanya ada satu pool kelas 2 dengan parameter pembatas (karena kelas 2
berarti ada 2 pasang) pertama berlaku terhadap total client yang dibatasi oleh pool ini sebesar
62500 Bps (5 Mbps) dan parameter pembatas kedua berlaku untuk masing-masing client
sebesar 6250 Bps (0,5 Mbps). Jadi pool kelas 2 mempunyai 2 parameter pembatas yaitu total
dan individual.
delay_pools 2
delay_class 1 2
delay_class 2 3
delay_parametes 1 62500/62500 6250/6250
delay_parametes 1 62500/62500 31250/31250 6250/6250
delay_access 1 allow my_net
delay_access 1 deny all
delay_access 2 allow other_net
delay_access 2 deny all
Menyatakan ada 2 pool, pool pertama kelas 2 pool kedua kelas 3. Definisi pool 1 seperti
contoh di atas. Definisi pool kedua mempunyai 3 parameter pembatas yang pertama adalah
untuk total semua client dalam pool sebesar 62500 Bps, parameter kedua untuk total client
dalam satu subnet sebesar 31250 Bps, dan parameter ketiga untuk masing-masing client
sebesar 6250 Bps.
Pool kelas 3 biasanya digunakan apabila network kita memiliki beberapa subnet dan kita
ingin membatasi tidak hanya per client tetapi juga per subnet selain pembatasan total untuk
semua client dalam pool tersebut. Tentunya deklarasi “my_net” dan “other_net” sudah harus
dideklarasikan dulu sebelum nya dengan “acl”
Penggunaan squid juga dapat ditambah dengan fitur proteksi dengan username dan password.
Dengan demikian hanya user yang mempunyai account saja yang dapat browsing ke internet.
Akan tetapi hal ini tidak dapat dijalankan pada konfigurasi “transparent proxy”. Jadi
Kumpulan How To 64
terpaksa bila anda bermaksud untuk menggunakan proteksi user name dan password client
harus dikonfigurasikan menggunakan proxy.
Langkah pertama anda harus menyiapkan aplikasi pembantu untuk melakukan autentikasi
karena squid tidak dapat melakukan nya sendiri. Aplikasi yang paling banyak dipakai dan
mudah digunakan adalah aplikasi “ncsa_auth” yang biasanya akan terinstall bersama dengan
instalasi Apache Web Server. Carilah dimana aplikasi tersebut berada dengan perintah :
bila tidak ditemukan maka install terlebih dahulu Apache Web Server (yang paling mudah).
Berikut nya siapkan file untuk menyimpan username dan password bagi user yang akan
mengakses proxy tersebut. Untuk memudahkan boleh disimpan dalam directory /etc/squid,
seperti berikut ini :
Untuk membuat username dan password bagi user yang akan mengakses proxy gunakan
perintah berikut ini :
Argumen perintah di atas “squid_passwd” adalah file yang menyimpan password dan
“ujang” adalah nama user yang akan mengakses proxy.
/etc/squid/squid_passwd
masing-masing pada bagian yang sesuai. Perhatikan penulisan pada deklarasi “auth_param ...
“ jangan sampai ada kesalahan ketik karena kesalahan ketik disini tidak muncul sebagai error
ketika squid dijalankan (direstart) sehingga yang terjadi squid tidak berfungsi tetapi ketika di
start atau di restart tidak ada masalah.
Jangan lupa konfigurasi diatas harus dijalankan dalam mode proxy tidak boleh dalam kondisi
transparent proxy. Lihat konfigurasi di bagian awal bab ini sebagai referensi.
Semua batasan yang ada pada deklarasi http_access dapat dikombinasikan dari beberapa
deklarasi acl yang ada untuk memberikan fleksibilitas pembatasan yang maksimal. Anda
dapat mencoba untuk menggabungkan nya sendiri.
Kumpulan How To 66
Berikut ini adalah prosedur instalasi Mail Server menggunakan Postfix pada distro Scientific
Linux 6 yang merupakan distro yang setara dengan Red Hat Enterprise Linux 6 (RHEL).
Prosedur ini pun dapat dilakukan untuk distro yang lain selama masih satu keluarga dengan
Red Hat.
Postfix adalah default Mail Server pada distro Scientific Linux, pada distro yang lain
biasanya default mail Server adalah SendMail. SendMail adalah Mail Server tertua sekaligus
paling rumit. Konfigurasi untuk SendMail bahkan harus dilakukan dengan mengkonfigurasi
sebuah script yang nanti nya digunakan untuk men-generatate file konfigurasi untuk
SendMail. Postfix merupakan Mail Server generasi baru yang lebih sederhana dan mudah
dikonfigurasi dan kompatibel dengan SendMail sehingga perlahan mulai menggantikan
kedudukan SendMail sebagai default Mail Server di Linux.
Sebagai default Mail Server maka Postfix secara otomatis sudah terinstal pada saat anda
melakukan instalasi Scientific Linux. Hal ini dapat dilihat dengan perintah :
atau
Bila anda menggunakan distro yang default Mail Server nya bukan Postfix maka anda dapat
dengan mudah melakukan instalasi Postfix dengan perintah “yum install postfix” bila
terhubung ke internet. Bila komputer anda tidak terhubung ke internet anda dapat melakukan
instalasi dengan perintah rpm dengan terlebih dahulu mencari paket file rpm untuk Postfix
yang sesuai dengan distro yang anda pakai.
Posfix meletakkan konfigurasi nya dalam directory /etc/postfix yang isinya adalah sebagai
berikut :
[root@sl6 postfix]# ls l
total 140
rwrr. 1 root root 19579 Apr 7 11:13 access
rwrr. 1 root root 11681 Apr 7 11:13 canonical
rwrr. 1 root root 9904 Apr 7 11:13 generic
rwrr. 1 root root 18287 Apr 7 11:13 header_checks
rwrr. 1 root root 27014 Apr 7 11:13 [Link]
Kumpulan How To 67
Sebelum menjalankan dan mengkonfigurasi Postfix perlu anda perhatikan bahwa Postfix
hanya akan bekerja secara normal bila anda memiliki IP statik yang legal. Artinya instalasi
Postfix dilakukan pada Server yang terhubung ke internet secara langsung dan memiliki IP
address legal yang tidak berubah-ubah. Mail Server bekerja dengan cara mempertukarkan e-
mail yang dikirim/diterima hanya dengan sesama Mail Server lain. Oleh karena itu Mail
Server juga harus on-line penuh (24 jam) untuk bekerja secara normal.
Pada umum nya kendala ini yang menyebabkan instalasi Mail Server menjadi seolah-olah
sulit dilakukan karena umum nya kita tidak memiliki IP address statik yang legal. Selain itu
kendala lain adalah Mail Server hanya dapat bekerja apabila Mail Server tersebut mempunyai
“MX Record” pada DNS Server yang real, artinya anda harus sudah mempunyai domain
yang legal juga. Bila anda tidak mempunyai domain legal, kemungkinan anda tidak memiliki
DNS Server yang real, dan biasanya anda tidak memiliki IP statik yang legal juga.
Namun anda masih dapat menggunakan Mail Server dalam modus kerja “hanya untuk
mengirim” bila ketiga persyaratan diatas tidak terpenuhi. Artinya anda dapat memanfaatkan
Mail Server anda untuk menampung semua e-mail yang akan dikirim dari dalam network
internal anda (private network) sehingga client anda mendapatkan manfaat seolah-olah
pengiriman e-mail menjadi lebih cepat.
Hal ini terjadi karena semua client mengirimkan melalui Mail Server yang terhubung dengan
jaringan lokal dengan kecepatan network anda. Mail Server akan menampung dulu semua e-
mail yang datang dan kemudian akan mengirimkan nya satu persatu sampai semua e-mail
terkirim. Jadi sebenar nya kecepatan mengirim nya tetap lambat sesuai dengan kecepatan link
anda ke internet tetapi proses tersebut diambil alih oleh Mail Server dan client tidak perlu
terlalu lama menunggu ketika mengirimkan e-mail. Bahkan bila ada beberapa client
mengirim e-mail secara bersamaan.
Proses menerima e-mail tetap seperti semula yaitu masing-masing client harus terhubung ke
mail box nya masing-masing (yang berada di luar jaringan internal) dan tetap lambat sesuai
dengan kondisi link yang anda miliki.
Manfaat lain dari adanya Mail Server internal adalah untuk e-mail lokal, artinya e-mail yang
dikirim oleh dan ditujukan kepada semua user internal dapat dilakukan dengan mudah dan
dapat dibuat untuk sebanyak-banyak nya user lokal anda tanpa dibatasi oleh kuota dari pihak
ISP. Akan tetapi tentu saja untuk kasus ini anda harus menggunakan domain yang berbeda.
Artinya user akan memiliki e-mail address yang berbeda untuk menerima e-mail internal
(hanya berlaku di dalam privat network) dan untuk menerima e-mail dari internet. E-mail
Kumpulan How To 68
address internal hanya dapat dicantumkan untuk e-mail yang digunakan secara internal saja
dan tidak dapat dipakai untuk mengirim ke internet.
Contoh kita menggunakan domain internal : [Link] (“.int” tidak ada dalam top level
domain di internet jadi aman digunakan untuk keperluan internal sehingga kalau tidak
sengaja terkirim keluar tidak akan terkirim ke siapapun). Maka kita dapat membuat
konfigurasi untuk Postfix sebagai berikut :
myhostname = [Link]
myorigin = $mydomain
inet_interfaces = all
mydestination = [Link], $myhostname, localhost.$mydomain, localhost,
mynetworks_style = subnet
File konfigurasi utama Postfix adalah /etc/postfix/[Link]. File ini cukup panjang karena di
dalam nya disertakan beberapa petunjuk untuk deklarasi yang terdapat dalam file [Link].
Carilah baris-baris yang berisi deklarasi diatas dan sesuaikan dengan contoh. Baris deklarasi
yang lain jangan diubah-ubah.
Setelah mengubah file konfigurasi /etc/postfix/[Link] restart Mail server dengan perintah :
Secara default juga pada distro Scientific Linux ini Postfix sudah dijalankan sebagai service
pada saat komputer booting. Hal ini dapat dilihat sebagai berikut :
Bagaimana mengkonfigurasi user ? Secara default Postfix akan menggunakan daftar user
account pada komputer yang menjalankan Postfix. Artinya setiap user yang memiliki account
pada komputer yang menjalankan Postfix (memiliki username dan password / dapat login)
adalah user Postfix dan otomatis memiliki mailbox.
Mailbox untuk user secara default disimpan dalam directory /var/spool/mail. Anda harus
merencanakan dengan baik kapasitas untuk directory ini disesuaikan dengan jumlah user dan
besar mail box yang diperlukan masing-masing user. Bila anda menghendaki untuk
memindahkan letak mailbox ini maka deklarasi dalam file /etc/postfix/[Link] yang harus
diedit adalah :
mail_spool_directory = /var/spool/mail
Directory ini harus dapat diakses (read & write) oleh user “mail” (user yang menjalankan
Postfix).
Kumpulan How To 69
Setelah melakukan konfigurasi dengan benar sekarang anda dapat mencoba untuk
mengirimkan e-mail menggunakan Postfix. Cara yang paling mudah adalah dengan
menggunakan aplikasi mail client contohnya Evolution yang selalu ada di setiap distro Linux.
Untuk itu anda harus mengkonfigurasi mail client anda agar menggunakan Postfix sebagai
SMTP Server nya. Caranya klik menu --> Edit --> Preference kemudian pada bagian “Mail
Account” anda buat Account baru atau anda edit dulu Account yang ada dan cocokkan tab
“Sending Email” seperti gambar berikut :
Pada bagian “Server” anda isi dengan IP Address dari komputer yang menjalankan Postfix.
Berikut nya anda coba untuk mengirimkan e-mail kepada user internal atau user yang
memiliki alamat internet yang legal dengan menggunakan account yang sudah anda buat/edit
tadi. Bila konfigurasi anda benar maka anda dapat memeriksa catatan log nya seperti berikut
ini :
Anda harus menemukan baris yang berisi pernyataan “status=send” untuk email yang
dikirimkan. Contoh diatas ini adalah untuk kasus user “root” mengirimkan e-mail kepada
user dengan nama “user”. Anda dapat menyesuaikan dengan user yang terdapat pada
komputer anda.
Sampai disini anda sudah berhasil mengkonfigurasi Postfix sebagai Mail Server internal yang
dapat mengirimkan e-mail baik untuk user internal maupun user di internet. Problem nya
adalah bagaimana user internal dapat membaca e-mail yang dikirim oleh sesama user lain.
Ingat bahwa untuk e-mail yang dikirim melalui internet Postfix anda tidak dapat menerima
nya, anda tetap harus menggunakan Mail Server yang berada di ISP anda.
Misalkan untuk kasus contoh di atas bagaimana user dengan email account internal
“user@[Link]” membaca e-mail yang dikirim oleh “root@[Link]” menggunakan
Evolution misal nya. Ternyata untuk dapat membaca e-mail yang berada dalam mailbox kita
tidak dapat hanya menggunakan Postfix saja karena Postfix hanya bekerja dengan protocol
SMTP saja.
Mail Client (Evolution, Thunderbird atau Outlook Express) membaca e-mail yang berada di
mailbox suatu Mail Server menggunakan protocol POP3 atau IMAP. Tugas dari Mail Server
(semua Mail Server, tidak hanya Postfix) hanya terbatas sampai menyimpan e-mail untuk
seorang user ke dalam mail box nya saja. Sedangkan untuk melayani “e-mail retrieval”
(membaca e-mail menggunakan Mail Client) kita butuh POP3/IMAP Server.
Hal ini seringkali membingungkan user karena user tidak mengetahui bahwa masing-masing
harus dikonfigurasi sendiri-sendiri secara terpisah pada Mail Client yang digunakan nya.
Untuk mengirim e-mail Mail Client harus diberitahu ke SMTP (Mail Server) mana Mail
Client harus terhubung dan ketika membaca e-mail ke POP/IMAP Server mana Mail Client
harus terhubung. Masing-masing bekerja secara independen dan hanya kebetulan saja kalau
ISP kadang menamai kedua Server itu dengan nama yang sama. Secara teknis kedua nya
merupakan Server yang berbeda.
Jadi kita harus melakukan instalasi POP/IMAP Server ke komputer yang sudah terinstal
Postfix di dalam nya. POP/IMAP Server yang sering digunakan pada distro Scientific Linux
adalah Dovecot. Periksa terlebih dahulu apakah dovecot sudah terinstal :
atau
Bila hasil nya seperti diatas berarti Dovecot belum terinstal, lakukan instalasi dengan paket
rpm sebagai berikut :
Kumpulan How To 71
[root@sl6 ~]# ls l
total 2324
rw. 1 root root 1608 May 9 04:55 anaconda[Link]
rwrr. 1 root root 769 May 19 15:03 Documents
rwrr. 1 root root 2303948 Nov 25 2010 dovecot2.0[Link]
rwrr. 1 root root 44528 May 9 04:55 [Link]
rwrr. 1 root root 10232 May 9 04:53 [Link]
drwxrxrx. 2 root root 4096 May 30 14:25 rpm
[root@sl6 ~]#
Pastikan paket rpm nya sudah anda peroleh seperti diatas kemudian lanjutkan dengan
perintah :
atau bila anda terhubung ke internet anda dapat menggunakan perintah yum seperti berikut :
Dependencies Resolved
==============================================================
Package Arch Version Repository
Size
==============================================================
Installing:
dovecot i686 1:2.00.10.beta6.20100630.el6 sl 2.2
M
Transaction Summary
==============================================================
Install 1 Package(s)
Upgrade 0 Package(s)
Running Transaction
Warning: RPMDB altered outside of yum.
Installing : 1:dovecot2.00.10.beta6.20100630.el6.i686 1/1
Installed:
dovecot.i686 1:2.00.10.beta6.20100630.el6
Complete!
[root@sl6 ~]#
Hasil dari instalasi ini kita akan mendapatkan directory yang menyimpan konfigurasi untuk
Dovecot dalam directory /etc/dovecot sebagai berikut :
[root@sl6 dovecot]# ls
conf.d [Link]
[root@sl6 dovecot]# ls conf.d
10[Link] 20[Link] auth[Link]
10[Link] 20[Link] auth[Link]
10[Link] 90[Link] auth[Link]
10[Link] 90[Link] auth[Link]
10[Link] 90[Link] auth[Link]
10[Link] auth[Link] auth[Link]
15[Link] auth[Link]
20[Link] auth[Link]
[root@sl6 dovecot]#
Konfigurai untuk Dovecot ini terdiri dari satu file utama /etc/dovecot/[Link] dan
semua file dalam directory /etc/dovecot/conf.d. Hal ini dapat dilihat dengan adanya satu
deklarasi dalam [Link] seperti berikut :
!include conf.d/*.conf
Konfigurasi Dovecot ini tidak banyak yang perlu diubah. Dengan konfigurasi default nya
Dovecot sudah dapat bekerja namun seringkali yang menjadi masalah adalah letak mailbox
untuk user. Dovecot seringkali tidak dapat mendeteksi secara otomatis dimana letak mailbox
user terutama sekali bila user tersebut belum pernah menerima e-mail sama sekali. Untuk itu
kita perlu menambahkan deklarasi yang menegaskan letak mail box user. Untuk itu edit lah
file /etc/dovecot/conf.d/[Link]. Cocokanlah baris yang berisi deklarasi mail box
menjadi seperti di bawah ini :
mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u
Deklarasi diatas bila anda tidak mengubah default mail box dalam konfigurasi Postfix seperti
telah dijelaskan pada pembahasan mengenai Postfix di atas. Variabel “%u” mewakili nama-
nama user yang valid pada Mail Server yang sudah kita install. Apabila anda memindahkan
letak directory untuk mail ke ke lokasi yang lain maka yang perlu anda sesuaikan adalah
deklarasi setelah kata “INBOX” dengan lokasi directory yang baru.
Kumpulan How To 73
Lalu membuat nya permanen agar setiap kali komputer dihidupkan Dovecot juga langsung
dijalankan dengan perintah :
Sekarang anda tinggal mengkonfigurasi e-mail client anda di bagian Receiving Mail agar
Mail Client anda menggunakan protocol POP3 untuk terhubung ke server Dovecot yang
sudah anda install, contoh nya untuk Evolution anda akses menu Edit --> Preference dan di
bagian Mail Account anda edit atau tambahkan account baru kemudian pada tab “Receiving
Email” nya anda buat seperti di bawah ini :
Sekarang anda dapat mencoba untuk mengirim dan menerima e-mail dalam ruang lingkup
domain private anda yaitu untuk semua user yang mempunyai account di komputer yang
sudah terinstall Postfix dan Dovecot. Untuk e-mail yang bukan internal (e-mail ke internet)
anda harus membuat account tersendiri dalam Evolution dengan seting SMTP dan POP
Server sesuai dengan yang ditetapkan oleh ISP anda. Kerepotan untuk system yang seperti ini
adalah memang anda terpaksa harus bekerja dengan dua domain dan setiap kali mengirim e-
Kumpulan How To 74
mail anda harus memilih account yang tepat untuk keperluan internal atau untuk keperluan
internet.
Perhatikan bahwa apabila komputer yang menjalankan Postfix dan Dovecot mengaktifkan
Firewall dengan iptables maka anda harus membuka port 25 dan 110 agar komputer-
komputer lain yang berada dalam network internat dapat terhubung ke server Postfix dan
Dovecot. Isi dari file /etc/sysconfig/iptables untuk keperluan ini kira-kira seperti yang tertera
di bawah ini :
Squirrelmail adalah aplikasi Mail Client yang berbasis Web sehingga user dapat membaca e-
mail dan mengirim e-mail cukup menggunakan browser saja. Kegunaan Squirrelmail setara
dengan Evolution, Thunderbird, atau Outlook Express.
Mail client yang berbasis web memberikan kemudahan kepada user untuk dapat membaca
dan mengirim e-mail dimana saja sepanjang web yang menjalankan e-mail client tersebut
dapat diakses. User dapat dengan mudah berganti-ganti komputer tanpa perlu khawatir e-mail
nya berceceran dimana-mana. Selain itu dengan menggunakan web mail user tidak terlalu
dipusingkan dengan setting untuk koneksi ke SMTP dan POP/IMAP server lagi.
Web mail client biasanya diinstall di server yang menjalankan mail server untuk
memudahkan akses ke mail box masing-masing user. Pada umum nya web mail client bekerja
dengan protokol IMAP sehingga anda juga dapat belajar mengkonfigurasi mail client yang
menggunakan protokol IMAP. Dengan demikian anda juga dapat mempelajari perbedaan
antara protokol POP dan IMAP.
Disisi lain web mail client memerlukan kerja extra bagi administrator karena dari sisi
instalasi dan setting web mail client memerlukan prasyarat dan ketergantungan terhadap
instalasi lainnya seperti Apache Web Server dan support utuk bahasa pemrograman yang
digunakan untuk membuat aplikasi web mail tersebut.
Salah satu web mail client yang mudah diinstall dan dikonfigurasi adalah Squirrelmail.
Sayang nya Squirellmail ini tidak tersedia di repository Scientific Linux demikian juga pada
repository Red Hat Enterprise Linux (RHEL) yang menjadi master dari distro Scientific
Linux ini. Kita harus mencarinya di repository pelengkap Scientific Linux. Salah satu
repository pelengkap yang menjadi acuan bagi distro berbasis RHEL ini adalah repository
EPEL (Extra Package for Enterprise Linux) yang merupakan repository dari Project
Fedora. Fedora tidak lain adalah jalur pengembangan (development) dan testing dari distro
RHEL.
Sebelum melakukan instalasi Squirrelmail pastikan komputer anda sudah terinstall Apache
Web Server dengan dukungan PHP terlebih dahulu (ikuti petunjuk di bab 5 tentang instalasi
Apache dan PHP). Selain itu pastikan juga di komputer tersebut telah terinstall Mail Server
(contoh nya Postfix) dan juga POP/IMAP Server dan keduanya sudah berjalan dengan baik
seperti terinci pada bab 9. Sebelum melakukan instalasi Squirellmail ini pastikan mail server
anda sudah berfungsi dengan baik juga.
Dalam kasus seperti dijelaskan pada bab 9 bila komputer yang anda pakai tidak memiliki
domain dan ip statik legal sehingga tidak dapat menerima e-mail secara langsung dari internet
dan hanya berfungsi sebagai mail server lokal saja maka instalasi dari Squirrelmail juga akan
terbatas pada fungsionalitas untuk membaca hanya e-mail lokal saja, e-mail anda yang
berada di internet tetap tidak dapat diakses melalui Squirrelmail. Untuk mengirim e-mail
tidak ada masalah baik lokal atu internet. Anda tetap harus menggunakan mail client anda
yang lain untuk mengakses e-mail internet anda.
Berikut prosedur untuk melakukan instalasi Squirellmail. Karena Squirellmail tidak tersedia
Kumpulan How To 76
dalam repository Scientific Linux maka anda harus mencari nya terlebih dahulu dari
repository EPEL untuk keperluan tersebut mau tidak mau anda harus terhubung ke internet.
Dengan demikian cara instalasi menggunakan yum adalah cara yang termudah untuk
melakukan hal tersebut. Langkah pertama kita harus menambahkan repository EPEL ke
daftar repository yang akan dipakai oleh yum. Sebelum anda menambahkan repository EPEL
ini bila anda periksa dengan yum paket Squirellmail ini hasil nya adalah sebagai berikut :
Untuk menambahkan repository EPEL ke dalam daftar maka anda harus pergi ke web site
EPEL di alamat [Link] ke bagian seperti terlihat pada gambar di
bawah ini
Anda dapat melakukan instalasi penambahan repository ini secara otomatis dengan cara
mengklik pada link “[Link]” dan memilih pilihan “open with” pada
pilihan yang muncul seperti pada gambar di bawah ini :
Kumpulan How To 77
atau anda dapat mendownload terlebih dahulu paket rpm nya dan kemudian menginstall nya
dengan perintah rpm. Bila prosedur diatas anda jalankan dengan benar maka perintah yum
untuk mencari paket Squirellmail harus menampilkan tampilan seperti berikut :
Perhatikan nama repository yang muncul di sebelah kanan (“epel”) berbeda dengan yang
selama ini dipakai karena paket Squirellmail berada pada repository ini. Selanjut nya anda
tinggal melakukan instalasi dengan perintah yum :
Dependencies Resolved
================================================================
Package Arch Version Repository Size
================================================================
Installing:
squirrelmail noarch 1.4.213.el6 epel 4.1 M
Installing for dependencies:
phpmbstring i686 5.3.26.el6_0.1 slsecurity 503 k
Transaction Summary
================================================================
Install 2 Package(s)
Kumpulan How To 78
Upgrade 0 Package(s)
Installed:
[Link] 0:1.4.213.el6
Dependency Installed:
phpmbstring.i686 0:5.3.26.el6_0.1
Complete!
[root@sl6 ~]#
Hasil dari instalasi ini anda akan mendapatkan beberapa directory baru yaitu :
dan sebuah file konfigurasi untuk Apache web server dalam directory /etc/httpd/conf.d
[root@sl6 conf.d]# ls l
total 24
rwrr. 1 root root 118 May 20 2009 mod_dnssd.conf
rwrr. 1 root root 674 Feb 9 04:51 [Link]
rwrr. 1 root root 392 Nov 23 2010 README
rwrr. 1 root root 332 Nov 24 2010 [Link]
rwrr. 1 root root 539 May 31 10:28 [Link]
rwrr. 1 root root 299 May 21 2009 [Link]
[root@sl6 conf.d]#
Langkah berikut nya adalah anda melakukan konfigurasi terhadap Squirrelmail dengan cara
menjalankan aplikasi konfigurasi nya yang terdapat dalam directory
/usr/share/squirrelmail/config seperti berikut ini :
Kumpulan How To 79
Command >>
Squirellmail memberikan kemudahan konfigurasi dengan cara memberikan pilihan “D” (pada
tampilan diatas) yaitu konfigurasi standard untuk beberapa POP/IMAP Server yang sering
digunakan. Karena dalam contoh ini kita menggunakan Dovecot maka untuk mudah nya
ketik pilihan “D” pada tampilan diatas yang akan memberikan tampilan sebagai berikut :
While we have been building SquirrelMail, we have discovered some
preferences that work better with some servers that don't work so
well with others. If you select your IMAP server, this option will
set some predefined settings for that server.
Please note that you will still need to go through and make sure
everything is correct. This does not change everything. There are
only a few settings that this will change.
Ketikkan “dovecot” untuk memilih konfigurasi untuk POP/IMAP Server Dovecot, yang akan
melanjutkan dengan tampilan sebagai berikut :
imap_server_type = dovecot
default_folder_prefix = <none>
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 = detect
delete_folder = false
tekan tombol enter yang akan membawa anda kembali ke menu utama kemudian pilih tombol
“S” untuk menyimpan konfigurasi dilanjutkan dengan tombol “Q” untuk selesai.
Default instalasi Squirrelmail pada distro Scientific Linux ini mengharuskan web mail
diakses dengan “secure http” (ditandai dengan https:// di awal penulisan alamat), sedangkan
langkah-langkah yang kita lakukan pada bab 5 untuk instalasi Apache Web Server tidak
menyiapkan konfigurasi untuk secure http. Oleh karena itu kita perlu mengubah setting
secure http ini pada file konfigurasi Squirrelmail untuk Apache yang terdapat dalam file
/etc/httpd/conf.d/[Link]. Berikan tanda komentar untuk seting secure http seperti
berikut ini :
#
# SquirrelMail is a webmail package written in PHP.
#
<Directory "/usr/share/squirrelmail/plugins/squirrelspell/modules">
Deny from all
</Directory>
# this section makes squirrelmail use https connections only, for this you
# need to have mod_ssl installed. If you want to use unsecure http
# connections, just remove this section:
#<Directory /usr/share/squirrelmail>
# RewriteEngine on
# RewriteCond %{HTTPS} !=on
Kumpulan How To 81
Selanjut nya anda siap melakukan testing untuk instalasi Squirellmail ini. Seperti terlihat
pada konfigurasi di atas Squirellmail terinstall dengan alamat [Link]
Untuk melakukan testing Squirellmail memberikan halaman web test, pergunakan browser
anda dan jalankan test ini di alamat [Link] seperti
terlihat pada gambar di bawah ini :
Bila terdapat ERROR seperti ditunjukkan oleh gambar di atas maka anda harus melakukan
editing pada konfigurasi untuk PHP yang disimpan pada file /etc/[Link]. Carilah deklarasi
yang error dan sesuaikan dengan yang diminta oleh Squirellmail. Untuk contoh diatas edit
file [Link] seperti berikut :
; This directive determines whether or not PHP will recognize code between
; <? and ?> tags as PHP source which should be processed as such. It's been
; recommended for several years that you not use the short tag "short cut" and
; instead to use the full <?php and ?> tag combination. With the wide spread use
; of XML and use of these tags by other languages, the server can become easily
; confused and end up parsing the wrong code in the wrong context. But because
; this short cut has been a feature for such a long time, it's currently still
; supported for backwards compatibility, but we recommend you don't use them.
; Default Value: On
; Development Value: Off
; Production Value: Off
; [Link]
Kumpulan How To 82
short_open_tag = On
Bila semua nya sudah berhasil maka Squirellmail anda siap untuk digunakan. User cukup
mengakses alamat [Link] dan mendapatkan halaman login
seperti berikut :
Setiap user menggunakan alamat yang sama dan login dengan username dan password nya
masing-masing untuk bekerja dengan web mail. Setelah login tampilan dari web mail ini
dapat dilihat seperti berikut ini :
Kumpulan How To 83
Membaca e-mail :