Здарова так! И так ! )
Значит вопервых ) гыгыггы
Удаляем стандартный почтовик, смотрите что там у вас стоит сносите бугагаг)
обычно sendmail стоит.
И так ставим CentAlt и epel репозитарии
мой подопотный x64 пример:
rpm -ihv http://centos.alt.ru/repository/centos/6/x86_64/centalt-release-6-1.noarch.rpm rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
далее потребуется нам мускуль. там все по простому.
yum install mysql mysql-server mysql-devel mysql-libs php-mysql
стартуйте мускуль
service mysqld start
и настройте чтоб все ровно было 😉
/usr/bin/mysql_secure_installation
сразу перейдем к очень важной байде, это таблица пользователей.
чеб сильно не париться сразу зафигачим ее:
mysql -p mysql> CREATE DATABASE postfix; mysql> CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'password'; mysql> GRANT ALL PRIVILEGES ON `postfix`.* TO 'postfix'@'localhost'; mysql> quit;
в полне пойдет.
ставим postfix
yum install postfix
проверьте чеб у нас был мускуля
postconf -m | grep mysql
ok? двигаем дальше
запустим это гамно
chkconfig postfix on service postfix start
А теперь наберитесь терпения и литр колы.
Будет жарко гыгыгыг ж)
ну очень не просто курить маны и настраивать постфикс фиг знает почему ж)
ладно поехали
фигачи главное гамно /etc/postfix/main.cf
приведу сразу полный конфиг и хватит, чеб мозги не ломать:
soft_bounce = no queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix mail_owner = postfix default_privs = nobody myhostname = mail.сайт.домензона mydomain = сайт.домензона myorigin = $mydomain inet_interfaces = all inet_protocols = all mydestination = $myhostname, localhost.$mydomain, localhost unknown_local_recipient_reject_code = 550 mynetworks = 127.0.0.0/8 ваш айпи сервера alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases smtpd_banner = $myhostname ESMTP debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = no manpage_directory = /usr/share/man sample_directory = /usr/share/doc/postfix-2.6.7/samples readme_directory = /usr/share/doc/postfix-2.6.7/README_FILES config_directory = /etc/postfix virtual_mailbox_domains = mysql:$config_directory/sql/vdomains.cf virtual_mailbox_base = /var/vmail virtual_mailbox_maps = mysql:$config_directory/sql/vmailbox.cf virtual_alias_maps = mysql:$config_directory/sql/valias.cf virtual_minimum_uid = 5000 virtual_uid_maps = static:5000 virtual_gid_maps = static:5000 virtual_transport = dovecot dovecot_destination_recipient_limit = 1 smtpd_sasl_auth_enable = yes smtpd_sasl_exceptions_networks = $mynetworks smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_non_fqdn_recipient, reject_unverified_recipient, reject_rbl_client cbl.abuseat.org
далее стопка конфигаф, все распологаются в /etc/postfix/sql
valias.cf
user = postfix password = password hosts = 127.0.0.1 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'
vdomains.cf
user = postfix password = password hosts = 127.0.0.1 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'
vmailbox.cf
user = postfix password = password hosts = 127.0.0.1 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'
правим /etc/postfix/master.cf
dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -d $(recipient)
ставим давкот:
yum -y install dovecot chkconfig dovecot on
в /etc/dovecot/dovecot.conf фигачим
auth_debug = yes auth_debug_passwords = yes auth_mechanisms = plain login auth_verbose = yes base_dir = /var/run/dovecot/ first_valid_uid = 5000 last_valid_uid = 5000 log_timestamp = %Y-%m-%d %H:%M:% mail_gid = mail mail_location = maildir:/home/vmail/%d/%u mail_uid = vmail ssl = no passdb { args = /etc/dovecot/dovecot-sql.conf driver = sql } protocols = imap pop3 service auth { unix_listener /var/spool/postfix/private/auth { group = postdrop mode = 0660 user = postfix } unix_listener auth-master { group = mail mode = 0660 user = vmail } user = nobody } service imap-login { executable = /usr/libexec/dovecot/imap-login inet_listener imap { address = * port = 143 } } service imap { executable = /usr/libexec/dovecot/imap } service pop3-login { executable = /usr/libexec/dovecot/pop3-login inet_listener pop3 { address = * port = 110 } } service pop3 { executable = /usr/libexec/dovecot/pop3 }
в /etc/dovecot/dovecot-sql.conf
driver = mysql connect = host=localhost dbname=postfix user=postfix password=password default_pass_scheme = MD5 user_query = SELECT '/home/vmail/%d/%n' as home, 'maildir:/home/vmail/%d/%n' as mail, 5000 AS uid, 5000 AS gid, concat('dirsize:storage=', quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1' password_query = SELECT username as user, password, '/home/vmail/%d/%n' as userdb_home, 'maildir:/home/vmail/%d/%n' as userdb_mail, 5000 as userdb_uid, 5000 as userdb_gid FROM mailbox WHERE username = '%u' AND active = '1'
млин запарка ваше)
ставим панельку posfix admin:
wget 'http://sourceforge.net/projects/postfixadmin/files/latest/download' tar xvf postfixadmin_2.3.4.tar.gz mv postfixadmin-2.3.4 /var/www/postfix chown -R apache:apache /var/www/postfix не забываем прописать в джинсах или апаче )
настраиваем конфиг постфикадмин
var/www/postfix/config.inc.php
и в путь готова!
ps: создадим пользователя группу
groupadd -g 5000 vmail useradd -g vmail -u 5000 vmail -d /home/vmail -m