Подробно рассказывать о системе управления проектами Redmine не буду, так как уже делал это ранее. Можете почитать о первом опыте внедрения. В той реализации остались некоторые неточности и узкие места. Кроме того планировался переезд на любимую FreeBSD. Изучив информацию узнал что можно реализовать запуск Redmine на чистом NGinx с модулем passenger. Подробных инструкций не нашел и решил написать свою. Будем считать (а в моём случае так и было 🙂 ) что система чистая и на ней ничего до этого не устанавливалось.
1) Обновляем порты
# portsnap fetch # portsnap extract
2) Устанавливаем NGinx
# cd /usr/ports/www/nginx # make config-recursive
Из настроек я выбрал собственно PASSENGER
# make && make install && make clean # echo 'nginx_enable="YES"' >> /etc/rc.conf # /usr/local/etc/rc.d/nginx restart
3) Установка Redmine
а) Настраиваем и ставим rubygem-passenger
# cd /usr/ports/www/rubygem-passenger && make config
Выбираем NGINX
# make -DBATCH install clean
б) Настраиваем и ставим rubygem-rails4
# cd /usr/ports/www/rubygem-rails4 && make config
Выбираем PASSENGER
# make -DBATCH install clean
в) Настраиваем и ставим сам Redmine
# cd /usr/ports/www/redmine # make config
Из опций я выбрал MYSQL, так как использую именно его, и RMAGIC. Диаграммы Ганта пригодятся
В качестве сервера выбираем PASSENGER и снимаем выделение с THIN.
# make -DBATCH install clean
После установки находим root-каталог для passenger
# rehash # passenger-config --root /usr/local/lib/ruby/gems/2.2/gems/passenger-5.0.30
и добавляем в конфиг nginx-a в секцию http следующее
include /usr/local/etc/nginx/conf.d/*.conf; passenger_root /usr/local/lib/ruby/gems/2.2/gems/passenger-5.0.30; passenger_ruby /usr/local/bin/ruby22; passenger_user redmine; passenger_group redmine;
Создаём каталог, в котором будут храниться конфигурации хостов для NGinx
# mkdir /usr/local/etc/nginx/conf.d/
4) Установка MySQL и создание базы/пользователя
# cd /usr/ports/databases/mysql56-server/ # make -DBATCH install clean
После установки
# rehash
# echo 'mysql_enable="YES"' >> /etc/rc.conf
# /usr/local/etc/rc.d/mysql-server restart
mysql not running? (check /var/db/mysql/tradenark.com.ua.pid).
Starting mysql.
# mysql_secure_installation
...
# mysql -uroot -p
Password:
mysql> CREATE DATABASE redmine CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'Password_for_redmine_db';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> \q
Bye
4) Конфигурация реймайна
# cd /usr/local/www/redmine/
Настраиваем связь с БД
# cat config/database.yml | grep -v "#"
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "Password_for_redmine_db"
encoding: utf8
Подготовка
# gem install bundler # bundle install --without development test # bundle exec rake generate_secret_token # RAILS_ENV=production bundle exec rake db:migrate
Ну и конфиг хоста для NGinx-a
# cat /usr/local/etc/nginx/conf.d/redmine.conf server { server_name redmine.tradenark.com.ua; listen 80; access_log /var/log/nginx/redmine.tradenark.com.ua_access.log; error_log /var/log/nginx/redmine.tradenark.com.ua_error.log; root /usr/local/www/redmine/public; client_max_body_size 64m; passenger_enabled on; charset utf-8; rails_env production; }
Проверяем настройки и применяем их
# nginx -t nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful # nginx -s reload
Переходим по указанному нами адресу и пользуемся Redmine.
Побольше вам успешных проектов!