Добрый день суток уважаемые админы, эксперты. Я столкнулся с проблемой настройки почты. И хотел бы попросить вас, в чем моя ошибка в настройках. Ведь админами не рождаются, а становятся. Каждый из нас через эти трудности проходил.
Система:
+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 Вот и на этом и приехал. Что делать?
Все рекомендации делал по https://www.opennet.ru/docs/RUS/postfix_freebsd/