====== 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