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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: [Wiki] Howto: Почтовый сервер со всем фаршем на базе Ubuntu 10.04 LTS  (Прочитано 161009 раз)

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

Оффлайн Karl500

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Понятия не имею, с какой целью была заменена строка. Изначально строку для подписывания серверного сетрификата я привел - я делаю именно так. Если она неверна - неплохо бы хотя бы пояснить, по какой причине.

Оффлайн susnake

  • Участник
  • *
  • Сообщений: 103
    • Просмотр профиля
И еще вопрос:
При установки postfix-tls мне выдает:
Цитировать
E: Не удалось найти пакет postfix-tls
На сколько я понял из поиска в 12,04 он включен в основной пакет?

Пользователь решил продолжить мысль 29 Августа 2012, 13:30:27:
И еще в догонку:
В Ubuntu 12.04 файла /etc/dovecot/dovecot.conf, но насколько разобрался данные настройки находятся в /etc/dovecot/conf.d
susnake@susnake:/etc/dovecot/conf.d$ ls
10-auth.conf      10-logging.conf  10-master.conf  15-lda.conf   20-pop3.conf  90-plugin.conf  auth-deny.conf.ext    auth-passwdfile.conf.ext  auth-system.conf.ext
10-director.conf  10-mail.conf     10-ssl.conf     20-imap.conf  90-acl.conf   90-quota.conf   auth-master.conf.ext  auth-static.conf.ext      auth-vpopmail.conf.ext
Но когда я делаю, например
susnake@susnake:/etc/dovecot/conf.d$ sudo grep -ir "SQL database" *
susnake@susnake:/etc/dovecot/conf.d$ sudo grep -ir "Path for SQL configuration file" *
susnake@susnake:/etc/dovecot/conf.d$ sudo grep -ir "userdb passwd {" *
susnake@susnake:/etc/dovecot/conf.d$ sudo grep -ir "passdb pam {" *
Он мне ничего не находит...  ???
« Последнее редактирование: 29 Августа 2012, 13:30:27 от susnake »

Оффлайн susnake

  • Участник
  • *
  • Сообщений: 103
    • Просмотр профиля
Или можно где-нить скачать этот dovecot.conf?

Оффлайн mouze47

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Добрый день!
Спасибо статью. Начал устанавливать по статье и поя вились вопросы.
При перезагрузке postfix пишет
sudo /etc/init.d/postfix restart
[sudo] password for user:
 * Stopping Postfix Mail Transport Agent postfix                                                                       /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes
/usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes
                                                                                                                [ OK ]
 * Starting Postfix Mail Transport Agent postfix                                                                       postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes
postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes
Я так понимаю что эти параметры устарели. Можно их просто удалить или как правильно поступить?

Оффлайн Karl500

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
На какой версии Ubuntu устанавливаете?

UPD: Можно просто выкинуть эти строки. Это "ошметки" от патченой версии с поддержкой квот, поправил статью, выкинув эти строки.
« Последнее редактирование: 10 Сентября 2012, 13:28:49 от Karl500 »

Оффлайн mouze47

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Karl спасибо за ответ.
Я устанавливаю на ubuntu 12.04 lts


В статье не нашел создание сертификата smtp.crt хотя в статье есть команда или это работает как то по другому?
sudo postconf -e 'smtpd_tls_cert_file = /etc/postfix/smtp.crt'


Оффлайн Karl500

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
В статье приведен пример генерации сертификата. Сгенерите сертификат для того имени, которое Вам нужно (и, естественно, именно этот сертификат укажите в конфигурации postfix).

Оффлайн mouze47

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Карл спасибо.
Тоже уперся в dovecot, в нем все по файлам разбрасоно постарался корректно внести изменения
но не уверен в правильности.
При telnet 127.0.0.1 110 появляется ошибка.

Sep 10 21:07:33 pop3-login: Error: Timeout waiting for handshake from auth server. my pid=5935, input bytes=0
Sep 10 21:07:57 pop3-login: Info: Disconnected: Inactivity (no auth attempts): rip=127.0.0.1, lip=127.0.0.1, secured
Sep 10 21:07:58 auth: Debug: Loading modules from directory: /usr/lib/dovecot/modules/auth
Sep 10 21:07:58 auth: Fatal: Unknown database driver 'mysql'
Sep 10 21:07:58 master: Error: service(auth): command startup failed, throttling

выполнил dovecot -n > new.cfg
вот что получилось

# 2.0.19: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-29-generic x86_64 Ubuntu 12.04 LTS ext4
auth_debug = yes
auth_debug_passwords = yes
auth_verbose = yes
log_path = /var/log/dovecot.log
mail_gid = vmail
mail_location = maildir:/home/vmail/%d/%n
mail_uid = vmail
passdb {
  driver = pam
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  quota = maildir:Quota
  quota_rule = *:storage=0
  quota_rule2 = Trash:ignore
  quota_warning = storage=95%% /usr/local/bin/quota-warning.sh 95
  quota_warning2 = storage=80%% /usr/local/bin/quota-warning.sh 80
}
protocols = " imap pop3"
ssl_cert = </etc/ssl/certs/oban.crt
ssl_key = </etc/ssl/private/oban.key
userdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
protocol imap {
  mail_plugins = quota imap_quota
}
protocol pop3 {
  mail_plugins = quota
}

Оффлайн susnake

  • Участник
  • *
  • Сообщений: 103
    • Просмотр профиля
На сколько я понял, в Главном Конфиге довекота, можно сделать инклуд на свой файл, в котором уже будут необходимые настройки. А остальные инклуды закоменитить. Конфиг-файл, в котором все правят я нашел тут http://struction.de/projects/HOWTO_VirtualMail_Exim-MySQL-Spamassassin-ClamAV-Dovecot/config/dovecot/dovecot.conf
Кстати, есть еще один гайд для Ubuntu 12.04. Хотелось бы услышать мнение специалистов :)

Оффлайн 4got2you

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
 Добрый день форумчане! Для начала огромное спасибо создателю данного FAQ, пользуясь им, я настроил почтовый сервер без особых проблем (хотя я в этом новичок).
 Установлен почтовик на ОС debian-6.0.5-amd64, с небольшими изменениями (пропущен LDAP и ряд сервисов). Все работает отлично.
 
 При использовании возник ряд вопросов:
  1.Использую "Приложение 1 — управление пользователями через веб" для администрирования сервера, работает нормально, но после удаления почтового ящика (любого) остается каталог пользователя в /home/vmail/aaa.ru/почтовый_ящик со всеми потрохами. Что нужно добавить в скрипт, что б происходило удаление каталога пользователя?
  2.Я не использую mailman, т.к. он достаточно громоздкий для моих задач (на сервере будет не больше 40-50 ящиков). Но возникла задача рассылки на группу из 5-ти ящиков. Возможно ли реализовать данную возможность по средствам таблицы forwardings или иначе (создать ящик вида рассылка@aaa.ru имеющий алиасы на пяток других ящиков).

 Очень надеюсь на Вашу помощь, т.к. сам я новичок в linux.

Оффлайн tagilchanin

  • Активист
  • *
  • Сообщений: 658
    • Просмотр профиля
Добрый день форумчане! Для начала огромное спасибо создателю данного FAQ, пользуясь им, я настроил почтовый сервер без особых проблем (хотя я в этом новичок).
 Установлен почтовик на ОС debian-6.0.5-amd64, с небольшими изменениями (пропущен LDAP и ряд сервисов). Все работает отлично.
 
 При использовании возник ряд вопросов:
  1.Использую "Приложение 1 — управление пользователями через веб" для администрирования сервера, работает нормально, но после удаления почтового ящика (любого) остается каталог пользователя в /home/vmail/aaa.ru/почтовый_ящик со всеми потрохами. Что нужно добавить в скрипт, что б происходило удаление каталога пользователя?
  2.Я не использую mailman, т.к. он достаточно громоздкий для моих задач (на сервере будет не больше 40-50 ящиков). Но возникла задача рассылки на группу из 5-ти ящиков. Возможно ли реализовать данную возможность по средствам таблицы forwardings или иначе (создать ящик вида рассылка@aaa.ru имеющий алиасы на пяток других ящиков).

 Очень надеюсь на Вашу помощь, т.к. сам я новичок в linux.

Касательно вашего второго вопроса, была такая я же ситуация, когда сделал рассылку средствами forwardings, добавив нужных пользователей, НО после этого на эту рассылку посыплось целая куча спама, т.к. никакой проверки не проходит. Пришлось прикручивать mailman. Кстати не такой он уж и громоздкий. Им полностью доволен.
Выбери профессию, которую ты любишь, - и тебе не придется работать ни дня в твоей жизни. (Конфуций)

Оффлайн Karl500

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Что нужно добавить в скрипт, что б происходило удаление каталога пользователя?
Здесь есть сложность. Скрипт работает от имени пользователя www-data.www-data (как собственно сам web-сервер). Этот пользователь не имеет (и не должен иметь) прав на удаление каталогов в /home/vmail/ которые принадлежат vmail.vmail

Соответственно, нужно (внимание, не проверялось: может не работать или работать неверно!):

1. добавить в скрипт непосредственно перед строкой
print <<< USERDELETED
код, удаляющий директорию
list($user, $domain) = split("@",$email);
$command="sudo эрэм эрэф /home/vmail/".$domain."/".$user;
exec($command);

2. в файле /etc/sudoers дать право на выполнение команды rm пользователю www-data. НО ЭТОГО ЛУЧШЕ НЕ ДЕЛАТЬ - ЭТО ОГРОМНАЯ ДЫРА В БЕЗОПАСНОСТИ. Намеренно не рассказываю, как именно это сделать.

Есть другой вариант, более безопасный. Написать скрипт, который будет проверять все поддиректории в /home/vmail , анализировать наличие пользователя и, при его отсутствии, удалять соответствующую поддиректорию. Исполнять, например, раз в сутки ночью по cron от рута.

По второму вопросу уже ответили.
« Последнее редактирование: 21 Сентября 2012, 13:20:55 от Karl500 »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28510
    • Просмотр профиля
Karl500, есть более щадящие режимы работы sudoers.

# cat /etc/sudoers.d/sslca-to-web
# Allow SSL CA request creation for webserver user

www-data        ALL = (sslca) NOPASSWD: /home/.CA/bin/minica.sh req*

позволяет пользователю www-data выполнить один скрипт. Причём тут можно даже указать паттерн командной строки, как видишь. В данном случае будет доступна только команда req{Client,Server}.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Karl500

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Да, не знал. Значит это и есть искомое решение, спасибо.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28510
    • Просмотр профиля
позволяет пользователю www-data выполнить один скрипт от имени другого пользователя.
.....
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

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