Banner
Komunitas FreeBSD Indonesia
           |  
Mengatasi Error 'No buffer space available'

Sebelumnya mungkin Anda pernah mengalami hal seperti ini, mendapat pesan "No buffer space available".

Salah satu penyebab munculnya error tersebut adalah permintaan kebutuhan socket buffer (send/recv) lebih besar daripada max. sock buffer yang diset.

Home Server Administration Email Server Mail Server Menggunakan Postfix

Mail Server Menggunakan Postfix

E-mail Print PDF
by: budsz ( This e-mail address is being protected from spambots. You need JavaScript enabled to view it )
 
1. Disabling sendmail system/sendmail binary.
- Disabling via startup script:
# vim /etc/rc.conf
sendmail_enable="NONE"
sendmail_flags="-L sm-mta -bd -q30m"
sendmail_submit_enable="NO"
sendmail_submit_flags="-L sm-mta -bd -q30m -ODaemonPortOptions=Addr=localhost"
sendmail_outbound_enable="NO"
sendmail_outbound_flags="-L sm-queue -q30m"
sendmail_msp_queue_enable="NO"
sendmail_msp_queue_flags="-L sm-msp-queue -Ac -q30m"

 

- Disable sendmail binary:
# mv /usr/sbin/sendmail /usr/sbin/sendmail.old
# chmod 0 /usr/sbin/sendmail.old
# mv /usr/bin/mailq /usr/bin/mailq.old
# chmod 0 /usr/bin/mailq.old
# mv /usr/bin/newaliases /usr/bin/newaliases.old
# chmod 0 /usr/bin/newaliases.old

Catatan: Jika melakukan "build world" (Update src system), maka
wajib melakukan update file2 binary postfix tersebut.

2. Download postfix dari salah satu mirror, atau silahkan gunakan ports
system untuk *BSD class.

# links http://www.postfix.org/download.html
# whereis postfix
postfix: /usr/ports/mail/postfix

- Ada beberapa pilihan versi yg hendak anda pakai silahkan sesuaikan
dengan kebutuhan anda.

# ls -d /usr/ports/mail/postfix*
/usr/ports/mail/postfix /usr/ports/mail/postfix20
/usr/ports/mail/postfix-current /usr/ports/mail/postfixadmin
/usr/ports/mail/postfix1

- Jika akan menginstall postfix -CURRENT version (Version sekarang):
# cd /usr/ports/mail/postfix-current
# make ; make install ; make clean

- Jika versi yg anda inginkan 2X gunakan cara ini:
# cd /usr/ports/mail/postfix20
# make ; make install ; make clean

- Kalo mendownload secara manual silahkan gunakan cara ini:
# mkdir /usr/local/src
# cd /usr/local/src/
# fetch http://www.mirrorspace.org/postfix/official/postfix-2.1.6.tar.gz
# tar zxvf postfix-2.1.6.tar.gz
# ls README*
# ls INSTALL*

Silahkan baca2 dulu :-). Tapi saya sarankan menggunakan port untuk
memudahkan instalasinya.

3. Installasi postfix & configurasi postfix.
- Buat username dan group untuk daemon postfix:
# adduser [Untuk interaktif menu] atau,
# man pw(8)
# pw groupadd postdrop
# pw useradd postfix -s /sbin/nologin -g postdrop -d /nonexistent

Jika berniat untuk membangun mailserver support virtual bisa
langsung anda create user/group yg mengurus keperluan itu:
# dduser [Untuk interaktif menu] atau,
# man pw(8)
# pw groupadd virtual
# pw useradd virtual -g virtual -d /home/virtual

- Edit file /etc/postfix/main.cf jika installasi dilakukan dari
tarball, confdir berada di /usr/local/etc/postfix/main.cf jika dilakukan
lewat port.

- Sunting isi dari file2 diatas:
myhostname = example.com
mydestination = $myhostname, localhost.$mydomain
mynetworks = 127.0.0.0/8
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
home_mailbox = Maildir/

Untuk "myhostname" isi hostname yg FQDN, biasanya nama domain yg
digunakan adalah domain yg nge-handle postfix ini berjalan.
Isi "mydestination" dengan domain target anda biasanya domain local
saja. Isi IP Address/block IP Address (Penggunaan netmask atau prefix)
di "mynetworks" yg anda perbolehkan konek dari LAN anda dipisahkan
dengan tanda "coma".

- Untuk menangkal spammer biasanya digunakan:
maps_rbl_domains = relays.ordb.org
smtpd_helo_restrictions = reject_maps_rbl, permit_mynetworks

