Страница 1 из 1

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

Добавлено: 2013-03-28 14:37:51
dyatlovm
Ребята выручайте. Достался сервер с установленным 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. Вторая сложность заключается в том, что пароли пользователей хранятся в шифрованном виде, но с этим буду разбираться после решения первой задачи.

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

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

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

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

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

Добавлено: 2013-03-29 21:37:02
rayder
И сразу первый вопрос, а вы в конфиг 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 в другую таблицу не буду т.к. не вижу в этом смысла. А вот с обратным способом могу подсобить.

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

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

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

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