Mail Server

Beberapa hal yang harus diperhatikan dalam instalasi mailserver qmail+tcpserver+sqwebmail+vpopmail :
1.file /etc/hosts.allow
root@boyo#[31]$ cat /etc/hosts.allow
tcp-env: 222.69.150. : setenv = RELAYCLIENT
tcp-env: 222.69.151. : setenv = RELAYCLIENT
tcp-env: 222.69.128. : setenv = RELAYCLIENT
tcp-env: 127.0.0.1 : setenv = RELAYCLIENT
# End of hosts.allow.

2. delete /var/qmail/rcpthosts (biar 'almost' open relay)

3. cek bit .qmail-* gak boleh eksekutable
4 cek bit yang lain dengan script ini [ati-ati lo] :
root@boyo#[32]$ cat ~/vpopmail-recover
#!/bin/bash
cd ~vpopmail/domains
chownd -R vpopmail.vchkpw *
for a in $(ls -l | grep drw | awk '{print $9}')
do
cd $a
for b in $(ls -l | grep drw | awk '{print $9}')
do
cd $b
pwd
chmod 777 $(pwd)
chmod og-w $(pwd)
chmod 777 $(pwd)/Maildir
chmod og-w $(pwd)/Maildir
chmod 0755 $(pwd)/Maildir/cur
chmod 0755 $(pwd)/Maildir/new
chmod 0755 $(pwd)/Maildir/tmp
cd ../
done
cd ../
done
exit

5. To start smtp in fast mode :
dhadhank@boyo#[4]$ cat /etc/rc.d/rc.qmail-smtpd
env - PATH="/var/qmail/bin:/usr/local/bin" tcpserver -H -R -l0 -x /etc/tcp.smtp.cdb -u1003 -g102 0 smtp /var/qmail/bin/qmail-smtpd &

6. To start Vpopmail
dhadhank@boyo#[5]$ cat /etc/rc.d/rc.vpopmail
env - PATH="/var/qmail/bin:/usr/local/bin" tcpserver -H -R -l0 -u1011 -g105 0 pop-3 /var/qmail/bin/qmail-popup mail.bukuweb.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &


7. To start Qmail
dhadhank@boyo#[6]$ cat /etc/rc.d/rc.local
echo "Starting Qmail as SMTP ........................................."
sleep 1
csh -cf '/var/qmail/rc &'

8. cd /var/qmail/control/
dhadhank@boyo#[10]$ ls -l
total 24
-rw-r--r-- 1 root root 17 Oct 24 02:08 defaultdomain
-rw-r--r-- 1 root root 22 Oct 24 02:22 locals
-rw-r--r-- 1 root root 22 Oct 24 02:23 me
-rw-r--r-- 1 root root 17 Oct 24 02:24 plusdomain
-rwxrwxrwx 1 root root 152 Oct 24 02:17 virtualdomains

dhadhank@boyo#[12]$ cat defaultdomain
bukuweb.com

dhadhank@boyo#[13]$ cat locals
mail.bukuweb.com

dhadhank@boyo#[14]$ cat me
mail.bukuweb.com

dhadhank@boyo#[16]$ cat virtualdomains
bukuweb.com:bukuweb.com
noc.bukuweb.com:noc.bukuweb.com


9. dhadhank@boyo#[8]$ cat /etc/tcp.smtp
222.69.150.:allow,RELAYCLIENT=""
222.69.151.:allow,RELAYCLIENT=""
222.69.128.3:allow,RELAYCLIENT=""
222.69.130.:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""


10. thx to suhu buzet

Notes :
Pernah di uji cobakan dengan slackware 8.0. Untuk distro/OS lain mungkin akan berbeda.

Sumber : http;//buku.web.id

Meningkatkan Performa SQUID

Hasil kumpulan dari pengalaman-pengalaman untuk mengoptimalkan kerja proxy server (SQUID), InsyaAllah SQUID akan bekerja lebih cepat dengan hit ratio lebih dari 50%.## Jika ada beberapa situs terdekat yg mungkin hanya 1 hop, di-by pass saja supaya kerja Squid benar-benar utk yg jaraknya jauh
hierarchy_stoplist cgi-bin ? localhost domain-anda.com isp-anda.com domainku.web.id
acl QUERY urlpath_regex cgi-bin ? localhost domain-anda.com isp-anda.com
domainku.web.id
no_cache deny QUERY
acl langsung dst xxx.xx.xxx.x/xx
no_cache deny langsung
dimana :
dst = IP
misal 202.95.150.0/29

## Dari pengalaman 6 MB akan lebih cepat dan biarkan Squid bekerja lebih keras lagi
cache_mem 6 MB
cache_swap_low 98
cache_swap_high 99


