Мы — долго запрягаем, быстро ездим, и сильно тормозим.

Авторы
История сайта
Статистика
Архив
  CVSup
  EXIM & courier-imap
  postfix & courier-imap
  SQUID
  SAMBA
  IPsec
  C-ICAP
  exim & dbmail
  vpnd
  Samba как PDC
  pureftpd
  diskless
  gmirror
  SAMBA + LDAP
  IPSEC
  SAMBA+ACL
  Lightsquid
  LiveCD (+restore)
  1С:Предприятие 8.2
Карта сайта
поисковые слова
Личные настройки
Реклама
Друзья сайта


www.lissyara.su —> главная —> Архив —> EXIM & courier-imap

настройка связки EXIM, courier-imap и MySQL

Автор: lissyara.


Эта статья в архиве. Новая версия доступна по адресу: http://www.lissyara.su/?id=1175


   Когда я начинал общаться с UNIX`ами, то по инерции в качестве MTA (Message Transfer Agent) использовал Sendmail - инерция заключалась в том, что он ставился по умолчанию. Его я и настроил, и стал использовать. Работал он нормально, никаких проблем не было, но весьма доставали маловразумительные конфиги на макросах m4 которые мало кому легко даются, и отсутствие поддержки виртуальных доменов - у меня на машине была почта двух доменов, а вот раскладывалась она в одни и те же ящики - т.е. был ящик admin и в него ложилась почта и для admin@domain1.ru и для admin@domain2.ru. Естественно, что это было неудобно. Да и в плане безопастности меня беспокоило то, что использовались системные аккаунты.
   В-общем, по прошествии некоторого времени было принято решение эмигрировать на что-то иное. После бесплодных попыток настроить qmail я поставил связку postfix и courier-imap которая до сих пор успешно работает на той машине.
   Позже и у этой пары нашлись недостатки и я "эмигрировал" на exim. Он мне сразу понравился понятным конфигом (намного более вразумительным чем у того же postfix, который славится простотой конфигурационных файлов), плюс - файл один, а не куча как у постфикса. Также порадовала поддержка перл-совместимых регулярных выражений и нормальная поддержка MySQL - запросы к БД можно писать прямо в конфе... Короче - сказка :)
   Через некоторое время использования меня окончательно достал спам - уже не помогали ни блэк-листы, ни запрет на приём почты с хостов не имеющих доменного имени. Связано это было не с косяками самого экзима, а с тем что на мой ящик собиралась почта с одного домена целиком, и с "популярных" ящиков другого - postmaster, admin, support, & etc... После некоторого рыскания и метания - "а что делать?" было найдено интересное решение - задержка при приёме писем. В итоге это и было реализовано -  защита от спама методами самого exim и некоторым знанием того, как рассылается спам - серверу спамеров надо за малое время отослать несколько миллионов писем - поэтому, в отличие от нормального сервера он не может ждать больше нескольких секунд. Для "срезания" таких серверов в конфиг введена задержка на приёме письма - как итог нормальные сервера могут ждать и по 30 секунд, и по 99 - а вот спамерские отваливаются через 10-15 секунд. Им некогда - надо слать письма. Честно говоря эффектом был сам удивлён - спам пропал вообще. Потом выяснилось, что не всё так гладко - раз в три-четыре дня приходило письмо или пара. Судя по тому, что серверы с которых приходили эти письма в тот же день попадали в списки блэк-листов - спамеры просто находили и юзали очередной опен релей. Нужно заметить что это не моё изобретение, этот кусок конфига я подобрал в рассылке exim`a - exim-users.
   Итак, поехали. Ставим из портов, предварительно обновив их до нынешней версии.
/root/>cd /usr/ports/mail/exim
/usr/ports/mail/exim/>mcedit Makefile

там правим (комментируем или раскомментируем) такие строчки:
WITH_CONTENT_SCAN= yes # для поддержки антивируса
WITH_MYSQL= yes # для поддержки БД MySQL
WITH_MYSQL_VER= 40 # версия MySQL
WITHOUT_IPV6= yes # Отрубаем IP шестой версии
WITH_DEFAULT_CHARSET?= koi8-r # кодировка по-умолчанию
#LOGDIR?= /var/log/exim # без директории для лог файлов, ибо 
# по умолчанию exim пишет логи в свою директорию, что на мой взгляд 
# не самый лучший вариант - для этого есть syslogd
LOG_FILE_PATH?= syslog # говорим ему куда писать логи - в syslog

