FastNetMon

Saturday, 31 July 2010

Установка RedMine 1.0 с интеграцией в svn на Debian 5 Lenny на Passenger

Что это такое и зачем нужно подробно можно прочесть здесь: http://www.redmine.org/projects/redmine/wiki


mkdir /opt/redmine
cd /opt/redmine
wget http://rubyforge.org/frs/download.php/71723/redmine-1.0.0.tar.gz
tar -xf redmine-1.0.0.tar.gz


Удаляем дистрибутив и изменяем имя папки:
rm -f redmine-1.0.0.tar.gz
mv redmine-1.0.0/* ./
rm -r redmine-1.0.0


Теперь можем прочесть инструкцию по установке:
vi doc/INSTALL


Ставим зависимости:
apt-get install -y ruby librmagick-ruby1.8 rubygems1.8 libmysql-ruby libopenssl-ruby subversion ruby-dev libfcgi-dev g++


Создаем бд redmine с пользователем redmineuser и заданным паролем по этому мануалу: http://phpsuxx.blogspot.com/2009/12/mysql-debian5-lenny.html

Перемещаем конфиг БД:

mv config/database.yml.example config/database.yml


Открываем конфиг БД:
vi config/database.yml


Ищем там блок "production" и там указываем имя БД, имя юзера и пароль к только что созданной базе.

При установке gem`ов может вывалиться ошибка про 301 move permanently, вот так ее фиксить:
http://phpsuxx.blogspot.com/2010/08/error-while-executing-gem-bad-response.html

Ставим ряд необходимых расширений:

gem install rake
gem install rack --version=1.0.1
gem install test-spec
gem install camping
gem install fcgi
gem install memcache-client
gem install mongrel
gem install --version=2.0.1 ruby-openid
gem install thin


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

/var/lib/gems/1.8/bin/rake generate_session_store


Создаем структуру базы данных:

/var/lib/gems/1.8/bin/rake db:migrate RAILS_ENV="production"


Если же юзать rake из репозитория, то будет выдана ошибка:
rake aborted!
undefined method `reenable' for [environment]>:Rake::Task


Конфигурируем почту:

mv config/email.yml.example config/email.yml
vi config/email.yml


И там приводим блок production в следующий вид:
production:
delivery_method: :sendmail
smtp_settings:
address: 127.0.0.1
port: 25
domain: example.net
authentication: :none
user_name: "redmine@example.net"
password: "redmine"


Создаем юзера для работы redmine:
useradd redmine


Создаем папки необходимые для работы RedMine:
mkdir -p tmp public/plugin_assets
chown -R redmine:redmine files log tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets


Зааааапускаем:

su redmine
ruby script/server -e production


Открываем бразуре страницу: http://xx.xx.xx:3000 и логинимся под паролем admin / admin :)

После этого нужно выполнить первичную инициализацию, для этого идем на вкладку Administration и выбираем кнопочку "Load the default configuration data (roles, trackers, statuses, workflow) and to adjust the application settings". Все, на этом установка закончена.

Далее рекомендую сделать следующее - Administration - Settings - Authentication - Self-registration - Disabled, это запретит возможность регистрации сторонних юзеров в баг-трекере. Также на той же вкладке рекомендую поставить "Autologin", 7 days, чтобы каждый раз не вводить пароль. Также еще стоит снять галочку "Lost password", чтобы запретить восстановление паролей. Также на вкладке General я бы рекомендовал увеличить размер аттача, "Attachment max. size" 51200. Также я бы рекомендовал отключить уведомления о своих же правках тикетов, для этого идем в "My account", а далее снимаем галочку с " I don't want to be notified of changes that I make myself".

Но использовать такую связку в продакшене я бы не рекомендовал, для этого лучше использовать mod_passenger, установку которого я описал в следующей статье: http://phpsuxx.blogspot.com/2010/08/passenger-modrails-debian-5-lenny.html

Также я бы рекомендовал переключить Апача в режим "только https".

Для этого выполняем на машине с уже настроенным Passanger следующее:


a2enmod ssl
/etc/init.d/apache2 restart


Далее ставим пэкадж, который сгенерирует самоподписные SSL сертификаты (подробности в /usr/share/doc/apache2.2-common/README.Debian.gz):
apt-get install -y ssl-cert


Далее корректируем конфиг vhost панельки:

vi /etc/apache2/sites-enabled/000-default


Добавляем туда следующее:



<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

DocumentRoot /opt/redmine/public
<Directory /opt/redmine/public>
AllowOverride None
</Directory>
</VirtualHost>



И перезапускаем Апача:
/etc/init.d/apache2 restart


После этого идем в настройки RedMine - Administration - Settings - Protocol - HTTPS. Это сделает все письма в почте https ными.

Update:
и вполне оправданное не работает:

Protocol used to generate links in email notifications. Default: http

Links in email are "guessed", but can't determine whether you're using an unsecure web server (http) or a secure one (https -> http over SSL).

5 comments :

  1. Проделал все описание, в результате работает, но, думаю, еще нужен тюнинг. :)

    Сейчас есть такие вопросы:
    1. Как можно сделать анонимный доступ к репозиторию по https?
    2. Может вам попадалось howto по обновлению ruby, которое удовлетворит redmine?
    3. Первая загрузка страницы после запуска сервера страшно тормозит. Это нормально или ...?
    4. Есть перманентный процесс ruby1.8, запущенный из под root'a и кушающий 15-20% CPU на виртуалке и еще не мало памяти. Грешу на fastCgi, но вдруг это что-то лишнее? Да, при открытии страницы запускается еще один процесс ruby1.8 уже из под пользователя redmine.
    5. В системе живет несколько процессов apache2, один root'овый, остальные - www-data.

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

    ReplyDelete
  2. вот еще один неплохой мануал :

    http://chodex.ru/install-redmine-on-debian-5/

    PS по нему ставил, а по твоему допиливал =))

    ReplyDelete
  3. Сори, что отвечаю поздно, заработался :(

    1. Как можно сделать анонимный доступ к репозиторию по https?

    Не знаю, к сожалению, нужно поколдовать с настройками WebDAV.

    2. Может вам попадалось howto по обновлению ruby, которое удовлетворит redmine?

    Стандартный Руби из Дебияна его удовлетворяет. Обновлять крайне не рекомендую.

    3. Первая загрузка страницы после запуска сервера страшно тормозит. Это нормально или ...?

    Не обращал внимания, у нас такого не было.

    4. Есть перманентный процесс ruby1.8, запущенный из под root'a и кушающий 15-20% CPU на виртуалке и еще не мало памяти. Грешу на fastCgi, но вдруг это что-то лишнее? Да, при открытии страницы запускается еще один процесс ruby1.8 уже из под пользователя redmine.

    Это нормально.

    5. В системе живет несколько процессов apache2, один root'овый, остальные - www-data.

    Это тоже :)

    ReplyDelete
  4. Здравствуйте, я только учусь linux и посему будет глупый вопрос:
    Я в точности следовал инструкции и безболезненно проследовал до шага генерации секретного ключа сессии, но вдруг обнаружилось что у меня нет папки /var/lib/gems/1.8/bin
    Подскажите, пожалуйста, что мне делать?
    Спасибо.

    ReplyDelete
  5. Скорее всего. 1.8 в пути нужно заменить на 1.9.

    ReplyDelete

Note: only a member of this blog may post a comment.