Устанавливаем 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.: теперь у вас есть свой инструмент для управления проектами.
Удачи)
Комментарии
Спасибо за статью!
ОтветитьПо данной инструкции получилось поставить на Debian 8. Единственное, что ещё нужно было поставить пакет apache2.2-common для запуска команды a2enmod.
А нет ли такого же грамотного мануала только по вытягиванию заявок с почты по pop3 или imap для гугловского, задача такова чтобы redmine вытаскивал письма как заявки с почты гугла.
Ответить