- Menolak domain sender yang tidak mempunyai record A atau MX:
smtpd_sender_restrictions = reject_unknown_sender_domain

Untuk custom memilih sender yang akan direject sesuai dengan
kebutuhan bisa diapply via database hash sebagai contoh:
check_sender_access hash:/etc/postfix/sender_access

- Untuk kebutuhan aliasing bisa menggunakan database hash:
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

- Format/type yg dipilih untuk mbox email adalah:
home_mailbox = Maildir/

- Edit untuk keperluan virtual domain:
Untuk keperluan isi type "mailbox_transport" dengan virtual.
mailbox_transport = virtual

Untuk virtual domain silahkan anda isi path yg sesuai dengan home
basenya. Parameter ini digunakan untuk menyimpan seluruh email2 yg
akan dihandle di mesin ini.
virtual_mailbox_base = /home/virtual

Map database yg digunakan untuk keperluan ini, silahkan isi sesuai
dengan rencana anda dimana akan diletakannya.
virtual_mailbox_maps = hash:/etc/postfix/virtual

Isi dengan UID/GID dari user shell virtual, kita check dulu user
virtualnya:
# id virtual
uid=1000(virtual) gid=100(virtual) groups=100(virtual)

Isikan UID/GID-nya di main.cf.
virtual_uid_maps = static:1000
virtual_gid_maps = static:100
virtual_create_maildirsize = yes

Biar support quota Maildir untuk user virtual.
virtual_mailbox_limit_maps = hash:/etc/postfix/vquota
virtual_mailbox_limit_override = yes

- Tambahan untuk postfix biar bisa menggunakan/terintegrasi dengan amavis antivirus scanner
content_filter = vscan:

Dan jangan lupa tambahkan baris di /etc/postfix/master.cf:
vscan unix - n n - 10 pipe user=vscan
argv=/usr/sbin/amavis ${sender} ${recipient}
localhost:10025 inet n - n - - smtpd -o content_filter=

Untuk konfigurasi lainnya biarkan default saja.

- Kemudian bikin email alias yang akan mengurusi hal-hal yang berkaitan dengan urusan teknis
(ganti email @example.com sesuai dengan konfigurasi yang anda inginkan):
# echo "postfix: root" > /etc/aliases
# echo "root : This e-mail address is being protected from spambots. You need JavaScript enabled to view it " >> /etc/aliases
# echo "mailer-daemon : This e-mail address is being protected from spambots. You need JavaScript enabled to view it " >> /etc/aliases
# echo "postmaster : This e-mail address is being protected from spambots. You need JavaScript enabled to view it " >> /etc/aliases
etc...

- Generate database yg baru dari file aliases :
# newaliases

- Jalankan daemon postfix :
# /usr/sbin/postfix start # Dari tarball instalasi.
# echo "/usr/sbin/postfix start" >> /etc/rc.local

Untuk port biasanya terbentuk file "postfix.sh", sunting dulu file
ini untuk lebih bagusnya:
# /usr/local/etc/rc.d/postfix.sh start # Dari port instalasi.

- Jika emang tidak ada masalah biasanya postfix daemon langsung jalan,
ada baiknya check saja:
# tail -f /var/log/maillog
Nov 20 02:31:49 example postfix/postfix-script: starting the Postfix mail system
Nov 20 02:31:49 example postfix/master[2031]: daemon started -- version 2.1.6

- Bikin virtual domain yg akan anda handle, dan sebelomnya bikin
folder "example.com" di /home/virtual
# mkdir /home/virtual/example.com
# vim /etc/postfix/virtual
example.com Yeah....

Create user atas nama domain example.com:
This e-mail address is being protected from spambots. You need JavaScript enabled to view it example.com/user/

Build file tersebut menjadi hash database:
# postmap /etc/postfix/virtual

- Biar support quota user Maildir. Edit file /etc/postfix/vquota
This e-mail address is being protected from spambots. You need JavaScript enabled to view it 1024000
# postmap /etc/postfix/vquota

Biasanya dengan cara dikirim email atas nama user tersebut, maka secara otomatis akan
terbentuk folder di /home/virtual/example.com/user.

4. Install tpop3d
- Download source tpop3d dan install tpop3d
# cd /usr/local/src
# fetch http://www.ex-parrot.com/~chris/tpop3d/tpop3d-1.4.2.tar.gz
# fetch http://www.ex-parrot.com/~chris/tpop3d/tpop3d-1.4.2-auth-flatfile-broken.patch
# tar -zxvf tpop3d-1.4.2.tar.gz
# cd tpop3d-1.4.2
# patch -p0 < ../tpop3d-1.4.2-auth-flatfile-broken.patch
# ./configure --help | more
# ./configure --enable-auth-flatfile --enable-mbox-maildir
# make ; make install

Atau menggunakan port system:
# cd /usr/ports/mail/tpop3d
# make ; make install ; make clean

- Buat file /etc/tpop3d.conf isinya :
listen-address: IP_ADDRESS_HERE
log-facility: local6
mailbox: maildir:/home/virtual/$(domain)/$(local_part)
auth-flatfile-enable: yes
auth-flatfile-passwd-file: /etc/virtual/$(domain)/passwdPOP3
auth-flatfile-mail-user: virtual
auth-flatfile-mail-group: virtual
append-domain: yes
log-bad-passwords: yes

- Jalankan tpop3d daemon:
# /usr/local/sbin/tpop3d
# echo "/usr/local/sbin/tpop3d" >> /etc/rc.local

atau via *.sh script di /usr/local/etc/rc.d/

- Create file /etc/virtual/example.com/passwdPOP3 untuk menyimpan account POP3:
# mkdir /etc/virtual
# mkdir /etc/virtual/example.com
# cd /etc/virtual/example.com
# htpasswd -c -s passwdPOP3 user

5. Installing Courier-IMAP
- Download source courier-imap & install courier.
# fetch http://www.courier-mta.org/beta/imap/courier-imap-1.7.1.20030319.tar.bz2
# tar -jxvf courier-imap-1.7.1.20030319.tar.bz2
# cd courier-imap-1.7.1.20030319
# ./configure --help | more
# ./configure --enable-workarounds-for-imap-client-bugs --disable-root-check
# make ; make install

Atau menggunaan port system:
# /usr/ports/mail/courier-imap
# make ; make install

- Configurasi courier-imap, standard kita pake module "authuserdb"
saja, module yg lainnya kita hapus saja:
# rm -rf /usr/lib/courier-imap/libexec/authlib/*
# cp authlib/authuserdb /usr/lib/courier-imap/libexec/authlib/
# cp /usr/lib/courier-imap/etc/imapd.dist /usr/lib/courier-imap/etc/imapd
# cp /usr/lib/courier-imap/etc/imapd-ssl.dist /usr/lib/courier-imap/etc/imapd-ssl

- Edit file yg diperlukan:
# vim usr/lib/courier-imap/etc/imapd
ADDRESS=0 menjadi ADDRESS=IP_ADDRESS_YG_DIGUNAKAN
AUTHMODULES="authdaemon" menjadi AUTHMODULES="authuserdb"

- Starup script:
# echo "/usr/lib/courier-imap/libexec/imapd.rc start" >> /etc/rc.local

atau, via *.sh kl dari port system di /usr/local/etc/rc.d/.

- Membuat user account imap:
# mkdir /etc/userdb
# chmod 700 /etc/userdb
# userdb -f /etc/userdb/example.com This e-mail address is being protected from spambots. You need JavaScript enabled to view it set \
home=/home/virtual/example.com/user \
mail=/home/virtual/example.com/user uid=1000 gid=100
# userdbpw -md5 | userdb -f /etc/userdb/example.com \
This e-mail address is being protected from spambots. You need JavaScript enabled to view it set imappw
# makeuserdb

6. Installing Squirrelmail
- Download sourcenya:
# fetch http://umn.dl.sf.net/sourceforge/squirrelmail/squirrelmail-1.2.11.tar.gz
# tar -zxvf squirrelmail-1.2.11.tar.gz
# cd squirrelmail-1.2.11

Atau dengan sistem port:
# cd /usr/ports/mail/squirrelmail
# make ; make install

- Asalkan sudah terinstall Apache web server dan PHP anda tinggal
copy paste saja ke directory browse-nya.

PS: Untuk versi2 yg dibutuhkan silahkan terlebih dahulu baca
manual2 yg terkait di directory "squirrelmail-1.2.11".

7. Script untuk memudahkan pengerjaan membuat account email, anda bisa custom/modif
sesuai dengan kebutuhan anda:

#!/bin/sh
# Adding user and quota email in virtual/vquota files.
domain="example.com"
vquota="10240000"
echo "Masukan login : "
read login

echo "$login@$domain $domain/$login/" >> /etc/postfix/virtual
echo "$login@$domain $vquota" >> /etc/postfix/vquota

# Rebuild database postfix.
/usr/sbin/postmap /etc/postfix/virtual
/usr/sbin/postmap /etc/postfix/vquota
/usr/sbin/postmap /etc/postfix/sender_access

# Adduser dan password untuk imap.
adduserargument="-f /etc/userdb/$domain $login@$domain set
home=/home/virtual/$domain/$login mail=/home/virtual/$domain/$login
uid=1021 gid=1021"

userdb $adduserargument
passwdargument="-f /etc/userdb/$domain $login@$domain set imappw"

userdbpw -md5 | userdb $passwdargument

makeuserdb

Comments

Show/Hide Comment form Please login to post comments or replies.
 

Status Koneksi

Proxy Server

Optimasi Bandwidth dengan FreeBSD 7 + squid + Apache + videocache

Judul Asli  : Geber Youtube dkk  + save bandwidth dengan menggunakan videocache oleh         : ogeb ( ogb at indofreebsd.or.id )Ditulis      : Jimbaran Minggu 10 Mei 19:37:10 WITA 2009BismillahirrahmanirrahimTeknologi web yang...

Proxy Server | | Sunday, 10 May 2009

SELANJUTNYA...

Instalasi Squid, BannerFilter, dan Blocking Website

Sebelumnya akan saya jelaskan terlebih dahulu, instalansi squid di sini sangat mudah, karena hanya melalui simple ports dari FreeBSD. Untuk settingan lainnya bisa diatur melalui instalansi squid proxy yang lain...

Proxy Server | Tubagus G.P | Monday, 7 July 2008

SELANJUTNYA...

PF + Transparent Proxy dengan Squid

Rasanya tidak perlu lagi dijelaskan fungsi maupun kegunaan Squid karena sudah banyak situs-situs lain yang menguraikannya secara gamblang, baik berbahasa Indonesia maupun bahasa asing.Artikel ini terfokus secara teknisnya saja, bagaimana...

Proxy Server | mqueue | Tuesday, 25 March 2008

SELANJUTNYA...

Squid Pada Outgoing Load Balancing Connection

Squid merupakan sebuah proxy dan content cache yang memang sering diperlukan oleh kita tentunya dengan beragam alasan diantara nya untuk mempercepat pengiriman web yang sering di akses kepada client.sedangkan Outgoing...

Proxy Server | Ogeb | Sunday, 5 August 2007

SELANJUTNYA...

More in: Proxy Server

Tips & Trick

Enable Normal user untuk menggunakan Super User

Becoming super user (su) or enabling su access to userSuper user memiliki akses penuh kepada semua file dan Perintah. super user memiliki spesial UID (User ID) 0. Anda perlu menjadi...

Tips and Trick | denuxer | Thursday, 27 October 2011

SELANJUTNYA...

Merubah data directory pada mysql server FreeBSD Server

Secara default, jika kita install mysql server via port maka data-data dari database yang ada dalam mysql server akan tersimpan pada dir /var/db/mysqlAkan merepotkan kalau ternyata partisi /var kita terlalu...

Tips and Trick | Ainur Rahma | Friday, 1 July 2011

SELANJUTNYA...

Membuat iso DVD untuk FreeBSD 7.2

by : masdani Bagi yang suka melakukan instalasi sistem operasi FreeBSD kadang direpotkan pada proses instalasinya jika menggunakan media CD. Karena jumlah CD yang3 buah itu, kadang harus diganti-ganti setiap kali...

Tips and Trick | | Thursday, 25 June 2009

SELANJUTNYA...

Upgrade dari FreeBSD 6.x ke FreeBSD 7.x

This upgrades from FreeBSD 6.2-STABLE to 7.0-CURRENT.{xtypo_alert}ATTENTION: THIS UPGRADE PROCEDURE MIGHT NOT WORK FOR YOU AS YOUR ENVIRONMENT IS DIFFERENT. ALSO, THIS UPGRADE PROCEDURES MIGHT DESTROY OUR SYSTEM AND YOU...

Tips and Trick | Azhax | Monday, 17 March 2008

SELANJUTNYA...

More in: Tips and Trick

Anggota Baru

agung suryawan
kwgcv
banjow
banjow
agus widodo
kirun_w
raymond prabu
raymond
Muammar Renaldy
muren

Login Terakhir

agung suryawan
kwgcv
lutfi saiful nizal
fians
lamuerte
lamuerte
banjow
banjow
hendra syam
hendrasyam
bigie
bigie
moh rifai
kramotak
agus widodo
kirun_w
Dedi Sidauruk
takeiteazy
raymond prabu
raymond

WHO'S ONLINE

We have 4 guests online

Diskusi Terbaru