Возможно вы искали: 'Team Umizoomi'

May 15 2025 19:25:29
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Настройка виртуальных почтовых доменов на базе cyrus-imap и sendmail (sendmail cyrus imap mail virtual freebsd)

Настройка виртуальных почтовых доменов на базе cyrus-imap и sendmail (sendmail cyrus imap mail virtual freebsd)

Ключевые слова: sendmail, cyrus, imap, mail, virtual, freebsd, (найти похожие документы)

From: Andrey Y. Ostanovsky
Date: Mon, 21 May 2006 18:21:07 +0000 (UTC)
Subject: Настройка виртуальных почтовых доменов на базе cyrus-imap и sendmail

Оригинал: http://binkd.spb.ru/howto/cyrus-sendmail.howto.txt


1. Исходная задача.

На работающем сервере, где уже имеются почтовые ящики с живыми
POP3 клиентами и штатными мейлбоксами (базовая почтовая система
FreeBSD), развернуть imap сервер и виртуальные домены на нем.
Старые клиенты продолжают пользоваться своими старыми ящиками.

Сделать это желательно не прибегая к изменению исходного кода
используемых программ.

Чтобы старые и новые пользователи не мешали друг другу при
получении почты по POP3 - новые пользователи с виртуальными
доменами ходят только по протоколам pop3s или imap.


2. Установка необходимого программного обеспечения.

Sendmail - поставляется и обновляется вместе с операционной системой.
Version 8.13.3
Compiled with: DNSMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7
NAMED_BIND NETINET NETUNIX NEWDB NIS PIPELINING SASLv2 SCANF
STARTTLS TCPWRAPPERS USERDB XDEBUG

Особенности сборки sendmail описаны в /etc/make.conf или в
соответствующем файле из дерева исходных текстов:

# $FreeBSD: src/share/examples/etc/make.conf,v 1.229.2.12 2005/03/07 20:39:34 phk Exp $

# Setting the following variables modifies the build environment for
# sendmail and its related utilities. For example, SASL support can be
# added with settings such as:
# with SASLv2:
SENDMAIL_CFLAGS=-I/usr/local/include -DSASL=2
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl2


Пересборка sendmail-a отдельно от "world" делается следующими командами:

cd /usr/src/usr.sbin/sendmail
# make clean && make obj
# make depend && make && make install
......


Cyrus-imap - устанавливается из портов и попутно ставит cyrus-sasl

cyrus-imapd-2.2.12_1 The cyrus mail server, supporting POP3 and
IMAP4 protocols
cyrus-sasl-2.1.21 RFC 2222 SASL (Simple Authentication and
Security Layer)


3. Конфигурация

Cyrus

Практически не отличается от того, что рекомендовано в документации.

==== imapd.conf ====
#
altnamespace: yes
servername: host.base-domain.ru (здесь и далее названия вымышленные)
admins: superadmin admin@virt-domain.ru
#
# собственно включение поддержки виртуальных доменов
# если не хочется биться с резольвингом обратной зоны - ставим userid
virtdomains: userid
defaultdomain: base-domain.ru
#
# _две_ директивы для некодированных в MIME русских Subject-ов
reject8bit: no
pass8bit: yes
#
# sasl авторизация
sasl_pwcheck_method: auxprop
sasl_auxprop_plugin: sasldb
#
==== imapd.conf ====


Сертификаты для cyrus-а генерируем примерно таким скриптом:

==== cyrus_create_cert.sh ====
#!/bin/sh
#
# Генерируем сертификаты (в процессе нужно будет заполнить несколько
# полей информацией об организации):
#
IMAP_KEYPATH="/var/imap/server.pem.new"
#
openssl req -new -x509 -nodes -out ${IMAP_KEYPATH} -keyout ${IMAP_KEYPATH} -days 365
#
chown cyrus:mail ${IMAP_KEYPATH}
#
openssl x509 -noout -text -in ${IMAP_KEYPATH}
#
# Вышеприведенной командой мы создали X.509 сертификат, действительный 1
# год (эта строчка для генерации есть в документации к cyrus-imapd). За
# более подробной информацией по поводу сертификатов и openssl в общем
# можно сходить на http://www.openssl.org/ в раздел документации,
#
==== cyrus_create_cert.sh ====


Если все устраивает, то переименовываем server.pem.new в server.pem и пускаем в работу.
В основном, при генерации сертификатов надо обращать внимание на примерно такую строчку:
"serial:BB:2E:DD:AF:3E...", на одной из машин этот serial, при генерации ключей,
почему-то упорно был равен нулю - с таким ключом cyrus работать не захотел.

==== cyrus.conf ====
#
# Проследить, чтобы было раскомментировано
#
lmtpunix cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0
==== cyrus.conf ====


Конфигурационные файлы готовы, остается запустить описанную в документации
процедуру создания базы(partition) Cyrus-а, и можно стартовать master-процесс,
который слушает указанные в cyrus.conf порты.


Sendmail

Для работы sendmail по SSL генерим ключи и указываем пути к ним в конфиге.

==== /etc/mail/certs/create_cert.sh ====
#!/bin/sh
#
#
openssl req -new -x509 -keyout cakey.pem -out cacert.pem -days 365
#
openssl req -nodes -new -x509 -keyout sendmail.pem -out sendmail.pem -days 365
#
openssl x509 -noout -text -in sendmail.pem
#
chmod 600 ./sendmail.pem
#
==== /etc/mail/certs/create_cert.sh ====


Добавлен новый мейлер cyrusv2, но не объявлен локальным доставщиком
почты. Дело в том, что старые пользователи должны продолжать пользоваться
своими почтовыми ящиками по старой схеме.

==== sendmail.mc ====
MAILER(local)
MAILER(smtp)
MAILER(cyrusv2)
==== sendmail.mc ====


после чего по make cf создаем новый sendmail.cf

Виртуальный домен, кроме DNS, заносим только в mailertable, ни в какие
local-host-names его заносить не надо!

==== mailertable ====
virt-domain.ru cyrusv2:/var/imap/socket/lmtp
==== mailertable ====


Однозначного примера, как задать параметры флагов для cyrusv2 из mc
я не нашел, а разбираться не было времени, поэтому поменял значения
прямо в sendmail.cf

==== sendmail.cf ====
Mcyrusv2,
...
S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP/HdrToL, E=rn,
...
==== sendmail.cf ====


Без этой замены EnvToL на EnvToSMTP не работает доставка на витруальные
домены с примерно такой диагностикой:

... while talking to localhost:
>>> DATA
<<< 550-Mailbox unknown. Either there is no mailbox associated with this
<<< 550-name or you do not have authorization to see it.
<<< 550 5.1.1 User unknown


Альтернативный вариант доставки через procmail и delivery, позволяющий использовать
предварительную сортировку.

==== procmail-cyrus-delivery.sh ====
#!/bin/sh
# http://subwiki.honeypot.net/cgi-bin/view/Freebsd/SendMailAndCyrus
# script name: procmail-cyrus-delivery.sh
#
LOGNAME=$1

formail -I"From " | /usr/local/cyrus/bin/deliver -a $LOGNAME -m user.$LOGNAME
==== procmail-cyrus-delivery.sh ====

==== .procmailrc ====
:0fw

* ^Subject: ERROR
| /path/to/your/scripts/procmail-cyrus-delivery.sh $LOGNAME
==== .procmailrc ====


4. Администрирование и работа.

В документации где-то попалась фраза о том, что в виртуальных доменах нельзя назначить
shared папки, которые были бы доступны пользователям разных доменов.
Соответственно, для каждого вновь поднимаемого домена нужно добавить запись про админа в
директиве admins: файла imapd.conf, чтобы во-первых, можно было делегировать кому-то
управление, не опасаясь, что будет снесено все, и, во-вторых, для того, чтобы не вводить
каждый раз "длинное" имя пользователя при работе с его ящиком. Для админа virt-domain-а
- ящики имеют привычные короткие имена пользователей(то, что написано до @).

Замечание: папки для юзеров virt-domain (и его админа - тоже) надо создавать под аккаунтом
админа virt-domain, причем, для самого админа - руками (cyradm), иначе, из почтового клиента,
типа Thunderbird и административного аккаунта - subfolders получаются не вида user.name.foo,
а в виде паблик фолдера "foo@virt-domain" с правами "anyone lrs". Чей это глюк - пока не
разбирался.

Причем, для админа virt-domain перестает работать схема "altnamespace: yes", то есть, его
subfolders должны быть созданы заранее в виде:

localhost> lm INBOX*
INBOX (HasChildren)
INBOX.Sent (HasNoChildren)


subfolders у непривилегированых пользователей виртуального домена, из клиента Thunderbird
создаются нормально и с нормальными правами.

localhost> lm user.post*
user.post (HasChildren)
user.post.Trash (HasNoChildren)
user.post.Sent (HasNoChildren)


При попытке выцепить проходящее мимо письмо в локальный мейлбокс, замечено, что virtusertables
в отношении виртуальных доменов - не работают, скорее всего должны работать штатные операции
sendmail-а по работе с виртуальными доменами.


Небольшой скриптик, генерирующий пароли для ввода в saslpasswd2

==== add_sasldb_user.sh ====
#!/bin/sh
# $Id: cyrus-sendmail.howto,v 1.7 2005/11/22 13:08:33 aost Exp $
# Небольшой скриптик, генерирующий пароли для ввода в saslpasswd2

#
SASL_CMD="/usr/local/sbin/saslpasswd2"
SASL_DBL="/usr/local/sbin/sasldblistusers2"
#
if [ ! -f ${SASL_CMD} -a ${SASL_DBL} ]; then
echo "Error: executable files not found!"
echo "${SASL_CMD} or ${SASL_DBL}"
exit
fi
#
if [ "x$1" = "x" ]; then
echo "Usage: $0 user@name"
exit
fi
#
# check user
#
CHK_DBL=`${SASL_DBL}|grep ${1}`
#
if [ -z "${CHK_DBL}" ]; then
AUTO=`pw -V /tmp useradd post -w random 2>/dev/null |awk '{print $0}'`
echo ${AUTO}|${SASL_CMD} -cp ${1} && echo "Added user: $1 pass: ${AUTO}"
else
echo "Error: possible duplicate user"
echo "Found in sasldb:"
echo "${CHK_DBL}"
exit
fi
#
==== add_sasldb_user.sh ====


Вот пока, собственно, и весь опыт, наработанный мной на виртуальных
почтовых доменах.

Andrey Y. Ostanovsky
949 Прочтений •  [Настройка виртуальных почтовых доменов на базе cyrus-imap и sendmail (sendmail cyrus imap mail virtual freebsd)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Настройка виртуальных почтовых доме... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка