Postfix-Courier привязать Postfixadmin

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
dyatlovm
рядовой
Сообщения: 34
Зарегистрирован: 2008-09-07 10:35:03
Откуда: г. Москва

Postfix-Courier привязать Postfixadmin

Непрочитанное сообщение dyatlovm » 2013-03-28 14:37:51

Ребята выручайте. Достался сервер с установленным Postfix - Courier, пользователи хранятся в MySQL. До меня новые ящики добавлялись каким то хитрым скриптом, разобраться пока времени не было (вопрос добавления пользователей на первом месте). Решил добавить к конфигурации Postfixadmin. Но проблема в следующем: Пользователи и пароли хранятся в таблице users, имеющий вид

Код: Выделить всё

mysql> select * from users where email='xxxxxx@xxxxx.ru';
+------------------+---------------+
| email             | password     |
+------------------+---------------+
| xxxxxxxxx@xxxx.ru | xxxxxxxxxxxxx|
+------------------+---------------+
1 row in set (0.00 sec)
Postfixadmin же создает пользователей в своей таблице mailbox, в которой соответственно присутствуют дополнительные колонки (name, maildir, quota и т.д.). Вот не могу понять, каким образом можно заставить Postfixadmin работать с таблицей users. Вторая сложность заключается в том, что пароли пользователей хранятся в шифрованном виде, но с этим буду разбираться после решения первой задачи.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

rayder
лейтенант
Сообщения: 661
Зарегистрирован: 2008-12-18 16:29:43
Откуда: Ukraine/Kiev
Контактная информация:

Re: Postfix-Courier привязать Postfixadmin

Непрочитанное сообщение rayder » 2013-03-28 20:32:52

postfixadmin заточен под своб структуру БД. Courier насколько я понял смотрит в отдельную БД. А тот нехитрый скрипт просто заносит инфу в обе базы (ну либо база одна, но таблицы у всех свои).
В вашем случае, если не хотите отказываться от него, то нужно не postfixadmin натравлять на другую БД(таблицы), а Courier научить смотреть в базу(таблицы) постфикса. и это имхо более правильно.
Человеку свойственно ошибаться, но для нечеловеческих ляпов нужен компьютер.

dyatlovm
рядовой
Сообщения: 34
Зарегистрирован: 2008-09-07 10:35:03
Откуда: г. Москва

Re: Postfix-Courier привязать Postfixadmin

Непрочитанное сообщение dyatlovm » 2013-03-28 23:20:15

Согласен с вами, про то, кого учить надо) но дело в том, что в базе users уже порядка двух тысяч этих самых юзерей. Скрипт можно забыть, он себя исчерпал. В базе постфиксадмина пока пусто-ящиков нет. Тут получается два варианта-либо научит постфикс смотреть и работать с базой users, либо перенести всех пользователей в базу постфиксадмина. Если первый мне ещё представляется реальным, то второй вариант я точно не осилю реализовать(( тут кстати вспылвает проблема с шифрование паролей ещё к тому же

rayder
лейтенант
Сообщения: 661
Зарегистрирован: 2008-12-18 16:29:43
Откуда: Ukraine/Kiev
Контактная информация:

Re: Postfix-Courier привязать Postfixadmin

Непрочитанное сообщение rayder » 2013-03-29 21:37:02

И сразу первый вопрос, а вы в конфиг postfixadmin заглядывали?
dyatlovm писал(а): Тут получается два варианта-либо научит постфикс смотреть и работать с базой users
не с базой, а с таблицей в Базе :)
помимо этой таблицы он еще работает с несколькими таблицами, и их вам тоже надо заполнить что бы оно работало.
так что просто бегать в таблицу users - мало.

Ему можно сказать как называется та или иная таблица

Код: Выделить всё

$CONF['database_tables'] = array (
    'admin' => 'admin',
    'alias' => 'alias',
    'alias_domain' => 'alias_domain',
    'config' => 'config',
    'domain' => 'domain',
    'domain_admins' => 'domain_admins',
    'fetchmail' => 'fetchmail',
    'log' => 'log',
    'mailbox' => 'mailbox',
    'vacation' => 'vacation',
    'vacation_notification' => 'vacation_notification',
    'quota' => 'quota',
    'quota2' => 'quota2',
);
но вам все-равно придется менять структуру таблицы.

В общем заработаете себе еще больше геморроя чем у вас есть сейчас.
dyatlovm писал(а): , либо перенести всех пользователей в базу постфиксадмина. Если первый мне ещё представляется реальным, то второй вариант я точно не осилю реализовать(( тут кстати вспылвает проблема с шифрование паролей ещё к тому же
В каком виде шифруете пароли?
PA умеет не мало:

Код: Выделить всё

// Encrypt
// In what way do you want the passwords to be crypted?
// md5crypt = internal postfix admin md5
// md5 = md5 sum of the password
// system = whatever you have set as your PHP system default
// cleartext = clear text passwords (ouch!)
// mysql_encrypt = useful for PAM integration
// authlib = support for courier-authlib style passwords
// dovecot:CRYPT-METHOD = use dovecotpw -s 'CRYPT-METHOD'. Example: dovecot:CRAM-MD5
Вам таки проще перенести пользователей в PA.
Но нужно будет еще подправить конфиги самого постфикса, но там по мелочи.

ЗЫ. скажу сразу, помогать с разворачиванием PA в другую таблицу не буду т.к. не вижу в этом смысла. А вот с обратным способом могу подсобить.
Человеку свойственно ошибаться, но для нечеловеческих ляпов нужен компьютер.

dyatlovm
рядовой
Сообщения: 34
Зарегистрирован: 2008-09-07 10:35:03
Откуда: г. Москва

Re: Postfix-Courier привязать Postfixadmin

Непрочитанное сообщение dyatlovm » 2013-03-29 22:25:41

Опишу что за сегодня удалось сделать. Как вы и написали, пошёл по пути переноса пользователей из таблицы users в таблицу ПА с добавлением недостающих полей (добавил нужные поля, заполнил дефолтными значениями и через бэкап-рестор залил все обратно). Теперь ПА видит все ящики и для меня, как "знатока" MySQL это уже не мало)) вот теперь ломаю голову каким образом заставить ПА создавать виртуальных пользователей заодно нужные директории на диске. Паралельно возник ещё вопрос каким образом раунд куб авторизует зверей, если у него собственная база данных, а в конфигах не нашёл обращение к таблице mailbox. Но эту проблему списываю на недостаток знаний и думаю завтра я этот пробел заполню.
С шифрование не разбирался ещё, но на скидку пароли шифруются средствами MySQL .
rayder спасибо вам за подсказки. кого не спрашиваю, все в несознанку-я такое не делал, читай документацию. А сделать как всегда нужно было вчера.

rayder
лейтенант
Сообщения: 661
Зарегистрирован: 2008-12-18 16:29:43
Откуда: Ukraine/Kiev
Контактная информация:

Re: Postfix-Courier привязать Postfixadmin

Непрочитанное сообщение rayder » 2013-03-30 0:50:35

dyatlovm писал(а):Опишу что за сегодня удалось сделать. Как вы и написали, пошёл по пути переноса пользователей из таблицы users в таблицу ПА с добавлением недостающих полей (добавил нужные поля, заполнил дефолтными значениями и через бэкап-рестор залил все обратно). Теперь ПА видит все ящики и для меня, как "знатока" MySQL это уже не мало))
мои поздравления :)
dyatlovm писал(а):вот теперь ломаю голову каким образом заставить ПА создавать виртуальных пользователей
ну это как бы просто делается в вебке
dyatlovm писал(а): заодно нужные директории на диске.
постфик отсылает/передает почту, а не кладет на диск(есть конечно варианты, но для этого нужно уже конфиги ваши смотреть). если все правильно настроено, то courier сам создаст все необходимое при первой активности ящика(логин пользователя/приход письма)
dyatlovm писал(а):Паралельно возник ещё вопрос каким образом раунд куб авторизует зверей, если у него собственная база данных, а в конфигах не нашёл обращение к таблице mailbox.
rouncube авторизируется на вашем pop/imap сервере (т.е. берет логин пароль которые ему дали и сам авторизируется на сервере). И уже после этого он в свою базу кладен инйормацию о клиенте, и для него уже хранит настройки, профили, и прочее.
dyatlovm писал(а):Но эту проблему списываю на недостаток знаний и думаю завтра я этот пробел заполню.
правильное решение.
dyatlovm писал(а): С шифрование не разбирался ещё, но на скидку пароли шифруются средствами MySQL .
mysql тоже по разному шифровать может.
скиньте в личку plaintext пароль, и то, как он выглядит в базе от какого-нибудь пользователя, или заведите нового.
будем смотреть чем шифрует
dyatlovm писал(а): rayder спасибо вам за подсказки. кого не спрашиваю, все в несознанку-я такое не делал, читай документацию. А сделать как всегда нужно было вчера.
ну читать - это правильно и полезно. просто как-то самому досталься почтовик "в наследство", где тоже все делалось руками. а когда количество обращений возросло, пришлось так же переносить пользователей и в моем случае еще и править исходники PA под свои нужды
Человеку свойственно ошибаться, но для нечеловеческих ляпов нужен компьютер.