Счетчик

Поисковый анализ сайта
яндекс.ћетрика
Cервер и сайт запущен 2011.02.01 на Debian

Установка почтового сервера postfix postfixadmin dovecot mysql с хешированием пароля md5

apt-get install apache2 libapache2-mod-php5 php5 php5-common  php5-curl php5-gd php5-imagick php5-mcrypt php5-memcache php5-mysql php5-pspell php5-snmp php5-sqlite php5-xmlrpc  php5-xsl php5-imap mysql-server mysql-client


Проверяем два файла «hosts» и «hostname»
Открываем «hosts» 

nano /etc/hosts


и приводим его к примерно следующему содержанию

127.0.0.1               localhost

192.168.1.11       mail.sysadmin-komi.ru mail


открываем файл «hostname»

nano /etc/hostname


этот файл должен содержать отдну строку: 

mail


Приступаем к установке postfix dovecot sasl

apt-get install postfix postfix-mysql dovecot-common dovecot-imapd dovecot-pop3d openssl libsasl2 sasl2-bin libsasl2-modules


Установим postfixadmin
Скачиваем установочный deb пакет

Для установки копируем команду 

dpkg -i postfixadmin_2.3.6-1_all.deb



Если dpkg выдаст ошибку не пугаемся, просто набераем команду: 

apt-get install -f



эта команда доустановит все зависимости необходимые данному пакету
во время утановки небходимо ввести пароль для postfixadmin для примера возьмём 123 
К сожалению, есть вероятность, что установщик пакета не изменит параметров конфигурационного файла config.inc.php, этот файл находится по такому пути: 

/etc/postfixadmin/config.inc.php


открываем его и проверяем: 
nano /etc/postfixadmin/config.inc.php
находим такие строки: 

$CONF['database_type'] = 'mysql';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfixadmin';
$CONF['database_password'] = '123';
$CONF['database_name'] = 'postfixadmin';
$CONF['database_prefix'] = '';



изменяем алгоритм шифрования: 

$CONF['encrypt'] = 'md5';



Переходим к настройке postfixadmin через web интерфейс, набираем в браузере: 
http://IP/postfixadmin/setup.php
Если предыдущие действия выполнены правильно, внизу страницы появится запрос на создание пароля установки.
После ввода пароля должна появится строка с хешем, если так, тогда копируем её и возвращаемся в файл config.inc.php находим там эту строку и вставляем хеш 

$CONF['setup_password'] = '  ';



Создаём администратора для postfixadmin в первое поле вводим пароль установки, во второе вводим email администратора например Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. в третье поле вводим пароль и в четвёртое подтверждение пароля. 

Создаём конфигурационные файлы обращения к mysql:
nano /etc/postfix/virtual-alias-maps.cf

вставляем в него следующие строки 

user = postfixadmin
password = 123
hosts = 127.0.0.1
dbname = postfixadmin
query = select `goto` from `alias` where `address` = '%s'



nano /etc/postfix/virtual-mailbox-domains.cf

user = postfixadmin
password = 123
hosts = 127.0.0.1
dbname = postfixadmin
query = select 1 from `domain` where `domain` = '%s'



nano /etc/postfix/virtual-mailbox-maps.cf
user = postfixadmin
password = 123
hosts = 127.0.0.1
dbname = postfixadmin
query = select 1 from `mailbox` where `username` = '%s'



Cоздаём пользователя и группу: 

groupadd -g 5000 vmail
useradd -g vmail -u 5000 vmail -d /home/vmail -m


У Postfix-а из коробки есть отличный скрипт для управления конфигурацией.
Для ленивых:
создаём в любой дериктории скрипт командой: 

nano conf_postfix.sh


записываем в него следующее 

#!/bin/sh
postconf -e virtual_mailbox_domains=mysql:/etc/postfix/virtual-mailbox-domains.cf
postconf -e virtual_mailbox_maps=mysql:/etc/postfix/virtual-mailbox-maps.cf
postconf -e virtual_alias_maps=mysql:/etc/postfix/virtual-alias-maps.cf
postconf -e virtual_uid_maps=static:5000
postconf -e virtual_gid_maps=static:5000
postconf -e virtual_transport=dovecot
postconf -e dovecot_destination_recipient_limit=1
postconf -e smtpd_tls_cert_file=/etc/ssl/certs/postfix.pem
postconf -e smtpd_tls_key_file=/etc/ssl/private/postfix.pem
postconf -e smtpd_use_tls=yes
postconf -e smtpd_sasl_type=dovecot
postconf -e smtpd_sasl_path=private/auth
postconf -e smtpd_sasl_auth_enable=yes
postconf -e smtpd_recipient_restrictions=permit_sasl_authenticated,reject_unauth_destination



сохраняем и даём права на запуск: 

chmod +x conf_postfix.sh



запускаем: 

