forum.bitel.ru http://forum.bitel.ru/ |
|
Квоты MYSQL http://forum.bitel.ru/viewtopic.php?f=11&t=4759 |
Страница 1 из 1 |
Автор: | anred [ 09 ноя 2010, 14:08 ] |
Заголовок сообщения: | Квоты MYSQL |
с мускулем всязка posfix + doveco работает ок все вроде бы ничего но! квоты =) при добавлении квоты от 1кб до 102 все ок прокатывает =) дальше не стал проверять и так хвати... вешаем квоту к примеру 1024 в логах видем Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value adjusted for column 'quota' at row 1 и все =) вопрос куда копаем ?) |
Автор: | anred [ 09 ноя 2010, 14:28 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
как выход в данный момент нашел SELECT IF(quota=1,'1024',IF(quota=2,'2048','1')) FROM email_account_8 WHERE account='%u' AND status = '0' |
Автор: | skyb [ 09 ноя 2010, 14:35 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
а можете выложить конфиги? а то у меня по wiki ненастраивается ![]() кстати с квотами тоже трабла была при выборе в биллинге. |
Автор: | anred [ 09 ноя 2010, 14:51 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
щас с квотами разбирусь и выложу тут а потом уже в вики кидайте ![]() |
Автор: | anred [ 09 ноя 2010, 14:59 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
main.cf Код: queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/lib/postfix mail_owner = postfix default_privs = nobody. myhostname = mail.**.ru mydomain = **.ru myorigin = $myhostname inet_interfaces = all. unknow_local_recipients_reject_code = 550 mynetworks_style = subnet. mail_spool_directory = /var/spool/mail sendmail_path = /usr/sbin/sendmail message_size_limit = 20000000 bounce_size_limit = 65536 header_size_limit = 32768 allow_untrusted_routing = no smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination syslog_facility = mail syslog_name = postfix virtual_uid_maps = static:5000 virtual_gid_maps = static:5000 virtual_alias_maps = hash:/etc/postfix/virtual #virtual_transport = maildrop #virtual_mailbox_base=/var/spool/virutal_mailboxes virtual_transport = dovecot dovecot_destination_recipient_limit = 1 virtual_mailbox_domains = mysql:/etc/postfix/mysql-domains.cf virtual_mailbox_maps = mysql:/etc/postfix/mysqlvirtual.cf local_recipient_maps = $virtual_mailbox_maps virtual_minimum_uid = 207 mynetworks=94.*.*.*/20,95.172.*.*/19 disable_vrfy_command = yes html_directory = no setgid_group = postdrop manpage_directory = /usr/share/man newaliases_path = /usr/bin/newaliases mailq_path = /usr/bin/mailq smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination mysql-domains.cf Код: user = root password = *** hosts = *** dbname = bgbilling query = SELECT 1 FROM domains WHERE domain='%s' mysqlvirtual.cf Код: hosts = ** dbname = ** user = root password = ** query = SELECT CONCAT(account,IF(did=1,'@domain1.ru',IF(did=2,'@domain2.ru','@unknown_domain'))). FROM email_account_8 WHERE account='%u' AND status = '0' постфикc обязательно с mysql! =) для того что бы постфикс держал квоты его нужно патчить! http://vda.sourceforge.net/ |
Автор: | skyb [ 09 ноя 2010, 15:34 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
а довекот? ![]() за постфикс конфиг пасиб |
Автор: | anred [ 09 ноя 2010, 16:23 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
довекот не особо много passdb sql { args = /etc/dovecot/dovecot-sql.conf } и настраивается директория mail_location = maildir:/home/vmail/%d/%n ну и userdb static { args = uid=1000 gid=1000 home=/home/vmail/%d/%n allow_all_users=yes } вроде ничего не забыл ) |
Автор: | skyb [ 09 ноя 2010, 16:52 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
с меня плюсик ![]() |
Автор: | anred [ 10 ноя 2010, 04:25 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
в данном примере постфикс не работает с авторизом клиентов smtp |
Автор: | skyb [ 10 ноя 2010, 05:26 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
anred писал(а): в данном примере постфикс не работает с авторизом клиентов smtp ![]() |
Автор: | anred [ 10 ноя 2010, 12:21 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
но =) Код: # Domains myhostname = mail.domain.ru mydomain = domain.ru myorigin = $mydomain mydestination = $myhostname, localhost # Other smtpd_banner = SMTP $myhostname server biff = no append_dot_mydomain = no alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases relayhost = mynetworks = 127.0.0.0/8 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all # Virtual mailbox settings virtual_mailbox_domains = mysql:/etc/postfix/mysql-domains.cf virtual_mailbox_base = /home/vmail virtual_mailbox_maps = mysql:/etc/postfix/mysqlvirtual.cf virtual_transport = dovecot dovecot_destination_recipient_limit = 1 # SASL Authentication smtpd_sasl_auth_enable = yes smtpd_sasl_exceptions_networks = $mynetworks smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_data_restrictions = reject_unauth_pipelining, reject_multi_recipient_bounce, permit message_size_limit = 10485760 local_recipient_maps = $virtual_alias_maps $virual_mailbox_domains # Timeouts smtpd_timeout = 120s smtp_helo_timeout = 60s smtp_mail_timeout = 60s smtp_rcpt_timeout = 90s тут авториз проходит через dovecot если он нормально авторизует pop3\imap клиентов ) в dovecot активируем фишку ) Код: client { path = /var/spool/postfix/private/auth mode = 0660 user = postfix group = postfix } и вот оно счастье =) также остается открытым вопрос о настройках квоты! поковырявшись с postfix и патчем vda не катит больно уж транспорт virtual ненравится как выход докрутить dovecot на квоты! он с ними работает нормально и есть вменяемый функционал оповещение пользователей |
Автор: | Администратор [ 12 ноя 2010, 13:31 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
Эту ошибку где выводит? Код: Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value adjusted for column 'quota' at row 1 Конфигурацию модуля E-Mail можете выложить? |
Автор: | anred [ 13 ноя 2010, 04:16 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
ошибку выдает при создании или редактированиии квоты в договоре! ошибка явно не вылезает при условии что квота прописана до 100 вроде дальше не проверял Код: #названия пунктов меню Web интерфейса web.menuItem1=Управление E-Mail web.menuItem2=Пересылки E-Mail web.menuItem3=Смена пароля на E-Mail #блокировать статусы ящиков при изменении статуса договора на неактивный #разблокировать при изменении статуса на активный или приходе платежа #change.by.status=1 #минимальная и максимальная длина пароля почты password.length.min=5 password.length.max=10 #длина автоматически генерируемого пароля password.length.auto=6 #допустимые в пароле символы password.chars=1234567890 #значения квот quota.list=1:1MB;2:2MB;3:3MB;4:4MB;5:5MB;10:10MB #допустимые имена аккаунтов, REGEXP email.account.regexp=^[-\w]{1,40}$ #допустимые имена пересылок, REGEXP email.forward.regexp=^[\\w]{4,20}@[\\.\\w]{5,20}$ в данном виде добавляется все ок! в базу пишется ) но если даем больше по значению в quota.list в логах сервера sql ошибка конф домена Код: #работа через SQL базу данных
sa=ru.bitel.bgbilling.modules.email.server.bean.JDBCEmailServiceActivator #JDBC драйвер для SQL базы #sa.jdbc.driver=com.mysql.jdbc.Driver #URL доступа к базе sa.jdbc.url=jdbc:mysql://ххххх:3306/bgbilling #логин и пароль к SQL базе sa.jdbc.user=root sa.jdbc.password=ххх #тип домена ('LOCAL','RELAY','VIRTUAL') sa.jdbc.domain.type=VIRTUAL #пользователь и группа #sa.jdbc.domain.uid=204 #sa.jdbc.domain.gid=204 |
Автор: | Администратор [ 17 ноя 2010, 17:14 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
Я вот не понимаю, вы таблицы domains, users, userforward, aliases создали в базе bgbilling? А почему не в отдельной? |
Автор: | anred [ 18 ноя 2010, 22:38 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
ну да! вроде трабла не в этом и конфликтовать не должнО! |
Автор: | Администратор [ 19 ноя 2010, 13:33 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
Попробуйте поправить URL на: Код: sa.jdbc.url=jdbc:mysql://ххххх:3306/bgbilling?jdbcCompliantTruncation=false Вообще нужно проверить размеры поля users.quota, расширить попробовать. |
Автор: | anred [ 21 ноя 2010, 22:07 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
`quota` tinyint(4) default '0', |
Автор: | anred [ 21 ноя 2010, 22:09 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
хмм Тип поля TINYINT использует 1 байт для хранения значения. Минимальное значение -128, максимальное 127. Беззнаковый TINYINT (unsigned) хранит значения от 0 до 255. |
Автор: | anred [ 21 ноя 2010, 22:21 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
Долго сидел думал откуда взялось поле это =) http://bgbilling.ru/v4.6/doc/ch08s02s03.html Код: CREATE TABLE users ( login varchar(64) NOT NULL, name varchar(128) NOT NULL, password varchar(64) NOT NULL, domain varchar(128) NOT NULL, quota tinyint(4) default '0', status enum('0','1') default '1', PRIMARY KEY (login,domain) ); поменяв на `quota` varchar(10) default '0', запись нормально добавилась без проблем! |
Автор: | Администратор [ 24 янв 2011, 12:37 ] |
Заголовок сообщения: | Re: Квоты MYSQL |
Сделайте так: Код: sa.jdbc.url=jdbc:mysql://ххххх:3306/bgbilling?useUnicode=true&characterEncoding=Cp1251&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false
|
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |