Форум русскоязычного сообщества Ubuntu


Автор Тема: HowTo. Почтовый сервер Postfix, Courier, MySQL и SquirrelMail (Ubuntu 8,04)  (Прочитано 339558 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vadim-nsk

  • Автор темы
  • LoCo команда
  • Старожил
  • *
  • Сообщений: 1318
  • Жить надо так, как горит пламя!
    • Просмотр профиля
    • Linux в Новосибирске
Уже давно, зайдя на любимую сайт http://www.howtoforge.com, я увидел статью, которая меня заинтересовала. Статья называлась Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Ubuntu 8.04 LTS). Прочитав ее и испытав содержащиеся в ней рецепты на практике, я понял, что она просто обязана быть здесь. От всей души хочу поблагодарить Falko Timme за его огромнейшую работу.

Собственно в прикрепленном файле содержится перевод его статьи. Приветствуются все замечания и жду ваших исправлений и дополнений (желательно указывать номер страницы и номер абзаца сверху). Извините, что не публикую все, как страничку новой темы, так руководство получилось около 30 страниц.

Предлагаю, отточить данное руководство до блеска (добавить теорию, вставить интересные свои наработки и т.п.). Ubuntu 8.04 LTS, поэтому в этом есть смысл.

На данный момент меня интересует тема создания сертификатов для нескольких доменов. Сижу курю http://unix.stadia.fi/~pkoistin/postfix/postfix-tls-cacert.shtml и http://hublog.hubmed.org/archives/001075.html, надеюсь дополнить данное HowTo.

По просьбе выкладываю содержание

Оглавление
Виртуальные пользователи и домены, почтовый сервер на основе Postfix, Courier, MySQL и SquirrelMail (Ubuntu 8,04 LTS).   2
1. Предварительные замечания   2
2. Установка Postfix, Courier, Saslauthd, MySQL, phpMyAdmin   3
3. Применение патча квоты Postfix   3
4. Создание базы данных MySQL для Postfix/Courier.   4
5. Настройка Postfix   6
6 Настройка Saslauthd   9
7 Настройка Courier   10
8 Изменяем /etc/aliases   11
9 Установка amavisd-new, SpamAssassin и ClamAV   12
10 Установка Razor, Pyzor And DCC и настройка SpamAssassin   15
11 Предупреждения при превышении квоты   16
12 Проверка Postfix   17
13 Заполнение базы данных и ее тестирование   18
14 Отправка электронного письма приветствия для создания почтового каталога   19
15 Установка SquirrelMail   20
16 Документация   30
17 Ссылки   30



Немного о базе данных mail
 
Таблица domains будет хранить наименования виртуальных доменов для которых Postfix будет получать письма.

domain
example.com

Таблица forwardings будет содержать псевдонимы почтовых ящиков,  например почтовые сообщения направленные на info@example.com будт перенаправлены на sales@example.com.

sourcedestination
info@example.comsales@example.com

Таблица users будет содержать всю информацию о  виртуальных пользователях (например, адреса электронной почты, потому что адрес электронной почты и имя пользователя одно и тоже) и паролей (в зашифрованном виде!), а также размер квоты для каждого почтового ящика (в данном примере значение по умолчанию равно 10485760 байт, что означает 10 Мб)

emailpasswordquota
sales@example.comNo9.E4skNvGa. ("secret" in encrypted form)10485760

Таблица transport необязательного характера, она для продвинутых пользователей. Позволяет перенаправлять почту отдельных пользователей, доменов либо всю почту на другой почтовый сервер. Например,

domaintransport
example.comsmtp:[1.2.3.4]
« Последнее редактирование: 19 Июнь 2008, 20:04:45 от vadimka »

Оффлайн vadim-nsk

  • Автор темы
  • LoCo команда
  • Старожил
  • *
  • Сообщений: 1318
  • Жить надо так, как горит пламя!
    • Просмотр профиля
    • Linux в Новосибирске
Вот так всегда :) Уже столько раз скачали а еще никто даже комента не оставил :) Я надеялся будет много вопросов, замечаний, своих наработок, а тут тишина. Вроде как никому и не нужно :( . А все-таки хочется сделать сильный мануал.

Оффлайн pavel-g

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Отличная статья! Мне очень понравилось. Огромное спасибо за перевод!

Оффлайн vadim-nsk

  • Автор темы
  • LoCo команда
  • Старожил
  • *
  • Сообщений: 1318
  • Жить надо так, как горит пламя!
    • Просмотр профиля
    • Linux в Новосибирске
Спасибо за оценку. Но хочется больше критики и конструктивизма. Его по моему мнению в плане теории надо подковать и расширить. У меня пока только один сервер с виртуальными почтовыми доменами и пользователями живет. Сейчас обкатываю все, но заказчик уже доволен. Postxix +  Courier + MySQL оказалась очень довольно такая хорошая связка, а на ряду с применением антиспамовых фильтров и антивируса(amavisd-new, ClamAV, SpamAssassin + Razor + Pyzor + DCC)  , позволю заметить, для небольших предприятий отличное решение. 

Оффлайн PbI6A

  • Старожил
  • *
  • Сообщений: 1096
  • просто я так выгляжу!
    • Просмотр профиля
    • Жизнь, как она есть.
Я на работе сделал Postfix+Dovecot+Spamass-milter+Clamav-milter+Mrtg+Webmin. Что делать с amavisd-new - откровенно не понял :)
LINUX means: Linux Is Not a UniX
Ubuntu осталась на компе, нетбуке, сервере.
Да здравствует Debian! Debian - наше всё!

Оффлайн Sliver

  • Участник
  • *
  • Сообщений: 104
  • Administrator
    • Просмотр профиля
В соответствии с пунктом 15 "Установка SquirrelMail" установил плагин, позволяющий изменять пароль через веб и необходимый Compatibility plugin. В качестве POP3 и IMAP сервера указал Dovecot, т.к. поставил его раньше.
В конфиге /usr/share/squirrelmail/plugins/change_sqlpass/config.php отредактировал переменную $csp_dsn = 'mysql://administrator:mypasswd@localhost/mailserver';
administrator - пользователь,
mypasswd - пароль,
mailserver - БД, в которую занесен данный пользователь с зашифрованным паролем.
При входе на почтовый сервер через веб интерфейс SquirrelMail не принимает пароль  :'(. С чем это может быть связано?!
P.S. При использовании почтового клиента авторизация на сервере тоже не проходит...

Оффлайн jmur

  • Активист
  • *
  • Сообщений: 350
    • Просмотр профиля
мне кажется, что mysql для пару десятков пользователей не нужен, лишнее усложнение
за перевод спасибо

Оффлайн vadim-nsk

  • Автор темы
  • LoCo команда
  • Старожил
  • *
  • Сообщений: 1318
  • Жить надо так, как горит пламя!
    • Просмотр профиля
    • Linux в Новосибирске
В соответствии с пунктом 15 "Установка SquirrelMail" установил плагин, позволяющий изменять пароль через веб и необходимый Compatibility plugin. В качестве POP3 и IMAP сервера указал Dovecot, т.к. поставил его раньше.
В конфиге /usr/share/squirrelmail/plugins/change_sqlpass/config.php отредактировал переменную $csp_dsn = 'mysql://administrator:mypasswd@localhost/mailserver';
administrator - пользователь,
mypasswd - пароль,
mailserver - БД, в которую занесен данный пользователь с зашифрованным паролем.
При входе на почтовый сервер через веб интерфейс SquirrelMail не принимает пароль  :'(. С чем это может быть связано?!
P.S. При использовании почтового клиента авторизация на сервере тоже не проходит...

