====== Redmine ======
===== Настройка почты =====
==== Отправка ====
\var\www\html\config\configuration.yml
default:
# Outgoing emails configuration
# See the examples below and the Rails guide for more configuration options:
# http://guides.rubyonrails.org/action_mailer_basics.html#action-mailer-configuration
email_delivery:
# ==== Simple SMTP server at localhost
#
# email_delivery:
delivery_method: :smtp
smtp_settings:
address: "mail.domain.ru"
port: 25
openssl_verify_mode: 'none'
Потом надо перезапустить Апач и настраивать в интерфейсе.
==== Приём ====
https://www.redmine.org/projects/redmine/wiki/RedmineReceivingEmails#Fetching-emails-from-an-IMAP-server
Создан ящик redmine@domain.ru, на сервере в кронтабе вставлена строка
* * * * * www-data rake -f /var/www/html/Rakefile --silent redmine:email:receive_imap RAILS_ENV="production" project=test project_from_subaddress=redmine@domain.ru allow_override=all unknown_user=create no_permission_check=1 no_account_notice=1 default_group=Users host=mail.domain.ru ssl=true port=993 username=redmine@domain.ru password=password
По умолчанию письма принимаются в проект test, можно переопределять все поля, создавать юзера, если его нет в системе, добавлять в группу Users, не оповещать его об этом, не проверять разрешения.
project_from_subaddress - парсинг субадресации. Т. е., пишешь на redmine+projectname@domain.ru и создаётся задача в проекте projectname, а не в проекте по умолчанию test. Чтобы так работало, нужно создавать группу рассылки redmine+projectname, в которую добавлять redmine@domain.ru. Если просто добавить доп. адрес redmine+projectname@domain.ru к ящику, то это работать не будет.
Надо обязательно указывать проект по умолчанию, чтобы почта куда-то попадала, иначе будет ошибка\\
MailHandler: missing information from Anonymous: Unable to determine target project,\\
даже если в теле письма идентификатор проекта указан.
При проверке почты в ящике шла ругань на сертификат:\\
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate)
nano /var/www/html/config/initializers/bypass_ssl_verification.rb
require 'openssl'
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
===== Логи =====
Разросся production.log
# сжать лог
gzip /var/www/html/log/production.log
# keep the latest 15 files rotating 20MB each
sed -i '/end/d' /var/www/html/config/environments/production.rb
echo "config.logger = ActiveSupport::Logger.new(config.paths['log'].first, shift_age = 15, shift_size = 20 * 1024 * 1024)" >> /var/www/html/config/environments/production.rb
echo "end" >> /var/www/html/config/environments/production.rb
# уровень лога
echo "config.log_level = :warn" >> /var/www/html/config/additional_environment.rb
https://www.redmine.org/boards/2/topics/25236\\
https://www.redmine.org/boards/2/topics/11836
===== Решение проблем =====
==== Mysql2::Error: Incorrect string value ====
В логах (''tail -f /var/www/html/log/production.log'') ошибка при попытке забрать письмо из ящика:
MailHandler: an unexpected error occurred when receiving email: Mysql2::Error: Incorrect string value: '\xF0\x9F\x99\x8F\xF0\x9F...' for column 'description' at row 1: INSERT INTO `issues`
Проблема в нестандартных символах, которые обычный utf8 прожевать не может. Нужно поменять в ''/var/www/html/config/database.yml'' параметр ''encoding'' на **utf8mb4**, а также сконвертировать БД, если она работает не в этом режиме.
http://blog.andriylesyuk.com/4-byte-utf-8-problem-in-redmine-and-how-to-fix-it/
===== Плагины =====
==== Redmine Dynamic edit Issue plugin ====
https://github.com/Ilogeek/redmine_issue_dynamic_edit
// nano /var/www/html/plugins/redmine_issue_dynamic_edit/assets/javascripts/issue_dynamic_edit_configuration_file.js
// строка
var _CONF_EXCLUDED_FIELD_ID = [];
// заменена на
var _CONF_EXCLUDED_FIELD_ID = ["DescriptionInput", "StartDateInput"];
==== redmine_extended_watchers ====
https://github.com/maxrossello/redmine_extended_watchers
Ставится простым копированием в ''/var/www/html/plugins''. Каталог должен называться redmine_extended_watchers, иначе система работать не будет с руганью \\
[ E 2021-06-10 10:40:46.5705 1613/Tr age/Cor/App/Implementation.cpp:221 ]: Could not spawn process for application /var/www/html: The application encountered the following error: Plugin not found. The directory for plugin redmine_extended_watchers should be /var/www/html/plugins/redmine_extended_watchers. (Redmine::PluginNotFound)
==== redmine_more_previews ====
Превью офисных форматов. Требует libreoffice.
apt install libreoffice -y
Проблемы при установке:
You specified: rubyzip (~> 2.3.0) and rubyzip (>= 0). Bundler cannot continue.
sed -i '/rubyzip/d' /var/www/html/plugins/redmine_more_previews/converters/zippy/Gemfile
Could not spawn process for application /var/www/html: The application encountered the following error: cannot load such file -- mimemagic/overlay (LoadError)
sed -i '/mimemagic/c gem "mimemagic", "~> 0.3.7"' /var/www/html/plugins/redmine_more_previews/Gemfile
==== issue_mail_with_attachments ====
Установка:
- Download a plugin zip from Redmine Plugins page and extract it.
- Copy "issue_mail_with_attachments" folder under "src" folder into redmine's "plugins" folder.
- Из Gemfile в каталоге плагина закомментировать строки 'public_suffix' и 'site_prism' с версиями и прописать их же, но без версий.
- Из каталога ''/var/www/html'' запустить ''bundle install''.
- ''systemctl restart apache2.service''
==== draw.io ====
https://github.com/mikitex70/redmine_drawio
# Установка
cd /var/www/html/plugins
git clone https://github.com/mikitex70/redmine_drawio.git
systemctl restart apache2
==== PlantUML ====
https://github.com/dkd/plantuml
# Установка
apt install plantuml
cd /var/www/html/plugins
git clone https://github.com/dkd/plantuml.git
sed -i 's/4.1/4.2/' plantuml/init.rb # Чтобы работало на версии 4.2
systemctl restart apache2
==== Usability - НЕ РАБОТАЕТ НА НОВОЙ ВЕРСИИ ====
http://rmplus.pro/ru/redmine/plugins/usability
После апгрейда на версию Redmine 4.1.1 плагин не работает:
root@vmls-redmine1:/var/www/html# bundle exec rake redmine:plugins:migrate RAILS_ENV=production
rake aborted!
NameError: undefined method `store_translations' for module `Redmine::I18n::Backend::Implementation'
Пишут, что **Our plugins does not work with redmine 4.1.0, just 4.0.6. We have in progress to update still.**\\
https://stackoverflow.com/questions/61079232/error-while-installing-plugin-for-redmine
==== Issue Tabs и Unread Issues - НЕ РАБОТАЮТ ====
http://rmplus.pro/ru/redmine/plugins/issue_tabs\\
http://rmplus.pro/ru/redmine/plugins/unread_issues
После их установки заявки перестали открываться, выдавая ошибку 404. После деинсталляции заработало.
bundle exec rake redmine:plugins:migrate plugin=issue_tabs version=0 RAILS_ENV=production
bundle exec rake redmine:plugins:migrate plugin=unread_issues version=0 RAILS_ENV=production
rm -rf /var/www/html/plugins/issue_tabs
rm -rf /var/www/html/plugins/unread_issues
service apache2 restart
==== Установка плагинов rmplus.pro ====
# Откройте архив с плагином и выберите папку, соответствующую вашей версии Redmine.
# Скопируйте её содержимое в папку «Redmine» — «plugins».
# Скопируйте папку «rgloader» в корневую директорию «Redmine».
# Убедитесь, что пользователь, из-под которого запускается web-сервер, имеет доступ к корневой директории установки «Redmine».
# Как возможное решение, для операционных систем семейства UNIX, запустите следующие команды:
sudo chmod 775 -R your_redmine_root_folder
sudo chown -R your_web_server_group:your_web_server_user your_redmine_folder
# Запустите `bundle install`, находясь внутри корневого каталога «Redmine», для установки необходимых гемов:
bundle install
# Выполните миграции плагина (убедитесь, что выполняя команду, находитесь в корневой директории установки «Redmine»):
rake redmine:plugins:migrate RAILS_ENV=production
# Перезагрузите сервер Apache:
sudo service apache2 restart