redmine и плагин redmine_gitosis

Обновил недавно redmine с 1.3 до 1.4.4, что поломало загрузку ключей в плагин с ошибкой

NameError (uninitialized constant GitosisPublicKeysController::ARCondition):

Выяснилось, что из redmine убрали нужную библиотечку, чтобы ее вернуть, достаточно положить файлик ar_condition.rb в redmine/lib. Взять файлик можно, например, отсюда.

Установка redmine на Debian Squeeze

Попросили сделать хост с редмайном для нескольких проектов, ставлю на Debian 6. В репах squeeze редмайн какой-то совсем старый, аж версии 1.0.1, а в бекпортах 1.1.2, хочется же последний, поэтому ставить буду из testing (или можно из unstable).

В файле /etc/apt/sources.list добавить строчку для testing:

deb http://ftp.us.debian.org/debian/ testing main contrib non-free

Сделать привязку к squeeze в /etc/apt/preferences или preferences.d, например, так

Package: *
Pin: release n=squeeze
Pin-Priority: 700

Package: *
Pin: release n=wheezy
Pin-Priority: -1

Далее установить редмайн командами

apt-get update
apt-get install mysql-server
apt-get install -t wheezy redmine redmine-mysql

Обновить придется половину системы, так что это будет уже не squeeze в чистом виде, но уж если хочется…

Теперь надо выдать через веб только что установленную систему. Есть множество способов это сделать, я использую apache+mod_fcgid

apt-get install apache2 libapache2-mod-fcgid libfcgi-ruby1.8

Создаем сайт для редмайна в /etc/apache2/sites-available/redmine с таким содержимым

SocketPath "/var/run/redmine/sockets/default"
<VirtualHost *:80>
  ServerName redmine.example.com
  DefaultInitEnv RAILS_RELATIVE_URL_ROOT ""
  DefaultInitEnv X_DEBIAN_SITEID "default"

  Alias "/plugin_assets/" /var/cache/redmine/default/plugin_assets/
  DocumentRoot /usr/share/redmine/public

  <Directory "/usr/share/redmine/public">
    Options +FollowSymLinks +ExecCGI
    Order allow,deny
    Allow from all
    RewriteEngine On
    RewriteRule ^$ index.html [QSA]
    RewriteRule ^([^.]+)$ $1.html [QSA]
    RewriteCond %{REQUEST_FILENAME} !-f [OR]
    RewriteCond %{REQUEST_FILENAME} dispatch.fcgi$
    RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
  </Directory>
</VirtualHost>

Включаем сайт

a2ensite redmine

и рерайты

a2enmod rewrite

правим права на некоторые каталоги

chown -R www-data /var/run/redmine

перезапустим апач

service apache2 restart

и можно заходить на свежеустановленный редмайн как admin / admin. Не забудьте поставить скин BaseCamp.