./conf_postfix.sh



Для тех, кто не ищет лёгких путей применяем по очереди данные настройки: 

postconf -e virtual_mailbox_domains=mysql:/etc/postfix/virtual-mailbox-domains.cf
postconf -e virtual_mailbox_maps=mysql:/etc/postfix/virtual-mailbox-maps.cf
postconf -e virtual_alias_maps=mysql:/etc/postfix/virtual-alias-maps.cf
postconf -e virtual_uid_maps=static:5000
postconf -e virtual_gid_maps=static:5000
postconf -e virtual_transport=dovecot
postconf -e dovecot_destination_recipient_limit=1
postconf -e smtpd_tls_cert_file=/etc/ssl/certs/postfix.pem
postconf -e smtpd_tls_key_file=/etc/ssl/private/postfix.pem
postconf -e smtpd_use_tls=yes
postconf -e smtpd_sasl_type=dovecot
postconf -e smtpd_sasl_path=private/auth
postconf -e smtpd_sasl_auth_enable=yes
postconf -e smtpd_recipient_restrictions=permit_sasl_authenticated,reject_unauth_destination



Настройка postfix.
Конфиг postfix находится тут /etc/postfix/main.cf открываем его: 

nano /etc/postfix/main.cf



Приводим его к такому виду. 

# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_cert_file = /etc/ssl/certs/postfix.pem
smtpd_tls_key_file = /etc/ssl/private/postfix.pem
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = mail.sysadmin-komi.ru
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $myhostname
mydestination = $myhostname
relayhost = 
mynetworks = 127.0.0.0/8 
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_mailbox_domains = mysql:/etc/postfix/virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/virtual-alias-maps.cf
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,reject_unauth_destination
Далее открываем файл /etc/postfix/master.cf



nano /etc/postfix/master.cf


и дописываем в конце этого файла следующие строки: 

dovecot unix  - n n -  -  pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}


Настраеваем безопастное соединение SSL/TLS В консоле набираем: 

openssl req -new -x509 -days 3650 -nodes -out /etc/ssl/certs/dovecot.pem -keyout /etc/ssl/private/dovecot.pem


Даем соответствующие права

chmod o= /etc/ssl/private/dovecot.pem



Затем 

openssl req -new -x509 -days 3650 -nodes -out /etc/ssl/certs/postfix.pem -keyout /etc/ssl/private/postfix.pem



Даем соответствующие права

chmod o= /etc/ssl/private/postfix.pem



Настраиваем dovecot
открываем главный конфигурационный файл командой 

nano /etc/dovecot/dovecot.conf



Hаходим и исправляем приведённые ниже парпметры: 

protocols = imap imaps pop3 pop3s
listen = *
disable_plaintext_auth = no
log_timestamp = "%Y-%m-%d %H:%M:%S "
login_greeting = Dovecot ready.
mail_location = maildir:/home/vmail/%d/%n
mail_privileged_group = vmail
maildir_copy_with_hardlinks = yes
protocol lda {
postmaster_address = Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
hostname = mail.your_domain.com
mail_plugin_dir = /usr/lib/dovecot/modules/lda
auth_socket_path = /var/run/dovecot/auth-master
mail_plugins = sieve
log_path = /home/vmail/dovecot-deliver.log
global_script_path = /home/vmail/globalsieverc
}
auth_verbose = yes
auth_debug = yes  
auth_debug_passwords = yes
auth default {
mechanisms = plain login cram-md5
passdb sql {
    # Path for SQL configuration file
    args = /etc/dovecot/dovecot-sql.conf
}
userdb static {
    
      args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes
    
  }
userdb sql {
    # Path for SQL configuration file
    args = /etc/dovecot/dovecot-sql.conf
  }
user = vmail
socket listen {
    master {
      path = /var/run/dovecot/auth-master
      mode = 0600
      # Default user/group is the one who started dovecot-auth (root)
      user = vmail
      #group = vmail
    }
client {      
      path = /var/spool/postfix/private/auth
      mode = 0660
        user = postfix
          group = postfix
}
  }
   }



Теперь редактируем файл dovecot-sql.conf набираем команду: 

nano /etc/dovecot/dovecot-sql.conf


Копируем и вставляем следующие строки 

driver = mysql
connect = host=127.0.0.1 dbname=postfixadmin user=root password=123
default_pass_scheme = PLAIN-MD5
password_query = SELECT username as user, password FROM mailbox WHERE username = '%u'



Завершающим этапом будет перезагрузка почтовых сервисов 

/etc/init.d/postfix restart && /etc/init.d/dovecot restart



Лог файлы находятся в «/var/log/» 

/var/log/mail.err
/var/log/mail.log
/var/log/mail.info



Вот теперь готов нашь почтовый сервер. Будут вопросы..... пишите

Добавить комментарий


Защитный код
Обновить