Sunday, January 8, 2012

Membuat Mail Server + Virtual Domain di Ubuntu

1. Persiapan sistem untuk Ubuntu 9.10Agar nantinya tidak terdapat broken system alangkah baek nya install ubuntu dengan build essential
sudo apt-get install build-essential

2. Install file utama

sudo apt-get install postfix postfix-msql php5-imap dovecot-pop3d dovecot-imapd
php5-mysql squirrelmail apache2

3. Cek system apakah apache2 postfix dan dovecot ny udah ada lum disystem

service apache2 status && service postfix status && service dovecot status

4. Buat Database Untuk Postfix

  root@kaitokid:~# mysql -u root -p     // -p masukkan passwd mysql nya
  mysql> create database postfix; mysql> grant all privileges on postfix.* to 'postfix'@'localhost' identified by 'postfixpassword'; mysql> grant all privileges on postfix.* to 'postfix'@'127.0.0.1' identified by 'postfixpassword'; mysql> exit
  // ganti 'postfixpasswd' sesuai pasword yang di inginkan & 'postfix'
sesuai dengan user yang dinginkan

5. Download postfixadmin untuk mempermudah administrasi mail

 http://sourceforge.net/projects/postfixadmin/

6. Extract hasil download postfixadmin dan pindahkan ke /var/www

 root@kaitokid:~# cd /var/www/ root@kaitokid:/var/www# tar xzf /home/kaitokid/postfixadmin-2.**.tar.gz root@kaitokid:/var/www# mv postfixadmin-2.**/ postfix root@kaitokid:/var/www# chown -R www-data.www-data /var/www

7. Setup config.inc.php postfixadmin

root@kaitokid:~# nano /var/www/postfix/config.inc.php
   // Database Config
// mysql = MySQL 3.23 and 4.0
// mysqli = MySQL 4.1
// pgsql = PostgreSQL
$CONF['database_type'] = 'mysqli'; //sesuaikan dg sql nya untuk mysql seri 4 keatas gunakan mysqli
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix'; // user database di mysql lihat nomer 4
$CONF['database_password'] = 'postfixpassword'; // user database mysql lihat nomer 4
$CONF['database_name'] = 'postfix'; $CONF['database_prefix'] = ''; //default kosong

8. Setup postfix admin

buka web browser firefox kemudian buka URL
http://127.0.0.1/postfix/setup.php
// waktu instalasi pastikan tidak ada error & untuk ppostfixadmin series 2.3 file setup tidak perlu dihapus
//pastikan web server di komputer udah jalan

9. Konfigurasi MySQL postfix

//konfigurasi user & passwd sesuai dg nomer 4
nano /etc/postfix/mysql_virtual_alias_maps.cf
user = postfix
password = postfixpassword
hosts = 127.0.0.1
dbname = postfix
table = alias
select_field = goto
where_field = address
nano /etc/postfix/mysql_virtual_mailbox_maps.cf
user = postfix
password = postfixpassword
hosts = 127.0.0.1
dbname = postfix
table = mailbox
select_field = maildir
where_field = username
#additional_conditions = and active = '1'
nano /etc/postfix/mysql_virtual_mailbox_limit_maps.cf
user = postfix
password = postfixpassword
hosts = 127.0.0.1
dbname = postfix
table = mailbox
select_field = quota
where_field = username
#additional_conditions = and active = '1'

nano /etc/postfix/mysql_virtual_domains_maps.cf
user = postfix
password = postfixpassword
hosts = 127.0.0.1
dbname = postfix
table = domain
select_field = domain
where_field = domain
#additional_conditions = and backupmx = '0' and active = '1'

nano /etc/postfix/mysql_relay_domains_maps.cf
user = postfix
password = postfixpassword
hosts = 127.0.0.1
dbname = postfix
table = domain
select_field = domain
where_field = domain
#additional_conditions = and backupmx = '1'
  chgrp postfix /etc/postfix/mysql_*.cf
chmod 640 /etc/postfix/mysql_*.cf
groupadd -g 5000 vmail
useradd -m -g vmail -u 5000 -d /home/vmail -s /bin/bash vmail

10. konfigurasi postfix main.cf

   nano /etc/postfix/main.cf
# Virtual Mailbox Domain Settings
//konfigurasi default main.cf untuk opreknya tunggu di part 2 mail server

myhostname = ubuntu //sesuaikan dg hostname komputer yang dipakai mail server
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_limit = 51200000
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_mailbox_base = /home/vmail
virtual_transport = virtual

# Additional for quota support
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry, the your maildir has overdrawn your diskspace
quota, please free up some of spaces of your mailbox try again.
virtual_overquota_bounce = yes
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination =
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
11. Konfigurasi Dovecot POP3 dan IMAP4
nano /etc/dovecot/dovecot.conf
protocols = imap pop3
disable_plaintext_auth = no
default_mail_env = maildir:/home/vmail/%u/
first_valid_uid = 5000
first_valid_gid = 5000
# SQL database
passdb sql {
# Path for SQL configuration file
args = /etc/dovecot/dovecot-sql.conf
}
# SQL database
userdb sql {
# Path for SQL configuration file
args = /etc/dovecot/dovecot-sql.conf
}
nano /etc/dovecot/dovecot-sql.conf
driver = mysql
connect = host=127.0.0.1 dbname=postfix user=postfix password=postfixpassword
default_pass_scheme = CRYPT
user_query = SELECT maildir, 5000 AS uid, 5000 AS gid FROM mailbox WHERE username = '%u'
password_query = SELECT password FROM mailbox WHERE username = '%u'

No comments: