Устанавливаем Redmine 3.x на Ubuntu 14.04 с Apache2 через Phusion Passenger.

Сам Redmine работает на Ruby on Rails, как установить можно прочитать по ссылке: Установка Ruby & Rails.

Пользователь redmine

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

sudo adduser --system --shell /bin/bash --gecos 'Redmine Administrator' --group --disabled-password --home /opt/redmine redmine

Visudo configuration

sudo visudo

Добавляем следующие строки

# temp - *REMOVE* after installation
redmine    ALL=(ALL)      NOPASSWD:ALL

Обратите внимание, что пользователь Redmine будет иметь возможность запускать команды root, но это только для упрощения последующих шагов. Удалите эту строку после установки.

Установка Redmine

Подготовка

Авторизируемся пользователем redmine и установим для него rvm:

sudo su - redmine
gpg --keyserver hkp://pgp.mit.edu --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable
exit

Разлогинились, теперь снова логинимся и устанавливаем ruby:

sudo su - redmine
rvm install 2.2.4
exit

Redmine

Пример для релиза 3.2.2, измените номер версии для другого релиза:

sudo su - redmine
wget http://www.redmine.org/releases/redmine-3.2.2.tar.gz
tar zxf redmine-3.2.2.tar.gz
rm redmine-3.2.2.tar.gz
ln -s /opt/redmine/redmine-3.2.2 redmine
exit

MySQL

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

sudo mysql -u root -p
CREATE DATABASE redmine character SET utf8;
CREATE user 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL privileges ON redmine.* TO 'redmine'@'localhost';
exit

Сконфигурируем подключение к базе данных:

sudo su - redmine
cp redmine/config/database.yml.example redmine/config/database.yml

Редактируем конфиг Redmine для соединения с БД:

sudo mcedit redmine/config/database.yml

Изменяем имя пользователя и пароль:

database.yml:
production:
 adapter: mysql2
 database: redmine
 host: localhost
 username: redmine
 password: my_password
 encoding: utf8

Инициализация Redmine

gem install bundler
cd redmine/
bundle install --without development test postgresql sqlite
rake generate_secret_token
RAILS_ENV=production rake db:migrate 
RAILS_ENV=production rake redmine:load_default_data
exit

Если возникли проблемы при установке бандлов, возможно у вас что то не установлено в системе,

у меня не хватало 2-3 программ, устанавливаем их:

sudo apt-get install libmagickcore-dev libmagickwand-dev libmysqlclient-dev

После снова пытаемся установить бандлы:

bundle install --without development test postgresql sqlite

Успешная установка бандлов выглядит примерно так:

Продолжаем выполнять настройку конфигурации.

Если видим ошибку при выполнении команды rake generate_secret_token:

То открываем файл зависимостей на редактирование:

mcedit /opt/redmine/redmine/Gemfile.lock

Находим в нем строку с htmlentities 4.3.1 и заменяем на 4.3.4

Если встречаем ошибку:

redmine@nout:~/redmine$ rake generate_secret_token
[DEPRECATION] `last_comment` is deprecated.  Please use `last_description` instead.

Находим в /opt/redmine/redmine/Gemfile.lock, rake 11.1.2 (в моем случае) и заменяем на 10.4.2

Удаляем root права у пользователя redmine

sudo visudo

Удаляем следующие записи:

# temp - *REMOVE* after installation
redmine    ALL=(ALL)      NOPASSWD:ALL

Установка Phusion Passenger

Добавление репозитория:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7
sudo apt-get install apt-transport-https ca-certificates

Открываем конфиг файл репозитория:

sudo nano /etc/apt/sources.list.d/passenger.list

Добавляем в /etc/apt/sources.list.d/passenger.list адрес репозитория:

deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main

Прописываем пользователя и права доступа к файлу:

sudo chown root: /etc/apt/sources.list.d/passenger.list
sudo chmod 600 /etc/apt/sources.list.d/passenger.list

Устанавливаем сам Phusion Passenger:

sudo apt-get update
sudo apt-get install libapache2-mod-passenger

Настройка Passenger

Конфигурируем Passenger:

sudo nano /etc/apache2/mods-available/passenger.conf

Добавляем следующие строки в файл конфигурации:

PassengerUserSwitching on
PassengerUser redmine
PassengerGroup redmine

Открываем файл конфига виртуал хоста апача:

sudo nano /etc/apache2/sites-available/000-default.conf

Добавляем следующий блок в конфиг файл:

<Directory /var/www/html/redmine>
    RailsBaseURI /redmine
    PassengerResolveSymlinksInDocumentRoot on
</Directory>

Включаем passenger, добавляем ссылку на redmine и перезапускаем apache2:

sudo a2enmod passenger
sudo ln -s /opt/redmine/redmine/public/ /var/www/html/redmine
sudo service apache2 restart

Генерируем новый секретный ключ, подчищаем сессии и кеш:

sudo su - redmine
cd redmine
rake generate_secret_token
rake db:migrate RAILS_ENV=production
rake redmine:plugins:migrate RAILS_ENV=production
rake tmp:cache:clear
rake tmp:sessions:clear
exit

Запуск redmine

http://localhost/redmine

Данные для входа:

Username: admin
Password: admin

Почта. Отправка уведомлений на почту в Redmine

Настроим redmine на отправку почты через Google mail (Gmail).

Создадим конфиг:

sudo su - redmine
cd redmine/config
cp ./configuration.yml.example ./configuration.yml

Добавим в конфиг настройки:

nano ./configuration.yml

В конце файла добавляем секцию production со своим логином и паролем для gmail:

production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      enable_starttls_auto: true
      address: "smtp.gmail.com" 
      port: '587'
      domain: "smtp.gmail.com" 
      authentication: :plain
      user_name: "your_email@gmail.com" 
      password: "your_password"

Разлогиниваемся из под пользователя redmine и перезапускаем apache2:

exit
sudo service apache2 restart

Проверить работоспособность почты можно на вкладке: http://localhost/redmine/settings?tab=notifications

На этой вкладке внизу есть ссылка для тестовой отправки емейла.

Если вы зашли на эту вкладку или после настроек сайт перестал работать, скорей всего вы неправильно отформатировали конфиг, отступы играют роль!

P.S.: теперь у вас есть свой инструмент для управления проектами.

Удачи)