...
Just my blog

Blog about everything, mostly about tech stuff I made. Here is the list of stuff I'm using at my blog. Feel free to ask me about implementations.

Soft I recommend
Py lib I recommend

I'm using these libraries so you can ask me about them.

Redmine кривые плагины ч2

Всегда, если что-то не работает, нужно делать --trace Тогда можно будет обнаружить много интересного, например:

root@tet-redmine www/redmine# rake redmine:send_digest RAILS_ENV="production"
rake aborted!
IndexError: string not matched
/var/www/redmine/plugins/redmine_digest/lib/tasks/digest.rake:47:in `[]='
/var/www/redmine/plugins/redmine_digest/lib/tasks/digest.rake:47:in `block (2 levels) in <top (required)>'
Tasks: TOP => redmine:send_digest
(See full trace by running task with --trace)
root@tet-redmine www/redmine# rails -v
Rails 3.2.19

Интересно, что если поправить требования версии с 3 на 3.2 - все непременно заработает! Спасибо автору плагина, что так жестко привязал версии!

require 'rake'
if Rails::VERSION::MAJOR >= 3.2
 require File.expand_path(File.dirname(__FILE__) + "/../../../../redmine/config/environment")
else
 require File.expand_path(File.dirname(__FILE__) + "/../../../../../redmine/config/environment")
end

На этом сюрпризы не заканчиваются:

root@tet-redmine www/redmine# rake redmine:send_digest days=7 RAILS_ENV="production"
rake aborted!
LoadError: cannot load such file -- /var/www/config/environment
...
/var/www/redmine/plugins/redmine_digest/lib/tasks/digest.rake:34:in `<top (required)>'

Оказывается, у нас в плагине в 34 строке что-то не так: require File.expand_path(File.dirname(FILE) + "/../../../../../redmine/config/environment") автор забыл указать абсолютный путь. Теперь все работает!

Read...

Хитрожопые плагины Redmine

Встретился мне тут только что плагин один: http://www.redmine.org/plugins/redmine_omniauth_ulogin Довольно интересен тем, что позволяет легко логиниться и регистрироваться в редмайне через соц. сети - то что нужно для моего проекта. Но не судьба, плагин после настройки редиректил сюда: http://do.psiconsul.ru/oauth2callback/?authenticity_token= Лол. Если будете иметь с ним дело, идите туда:

var/www/redmine/plugins/redmine_omniauth_ulogin/app/views/hooks/_view_account_login_bottom.html.erb

И меняйте строчку на ваш сайт:

<div id="uLogin<%= Setting.plugin_redmine_omniauth_ulogin[:client_id] %>" data-ulogin="display=panel;fields=first_name,last_name,sex,email;verify=1;sort=default;lang=ru;providers=vkontakte,odnoklassniki,mailru,facebook,twitter,google;hidden=yandex,livejournal,linkedin,liveid,youtube,googleplus,instagram;redirect_uri=<%= URI::encode("http:/ВАШ_САЙТ/oauth2callback/?authenticity_token=" + form_authenticity_token(), /\W/) %>"></div>

Наверное автор плагина чет напутал, но после исправления все заработало. И спасибо ему на этом!

Read...

Rails update for Redmine

Как обнаружилось в предыдущей статье - у меня старые "рельсы" Теперь пришло время их обновить, если повезет, не обвалить рабочий сейчас редмайн.

root@tet-redmine www/redmine# ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
root@tet-redmine www/redmine# gem -v
1.8.23
root@tet-redmine www/redmine# rails -v
Rails 3.2.19

Хорошо сказано в статье: http://railsapps.github.io/updating-rails.html

Don’t Just Update Rails

Developers often install the newest version of Rails but neglect other components needed for Rails to run successfully. Rails is not just a Ruby gem, it is a complex and rapidly evolving ecosystem. It is important to set up your development environment with the most current version of all the gems that are needed for development.

Сказать что я "обосрался" - ничего не сказать, надеюсь гайд поможет все расставить по полочкам, а пока я пойду сделаю снепшот виртуалки. tet-redmine-snap Далее вычитываем все что гугл нам предложит: http://stackoverflow.com/questions/10930782/rails-update-3-2-5

Что-то я туплю сегодня, у меня все up to date:

root@tet-redmine www/redmine# rails …

Read...

Redmine digest emails

Digest plugin

Есть такой волшебный плагин, который в заданные промежутки времени может отправлять всем участникам дайджест по новостям и тикетам в редмайне: GitHub repository: github.com/drewkeller/redmine_digest The source of this plugin can be cloned from GitHub using:

$ cd {RAILS_ROOT}/vendor/plugins git clone git://github.com/drewkeller/redmine_digest.git

Сейчас буду возиться с кроном, чтобы добавить задание на рассылку дайджеста еженедельно.

Вот что говорит его мануал:

1 0 * * 1-7 www-data cd /path/to/redmine && /usr/bin/rake redmine:send_digest start=1 days=1 project=myproject Rails.env="production"

Поменял под себя, проверил:

root@tet-redmine ~# cd /var/www/redmine && /usr/bin/rake redmine:send_digest Rails.env="production"
-bash: /usr/bin/rake: No such file or directory

Нужно запускать джоб от имени www-data в корне редмайновской папке + в корне "руби с рельсами" - только я забыл где у меня они.

Мда... проверка просто команды приказала мне страдать:

[su_spoiler title="rake redmine:send_digest Rails.env='production'"]

root@tet-redmine www/redmine# rake redmine:send_digest start=1 days=1 project=myproject Rails.env="production"
rake aborted!
IndexError: string not matched
/var/www/redmine/plugins/redmine_digest/lib/tasks/digest.rake:47:in `[]='
/var/www/redmine/plugins/redmine_digest/lib/tasks/digest.rake:47:in `block (2 levels) in <top …

Read...

Update Redmine 2.5.2

Обновляю Редмайн на новую версию, вроде как ничего нового с 2.5.1 не появилось, "работает не трогай" а все равно руки чешутся. Ну и читаю, в общем я два гайда: Русский: [su_spoiler title="Русский гайд"]

Шаг 3 - Выполнить обновление

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

Вариант 1 - Скачайте релиз в виде tar.gz или ZIP-файл 1. Распакуйте новый архив программы в новый каталог. 2. Скопируйте настройки базы данных, файл config/database.yml в директорию config новой директории установки. Если вы запускаете Redmine >= 1.4 с mysql и ruby1.9, измените адаптер базы данных на 'mysql2'. 3a. Скопируйте файл основных настроек config/configuration.yml в директорию config новой директории установки 3b. Или, если вы обновляете с версии ранее 1.2.0, скопируйте настройки вашей почты из вашего файла config/email.yml в новый файл config/configuration.yml, который может быть создан копированием существующего файла configuration.yml.example. 4. Скопируйте содержимое каталога files в новую директорию установки (данная директория содержит все ваши …

Read...

Redmine Plugin Install

Просто напоминание себе: Каждый плагин копируется:

root@tet-redmine redmine/plugins# git clone https://github.com/jgraichen/redmine_dashboard

После чего, если он имеет доступ или требует БД - то мигрирует в прод:

root@tet-redmine redmine/plugins# rake redmine:plugins:migrate RAILS_ENV=production
(in /var/www/redmine)
The git source git://github.com/jgraichen/transifex-ruby.git is not yet checked out. Please run `bundle install` before trying to start your application
root@tet-redmine redmine/plugins# bundle install

Может не мигрировать, тогда мы должны ему помочь и поставить, чего не хватает:

Installing haml 4.0.5
Your bundle is complete!
Gems in the groups development, test and rmagick were not installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
root@tet-redmine redmine/plugins# rake redmine:plugins:migrate RAILS_ENV=production
(in /var/www/redmine)
Migrating redmine_ckeditor (Redmine CKEditor plugin)...
Migrating redmine_dashboard (Redmine Dashboard plugin)...
Migrating redmine_digest (Digest plugin)...
Migrating redmine_hours (Redmine Hours Plugin)...
Migrating redmine_issue_checklist (Redmine Issue Checklist plugin)...
Migrating redmine_lightbox (Redmine Light Box plugin)...
Migrating redmine_open_links_in_new_window (Redmine Open Links In New Window plugin)...
Migrating redmine_people (Redmine People plugin)... …

Read...

Как заставить Apache ранить Redmine

HowTo configure Apache to run Redmine

Читаем официальный гайд, и далее я буду его разжовывать.

09/03/2014

В общем, бред это оказался, бред сумасшедшего. В итоге я просто скачал turnkey и все равно протрахался с ним двое суток, обновляя редмайн до последней версии. Всяко лучше, чем пилить этот проклятый апач - поверьте!

Read...

Web server redirect

Во-первых, чтобы найти статьи на интересующую меня тему, пришлось по изгаляться с поиском, правильно это называется так: "Redirect a frontend URL to another backend webserver" - потому как поисковики завалены завалены статьями по веб-редиректам - 301-302 и проч, что вообще не устраивает меня и работать в моей ситуации не будет. Спасибо упорству и линуксу, который позволяет настроить это как "два пальца" - потому что Windows Server 2008 r2 IIS - предлагает костыли, как бы странно это не звучало. В общем, пришлось гнать этот IIS тряпками. Итак, ситуация: [su_list icon="icon: tag"]

  1. 1 сервер ESXi
  2. 1 роутер = 1 внешний белый IP
  3. 3 веб-сервера
    1. Сentos 6 + apache2 - httpd:80
      1. chat.typical-kirovohrad.org.ua - BlabChat
      1. test.www.trianglesis.org.ua - просто тест
    2. Debian + apache2 - apache2:80
      1. work.typical-kirovohrad.org.ua - Redmine
    3. WinServer 2008 + IIS 7.5:80 файлопомойка

[/su_list] И ранее, вся эта поебта работала каждая на своем порте, мне то конечно было пофиг,  до тех пор, …

Read...

Установка нового плагина в Redmine и проблемы

Установка нового плагина в Redmine и проблемы: - иногда может потребоваться миграция базы - иногда может не хватать нужного модуля или gems - иногда возникают конфликты версий gems - может не запуститься или обломить весь Redmine Сначала: Обязательно

cd /var/www/redmine/plugins

В папке плагинов редмайна:

git clone git://github.com/Адрес_репозитория_кода

Это скопирует плагин в папку, в которой запустили команду.

После чего может потребоваться миграция:

rake redmine:plugins:migrate RAILS_ENV=production

Если она прошла успешно, покажется вывод, содержащий перечень всех плагинов установленных в системе:

root@tet-redmine redmine/plugins# rake redmine:plugins:migrate RAILS_ENV=production
(in /var/www/redmine)
Migrating redmine_ckeditor (Redmine CKEditor plugin)...
Migrating redmine_issue_detailed_tabs_time (Redmine Issue Detailed Tabs & Time)...
Migrating redmine_lightbox (Redmine Light Box plugin)...
Migrating redmine_open_links_in_new_window (Redmine Open Links In New Window plugin)...
Migrating redmine_people (Redmine People plugin)...
Migrating redmine_screenshot_paste (Screenshot Paste)...
Migrating redmine_send_mails (Send Mails plugin)...
Migrating sidebar_hide (Sidebar Hide Plugin)...

Если чего-то не хватает, это как правило gems:

root@tet-redmine redmine/plugins# rake redmine:plugins:migrate RAILS_ENV=production
(in /var/www/redmine)
Could not find gem …

Read...

LoadError: cannot load such file -- /var/www/config/environment

Итак, снова бок: LoadError: cannot load such file -- /var/www/config/environment Неразрешенная, эта проблема может привести к тому, что некоторые страницы редмайна отвалятся: "Internal error" - Лог - ActionView::Template::Error (undefined method `inherit_members' for #<Project:0x0000000735a0f0>):

[su_spoiler title="Вывод"]

root@tet-redmine www/redmine# rake db:migrate RAILS_ENV="production" --trace
rake aborted!
LoadError: cannot load such file -- /var/www/config/environment
/var/lib/gems/1.9.1/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:251:in `require'
/var/lib/gems/1.9.1/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:251:in `block in require'
/var/lib/gems/1.9.1/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:236:in `load_dependency'
/var/lib/gems/1.9.1/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:251:in `require'
/var/www/redmine/plugins/redmine_reminder/lib/tasks/reminder_all.rake:29:in `<top (required)>'
/var/lib/gems/1.9.1/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:245:in `load'
/var/lib/gems/1.9.1/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:245:in `block in load'
/var/lib/gems/1.9.1/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:236:in `load_dependency'
/var/lib/gems/1.9.1/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:245:in `load'
/var/www/redmine/lib/tasks/redmine.rake:178:in `block in <top (required)>'
/var/www/redmine/lib/tasks/redmine.rake:178:in `each'
/var/www/redmine/lib/tasks/redmine.rake:178:in `<top (required)>'
/var/lib/gems/1.9.1/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:245:in `load'
/var/lib/gems/1.9.1/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:245:in `block in load'
/var/lib/gems/1.9.1/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:236:in `load_dependency'
/var/lib/gems/1.9.1/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:245:in `load'
/var/lib/gems/1.9.1/gems/railties-3.2.17/lib/rails/engine.rb:425:in `block in load_tasks'
/var/lib/gems/1.9.1/gems/railties-3.2.17/lib/rails/engine.rb:425:in `each'
/var/lib/gems/1.9.1/gems/railties-3.2.17/lib/rails/engine.rb:425:in `load_tasks'
/var/lib/gems/1.9.1/gems/railties-3.2.17/lib/rails/application.rb:145:in `load_tasks'
/var/lib/gems/1.9.1/gems/railties-3.2.17/lib/rails/railtie/configurable.rb:30:in `method_missing'
/var/www/redmine/Rakefile:8:in `<top (required)>'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/rake_module.rb:28:in `load'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/rake_module.rb:28:in `load_rakefile'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:687:in `raw_load_rakefile'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:94:in `block in load_rakefile'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:93:in `load_rakefile'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:77:in `block in run'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling'
/var/lib/gems/1.9.1/gems/rake-10.3.2/lib/rake/application.rb:75:in `run'
/var/lib/gems/1.9.1/gems/rake-10.3.2/bin/rake:33:in `<top (required)>'
/usr/local/bin/rake:23:in `load'
/usr/local/bin/rake:23:in `<main>'

[/su_spoiler] Для начала сразу разберемся с типичными:

root@tet-redmine www/redmine# cd /var/www/config/environment
root@tet-redmine config/environment# …

Read...