Как то раз, в один прекрасный день возникла задача установить систему управления проектами. Выбор упал на Redmine. Ею пользуются многие, и она себя зарекомендовала с хорошей стороны. Очень удобная система постановки задач по проектам, их отслеживания и т.п. "вкусности". Но разговор не о самой системе, а о том как ее установить на FreeBSD...
Система, как я уже писал, FreeBSD 8.2, Apache 2.2, MySQL 5.5. Далее изложение в виде плана установки, чтобы меньше "воды", а больше дела.
1. Скачиваем последнюю версию Redmine 1.2
svn co http://redmine.rubyforge.org/svn/branches/1.2-stable /usr/local/www/redmine
2. Устанавливаем Ruby 1.8.7
cd /usr/ports/lang/ruby18 && make install clean
3. Скачиваем и устанавливаем RubyGems 1.6.2
wget http://production.cf.rubygems.org/rubygems/rubygems-1.6.2.tgz
распаковываем и запускаем
ruby setup.rb
4. Создаем симлинк
ln -s /usr/local/bin/gem18 /usr/local/bin/gem
5. Устанавливаем gem-ы
gem install rake -v=0.8.7
gem install rack -v=1.1.2
gem install mongrel -v=1.1.5
gem install i18n -v=0.4.2
gem install rails -v=2.3.11
gem install mysql
и два "камушка" из портов:
/usr/ports/converters/ruby-iconv
/usr/ports/www/ruby-fcgi
6. Создаем базу MySQL
create database redmine character set utf8;
create user 'redmine'@'localhost' identified by 'password';
grant all privileges on redmine.* to 'redmine'@'localhost';
7. Изменяем файл конфигурации Redmine config/database.yml
production:
adapter: mysql
database: redmine
host: localhost
username: redmine
password: password
8. Даем права доступа на каталоги:
sudo chown -R www:www files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets
9. Теперь выполним две команды. Создадим хранилище сеансов и структуру базы данных:
rake generate_session_store
RAILS_ENV=production rake db:migrate
10. Запустим сервер средствами самого ruby
ruby script/server webrick -e production
Сервер запустится и будет доступен по адресу: http://0.0.0.0:3000
login: admin
password: admin
11. Выключаем сервер Ruby (он нам в принципе и не нужен) и, если еще не установлен, устанавливаем модуль FastCGI для Apache
cd /usr/ports/www/mod_fastcgi && make install clean
Вносим изменения в конфигурационный файл Apache
LoadModule fastcgi_module libexec/apache22/mod_fastcgi.so
<IfModule mod_fastcgi.c>
FastCgiIpcDir /var/run/fastcgi
</IfModule>
И, если у Вас отдельный файл виртуального хоста:
DocumentRoot /usr/local/www/redmine/public
FastCgiServer /usr/local/www/redmine/public/dispatch.fcgi -idle-timeout 120 -initial-env RAILS_ENV=production -initial-env PATH=/usr/local/bin -processes 2
<Directory /usr/local/www/redmine/public/>
AddHandler fastcgi-script fcgi
Order allow,deny
Allow from all
AllowOverride all
Options +FollowSymLinks +ExecCGI
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi
</Directory>
12. Запускаем Apache. Если все в порядке и Apache при старте не ругался, то в этом каталоге /var/run/fastcgi будет лежать файл, который создал FastCGI. Заходим уже стандартно, через Apache, так сказать, на сервер Redmine и начинаем с ним работать.
P.S.
http://www.redmine.org/projects/redmine/wiki/RedmineInstall - официальный гайд по установке Redmine
http://www.redmine.org/projects/redmine/wiki/HowTo_configure_Apache_to_run_Redmine - HowTo configure Apache to run Redmine