Всё это шаманство с редактированием Makefile нужно только из-за того, что логи по-умолчанию пишутся дурацки - я хотел чтоб они писались в /var/log/maillog. Все опции кроме опций логов можно задать ключами при запуске Make. Но коли уж лезть - так на полную :) (что конечно же тоже неправильно, т.к. при использовании утилиты portupgrade она обновит порт с параметрами Makefile по-умолчанию, ибо ей-то невдомёк что файл был отредактирован - потому как при обновлении дерева портов он будет перезаписан дефолтовым.) После чего делаем make && make install && make clean.
   Создаём БД, заводим пользователя в MySQL - и таблицы по прилагаемым дампам:
-- MySQL dump 9.11
--
-- Host: localhost Database: exim
-- ------------------------------------------------------
-- Server version 4.0.25-log
--
-- Current Database: exim
--
CREATE DATABASE /*!32312 IF NOT EXISTS*/ exim;
USE exim;
--
-- Table structure for table `aliases`
--
CREATE TABLE aliases (
 to_user varchar(128) NOT NULL default '',
 recipients text,
 PRIMARY KEY (to_user)
) TYPE=MyISAM;
--
-- Dumping data for table `aliases`
--
INSERT INTO aliases VALUES ('@gate.domain1.ru','admin@lissyara.su');
INSERT INTO aliases VALUES ('@gate','admin@lissyara.su');
INSERT INTO aliases VALUES ('admin@domain1.ru','admin@lissyara.su');
INSERT INTO aliases VALUES ('postmaster@domain1.ru','admin@lissyara.su');
INSERT INTO aliases VALUES ('abuse@domain1.ru','admin@lissyara.su');
--
-- Table structure for table `domains`
--
CREATE TABLE domains (
 domainname varchar(128) NOT NULL default '',
 type enum('LOCAL','RELAY','VIRTUAL') default 'LOCAL',
 PRIMARY KEY (domainname)
) TYPE=MyISAM;
--
-- Dumping data for table `domains`
--
INSERT INTO domains VALUES ('gate','LOCAL');
INSERT INTO domains VALUES ('domain1.ru','LOCAL');
INSERT INTO domains VALUES ('domain2.ru','VIRTUAL');
INSERT INTO domains VALUES ('gate.domain1.ru','LOCAL');
--
-- Table structure for table `users`
--
CREATE TABLE users (
 id varchar(64) NOT NULL default '',
 full_name varchar(128) NOT NULL default '',
 passwd varchar(64) NOT NULL default '',
 uid int(5) unsigned default '26',
 gid int(5) unsigned default '26',
 home varchar(128) binary default '/var/mail/exim/',
 active enum('Y','N') default 'Y',
 PRIMARY KEY (id)
) TYPE=MyISAM;
--
-- Dumping data for table `users`
--
INSERT INTO users VALUES ('vasya@domain1.ru', 
'пользователь Вася','1234567',26,26,'/var/mail/exim/','Y');
INSERT INTO users VALUES ('petya@domain1.ru', 
'юзер Петя','568954',26,26,'/var/mail/exim/','Y');
INSERT INTO users VALUES ('marina@domain2.ru', 
'пользователь Mарина','1234567',26,26,'/var/mail/exim/','Y');
INSERT INTO users VALUES ('sanya@domain2.ru', 
'ящик Саши','568954',26,26,'/var/mail/exim/','Y');

Следующим образом (cСЧИТАЕМ что приведённый выше дамп Вы скопировали в файл sql_dump.sql и он лежит в домашней директории):
/usr/home/lissyara/>mysql --user=root --password=root_password < sql_dump.sql

