Меню Рубрики

Redmine установка плагинов linux

Записки Web-разработчика

Работа с плагинами REDMINE

Всем добрый день! В данном посте я расскажу как устанавливать дополнительные плагины в Redmine. Идея с плагинами достаточна интересна, так как позволяет расширить рабочий функционал redmine, но к сожалению работоспособность плагинов на данном этапе вызывает некоторую обеспокоенность: не все плагины ставятся красиво, для многих необходимы дополнительные танцы с бубном. Если же вы все-таки решили установить понравившийся вам плагин, то перед установкой хотелось бы дать некоторые рекомендации, чтобы в последствии не пришлось ломать руки от того, что все криво работает.

Предварительные рекомендации:

  1. Проверьте, чтобы версия вашего плагина была совместима с вашей версией Redmine
  2. Почитайте в интернете, что люди пишут об этом плагине и его работе: различные специализированные форумы, блоги и т. п.
  3. Перед установкой плагина сделайте полный бэкап базы (как это сделать, читайте в статье Красивый перенос Redmine)
  4. Установите плагин точно согласно приведенной ниже инструкции.
  5. Если в процессе установки появляются ошибки, внимательно читаем их описание в командной строке, в 90% там будет ваш ответ
  6. Проверьте, все ли запустились службы после перезапуска (особое внимание уделить Thin_redmine)
  7. Проверьте работоспособность плагина в системе (бывает, что стал хорошо, а не работает или работает криво)
  8. Если не понравился или не работает — удаляйте (также согласно приведенной ниже инструкции).

Ну а теперь непосредственно сама инструкция по работе с плагинами.

Установка плагинов

1. Скопируйте распакованный плагин в каталог

  • для Redmine 1.x: #/vendor/plugins (по умолчанию c:\Program Files\BitNami Redmine Stack\apps\redmine\vendor\plugins)
  • для Redmine 2.x: #/plugins (по умолчанию c:\Program Files\BitNami Redmine Stack\apps\redmine\htdocs\plugins)

Если вы загружаете плагин непосредственно из GitHub, вы можете сделать это, изменив свой плагин каталога в выдачи команд, как

git clone git://github.com/user_name/name_of_the_plugin.git

2. Если плагин требует миграции, выполните следующую команду, чтобы обновить базу данных (сделать резервную копию БД перед миграцией ОБЯЗАТЕЛЬНО. ).

  • для Redmine 1.x: rake db:migrate_plugins RAILS_ENV=production
  • для Redmine 2.x: rake redmine:plugins:migrate RAILS_ENV=production

3. Перезагрузите Redmine.

Теперь вы в состоянии видеть список плагинов в Администрирование -> Модули и настроить только что установленный плагин (если плагин требует, чтобы он быть сконфигурирован).

Удаление плагина

1. Если плагин требует миграции, выполните следующую команду, чтобы очистить вашу базу данных (сделать резервную копию БД перед миграцией ОБЯЗАТЕЛЬНО. ):

  • для Redmine 1.x : rake db:migrate:plugin NAME=plugin_name VERSION=0 RAILS_ENV=production
  • для Redmine 2.x: rake redmine:plugins:migrate NAME=plugin_name VERSION=0 RAILS_ENV=production

2. Удалите плагин из папки плагинов:

  • для Redmine 1.x : #/vendor/plugins
  • для Redmine 2.x: #/plugins

3. Перезагрузите Redmine.

Если есть вопросы, пишите — будем разбираться. Удачи!

7 Comments

Доброго дня. Мне необходимо обновить три плагина в Redmine 2.4.1.-stable
Установить это вроде понятно. Как именно обновить? Заранее спасибо.

День добрый, Антон. Жаль, что не написали какие именно плагины Вы хотите обновить. Поэтому опишу общую процедуру обновления, которой пользуюсь непосредственно сам.
Есть несколько вариантов решения:
1. Удаляем (а лучше копируем в другое место в случае необходимости восстановления старой версии) папку со старым плагином, записываем на его место новый. После этого обязательно перезапускаем все службы. После перезапуска смотрим, чтобы все службы запустились нормально. в 70% случаев этого достаточно.
2. Если некоторые службы не запустились (или Redmine выдает ошибку), то необходимо пройти процедуру установки плагина, как будто Вы устанавливаете плагин по-новому.
Еще бывает, что данный плагин не поддерживает новую версию Redmine или ему нужны дополнительные модули или их новые версии. Тут уж нужно пробовать и смотреть, что получится. Удачи.

О! Спасибо за ответ!
вот эти плагинчики надо обновить
redmine_finance-1_0_8-pro
redmine_contacts-3_2_13-pro
redmine_contacts_invoices-3_1_0-pro

по поводу служб, можно подробнее?
/etc/init.d/redmine restart будет достаточно?

Debian
Release: 7.4
Codename: wheezy

Я Redmine кручу на Windows, но в принципе должно и у Вас работать моя схема. Ставил у себя redmine_contacts. При обновлении данного плагина работает только пункт 2. Насчет служб смотрите в сторону thin_redmine и thin_redmine2

А как на счет редмайн 3.x? как с него снести плагин?

Какой плагин у вас не получается деинсталлировать? Какие действия Вы совершали и какие ошибки получили? Ваш вопрос не несет конкретной информации. Деинсталляция плагинов в версии 3.х , имхо, не изменилась, например, с версии 2.х. Или просто удаляем папку и перезапускаем сервисы, или выполняем типа:
rake redmine:plugins:migrate NAME=name_your_plugin VERSION=0 RAILS_ENV=production

Николай, есть вопрос: какой плагин Redmine глючит?
Список самих плагинов:
1. Application Space plugin
2. Timesheets Application
3. Bootstrap Kit plugin
4. Default Custom Query
5. Git Hosting Plugin
6. Helpdesk plugin
7. Mylyn Connector plugin
8. Startpage plugin
9. Scrum Redmine plugin
Приложение выдаёт ошибку «internal error»
Работает только переход по прямой ссылке. Сеть и браузер — неважно. Т.е. по линку в проекте перейти на объект (задачу) не даёт у некоторых пользователей, кто не админ в Redmine. У админов такая проблема не наблюдается.
Как лечить? Куда смотреть?
В файле «production.log» инфо много, но локализовать проблему пока не удалось.
Прошу вашей помощи.

Redmine поднят на Debian 6.0.10
Environment:
Redmine version 2.6.3.stable
Ruby version 1.9.3-p551 (2014-11-13) [x86_64-linux]
Rails version 3.2.21
Environment production
Database adapter PostgreSQL
SCM:
Subversion 1.6.12
Mercurial 1.6.4
Bazaar 2.1.2
Git 1.7.2.5
Filesystem
Xitolite 1.7.2.5
Redmine plugins:
redmine_app__space 1.0.3
redmine_app_timesheets 1.5.3
redmine_bootstrap_kit 0.2.2
redmine_default_custom_query 1.1.0
redmine_git_hosting 1.0.1
redmine_helpdesk 0.0.15
redmine_mylyn_connector 2.8.2.stable
redmine_startpage 0.1.0
scrum 0.9.1

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Источник

Install plugins

Before installing a plugin, make sure that the plugin is compatible with your Redmine version. For plugins from the Redmine Plugin Directory. Select your Redmine version and check if the plugin is compatible or not with your version using the drop down menu located in the top right margin: “Show only plugins compatible with Redmine: version”.

Get the .zip file or clone the plugin’s Git repository in the installdir/apps/redmine/htdocs/plugins directory:

If you have obtained a .zip file, uncompress it and then delete the original file. Remember to replace PLUGIN_NAME-x-y-z with the correct name and version of the plugin:

IMPORTANT: Before installing the plugin, check the installation notes in the plugin description or README. Some plugins need special installation requirements.

Install the plugin in the htdocs directory:

NOTE: It could display a warning message about the log production file. In that case, run the following commands:

Restart Apache services:

Troubleshooting plugin installation

If you receive an error like this in Redmine 2.4.0-0 and newer:

You are trying to install in deployment mode after changing your Gemfile. Run ‘bundle install’ elsewhere and add the updated Gemfile.lock to version control.

Try adding the —no-deployment argument to the bundle install command as suggested in the error message.

Источник

Установка «Redmine» на «Linux Ubuntu» с прозрачной аутентификацией в домене (Apache, Passenger, RVM, MySQL)

Данным постом хотелось бы начать цикл статей о том, как мы адаптировали под свои нужды трекер задач «Redmine».

Около 2-х лет назад мне пришлось достаточно сильно изменить профиль своей деятельности, и от системного администрирования уйти в разработку на фреймворке «Ruby on Rails». Нужно было адаптировать «Redmine» под нужды достаточно большого IT-отдела, а потом и под нужды компании в целом. Тогда, я столкнулся, с относительной не простотой установки «Redmine». И комплексной статьи для новичков очень не хватало!

Есть несколько способов установки ROR-приложения, которым является «Redmine». В данной статье речь пойдет об установки на web-сервер «Apache», с использованием «Passenger» и «RVM». В качестве сервера баз данных, мы до сих пор используем «MySQL» (вернее MariaDB), хотя и подумываем о переезде на «PostgreSQL».

Apache

Устанавливаем web-сервер Apache:

Основная причина, по которой используется «Apache» — это наличие модуля для прозрачной аутентификации в домене «Windows». Мы изначально хотели упростить использование «Redmine». Отсутствие необходимости вводить пароль дважды было большим плюсом.

Сразу настроим виртуальные хосты «Apache». Сперва, настраиваем виртуальные хосты без поддержки «Ruby». Просто чтобы проверить, что «Apache» работает корректно и настроить модуль прозрачной аутентификации в домене «Windows».

Создаем папку где будет лежать дистрибутив «Redmine»:

Создаем ссылку из каталога «/var/www» (каталога, в котором обычно лежат сайты «Apache») на папку с нашим будущим дистрибутивом «Redmine»:

Создаем файл виртуального хоста:

Заполняем файл следующим содержимым (конфигурируем виртуальный хост):

Доменное имя «redmine.local» должно быть определено (разрешаться) в той сети, где вы будете использовать «Redmine».

Пакет, который реализует команду «a2ensite» может быть не установлен в «Ubuntu». В таком случае, в консоли появиться подсказка, как его установить.

Чтобы проверить, что виртуальный хост настроен правильно. Создадим файл «index.html» c произвольным содержимым в директории виртуального хоста.

Открыв в браузере страницу «http://redmine.local», мы должны увидеть содержимое нашего файла.

Модуль прозрачной аутентификации в домене

Печально, но такого модуля под «ngix» мы так и не нашли. Наверное, по этой причине, до сих пор используем «Apache».

Качаем модуль, распаковываем куда-нибудь. Я обычно распаковываю в домашнюю директорию:

Устанавливаем пакет для компиляции модулей:

С этим модулем есть тонкость. Он не аутентифицирует слишком длинные логины. Поэтому, если в компании есть сотрудники с логинами типа «rimsky-korsakov», то перед компиляций модуля нужно изменить максимальную длину логина в файле «ntlmssp.inc.c», отредактировав строку «define MAX_USERLEN 32»

Переходи в разархивированную директорию. Компилируем модуль:

В процессе компиляции могут возникнуть ошибки-предупреждения. Это нормально.

В настройках виртуального хоста добавляем директивы которые отвечают за аутентификацию. Файл виртуального хоста теперь должен выглядеть так:

В процессе эксплуатации наблюдалось, что данный модуль может ощутимо притормаживать отдачу статических данных. Поэтому, мы настроили модуль так, чтобы он подключался только на странице аутентификации в «Redmine». Всю остальную работу по аутентификации реализует наш плагин прозрачной аутентификации.

MySQL (MariaDB)

Устанавливаем сервер баз данных «Mysql».

«MySQL» подустарел, поэтому лучше ставить его форк «MariaDB». На каком-то этапе мы переехали с первого на второе, не испытав проблем. С точки зрения установки и настройки для обоих серверов баз данных все примерно одинаково.

Соединяемся с сервером с паролем, введенным на этапе установки:

Создаем пустую базу данных для Redmine и назначаем привилегии:

В двух словах, «RVM» позволяет устанавливать разные версии Ruby на одном компьютере. Мы постоянно спорим с моим коллегой, а нужен ли нам «RVM» на рабочем сервере?

Прямой необходимости в нем нет, но я люблю его за то, что он позволяет сильно упростить установку «Ruby». В «Ubuntu» не всегда есть самые свежие пакеты с «Ruby», а в «RVM» есть! В общем, мы используем «RVM».

Для установки «RVM» нужно установить «Curl»:

Затем выходим из пользователя «root» и далее под обычным пользователем запускаем:

После установки, «RVM» скажет нам, какие еще пакеты нужно доставить в «Ubuntu». На момент написания статьи это были следующие пакеты:

Устанавливаем «ruby-1.9.3», но сперва нужно поставить «ruby-1.8.7», иначе никак.
Если вылетело сообщение «RVM is not a function, selecting rubies with ‘rvm use . ‘ will not work», то нужно выполнить команду «/bin/bash —login». И тогда можно работать с «RVM»:

Когда я осваивал RVM мне очень помог вот этот пост: http://habrahabr.ru/post/120504/.

Passenger

«Passenger» — это модуль «Apache», который позволяет запускать Ruby-приложения. «RVM» позволяет скомпилировать «Passenger» для определенного джемсета. После компиляции, «RVM» посоветует как подключить «Passenger» к «Apache».

Версия «Passenger» может меняться. Поэтому, нужно убедиться в правильности пути (в 3-ей команде).

В соответствующих директориях «Apache», создаем файлы конфигурации модуля и файлы загрузки модуля:

В файл записываем такое содержимое:

Содержимое файла конфигурации:

После компиляции «Passenger», «RVM» сгенерирует правильное содержимое данных файлов. Нужно только создать файлы и скопировать содержимое.

Подключаем наш модуль:

Сразу меняем конфигурационный файл «Apache». Теперь у нас есть «Passenger»:

Redmine

Берем свежую версию «Redmine» из SVN-репозитория. SVN-клиетнт может быть не установлен в «Ubuntu». Тогда нужно его установить.

user — это тот пользователь под которым мы устанавливали «RVM».

или вот так (зависит от версии «Ubuntu»):

Меняем настройки подключения «Redmine» к базе данных. В нашем случае это «MySQL»:

Меняем файл «database.yml»:

Заодно конфигурируем отправку почтовых сообщений из «Redmine». Файл «configuration.yml»:

У нас настроен почтовый сервер, не требующий аутентификации внутри сети. Поэтому файл такой. У вас файл может быть другим. Подробнее можно прочесть тут: http://www.redmine.org/projects/redmine/wiki/EmailConfiguration

Устанавливаем все джемы, которые необходимы «Redmine»:

«Redmine» из коробки позволяет не прозрачно аутентифицироваться в домене. Для этого используется джем «net-ldap». Этот джем содержит одну очень серьезную ошибку.

Нужно отыскать этот джем в джемсете и ручками исправить файл согласно вот этому коммиту.

Иначе, когда из «LDAP» запрашиваются определенные данные в кириллице, могут возникать непредвиденные ошибки.

Генерируем секретный ключ:

Создаем таблички в нашей базе данных:

Заполняем базу данных базовыми данными:

Собственно это все. Перезапускаем «Apache». Все должно работать.

Какие еще есть способы установить «Redmine»

Можно просто скачать «Bitnami Stack».

Можно установить «Redmine» из репозитариев: «apt-get install redmine». В «Ubuntu» он есть, но не всегда свежий.

Я предпочитаю пройти более сложный путь установки, но зато, иметь более глубокое представление о своем сервере.

Надеюсь, статья будет полезна.

Похожие публикации

Как мы внедряем ITSM. Четыре порока обслуживания

MathML или Latex – как мы реализовывали меняющийся оклад в расчете ЗП с помощью MathJax

Redmine. Как писать плагины

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Комментарии 14

раньше я тоже использовал пассенжер. тк было удобно, потому что всего одна команда и почти любое ror приложение работало сразу.

а потом когда я научился использовать rvm и узнал о unicorn (или puma), то сразу понял, что оно лучше:
быстрее загрузка, гибче настройка и уверенность в том, что ror приложение работает именно от того пользователя, под которым запущен unicorn.

а апач (хотя в моем случае nginx), используется исключительно как прокси.

при такой схеме удобно и быстро можно держать несколько версий редмайна (а иногда и такое бывает)
или любые другие веб приложения.

Сейчас на работе занимаюсь тем, что настраиваю прозрачную аутентификацию на Redmine. Но никак не получается настроить ntlm.

Я пока создал просто маленькую тестовую страничку на PHP, где дампится $_SERVER. При заходе на эту страницу появляется окно авторизации. Ввожу логин/пароль, оно появляется снова, ввожу еще раз — снова появляется. Пробовал логин вводить в разных форматах: domain\login, login, domain\\login, ничего не работает. Все данные (хост, домен) должны быть верные, так как во встроенном LDAP Redmine все работает. Вот логи апача:

[info] [client 192.168.9.75] 3064054256 23800 / — NTLMXX-Creating new ntlm_connection: 1
[debug] mod_ntlm.c(78): [client 192.168.9.75] 3064054256 23800 / — got auth_line «ЗДЕСЬ ДЛИННАЯ СТРОКА»
[debug] mod_ntlm.c(78): [client 192.168.9.75] 3064054256 23800 / — got header with host «», domain «», unicode flag 7
[info] [client 192.168.9.75] 3064054256 23800 / — received msg1 keep-alive: 0, keepalives: 0
[info] [client 192.168.9.75] 3064054256 23800 / — send WWW-Authenticate «ЗДЕСЬ ДЛИННАЯ СТРОКА»
[debug] mod_deflate.c(615): [client 192.168.9.75] Zlib: Compressed 475 to 320: URL /
[debug] mod_ntlm.c(78): [client 192.168.9.75] 3064054256 23800 / — got auth_line «ЗДЕСЬ ДЛИННАЯ СТРОКА»
[Thu Dec 26 12:56:53 2013] [debug] mod_ntlm.c(78): [client 192.168.9.75] 3064054256 23800 / — got header with host «HW008», domain «НАЗВАНИЕ НАШЕГО ДОМЕНА», unicode flag 7
[Thu Dec 26 12:56:53 2013] [info] [client 192.168.9.75] 3064054256 23800 / — received msg3
[Thu Dec 26 12:56:53 2013] [info] [client 192.168.9.75] 3064054256 23800 / — authenticating user against DC
[Thu Dec 26 12:56:53 2013] [error] [client 192.168.9.75] 3064054256 23800 / — NTLM/SMB user «(null)»: authentication failure for «/»
[Thu Dec 26 12:56:53 2013] [debug] mod_deflate.c(615): [client 192.168.9.75] Zlib: Compressed 475 to 320: URL /

Наш домен Active Directory выглядит как домен второго уровня, поэтому SUB.DOMAIN.COM.

Что может работать неправильно?

В самом Redmine во встроенном LDAP я ввожу такие параметры и все работает:

Name = ActiveDirectory
Host = dc2.sub.domain.com
Port = 389
LDAPS = no
Account = Domain\Login
Password = password
Base DN = DC=sub,DC=domain,DC=com

On-the-fly user creation = no
Attributes
Login = sAMAccountName

Я правильно понимаю, что LDAP Redmine и NTLM должны пытаться подключиться к одному и тому же серверу? Если да, то почему в LDAP Redmine мы указываем еще логин/пароль пользователя с правами на чтение в домене, а в NTLM нет?

Что может работать неправильно?

В браузере еще бывает нужно настройки вносить, чтоб он отдавал данные для аутентификации. Во всех браузерах это по разному настраивается. В интернете статьи есть.

Если окно аутентификации вылетает, значит это уже не сквозная аутентификация. Скорее всего браузер не настроен, вообще.

Я правильно понимаю, что LDAP Redmine и NTLM должны пытаться подключиться к одному и тому же серверу? Если да, то почему в LDAP Redmine мы указываем еще логин/пароль пользователя с правами на чтение в домене, а в NTLM нет?

Думаю, потому что данные отправляет сам браузер. Он знает на какой домен слать эти данные. Компьютер же в домене. Шлет скорее всего хеш пароля.

Спасибо, разобрался. Дело в том, что на новых осях уже используется NTLMv2. Данный модуль mod_ntlm писался во времена Win XP, когда был еще NTLM версии 1. Чтобы переключиться на NTLM первой версии надо:
1) Панель управления -> Администрирование -> Локальная политика безопасности
2) Далее выбираем папку Локальные политики -> параметры безопасности
3) Находим в списке «Сетевая безопасность: уровень проверки подлинности LAN-Manager», кликаем на него и в списке выбираем «Отправлять LM- и NTLM- ответы»

Но это я считаю, какой-то грязный хак. Прозрачная аутентификация заработала в ИЕ, у меня 9. В Хром все так же выскакивает окошко ввода пароля, но после ввода пускает. Firefox по-прежнему никак не заводится.

Доменное имя «redmine.local» должно быть определено (разрешаться) в той сети, где вы будете использовать «Redmine».

не забудьте настроить псевдоним redmine.domen в DNS

Если локально настраиваете, то в файлике hosts компьютера с которого заходите на redmine. Он есть как в linux, так и в windows.

Если для всей сети подымаете, то тогда на DNS-сервере сети.

Спасибо.
Делаю для всей сети.

Дописал в конец файла /etc/bind/db.domain.ru

Вот только ничего не понятно — для чего ns.domain.ru.? Но все работает теперь.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Оформление mac os ubuntu
  • Офисный пакет для mac os
  • Офисные программы для mac os
  • Отформатировать флешку после mac os
  • Отформатировать диск для mac os