Содержание
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'
Потом надо перезапустить Апач и настраивать в интерфейсе.
Приём
Создан ящик 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