## Maksimum obyek di hardisk dan di memori diupayakan lebih besar shg byte hit lebih tinggi (bisa dinaikkan lagi jika hardisk berkecepatan tinggi dan jumlahnya banyak dg memori yg lebih besar pula)
maximum_object_size 128 MB
maximum_object_size_in_memory 32 KB


## Jika memori 512 MB atau lebih besar silahkan cache diperbesar
ipcache_size 2048
ipcache_low 98
ipcache_high 99


## Utk heap replacement saya memakai LFUDA utk cache hardisk dan GDSF utk cache memori dg alasan di hardisk diprioritaskan obyek yg ukuran besar-besar dan di memori obyek yg ukurannya kecil-kecil utk disimpan
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF


## Idealnya ruang di hardisk yg anda pakai hanya sekitar 70% dari total krn semakin penuh Squid akan semakin pelan mencari tempat kosong, mis. utk cache 1 GB maka yg dipakai hanya 700MB (jangan 1GB dipakai semuanya). Jangan lupa hanya 1 direktori per drive krn faktor penghambat adalah kecepatan spindle hardisk lho, bukan terus dg memperbanyak direktori pada 1 hd akan mempercepat (hd orde milidetik, memori orde
nanodetik). Jadi mending hardisknya banyak tapi ukurannya kecil-kecil daripada hanya 1 berukuran besar. Terus jika OS-nya Linux pakailah FS-nya Reiser (versi 4 tercepat) dg metode akses aufs. Diskd optimal di FreeBSD tetapi tidak di Linux lho. Jangan lupa di partisi tsb noatime dan notail diaktifkan spy tidak menambah ekstra write saat menulis atau membaca. Intinya hardisk adalah faktor penghambat terbesar di Squid.


## saran kira2 70% dari 16GB
cache_dir aufs /cachez 12000 28 256
atau (utk ruang 4GB-an per hardisk)
cache_dir aufs /cachehardisk1 3000 8 256
cache_dir aufs /cachehardisk2 3000 8 256
cache_dir aufs /cachehardisk3 3000 8 256
cache_dir aufs /cachehardisk4 3000 8 256


## atau minimal di bawah ini supaya modifikasi tidak terlalu jauh
cache_dir diskd /cachez 12000 28 256 Q1=72 Q2=88
Rumus Squid cache Dir :
[[[ X/13 ] / 256] / 256] * 2, contoh :
12.000.000/13 = 923076,9 / 256 = 3605,8 / 256 = 14 * 2 = 28


## Log utk info yg vital saja dan diusahakan file-file log ada di hardisk tersendiri spy tidak mempengaruhi kecepatan direktori cache utamanya
log_fqdn off
log_icp_queries off
cache_log none
cache_store_log none


## Dg 'menipu' dan memaksa sedikit supaya akses obyek lebih intensif di lokal Squid dan waktu simpan ditambah sebelum proses validasi terjadi (mis. validasi terjadi per 3 jam dg penyimpanan obyek terlama 3 bulan, utk ftp bisa lebih lama lagi)
refresh_pattern ^ftp: 10080 95% 241920 reload-into-ims override-lastmod
refresh_pattern . 180 95% 120960 reload-into-ims override-lastmod


## Toleransi aborting dihilangkan saja
quick_abort_min 0
quick_abort_max 0
quick_abort_pct 98


## Mematikan dan merekonfigurasi Squid jangan terlalu cepat krn bisa mengakibatkan integritas file kacau shutdown_lifetime 10 seconds
## tidak perlu reservasi memori
memory_pools off


## Penting utk relasi dg sibling dg mengukur respons-nya via ICP dan ICMP (dengan syarat mesin sibling/parent tsb diijinkan untuk menerima ICMP)
icp_hit_stale on
query_icmp on


## Penting utk meningkatkan refresh pattern lebih lanjut
reload_into_ims on
pipeline_prefetch on
vary_ignore_expire on


## Sekali lagi Squid diperlukan utk mengambil yg jaraknya jauh, jarak dekat langsung saja
acl local-dst dst semuaalamatlokal semuaalamatipygdekat
acl local-domain dstdomain localhost domain-anda.com isp-anda.com domainku.web.id
always_direct allow localhost local-dst local-domain
always_direct deny all


## Tidak begitu diperlukan
##ie_refresh on


Sbg penutup ada beberapa lagi utk sedikit menaikkan kinerjanya Squid lagi.
1. Naikkan prioritas Squid via nice --20 (-20 tertinggi, terserah dinaikkan sampai berapa, intinya supaya diproses dg prioritas lebih tinggi dibanding daemon yg lain, default prio=0). Mis. startup skrip: /usr/bin/nice -n --20 squid -DNY ....
2. Naikkan batasan FD (file deskriptor) juga saat startup: ulimit -HSn 8192
3. Bukalah sebanyak mungkin port utk akses keluar (bukan ke dalam lho): echo 1024 32768 > /proc/sys/net/ipv4/ip_local_port_range.

Sumber : http://buku.web.id