Потребовалось поставить на одном сервере redmine для управления проектами. Сказано — сделано 😉
Сначала ставим необходимые пакеты:
warehouse:~# apt-get install mysql-server ruby rubygems rails libcurl4-openssl-dev libssl-dev zlib1g-dev apache2-prefork-dev libapr1-dev libaprutil1-dev apache2 libapache2-mod-fastcgi libfcgi-ruby1.8 libmysql-ruby libopenssl-ruby1.8 ruby-dev ruby libzlib-ruby rdoc irb libmysql-ruby libopenssl-ruby1.8
Создадим каталог, в котором будет лежать redmine:
warehouse:~# mkdir /var/redmine
Качаем исходники:
warehouse:~# wget http://rubyforge.org/frs/download.php/74128/redmine-1.1.1.tar.gz
распаковываем архив:
warehouse:~# tar zxf redmine-1.1.1.tar.gz
копируем файлы в папку
warehouse:~# cp -r redmine-1.1.1/* /var/redmine/
Поставим недостающие компоненты:
warehouse:~# gem install rails -v=2.3.5
warehouse:~# gem install rails —include-dependencies
warehouse:~# gem install rack -v=1.0.1
warehouse:~# gem install -v=0.4.2 i18n
warehouse:~# gem install passenger
warehouse:~# gem install mysql
warehouse:~# cd /var/redmine
warehouse:/var/redmine# rake generate_session_store
Скопируем пример конфигурационного файла:
warehouse:/var/redmine# cp config/database.yml.example config/database.yml
Создадим базу данных и пользователя redmine в mysql:
warehouse:/var/redmine# mysql -u root -p
mysql> create database redmine character set utf8;
mysql> create user ‘redmine’@’localhost’ identified by ‘my_password’;
mysql> grant all privileges on redmine.* to ‘redmine’@’localhost’;
Сконфигурируем доступ redmine к mysql в секции production:
warehouse:/var/redmine# mcedit config/database.yml
и укажем там логин-пароль mysql
production:
adapter: mysql
database: redmine
host: localhost
username: root
password: my_password
encoding: utf8
Теперь выполняем следующее:
warehouse:/var/redmine# RAILS_ENV=production rake db:migrate
warehouse:/var/redmine# RAILS_ENV=production rake redmine:load_default_data
На вопрос о выборе языка я указал английский:
Select language: bg, bs, ca, cs, da, de, el, en, en-GB, es, eu, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] en
====================================
Default configuration data loaded.
И наконец запустим тестовый сервер
warehouse:/var/redmine# ruby script/server webrick -e production
=> Booting WEBrick
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
/var/redmine/config/../vendor/rails/railties/lib/rails/gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010. Use #requirement
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-03-11 22:09:12] INFO WEBrick 1.3.1
[2011-03-11 22:09:12] INFO ruby 1.8.7 (2010-08-16) [i486-linux]
[2011-03-11 22:09:18] INFO WEBrick::HTTPServer#start: pid=16467 port=3000
Как видно, всё прошло успешно и запустилось 🙂
Теперь вторая часть — прикрутим redmine к вебсерверу Apache.
Установим passenger:
warehouse:~# /var/lib/gems/1.8/bin/passenger-install-apache2-module
Установщик у него умный, если чего-то не будет хватать, он подскажет. В моём случае всё необходимое было установлено, поэтому он принялся за сборку модуля passenger для Apache.
После отработки установщика получится модуль апача, который предстоит прописать в конфигурационных файлах:
The Apache 2 module was successfully installed.
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-3.0.5/ext/apache2/mod_passenger.so
PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.5
PassengerRuby /usr/bin/ruby1.8
After you restart Apache, you are ready to deploy any number of Ruby on Rails
applications on Apache, without any further Ruby on Rails-specific configuration!
Press ENTER to continue.
Сделаем то, что просит установщик 🙂
warehouse:~# mcedit /etc/apache2/mods-available/passenger.load
и добавим туда строчку:
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-3.0.5/ext/apache2/mod_passenger.so
warehouse:~# mcedit /etc/apache2/mods-available/passenger.conf
и добавим туда строчки:
PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.5
PassengerRuby /usr/bin/ruby1.8
После этого активируем модуль passenger:
warehouse:~# a2enmod passenger
Теперь добавим ещё один виртуальный хост:
warehouse:~# mcedit /etc/apache2/sites-available/redmine.local
и поместим в файл следующие строчки:
<VirtualHost *:80>
ServerName redmine.local
DocumentRoot /var/redmine/public
<Directory /var/redmine/public>
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
Только не забываем указать ваш хост и путь до redmine.
Создаём символическую ссылку:
warehouse:~# ln /etc/apache2/sites-available/redmine.local /etc/apache2/sites-enabled/redmine.local
Разрешим загрузку модуля rewrite:
warehouse:~# ln /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
Последние штрихи:
warehouse:~# cp /var/redmine/public/htaccess.fcgi.example /var/redmine/public/.htaccess
warehouse:~# cp /var/redmine/public/dispatch.fcgi.example /var/redmine/public/dispatch.fcgi
Рестартуем апач:
warehouse:~# /etc/init.d/apache2 restart
И открываем redmine по указанному адресу. В моём случае это redmine.local. Теперь можно зайти в систему под администратором: логин — admin, пароль — admin. Пароль рекомендуется сменить 😉
На этом всё. Если у вас что-то не получилось в процессе установки — добро пожаловать в комментарии.
Автоматизация делопроизводства — задача не самая простая, но без этого в наше время никак. Приходится выкручиваться.