После чего редактируем конфиг exim`а - /usr/local/etc/exim/configure:
# Файл конфигурации: /usr/local/etc/exim/configure
primary_hostname = gate.domain1.ru
domainlist local_domains = ${lookup mysql{SELECT domainname FROM domains \
 WHERE domainname='${domain}' AND \
 (type='LOCAL' OR type='VIRTUAL')}}
domainlist relay_to_domains = ${lookup mysql{SELECT domainname FROM domains \
 WHERE domainname='${domain}' AND type='RELAY'}}
hostlist relay_from_hosts = 127.0.0.1 : 192.168.0.0/24
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
av_scanner = clamd:/var/run/clamav/clamd
qualify_domain = domain1.ru
log_selector = \
 +all_parents \
 +lost_incoming_connection \
 +received_sender \
 +received_recipients \
 +smtp_confirmation \
 +smtp_syntax_error \
 +smtp_protocol_error \
 -queue_run
allow_domain_literals = false
never_users = root:daemon:bin
host_lookup = *
rfc1413_hosts = *
rfc1413_query_timeout = 0s
ignore_bounce_errors_after = 30m
timeout_frozen_after = 30d
freeze_tell = postmaster
auto_thaw = 1h
message_size_limit = 16M
smtp_accept_max = 50
smtp_accept_max_per_connection = 50
smtp_connect_backlog = 50
smtp_accept_max_per_host = 25
split_spool_directory = true
remote_max_parallel = 15
# вводим параметры подключения к MySQL серверу хост/БД/имя_пользователя/пароль
hide mysql_servers = localhost/exim/exim/exim
begin acl
acl_check_rcpt:
 accept hosts = :
# Задержка приёма письма - как средство борьбы со спамом -
# спамерам некогда ждать по 99 секунд :)
 warn
 set acl_m0 = 0s
 warn
 hosts = !+relay_from_hosts:!213.234.195.226/32
 set acl_m0 = 30s
 warn
 condition = ${if and {\
 {match{$sender_host_name}\
 {\N^[-a-z]*\d{0,3}[-a-z]*\.?[-a-z]*\d{0,3}[-a-z]*\.\w+$\N}} \
 {!eq{$acl_c0}{outblaze_helo}} \
 }{yes}{no}}
 set acl_m0 = 1s
 warn
 condition = ${if and {\
 {match{$sender_helo_name}{\N^\w*\.\w{3}$\N}} \
 {eq{$acl_c1}{}} \
 }{yes}{no}}
 set acl_m0 = 99s
 warn
 condition = ${if and {\
 {!match{$sender_host_name}{\N.+.outblaze.com$\N}} \
 {eq{$acl_c0}{outblaze_helo}} \
 }{yes}{no}}
 set acl_m0 = 99s
 warn
 condition = ${if and {\
 {!match{$sender_host_name}{\N.+.outblaze.com$\N}} \
 {eq{$acl_c2}{outblaze_domain}} \
 }{yes}{no}}
 set acl_m0 = 99s
 warn
 condition = ${if or {\
 {eq{$sender_address}{}} \
 {eq{$acl_m1}{0s}} \
 } {yes}{no}}
 set acl_m0 = 0s
 warn
 logwrite = Delay $acl_m0 for $sender_host_name \
 [$sender_host_address] with HELO=$sender_helo_name. \
 Mail from $sender_address to $local_part@$domain.
 set acl_m1 = 0s
 delay = $acl_m0
############ ###################
 deny local_parts = ^.*[@%!/|] : ^\\.
# Приём писем для постмастера локальных доменов без проверок
# accept local_parts = postmaster
# domains = +local_domains
 require verify = sender
 deny message = HELO/EHLO required by SMTP RFC
 condition = ${if eq{$sender_helo_name}{}{yes}{no}}
 deny message = Go Away! You are spammer.
 condition = ${if match{$sender_host_name} \
 {bezeqint\\.net|net\\.il|dialup|pool|peer|dhcp} \
 {yes}{no}}
 deny message = host is listed in $dnslist_domain
 dnslists = sbl.spamhaus.org : \
 relays.ordb.org : \
 opm.blitzed.org : \
 proxies.blackholes.easynet.nl
 accept domains = +local_domains
 endpass
 message = unknown user
 verify = recipient
 accept domains = +relay_to_domains
 endpass
 message = unrouteable address
 verify = recipient
 accept hosts = +relay_from_hosts
 accept authenticated = *
 deny message = RELAY NOT PERMITTED
acl_check_data:
 deny message = Go Away! Eat Your Spam Self!
 condition = ${if match{$message_body} \
 {105[-_]*51[-_]*86|778[-_]*98[-_]*94} \
 {yes}{no}}
 deny malware = *
 message = Virus found ($malware_name)
 accept
begin routers
dnslookup:
 driver = dnslookup
 domains = ! +local_domains
 transport = remote_smtp
 ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/24
 no_more
system_aliases:
 driver = redirect
 allow_fail
 allow_defer
 data = ${lookup mysql{SELECT recipients FROM aliases WHERE \
 to_user='${quote_mysql:$local_part@$domain}' OR \
 to_user='${quote_mysql:@$domain}'}}
mysqluser:
 driver = accept
 condition = ${if eq{} {${lookup mysql{SELECT home FROM users \
 WHERE id='${quote_mysql:$local_part@$domain}' OR \
 id='${quote_mysql:@$domain}'}}}{no}{yes}}
 transport = mysql_delivery
begin transports
remote_smtp:
 driver = smtp
mysql_delivery:
 driver = appendfile
 check_string = ""
 create_directory
 delivery_date_add
 directory = ${lookup mysql{SELECT CONCAT(home, '${local_part}@${domain}')\
 		 FROM users WHERE id='${local_part}@${domain}'}}
 directory_mode = 770
 envelope_to_add
 group = mail
 maildir_format
 maildir_tag = ,S=$message_size
 message_prefix = ""
 message_suffix = ""
 mode = 0600
address_pipe:
 driver = pipe
 return_output
address_file:
 driver = appendfile
 delivery_date_add
 envelope_to_add
 return_path_add
address_reply:
 driver = autoreply
begin retry
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
begin rewrite
begin authenticators
auth_plain:
 driver = plaintext
 public_name = PLAIN
 server_condition = ${lookup mysql{SELECT id FROM users \
 WHERE id = '${quote_mysql:$1}' \
 AND passwd = '${quote_mysql:$2}' \
 AND active = 'Y'}{yes}{no}}
 server_prompts = :
server_set_id = $2
auth_login:
 driver = plaintext
 public_name = LOGIN
 server_condition = ${lookup mysql{SELECT id FROM users \
 WHERE id = '${quote_mysql:$1}' \
 AND passwd = '${quote_mysql:$2}' \
 AND active = 'Y'}{yes}{no}}
 server_prompts = Username:: : Password::
server_set_id = $1
auth_cram_md5:
 driver = cram_md5
 public_name = CRAM-MD5
 server_secret = ${lookup mysql{SELECT passwd FROM users \
 WHERE id = '${quote_mysql:$1}' \
 AND active = 'Y'}{$value}fail}
server_set_id = $1

Затем проверяем корректность конфига командой exim -bV:
/root/>exim -bV
Exim version 4.52 #0 (FreeBSD 4.11) built 24-Aug-2005 17:25:35
Copyright (c) University of Cambridge 2005
Probably Berkeley DB version 1.8x (native mode)
Support for: iconv() PAM Perl OpenSSL Content_Scanning Old_Demime
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz 
dnsdb dsearch mysql nis nis0 passwd
Authenticators: cram_md5 plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
Configuration file is /usr/local/etc/exim/configure

Если нет ошибок - то продолжаем, если есть - исправлям (он достаточно подробно жалуется на ошибки, поэтому тут относительно просто, а чаще всего ошибки бывают из-за невнимательности).
   Добавляем в /etc/rc.conf строку exim_enable="YES" и там же меняем sendmail_enable="YES" на sendmail_enable="NONE", после чего убиваем sendmail, запускаем exim, и проверяем - запустился ли:
/root/>killall sendmail
/root/>/usr/local/etc/rc.d/exim.sh start
Starting exim.
/root/>ps -ax | grep exim
 2775 ?? Ss 0:00.00 /usr/local/sbin/exim -bd -q30m (exim-4.52-0)
/root/>

   Теперь ставим антивирус - ClamAV. Почему именно он? Просто когда-то у меня стоял DrWeb, но под него очень тяжело найти ключи :) Под UNIX-версию намного тяжелее чем под виндовую.... Потом, по проценту отлова заражённых файлов ClamAV недалеко от платных антивирей, иногда даже впереди (как-то отправил письмо другу с картинкой прикольной - приходит ответ моего же почтаря - фотка зарублена как заражённая каким-то jpeg-вирусом.... Касперский на моей машине с самыми свежими базами файл этот в упор не видел как заражённый....).
/root/>cd /usr/portd/security/clamav
make && make install && make clean

При запуске вылазиет красивое окошко с выбором опций - ничего не выбираем (у меня он предложил "URL downloading" и "milter"). Добавляем в /etc/rc.conf строку clamav_clamd_enable="YES" запускаем демона и проверяем заработало ли:
/root/>/usr/local/etc/rc.d/clamav-clamd.sh start
Starting clamav_clamd.
/root/>ps -ax | grep clam
 3073 ?? Is 0:00.00 /usr/local/sbin/clamd
 3078 p0 DL+ 0:00.00 grep clam
/root/>

В особой настройке не нуждается, по умолчанию неплохо работает, но при желании можно поправить конфиг - /usr/local/etc/clamd.conf, ещё есть прикол - строка в этом файле в начале файла - Example если она есть и незакомментирована - то он неработает. Единственное для чего точно требуется настройка - это обновление антивирусных баз - для этого запускаем планировщик (crontab -e - нужно учесть что запускается редактор по-умолчанию, т.е. vi если вы это не исправили :)) от суперпользователя и вносим в него такую строку:
28	*/4	*	*	* /usr/local/bin/freshclam >/dev/null 2>&1

Теперь каждый час, который делится нацело на 4 (т.е. в 0, 4, 8, 12, 16, 20) в 28 минут будет проводиться обновление антивируса. Если кажется слишком часто - можно поставить и реже.
   Собственно почту сервер уже может принимать. Для проверки можно отправить самому себе письмо с консоли:
/root/>mail -s test_e_mail admin@domain1.ru < /usr/local/etc/rc.d/exim.sh

После чего надо сходить в папку /var/mail/exim и посмотреть появилась ли внутри папка с именем пользователя а в ней файл письма в папке NEW. Если всё нормально - идём дальше, нет - смотрим логи - /var/log/maillog и устраняем ошибки. Есть одна особенность у инсталлятора exim - если до него стоял sendmail, то содержимое файла /etc/mail/mailer.conf остаётся неизменным, а вот если до него стоял другой MTA то в него стоит заглянуть - при удалении не все они восстанавливают после себя всё `как былО` - е если в нём прописан старый майлер то заменить его содержимое на следующее:
sendmail /usr/local/sbin/exim
send-mail /usr/local/sbin/exim
mailq /usr/local/sbin/exim -bp
newaliases /usr/local/sbin/exim -bi
hoststat /usr/local/sbin/exim
purgestat /usr/local/sbin/exim

Только нужно учесть что это действует только на отправку сообщений с консоли. Если у Вас проблема не в этом месте, то его править бесполезно.
   Теперь осталось научить его отдавать почту клиентам. Для этого ставим courier-imap:
/root/>cd /usr/ports/mail/courier-imap
/usr/ports/mail/courier-imap/>make && make install && make clean

В появившемся окошке с опциями нам нужно только одно - поддержка авторизации MySQL. Остальное никчему. По окончании настройки конфигурим, но не сам courier-imap, a courier-authlib которого он за собой тащит при установке. Редактируем файл /usr/local/etc/authlib/authmysqlrc до такого состояния:
MYSQL_SERVER localhost
MYSQL_USERNAME exim
MYSQL_PASSWORD exim
MYSQL_PORT 3306
MYSQL_DATABASE exim
MYSQL_USER_TABLE `users`
MYSQL_CLEAR_PWFIELD `passwd`
MYSQL_UID_FIELD `uid`
MYSQL_GID_FIELD `gid`
MYSQL_LOGIN_FIELD `id`
MYSQL_NAME_FIELD `full_name`
MYSQL_MAILDIR_FIELD CONCAT(`home`, `id`)
DEFAULT_DOMAIN domain1.ru

После чего добавляем следующие строки в /etc/rc.conf:
courier_imap_pop3d_enable="YES"
courier_imap_imapd_enable="YES"
courier_authdaemond_enable="YES"

И запускаем службы:
/etc/>cd /usr/local/etc/rc.d
/usr/local/etc/rc.d/>./courier-authdaemond.sh start
Starting courier_authdaemond.
/usr/local/etc/rc.d/>./courier-imap-imapd.sh start
Starting courier_imap_imapd.
/usr/local/etc/rc.d/>./courier-imap-pop3d.sh start
Starting courier_imap_pop3d.
/usr/local/etc/rc.d/>ps -ax | grep imap
 6223 ?? I 0:00.00 /usr/local/sbin/courierlogger -
 6224 ?? I 0:00.00 /usr/local/libexec/courier-imap
 6235 ?? S 0:00.00 /usr/local/libexec/courier-imap
/usr/local/etc/rc.d/>sockstat | grep couri
root couriert 6235 3 tcp4 *:110 *:*
root couriert 6224 3 tcp4 *:143 *:*
root courierl 6234 4 dgram syslogd[113]:3
root courierl 6223 4 dgram syslogd[113]:3
root courierl 6207 4 dgram syslogd[113]:3
/usr/local/etc/rc.d/>sockstat | grep auth
root authdaem 6213 5 stream /var/run/authdaemond/socket.tmp
root authdaem 6212 5 stream /var/run/authdaemond/socket.tmp

   Вот и всё. Тестируйте, проверяйте. Всё это руководство писалось при наладке тестовой машины следующей конфигурации:
P-II 233 MHz
64 Mb RAM
8 Gb HDD

Версии ПО:
exim-4.52
clamav-0.86.2_1
courier-authlib-base-0.57
courier-authlib-mysql-0.57
courier-imap-4.0.4,1
mysql-server-4.0.25

После чего конфиг переносился на "боевой" сервак. Также подразумевается что MySQL уже стоит.



Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=486.

размещено: 2005-08-27,
последнее обновление: 2009-10-24,
автор: lissyara

оценить статью:

..::GNUтёнок::.., 2005-10-13 в 0:31:30

УРА! Спасибо Лёха. мне удалось поднять Сервак.
Работает вроде. тьфу тьфу тьфу.
В общем запара была с курьером. там crypt нужно было вычеркнуть, что бы почту забирал.  а так писал в логи
051013  4:28:32      48 Connect     exim@localhost on
48 Init DB     exim
48 Query       SELECT `id`, crypt, `passwd`, `uid`, `gid`, home, CONCAT(`home`, `id`), "", `full_name`, "" FROM `users` WHERE `id` = "name@domain1.com"

..::GNUтёнок::..,, 2005-10-13 в 0:40:16

Вот только я не понял. почему на yandex.ru я отправляю письмо, оно в другой кодировки приходит. непонял что то.

lissyara, 2005-10-13 в 9:00:27

Ага. Exim, от нечего делать, письма на лету перекодирует....
Рой клиента своего почтового.

..::GNUтёнок::.., 2005-10-14 в 6:46:22

В общем все тип топ. Вот думаю dhcpd поставить.. мне dhcp на винде никак не нравится.

..::GNUтёнок::.., 2005-10-14 в 9:40:59

мм..  а квоты на отправку почты анлимит? ^)

lissyara, 2005-10-14 в 9:51:11

Я сервак для офиса настраивал, а не магистральный SMTP-релей :)

monstr, 2005-12-23 в 10:36:04

все бы хорошо только не могу понать вот этого

Создаём БД, заводим пользователя в MySQL - и таблицы по прилагаемым дампам:
— MySQL dump 9.11
--
— Host: localhost    Database: exim
— ------------------------------------------------------
— Server version       4.0.25-log

--
— Current Database: exim
--


что сним делать и куда его пихать ???
Я не ламер я только учусь.

lissyara, 2005-12-23 в 10:55:20

Сорри. Щас добавлю в статью. А в общих чертах оно делается так - либо копируешь текст отсюда и вставляешь в phpMyAdmin - в окно выполнить SQL запрос, либо в текстовый файл и с ним делаешь так:
mysql --user=root --password=root_passwd < file.sql

P.S. надо добавить, что нынешний exim умеет сразу сам писать логи в maillog - поэтому эту часть Makefile можно не трогать.

Alexandr, 2005-12-26 в 7:33:49

Всё прекрасно но как избежать сообщений типа, не понятно от кого. Может кто знает как закрыть эту траблу!

Вот кусок лога

2005-12-26 09:08:55 Delay 0s for  [66.246.218.96] with HELO=mail.idiot.com. Mail from  to int_chel@example.com.

lissyara, 2005-12-26 в 9:08:04

А что тебе не нравится в этом логе?
Это ещё не сообщение, это тока факт соединения серверов...

Alexandr, 2005-12-27 в 7:35:06

вот  ->>
2005-12-26 09:08:55 Delay 0s for  [66.246.218.96] with HELO=mail.hoster.kz. Mail from  to int_chel@example.com.
2005-12-26 09:09:27 1EqijI-0001jn-FK <= <> H=(mail.hoster.kz) [66.246.218.96] P=esmtps X=TLSv1:AES256-SHA:256 S=109204 id=E1EqjiG-00
0IS8-4x@mail.hoster.kz

Alexandr, 2005-12-27 в 7:36:20

2005-12-26 09:09:27 1EqijI-0001jn-FK Completed

lissyara, 2005-12-27 в 9:30:12

так бы и сказал, что с пустым полем "From".
Хрен его знает. Надо читать документацию и правило писать...

dmart, 2005-12-30 в 16:03:54

С пустым MAIL From: - это стандарт для сообщений об отлупах. А то зафильтруете, и знать не будете, что ваши письма куда-то не доходят.

Showjumper, 2006-01-10 в 20:18:43

А расшифруйте плиз как тут почта по алиасам бегает ?
как я понял все алиасы только из MySQL, расшифруйте что есть to_user ....ну собсно воопче чт отам сказано :)
Спасибо.
PS я еще встретил не system_aliases, a mysql_system_aliases:
на етой странице http://www.exim.org/pipermail/exim-users/Week-of-Mon-19991025/014854.html

lissyara, 2006-01-10 в 20:53:37

Поле `to_user` - получатель письма в локальном домене (кому она пришла на этом сервере), поле `recipients` - получатель почты, кому она уйдёт с этого сервера в итоге

Zzz, 2006-01-23 в 17:53:36

Спасибо за хорошую статью.
У меня проблема такая: при доставке почты время доставки указывается на 3 часа больше, чем есть на самом деле. Системное время в норме. В настройках courier-imap про время ничего не указать. Может, кто сталкивался - подскажите.

Rustem, 2006-02-08 в 15:41:47

Проверка на антивирус идет все файлы - болшие и маленькие, как можно ограничить проверку размером , можеть кто нить написать?

Николай, 2006-02-08 в 16:09:07

To Zzz:
Дело скорее всего в том что ты при установке системы установил временную зону как Москва + 3 часа :)
Оттуда этот косяк и лезет. Выправить можно просто:
sysinstall и там уже по месту разберешься.

Саня, 2006-04-17 в 15:04:19

Спасибо за статью! Материал приятно выложен, удобен для чтения и понимания. Буду пробовать поднятть серв по этому описанию. (Сам я лишь немного знаком с freeBSD, поэтому для меня статья более чм полезна)

Александр, 2006-05-17 в 16:08:37

Сделали все как описано в статье - не работает, письма отправляются, но не принимаются и почтовый клиент (Outlook) не может прочитать каталоги, пишет ошибку:
       Temporary problem, please try again later
   Протокол:    IMAP
   Сервер:    mail.my-domain.ru
   Порт:    143
и пишет что не удалось загрузить папку для пользователя, не удалось соединиться с сервером.  в maillog на сервере input\output error :(
Очень жаль что подобные "справочные материалы" только впустую убивают рабочее время, целую неделю было потрачено на настройку почтового сервера основываясь на данной статье. Пробовали фри 5.4 и 6.1

lissyara, 2006-05-17 в 16:14:33

Наберут Пэ-Тэ-Ушников по объявлению... :))
1. Чиать умеешь, про комментарии и форум для вопросов?
2. Включи отладку.
3. И без отладки скажу - а директории такие есть? Их экзим при отпраке первого письма создаёт. завёл юзера - отправь ему письмо.
4. На что ты неделю потратил? на копи-пасте, у меня самого (а статью я для себя писал - чтоб проще было) уходит минут 20, после чего всё работает.

имя, 2006-06-08 в 18:16:46

а у меня один баг вылез - после обновления до последней версии под фри-бсд - запускается, порт слушает но при попытке коннекта - обрывается - в логи ничего кроме lost input connection Connection closed by foreign host - не пишет - что деалть? exim -bd -d+all тоже выдает  Process 10418 is ready for new message и потом lost input connection
уже второй день бьюсь - все библиотеки и перлы пересобрал - все одно и то-же при чем на второй машине с этим-же конфигом все работает

DarkHost, 2007-08-28 в 13:17:55

Тю...а я-то думал, что наконец-то заработала нормально фича с PASSWD_CRYPT_FIELD, обрадовался.... :(

Maksim, 2008-01-13 в 12:46:25

А вот такой вопрос: у меня в mysql базе пароли зашифрованны sha, сейчас пока стоит dovecot как pop и imap сервер. Возможно ли в courier использовать шифрование?
Я сам конечно сейчас разберусь, только вот было бы хорошо и тут написать про шифрование.

majestic, 2008-04-03 в 0:48:35

relays.ordb.org : \
- надо убрать (http://www.opennet.ru/openforum/vsluhforumID3/40914.html)

Oleg, 2009-10-24 в 22:58:31

Делаю по инструкции запускаю exim -bV, получаю вот такую ощибку.
2009-10-24 05:45:25 Exim configuration error in line 43 of /usr/local/etc/exim/configure:
 main option "mysql_servers" unknown

Как быть?

lissyara, 2009-10-24 в 23:07:34

взять статью не из архива - линк есть вверху этой.
обсуждения закрыты.



Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster

HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS

История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire

Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной

Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server

Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-11, Fomalhaut
cvs, svn, portsnap

Обновление сорцов системы через CVS и SVN, портов - CVS и portsnap. Обновление через Proxy-сервер.
2011-01-07, lissyara
Canon/gphotofs

Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec

Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash

Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT

Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3

Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN

На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm

Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth&quota

Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli

Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master

MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-22, Mufanu
named 9.7.0

Система доменных имен (Domain Name Service, DNS) - одна из тех незаметных, закулисных программ, которым не уделяется и половины того внимания, которого они заслуживают.
2010-03-09, terminus
DNS zones

Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)

Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4

Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
2010-03-01, BlackCat
Шлюз: Часть 3

Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
2010-03-01, BlackCat
Шлюз: Часть 2

Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
2010-03-01, BlackCat
Шлюз: Часть 1

Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
2010-02-23, Morty
darkstat

Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
2010-01-23, gonzo111
squid+sams+sqstat

Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
2009-12-19, schizoid
mpd5 + radius + ng_car + Abills

Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car
2009-11-16, lissyara
UFS->ZFS

Удалённая миграция с UFS на ZFS. Загрузка с раздела zfs. Настройка для работы с малым количеством памяти под архитектурой i386.
2009-11-13, gx_ua
fusefs-ntfs

Установка, настройка и использование fusefs-ntfs, драйвер NTFS, предназанченного для монтирования NTFS разделов под FreeBSD
2009-11-12, Morty
LiveCD

Создание собственного LiveCD с необходимыми вам изменениями, автоматизирование данного процесса, а так же вариант скоростной сборки СД.
2009-09-27, lissyara
Samba как PDC

Контроллер домена - аналог M$ NT4 домена под самбой, без использования LDAP и прочей хиромантии. Просто и быстро =)
2009-08-30, terminus
ipfw nat

Подробное руководство по ipfw nat, сложные случаи конфигурации.
2009-08-24, levantuev
HotSpot

Установка Hotspot системы в общественное заведение.
2009-08-18, lissyara
diskless

Создание бездисковых терминалов под управлением FreeBSD - с загрузкой по сети. Используются для старта rdesktop и подключения к виндовому серверу терминалов.
2009-07-29, BAV_Lug
Видеонаблюдение

Настройка бюджетного варианта видеонаблюдения на удаленном объекте
2009-07-22, Cancer
OpenLDAP адресная книга

Настройка и создание адресной книги на базе OpenLDAP + phpLDAPadmin
2009-06-30, SergeySL
AimSniff

Руководство по созданию системы мониторинга ICQ-переписки на базе AimSniff, использующей базу данных MySQL для хранения и Web-интерфейс WAS (Web Aim Sniff) для просмотра перехваченных сообщений
2009-06-25, atrium
Управление правами доступа

Полномочия пользователей и файлов, принадлежащих им, формирует концепцию ОС UNIX.
2009-06-16, DNK
Exim+PgSQL

Установка почтовой системы exim+pgsql на FreeBSD 7.1
2009-05-30, mvalery
HDD(mbr) -> HDD(gpt)

Как разбить диск размером более 2TB на разделы, сделать загрузочным, а затем перенести на него информацию с рабочей системы — донора.
2009-05-22, Cancer
SendXMPP

Отправка сообщений на Джаббер сервер по средствам SendXMPP
2009-05-11, Raven2000
Network UPS Tools

Network UPS Tools представляет собой набор программ, которые обеспечивают общий интерфейс для мониторинга и администрирование UPS оборудования.
2009-04-29, m0ps
IPSEC over GRE with RIP

Пример IPSEC over GRE и динамическим роутингом (RIP), с ADSL в качестве последней мили на оборудовании Cisco.
2009-04-24, WhiteBear777
qemu network

Появилась необходимость поставить на БСД эмулятор(qemu) и настроить в качестве гостевой ОС Windows XP, предоставив ей выход в локалку и в сеть internet...
2009-04-22, vp
freebsd + huawei 162 gsm modem

В статье описывается простой способ подключения модема huawei 162 к freebsd + первичная настройка smstools
2009-04-12, mvalery
Мониторинг RAID

Мониторинг из командной строки RAID компаний AMCC 3ware, HighPoint, Dell (Perc 5/i и PERC 6/i) и LSI (MegaRAID SAS 8408E и SAS1078)
2009-04-09, texnotronic
RAID1 via LAN

Функциональности DRBD во FreeBSD можно добиться примонтировав блочное устройство по сети при помощи GEOM Gate (ggate) и добавив его в зеркало с локальным диском средствами gmirror.
2009-04-03, Raven2000
Оптимизация хоста для CMS

В последнее время на старый и не очень быстрый ПК (Celeron 800 RAM 256) мною было навешано с десяток сайтов и некоторые были из серии тяжелых CMS. И так нам дано FreeBSD 7.1 и ~10 сайтов/CMS.
2009-04-01, atrium
VSFTPD + AD && MySQL

Настройка самого безопасного сервера FTP - vsftpd.
2009-03-31, Dron
Peoplenet + C-motech (3G)

Описание подключения к сети Peoplenet посредством 3G модема С-motech CCu-650U на FreeBSD
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 13 чел.
За последние 30 мин было: 72 человек
За сегодня было
12788 показов,
1677 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

веселые картинки развлекательные гифки интресные факты смешные видео смешные истории из соцсетей

Время генерации страницы 2.1334 секунд
Из них PHP: 99%; SQL: 1%; Число SQL-запросов: 53 шт.
У Вас отключено GZIP-сжатие в браузере. Размер страницы 139032