X

Установка dbmail на Ubuntu

При установки dbmail не нашел его в оф. репозитории, пришлось искать выход

Выход довольно прост,  идем на оф. сайт dbmail и находим там репы для Debian-а:

deb http://debian.nfgd.net/debian stable main
deb-src http://debian.nfgd.net/debian stable main

Дальше их надо добавить в конец: /etc/apt/sources.list

Теперь обновляем список пакетов:

#sudo apt-get update

и устанавливаем dbmail

#sudo apt-get install dbmail

Часто в мануалах по dbmail пишут что надо еще поставить dbmail-mysql, вот так :

#sudo apt-get install dbmail-mysql

Но мой сервак ругнулся, что не нашел нужных пакетов.

Насколько я понял, он поставился автоматом, проверить можно заглянув вот сюда:
/usr/share/doc/dbmail-mysql

если папка существует значит всего скорее все ок.

Однако после запуска (перезапуска) dbmail загляните вот сюда:
/var/log/dbmail/dbmail.err

Если там увидите что-то вроде:  [0xad9b40] EMERGENCY:[db] check_table_exists(+803): 3.x database incompatible.

То значит не все так гладко. На сегодня решений ни в гугле, не в яше я не нашел. Однако я взглянул на исходники (они на есть на github-е и написаны на C или C++) и используя свои скромные познания этого языка + информация из сообщения, я въехал, что эта ошибка появляется, из-за того, что список таблиц в созданой MySQL базе не тот, что нужен для этой версии.

Откуда у Вас взялось несовпадение версии, я не знаю, однако в моем случае все ясно (читай пару абзацев выше, про отсутствие в репах dbmail-mysql). Что же делать?

Я опять пошел на оф. сайт в раздел загрузок: http://dbmail.org/index.php?page=download взял архив последней версии, нашел в нем файл:

dbmail-3.0.2.tar.gz/dbmail-3.0.2/sql/mysql/create_tables.mysql

Открыл его в редакторе, увидел SQL. Посмотрел структуру и понял, что это как раз то, что мне надо. Дальше я пошел в свою базу, удалил из неё все таблицы и импортировал туда этот файл. Т.е. по сути пересоздал таблицы.

После перезагрузки dbmail:

#sudo /etc/init.d/dbmail restart

Ошибки перестали появляться.

Категории: Бездна