BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 29 мар 2024, 03:19

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Postfix+Mysql+Virtual domains
СообщениеДобавлено: 26 мар 2009, 02:20 
Не в сети

Зарегистрирован: 19 янв 2009, 15:15
Сообщения: 85
Карма: 0
У кого-нить получилось сделать по Вики? http://wiki.bgbilling.ru/index.php/Post ... /BGBilling

Мало того, что в статье больше половины упущено (и пришлось много погуглить, чтобы сервер хотя бы запустился), так эта собака еще и не работает... Почту принимать не хочет (ссылается на отсутствие юзеров, хотя ящики заведены)

Лог запросов в MySQL:
14 Connect postfix@localhost on bgbilling
14 Query SELECT account FROM email_account_3 WHERE account='info' AND status = '0'

Если этот запрос сделать вручную - то результат - 1 строка, однако постфикс ругается:

Mar 25 17:04:50 server1 postfix/local[5070]: E45BA14E67C: to=<info@ххх.net>, relay=local, delay=0.03, delays=0.01/0/0/0.02, dsn=5.1.1, status=bounced (unknown user: "info")

Кто-нить поднял схему, если имеется несколько доменных имен?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 28 мар 2009, 20:33 
Не в сети

Зарегистрирован: 19 янв 2009, 15:15
Сообщения: 85
Карма: 0
Так.. ясно... Либо народ не хочет заморачиваться, либо ни к чему так и не пришел...

Через пару дней выложу рецепт по применению Postfix+bgBilling+MySQL+Virtual Domains


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 29 мар 2009, 09:40 
Не в сети

Зарегистрирован: 19 янв 2009, 15:15
Сообщения: 85
Карма: 0
Собственно рецепт. Я все настраивал на Gentoo.
Предположим, что имеем 2 домена domain1.ru и domain2.ru

/etc/postfix/main.cf
Цитата:
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
mail_owner = postfix
default_privs = nobody
myhostname = mail.domain1.ru
inet_interfaces = all
mydestination =
unknow_local_recipients_reject_code = 550
mynetworks_style = subnet
mynetworks = 127.0.0.0/8, 10.0.0.0/24
mail_spool_directory = /var/spool/mail
sendmail_path = /usr/sbin/sendmail
message_size_limit = 10240000
bounce_size_limit = 65536
header_size_limit = 32768
allow_untrusted_routing = no
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination

relay_domains =
relay_host =

virtual_alias_maps = hash:/etc/postfix/virtual
virtual_transport = maildrop
virtual_mailbox_domains = domain1.ru domain2.ru
#virtual_mailbox_base = /var/mail/vhosts
virtual_mailbox_maps = mysql:/etc/postfix/mysqlvirtual.cf
local_recipient_maps = $virtual_mailbox_maps
virtual_uid_maps = static:207
virtual_gid_maps = static:207
virtual_minimum_uid = 207
maildrop_destination_recipient_limit = 1

disable_vrfy_command = yes


Теперь самое интересное:
/etc/postfix/mysqlvirtual.cf
Цитата:
hosts = 127.0.0.1
dbname = bgbilling
user = логин
password = пароль
query = SELECT CONCAT(account,IF(did=1,'@domain1.ru',IF(did=2,'@domain2.ru','@unknown_domain'))) FROM email_account_3 WHERE account='%u' AND status = '0'

Postfix, делая запрос в базу, передает только username, а ожидает username@domain. Т.к. в таблице в явном виде не хранится такое значение, надо его создать искуственно, а т.к. доменов несколько, используем поле did, в котором число указывает на номер домена (тот, что вы указывали в конфигурации модуля)

/etc/postfix/master.cf
Цитата:
maildrop unix - n n - - pipe
flags=DRhu user=mail argv=/etc/postfix/maildropplus ${recipient} ${user}


Это взято из вики и немного подправлено:
/etc/postfix/maildropplus
Цитата:
#!/bin/bash
if ! cd /var/mail/$1; then
/usr/bin/maildirmake /var/mail/$1;
chown -R mail:mail /var/mail/$1;
chmod -R 700 /var/mail/$1;
/usr/bin/maildrop -w 90 -d $2;
else
/usr/bin/maildrop -w 90 -d $2;
fi
exit $?


/etc/courier/authlib/authdaemonrc
Цитата:
authmodulelist="authmysql"
authmodulelistorig="authmysql"


/etc/courier/authlib/authmysqlrc
Цитата:
MYSQL_SERVER 127.0.0.1
MYSQL_USERNAME логин
MYSQL_PASSWORD пароль
MYSQL_SOCKET /var/run/mysqld/mysqld.sock
MYSQL_PORT 3306
MYSQL_OPT 0
MYSQL_DATABASE bgbilling
MYSQL_USER_TABLE email_account_3
MYSQL_CLEAR_PWFIELD email_account_3.password
#uid и gid взяты для юзера и группы mail
MYSQL_UID_FIELD 8
MYSQL_GID_FIELD 12
MYSQL_LOGIN_FIELD email_account_3.account
MYSQL_HOME_FIELD '/var/mail/'
MYSQL_MAILDIR_FIELD CONCAT("/var/mail/",email_account_3.account,IF(did=1,'@domain1.ru',IF(did=2,'@domain2.ru','@unknown_domain')),"/")
MYSQL_QUOTA_FIELD CONCAT(email_account_3.quota,"000S")
MYSQL_WHERE_CLAUSE email_account_3.status='0'


Вот и все. Не забыть только запустить postfix и courier-authdaemon и добавить их в автозагрузку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 01 апр 2009, 15:33 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Занес в WiKi ссылку. http://wiki.bgbilling.ru/index.php/Post ... al_domains
Может кто оформит потом ) хоть не потеряется.
В 4.6 будет возможность ведения учета аккаунтов просто в сторонней SQL базе, без LDAP.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 01 апр 2009, 16:00 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Б-г знает когда запустил связку cyrus как POP3/IMAP + sendmail (на фре он штатный, а хотелось обойтись без доп. софта) как SMTP + MySQL как хранилище логинов/паролей и совершенно не пойму что сложно в том чтобы прикрутить номер договора как имя ящика, а пароль статистики как пароль на ящик, ну или иные данные брать как логин/пароль из биллинга ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 сен 2009, 07:05 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Не хочет у меня по этим настройкам работать
вот обсуждение где я пытался его наладить(постфикс)
http://linuxforum.ru/index.php?showtopi ... ntry930869


что мне не кто не поможет???


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Postfix+Mysql+Virtual domains
СообщениеДобавлено: 27 май 2010, 09:00 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
А может ктонибудь выложить рабочие конфиги постфикса??
а то бъюсь бъюсь и не получается :(

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.142s | 32 Queries | GZIP : On ]