Tuesday, January 20, 2015

Redmine. Настройка почты. Настройка IMAP для возможности создания тасков из почты.

Намедни настраивал почтовый сервис (MTA) Redmine и пришлось изрядно поколупаться, ушло на это несколько дней. Ежели кто столкнется с тем же в дальнейшем, возможно этот пост сэкономит какое-то время.
Предыстрия такова - имеем Redmine задеплоеный на FreeBSD, нужно настроить сабж.

Внизу я описал краткую инструкцию по шагам, будут вопросы - задавайте.

Путь к Redmine:    /usr/local/www/redmine

Если cron на FreeBsd не установлен, нужно запустить crontab -e и он установится после выхода из открывшегося файла.

Для начала нам нужно будет создать почтовый аккаунт на гугле(по крайне мере так было в моем случае), включаем настройки POP3, IMAP. Отключаем так называемый файрвол гугла, поковыряйтесь в настройках почты, там найдете, ну или - Оk google вам в помощь.

Изменяем конфигурационный файл crone, добавляем следующую строку (/etc/cronetab):
* * * * * root /bin/sh /etc/crone/RMpop3.sh >> /etc/crone/imap.log 2>&1

Создаем скрипт для крона:
/etc/crone/RMpop3.sh

Его содержимое:
cd /usr/local/www/redmine && /usr/local/bin/rake --silent redmine:email:receive_imap port=993 ssl=1 RAILS_ENV="production" host=imap.gmail.com username=yourmail@gmail.com password=yuorpassword --trace

В лог файл /etc/crone/imap.log будут падать детальные логи если оставить --trace в скрипте, в противном случае --trace нужно убрать, иначе лог будет быстро пухнуть.

Теперь идем в редмайн создаем следующий файл:
/usr/local/www/redmine/сonfig/initializers/avoid_ssl_verification.rb

Содержимое:

require 'openssl' 
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

Это решает проблему при получении почты MTA с сервера, словом файл нужный, мамырьте в редмайн не задумываясь

Меняем файл /usr/local/www/redmine/сonfig/configuration.yml

Раскоvментим секцию SMTP server at using TLS (GMail) и прописываем туда свои креденшелы, порт 587 если что(production).
Если что секция default так же должна быть раздизэйблена с теми же данными, что и production.

Заходим в сам Redmine через браузер, заполняем всю конфигурационную инофрмацию, генерим ключ на получение почты.

Затем регистрируем MTA, но не уверен, что это нужно:
ruby rdm-mailhandler.rb --url=http://srv-track/redmine --key=XZNcwmSwKzt6l8iS3Bhx

Потом отправляем на почтовый ящик redmine'a письмо типа:
Assignee: Антон Мальцев
Category: Ticket
Tracker: Feature
Priority: Normal
Description: Clarify some stuff

Получаете нотификацию от redmine'a - и все у вас пашет.

No comments: