The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Postfix+Cyrus-SASL+MySQL+COURIER-IMAP+postfixadmin+clamav+spamassaisin"
Отправлено zafik, 10-Май-07 13:36 
Добрый день суток уважаемые админы, эксперты. Я столкнулся с проблемой настройки почты. И хотел бы попросить вас, в чем моя ошибка в настройках. Ведь админами не рождаются, а становятся. Каждый из нас через эти трудности проходил.
Система:
+openSUSE 10.2
P4 3Ghz/Ram 1024 mb/HDD 200Gb/SVGA Ati Radeon 9600 128 mb/

Как я делал. 2 сетевые карты задал Ip внешние и внутренние
eth0 212.x.x.x.x Внеш. адрес который идет к провайдеру
eth1 192.x.x.x.x Внутр. адрес который идет к Свитчу и так  ко все внутреней моей сетки.
Куплен домен waterfall.tj у прова.
1) Установил Perl/OpenSSL/MySQL/Cyrus-sasl/Courier-authlib/Courier-imap/Postfix/Apache/Php/Postfixadmin/

2) Настраиваю MySQL под безопасность
#mysql_secure_installation
Все ввел под мои нужды, т.е запретил анонимн. удалил тестовую базу и т.д.
Задал пароль. и прочее.
Создаю базу

#mysqladmin -uroot -p create postfix
msql> CREATE DATABASE `postfix`;
добавил mysql юзера в системе MySQL а также создал юзера postfix в самой системе
mysql> GRANT ALL PRIVILEGES ON postfix.* TO postfix@localhost IDENTIFIED BY 'postfix-пароль';

3) Теперь настраиваю Cyrus-SASL все к ним дополнения тоже установил например cyrus md5.
Изменяю параметры /etc/sasl2/smtpd.conf
Все данные стираю и вношу изменение

pwcheck_method: auxprop
mech_list: CRAM-MD5 DIGEST-MD5 PLAIN LOGIN
auxprop_plugin: sql
sql_engine: mysql
aql_hostname: localhost
sql_user: postfix
sql_passwd: postfix
sql_database: postfix
sql_select: select password from mailbox where username='%u@%r'
log_level: 3


2) Натсраиваю Courier-Authlib
etc/authlib/authdaemonrc
вношу изменение

authmodulelist="authmysql"
authmodulelistoring="authmysql"
daemons=5
authdaemonvar=/var/run/authdaemon.courier-imap
subsystem=mail
DEBUG_LOGIN=2
DEFAULTOPTIONS="wbnodsn=1"
LOGGEROPTS=""

А теперь меняю значение /etc/authlib/authmysqlrc


MYSQL_SEVER        localhost
MYSQL_USERNAME        postfix
MYSQL_PASSWORD        postfix
MYSQL_SOCKET        /var/mysql/mysql.sock
MYSQL_PORT        3306
MYSQL_OPT        0
MYSQL_DATABASE        postfix
MYSQL_USER_TABLE    mailbox
MYSQL_CLEAR_PWFIELD    password
MYSQL_UID_FIELD        '1981'
MYSQL_GID_FIELD        '1981'
MYSQL_LOGIN_FIELD    username
MYSQL_HOME_FIELD    '/var/spool/mail'
MYSQL_NAME_FIELD    name
MYSQL_MAILDIR_FIELD    maildir
MYSQL_QUOTA_FIELD    quota
MYSQL_WHERE_CLAUSE    active = '1'


добавлю юзера virtual и группу virtual под UID и GID 1981
#groupadd virtual -g 1981
#useradd virtual -g virtual -s /sbin/nologin -u 1981

добавляю в service MYSQL/Courier-Authlib
#chkconf -add authlib
#chkconf -add mysql
И запускаю
#rcmysql start
  done- ура запустился
#rccourier-authlib start
  done- тоже ура запустился

Теперь проверяю
#cat /var/log/mail | grep authdaemon
May 10 11:20:30 mail authdaemon: stopping authdaemon children
May 10 11:20:30 mail authdaemon: modules="authmysql", daemons=5
May 10 11:20:30 mail authdaemon: Installing libauthmysql
May 10 11:20:30 mail authdaemon: Installation complete: authmysql

Вроде кажется ок.

3) Иду дальше ставлю Courier-Imap и для него доп. компоненты
Меняю конфиг.
/etc/courier/pop3d

PIDFILE=/var/run/pop3d.pid
MAXDAEMONS=40
MAXPERIP=4
POP3AUTH='CRAM-MD5 PLAIN LOGIN CRAM-SHA1 CRAM-SHA256'
POP3AUTH_ORIG='CRAM-MD5 PLAIN LOGIN CRAM-SHA1 CRAM-SHA256'
POP3AUTH_TLS=""
POP3AUTH_TLS_ORIG=""
POP3_PROXY=0
PORT=110
ADDRESS=
PORT=192.x.x.x(мой внутр IP).110, 127.0.0.1.110, 212.x.x.x.110(мой внеш. IP)
TCPDOPTS="-nodnslookup -noidentlookup"
LOGGEROPTS="-name=pop3d"
POP3DSTART=YES
MAILDIRPATH=Maildir

Добавляю в сервис
#chkconf -add pop

Теперь запускаю
#rccourier-pop start
done- ура запустился
проверяю пашет ли 110 порт
#telnet localhost 110
Trying 127.0.0.1...
Connetcted to localhost
Escape character is '^]'.
+OK Hello there.
Все работает
Теперь закрываю
quit

4) Иду дальше настраиваю сам postfix (До этого ничего не стояла ни sendmail) Все что Postfix н у меня уже в open SUSE был встроен.
Редактирую main.cf
/etc/postfix/main.cf

queue_directory=/var/spool/postfix

command_directory=/usr/sbin

base=/etc/postfix

daemon_directory=/etc/postfix

mail_owner=postfix

default_privs=nobody

myhostname=mail.waterfall.tj

mydomain=waterfall.tj

myorigin=$mydomain

# myorigin=$myhostname

inet_interfaces=all

mydestination=$myhostname, localhost.$mydomain, localhost

unknown_local_recipient_reject_code = 550
local_recipient_maps=$virtual_mailbox_maps, $virtual_alias_maps, $alias_maps

mynetworks=127.0.0.0/8

alias_maps=hash:/etc/mail/aliases
alias_database=hash:/etc/mail/aliases

header_checks=regexp:$base/header_checks

smtpd_banner=$myhostname ESMTP

debug_peer_level=2

debug_peer_list=127.0.0.1, waterfall.tj

smtpd_client_restrictions=permit_mynetworks, permit_sasl_authenticated, check_client_access hash:$base/client_access, reject_unknown_client

smtpd_helo_restrictions=check_helo_access hash:$base/hello_access, permit_mynetworks, reject_invalid_hostname, reject_unknown_hostname, reject_non_fqdn_hostname

smtpd_sender_restrictions=permit_mynetworks, check_sender_access hash:$base/sender_access, reject_authenticated_sender_login_mismatch, reject_unknown_sender_domain, reject_unlisted_sender, reject_unverified_sender

smtpd_recipient_restrictions=permit_mynetworks, permit_sasl_authenticated, permit_auth_destination, reject_unauth_destination, check_recipient_access hash:$base/recipient_access, reject_unlisted_recipient, reject_unknown_recipient_domain, reject_non_fqdn_recipient, reject_unverified_recipient, reject

smtpd_data_restrictions=reject_unauth_pipelining, reject_multi_recipient_bounce

smtpd_etrn_restrictions=reject

smtpd_reject_unlisted_sender=yes

disable_vrfy_command=yes

strict_rfc821_envelopes=yes

show_user_unknown_table_name=no

address_verify_sender=<>

unverified_sender_reject_code=550

smtpd_helo_required=yes

smtpd_always_send_ehlo=yes

smtpd_hard_error_limit=8

smtpd_timeout=120s

smtpd_helo_timeout=60s

smtpd_mail_timeout=60s

smtpd_rcpt_timeout=60s

smtpd_sasl_auth_enable=yes

smtpd_sasl_application_name=smtpd

broken_sasl_auth_clients=yes

smtpd_sasl_security_options=noanonymous

smtpd_sender_login_maps=mysql:$base/mysqlLookupMaps/sender.conf

transport_maps=mysql:$base/mysqlLookupMaps/transport.conf

virtual_alias_maps=mysql:$base/mysqlLookupMaps/alias.conf

virtual_mailbox_domains=mysql:$base/mysqlLookupMaps/domain.conf

virtual_mailbox_maps=mysql:$base/mysqlLookupMaps/mailbox.conf

virtual_mailbox_base=/var/spool/mail

virtual_mailbox_limit_maps=mysql:$base/mysqlLookupMaps/quota.conf

virtual_maildir_extended=yes

virtual_mailbox_limit_override=yes

virtual_create_maildirsize=yes

virtual_overquota_bounce=yes

virtual_maildir_limit_message="Sorry, the user's maildir has overdrawn his diskspace quota, please try again later"

message_size_limit=5242880

virtual_gid_maps=static:1981

virtual_uid_maps=static:1981

virtual_minimum_uid=1000

Сохраняю.
Ввожу команду для создание алиасов
#newaliases
дал ошибку говорит нет alises.db я его вручную создал и поместил в директорию /etc/mail/
ввел еще раз эту же команду newaliases
Вроде прошло. без ошибок

Теперь создаю необходимые файлы
#cd /etc/postfix
#touch hello_access sender_access
#touch recipient_access client_access
#postmap hello_access
#postmap sender_access
#postmap recipient_access
#postmap client_access
#mkdir /etc/posftfix/mysqlLookupMaps

Создаю в этой же директории файлы и вношу конфиг

alias.conf

user=postfix
password=postfix
hosts=localhost
dbname=postfix
table=alias
select_field=goto
where_field=address

domain.conf

user=postfix
password=postfix
hosts=localhost
dbname=postfix
table=domain
select_field=description
where_field=domain
additional_conditions=and active='1' and backupmx='0'

mailbox.conf

user=postfix
password=postfix
hosts=localhost
dbname=postfix
table=mailbox
select_field=maildir
where_field=username
additional_conditions=and active='1'

quota.conf

user=postfix
password=postfix
hosts=localhost
dbname=postfix
table=mailbox
select_field=quota
where_field=username
additional_conditions=and active='1'

sender.conf

user=postfix
password=postfix
hosts=localhost
dbname=postfix
table=mailbox
select_field=username
where_field=username
additional_conditions=and active='1'

transport.conf

user=postfix
password=postfix
hosts=localhost
dbname=postfix
table=domain
select_field=transport
where_field=domain

Дальше выставляю права к папке где будет почта

#chown -R root:postfix /etc/postfix/mysqlLookupMaps/
#chmod 440 /etc/postfix/mysqlLookupMaps/*.conf
#chmod 550 /etc/postfix/mysqlLookupMaps/

Создаю папку
#mkdir /var/spool/mail
#chown virtual:virtual /var/spool/mail/
#chmod 740 /var/spool/mail/

Теперь запускаю postfix, так как он уже был в сервисе добавлят не буду.
#rcpostfix start
failed            Вот и на этом и приехал. Что делать?

Все рекомендации делал по http://www.opennet.ru/docs/RUS/postfix_freebsd/


 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру