Системное администрирование Устанавливаем Redmine на Ubuntu Server 10.04

Redmine — это довольно неплохой свободный баг-трекер, который позволяет управлять проектами и отслеживать выполнение задач. Redmine написан на Ruby, поэтому для его запуска нам понадобится mod_passenger для веб-сервера Apache или Nginx. Баг-трекер может работать с различными базами данных (например, с MySQL и sqlite), со многими популярными системами управления версиями (например, с svn и git). Но сегодня я рассмотрю вариант запуска Redmine на связке Apache + mod_passenger + MySQL.

Установка Redmine в Ubuntu довольно проста. Нужно выполнить следующую команду:

sudo aptitude install redmine

Установщик спросит, какую базу данных мы будем использовать. Выбираем MySQL. Вместе с Redmine из репозитория вытянутся пакеты с Ruby On Rails, а также модуль mod_passenger для Apache (libapache2-mod-passenger) и пакет redmine-mysql.

Стоит обратить внимание, что несмотря на то, что модуль mod_passenger установился, он отключен. Поэтому включаем его следующими командами:

sudo a2enmod passenger
sudo service apache2 restart

Далее нужно настроить виртуальный хост веб-сервера Apache, на котором будет обрабатывать запросы веб-приложение. Содержимое этого файла будет примерно таким:

<VirtualHost *:80>
	ServerName redmine.example.org
	RailsEnv production
	SetEnv X_DEBIAN_SITEID "default"
	Alias "/redmine/plugin_assets/" /var/cache/redmine/default/plugin_assets/
	DocumentRoot /usr/share/redmine/public
	<Directory "/usr/share/redmine/public">
		Order allow,deny
		Allow from all
	</Directory>
</VirtualHost>

Вместо redmine.example.org следует подставить нужное имя хоста. После настройки веб-сервера не забываем его перезапустить, и кажется, что задача решена и redmine установлен. Однако пакет redmine в репозиториях Ubuntu может иметь дефект, при котором при попытке обращения к веб-приложению мы можем получить ошибку «Permission denied — /etc/redmine/default/session.yml».

Пожалуй, самый простой способ обхода этой ошибки, связанной с правами на файлы, это добавление строки с явным указанием директивы PassengerDefaultUser в файл /etc/apache2/mods-available/passenger.conf. Файл после модификации должен выглядеть примерно следующим образом:

<IfModule mod_passenger.c>
    PassengerRoot /usr
    PassengerRuby /usr/bin/ruby
    PassengerDefaultUser www-data
</IfModule>

На этом установку Redmine на связке Apache + mod_passenger + MySQL можно считать завершенной. Далее следует настраиваить сам Redmine, заводить в нем проекты и новые задачи.

P.S. Это неочевидно, но для первоначального входа в админку Redmine через веб-интерфейс нужно использовать логин и пароль admin/admin.