Использование виртуальных пользователей в Postfix+PostfixAdmin

Использование виртуальных пользователей в Postfix+PostfixAdmin

1.mkdir /home/vmail

chmod 770 /home/vmail/

useradd -r -u 1000 -g 12 -d /home/vmail/ -c «Virtual mail» vmail

chown -R vmail:mail /home/vmail/

[root@guk5 ~]# cat /etc/passwd | grep «vmail\|mail»

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

vmail:x:1000:12:Virtual mail:/home/vmail/:/bin/bash

Настройка Postfix

В  /etc/postfix/main.cf добавляем

local_recipient_maps =  $virtual_mailbox_maps, $virtual_alias_maps

mail_spool_directory = /var/spool/mail

virtual_mailbox_base = /home/vmail

virtual_mailbox_domains = mysql:/etc/postfix/sql/vdomains.cf

virtual_mailbox_maps = mysql:/etc/postfix/sql/vmailbox.cf

virtual_alias_maps = mysql:/etc/postfix/sql/valias.cf

virtual_minimum_uid = 1000

virtual_uid_maps = static:1000

virtual_gid_maps = static:12

virtual_transport = dovecot

dovecot_destination_recipient_limit = 1

smtpd_sasl_type = dovecot

smtpd_sasl_path = private/auth

 

mkdir /etc/postfix/sql

mysql –u root –p

 

mysql> create database postfix;

mysql> CREATE USER ‘postfixuser’@’localhost’ IDENTIFIED BY ‘postfixpassword’;

mysql> GRANT ALL PRIVILEGES ON postfix.* TO ‘postfixuser’@localhost;

mysql> flush privileges;

 

nano /etc/postfix/sql/vdomains.cf

user = postfixuser

password = postfixpassword

hosts = localhost

dbname = postfix

table = domain

select_field = domain

where_field = domain

additional_conditions = and backupmx = ‘0’ and active = ‘1’

query = SELECT domain FROM domain WHERE domain=’%s’ AND backupmx=’0′ AND active=’1′

 

nano /etc/postfix/sql/vmailbox.cf

user = postfixuser

password = postfixpassword

hosts = localhost

dbname = postfix

table = mailbox

select_field = CONCAT(domain,’/’,maildir)

where_field = username

additional_conditions = and active = ‘1’

query = SELECT CONCAT(domain,’/’,maildir) FROM mailbox WHERE username=’%s’ AND active = ‘1’

 

nano /etc/postfix/sql/valias.cf

user = postfixuser

password = postfixpassword

hosts = localhost

dbname = postfix

table = alias

select_field = goto

where_field = address

additional_conditions = and active = ‘1’

query = SELECT goto FROM alias WHERE address=’%s’ AND active = ‘1’

 

Чтобы Dovecot служил локальным транспортом, допишем следующие строчки в /etc/postfix/master.cf

dovecot unix — n n — — pipe

flags=DRhu user=vmail:mail

argv=/usr/libexec/dovecot/deliver -d $(recipient)

Перед строками flags и argv обязательно 2 пробела поставить

Postfix check

Postfix reload

/etc/init.d/postfix restart

 

Жирным выделено то,на что обратить особое внимание

base_dir = /var/run/dovecot/

protocols =  pop3 pop3s imap imaps

syslog_facility = mail

mail_location = maildir:/home/vmail/%d/%u

first_valid_uid = 1000

last_valid_uid = 1000

first_valid_gid = 12

last_valid_gid = 12

protocol imap {

login_executable = /usr/libexec/dovecot/imap-login

mail_executable = /usr/libexec/dovecot/imap

imap_max_line_length = 65536

}

protocol pop3 {

login_executable = /usr/libexec/dovecot/pop3-login

mail_executable = /usr/libexec/dovecot/pop3

pop3_uidl_format = %08Xu%08Xv

}

protocol lda {

postmaster_address = postmaster@guk5.kama.dnsalias.com

sendmail_path = /usr/lib/sendmail

auth_socket_path = /var/run/dovecot/auth-master

}

auth_verbose = no   #Эти три опции полезно включать при отладке.

auth_debug = no

auth_debug_passwords = no

auth default {

mechanisms = plain

  passdb sql {

    args = /etc/dovecot-sql.conf

  }

userdb static {

args = uid=1000 gid=12 home=/home/vmail/%d/%n  allow_all_users=yes

  }

user = nobody

socket listen {

 master {

path = /var/run/dovecot/auth-master

      mode = 0660

      user = vmail

      group = mail

    }

client {

path = /var/spool/postfix/private/auth

      mode = 0660

      user = postfix

      group = postdrop

    }

  }

}

dict {

}

plugin {

}

 

Создаем файл(строчки пронумеровал только для наглядности)

/etc/dovecot-sql.conf

1)driver = mysql

2)connect = host=localhost dbname=postfix user=postfixuser password=postfixpassword

3)default_pass_scheme = MD5

4)user_query = SELECT ‘/home/vmail/%d/%n’ as home, ‘maildir:/home/vmail/%d/%n’ as mail, 4)1000 AS uid, 12 AS gid, concat(‘dirsize:storage=’, quota) AS quota FROM mailbox WHERE 4)username = ‘%u’ AND active = ‘1’

5)password_query = SELECT username as user, password, ‘/home/vmail/%d/%n’ as 5)userdb_home, ‘maildir:/home/vmail/%d/%n’ as userdb_mail, 1000 as userdb_uid, 12 as 5)userdb_gid FROM mailbox WHERE username = ‘%u’ AND active = ‘1’

 

Важно,чтобы все,что с 4 было на одной строки,а также,все,что с 5 -на одной строке.

 

/etc/init.d/dovecot restart

 

PostfixAdmin

Cd /root

Отсюда http://sourceforge.net/projects/postfixadmin/files/ заружаем PostfixAdmin

tar xvfz postfixadmin-2.3.6.tar.gz

mv postfixadmin-2.3.6 postfixadmin

cp -pr  postfixadmin /var/www/html/

nano /var/www/html/postfixadmin/config.inc.php

$CONF[‘configured’] = true;

$CONF[‘postfix_admin_url’] = »;

$CONF[‘default_language’] = ‘ru’;

$CONF[‘database_type’] = ‘mysql’;

$CONF[‘database_host’] = ‘localhost’;

$CONF[‘database_user’] = ‘postfixuser’;

$CONF[‘database_password’] = ‘postfixpassword’;

$CONF[‘database_name’] = ‘postfix’;

$CONF[‘encrypt’] = ‘md5’; # по умолчанию стоит $CONF[‘encrypt’] = ‘md5crypt’;

В броузере набираем http://<sitename>/postfixadmin/setup.php

Вводим пароль(например,123456)

Жмем кнопку Generate..

Получаем пароль hash-который подставляем в

nano /var/www/html/postfixadmin/config.inc.php

в параметр

$CONF[‘setup_password’] = »;

После чего заходим по

http://<sitename>/postfixadmin/login.php ввод им пароль,указанный ранее(123456) и создаем учетную запись администратора(вводим имяв формате логин@domain и устанавливаем пароль для него)

После чего заходит под вновь созданной учеткой и создаем вирт домены и почт ящики

 

Если пароль для админа установили при настройке по умолчанию

$CONF[‘encrypt’] = ‘md5crypt’;

А потом изменили на

$CONF[‘encrypt’] = ‘md5′; ,тогда необходимо изменить парольв базе для этой учетки,предварительно узнав его хеш

[root@guk5 ~]# dovecotpw -s PLAIN-MD5 -p 123

{PLAIN-MD5}202cb962ac59075b964b07152d234b70

mysql>update admin set password=’202cb962ac59075b964b07152d234b70′ where username=’admin@kama.dnsalias.com’;

mysql> flush privileges;

 

dovecotpw -s MD5-CRYPT -p password –для шифрованного MD5

т.е ,если используется  $CONF[‘encrypt’] = ‘md5crypt’;

 

dovecotpw -s PLAIN-MD5 –p password  — для обычного MD5

т.е ,если используется  $CONF[‘encrypt’] = ‘md5’;

http://hightechsorcery.com/2011/03/resetting-postfixadmin-password/

http://sourceforge.net/p/postfixadmin/discussion/676076/thread/466490b1

 

 

Полезные ссылки:

  1. http://debian.asy.org.ua/5-postfix-postfixadmin-dovecot-ssl-roundcube.html
  2. http://rtfm.co.ua/freebsd-ustanovka-i-nastrojka-postfixadmin/
  3. http://rtfm.co.ua/freebsd-stroim-pochtovuyu-sistemu-postfix-dovecot-mysql-postfix-admin-chast-1-ustanovka-i-nastrojka-postfix-admin/
  4. http://bezha.od.ua/centos-postfix-postfixadmin/
  5. http://www.linux.profiua.com/ustanovka-postfix-admin-v-rhelcentos-5/
  6. http://linuxforum.ru/viewtopic.php?id=21932
  7. http://fan0o.wordpress.com/2012/10/24/mail-server-setup-centos/
  8. http://serion.co.nz/howto/howto-setup-mailserver-using-postfix-mysql-dovecot-postfixadmin-amavis-new
  9. http://stopxaker.ru/showthread.php?t=40
  10. http://revdisk.org/blog/?p=141
  11. http://flance.onego.ru/2011/08/04/304
  12. http://unixzen.ru/%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D1%8F-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-%D0%BF%D0%BE%D1%87%D1%82%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0-post/
  13. http://mysyura.in.ua/postfixclamavspamassassin/
  14. http://bozza.ru/art-169.html
Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Яндекс.Метрика