вопрос вводишь логин ввиде названия почтового ящика? и если можно структуру существующей бд и еще хорошо бы  инструкцию, как настраивали. Интересно посмотреть, как dovecot настроен.
« Последнее редактирование: 20 Июнь 2008, 12:25:14 от vadimka »

Оффлайн vadim-nsk

  • Автор темы
  • LoCo команда
  • Старожил
  • *
  • Сообщений: 1318
  • Жить надо так, как горит пламя!
    • Просмотр профиля
    • Linux в Новосибирске
мне кажется, что mysql для пару десятков пользователей не нужен, лишнее усложнение
за перевод спасибо

Ну, в общем я согласен с замечанием, но когда на сервере несколько почтовых доменов и в каждом по паре сотен пользователей, то в самый раз. Могу привести с десяток достоинств такого решения, а также с десяток минусов.

Оффлайн jmur

  • Активист
  • *
  • Сообщений: 350
    • Просмотр профиля
не буду спорить :)

Оффлайн jmur

  • Активист
  • *
  • Сообщений: 350
    • Просмотр профиля
в создании сертификата Moscow через c

Оффлайн begemot

  • Активист
  • *
  • Сообщений: 385
  • Я отказался от наркотического яда - никотина!
    • Просмотр профиля
Кстати, всем кто работает с Postfix крайне рекомендую книгу, недавно выпущенную издательством "Символ", не впервые радующим публику прекрасными изданиями.
Переведена книга добротно и качество печати на высоте!
http://www.books.ru/shop/books/561452

Оффлайн Sliver

  • Участник
  • *
  • Сообщений: 104
  • Administrator
    • Просмотр профиля
вопрос вводишь логин ввиде названия почтового ящика? и если можно структуру существующей бд и еще хорошо бы  инструкцию, как настраивали. Интересно посмотреть, как dovecot настроен.
На сервере создан почтовый ящик и пользователь "administrator". При попытке зайти с такой учеткой через SquirrelMail пишет "Unknown user or password incorrect."
Структура БД следующая:
  • БД с названием "mailserver"
  • Три таблицы: "virtual_aliases", "virtual_domains", "virtual_users"
  • "view_aliases", "view_users"
  • "domain_id", "UNIQUE_EMAIL"
В таблице "virtual_users" четыре колонки: "id", "domain_id", "user", "password". В этой таблице занесен пользователь "administrator" с зашифрованным паролем.
Настраивал по этой статье.

Оффлайн Gentoo

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Огромное спасибо за Документацию (точне за её локализацию)


Застопорился в самом начале, где нужно скачать с репозитариев исходники Postfix
Установился у меня постфикс весрсии 2.5.1 , а исходники качает 2.3.8 я даже со оф сайта попробывал скачать исходники, но нужного эффекта не дало(при создании deb пакетов)! Про настройку репозитариев говорить бесполезно я из Томская у нас есть Внтуриобластной Интернет в нем есть репозитарий довольно неплохой но там нету исходников вообще, а к другим репозитариям фактически доступа нет.

Огромная просьба ко всем кто ставил данную сборку скиньте пожалуйста на мой e-mail исходники postfix 2.5.1 зарание благодарен!

P.s. Стоит Ubuntu Server 8.04 и репы тоже под 8 версию ядра!

Оффлайн blackjack

  • Участник
  • *
  • Сообщений: 127
    • Просмотр профиля
Сделал все по мануалу, но не могу зайти через веб морду, в лог валит
Jun 27 10:41:37 ubuntu imapd: Connection, ip=[::ffff:127.0.0.1]
Jun 27 10:41:37 ubuntu imapd: LOGIN FAILED, user=blackjack@cn.km.ua, ip=[::ffff:127.0.0.1]
Jun 27 10:41:42 ubuntu imapd: LOGOUT, ip=[::ffff:127.0.0.1], rcvd=91, sent=332

хотя такой пользователь в базе существует

 

Страница сгенерирована за 0.062 секунд. Запросов: 24.