Установка Redmine, Mongrel Cluster,Apache, на FreeBSD

Требовалось поставить Ruby on Rails на FreeBSD. Это пришлось делать из-за того что захотелось иметь свой систему контроля версий Redmine. А она оказалось работает именно на Ruby on Rails. Запасаемся терпением и начнем. Обновляем порты. Кто как хочет а я обновляю так:

portsnap fetch extract
portsnap fetch update
Устанавливаем Redmine

cd /usr/ports/www/redmine; make install clean


Устанавливаем Mongrel cluster

cd /usr/ports/www/rybygen-mongrel_cluster; make install clean
Устанавливаем Apache

cd /usr/ports/www/apache22; make install clean
Устанавливаем mysql

cd /usr/ports/databases/mysql50-server/
Прописываем автозапуск mysql в /etc/rc.conf

mysql_enable="YES"
Стартуем mysql

/usr/local/etc/rc.d/mysql-server start
Устанавливаем пользователя mysql для доступа из Redmine

create database redmine character set utf8;
grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'password';
Конфигурируем Redmine

cd /usr/local/www/redmine/
vi config/database.yml
Файл database.yml настройка доступа к базе. пример

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: redmine
  password: password
  encoding: utf8
Запускаем Redmine

cd /usr/local/www/redmine/
rake generate_session_store
rake db:migrate RAILS_ENV="production"
rake redmine:load_default_data RAILS_ENV="production"
chown -R www:www files log tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets
Запускаем WEBrick:

cd /usr/local/www/redmine/
ruby script/server -b 0.0.0.0 -p 3000 -e production
Получаем доступ к системе по адресу http://localhost:3000 Запускам кластер Mongre

mkdir /usr/local/etc/mongrel_cluster
touch /usr/local/etc/mongrel_cluster/redmine.yml
Пример /usr/local/etc/mongrel_cluster/redmine.yml:

user: www
cwd: /usr/local/www/redmine
log_file: log/mongrel.log
port: "10000"
environment: production
group: www
address: 127.0.0.1
pid_file: tmp/pids/mongrel.pid
servers: 3
Создается 3 сервера с портами 10000, 10001, 10002 прикрепленные к адресу 127.0.0.1 Запуск Mongre Cluster

mongrel_rails cluster::start -C /usr/local/etc/mongrel_cluster/redmine.yml
Остановка

mongrel_rails cluster::stop -C /usr/local/etc/mongrel_cluster/redmine.yml
Перезапуск

mongrel_rails cluster::restart -C /usr/local/etc/mongrel_cluster/redmine.yml
Подключаем рельсы к апачу

vi /usr/local/etc/apache22/extra/httpd-redmine.conf
пример конфига

<VirtualHost *:80>
  ServerName balance.example.com
  <Location />
    SetHandler balancer-manager
    Deny from all
    Allow from 192.168.0.0/24
  </Location>
</VirtualHost>
 
<Proxy balancer://redmine>
    BalancerMember http://127.0.0.1:10000
    BalancerMember http://127.0.0.1:10001
    BalancerMember http://127.0.0.1:10002
</Proxy>
 
<VirtualHost *:80>
       ServerName redmine.example.com
       ProxyRequests Off
       ProxyPass / balancer://redmine/
       ProxyPassReverse / balancer://redmine/
       RewriteEngine On
       RewriteRule ^/(.*) balancer://redmine/$1 [L,P]
</VirtualHost>
Заходим на balance.example.com и смотрим как работает. Заходим на redmine.example.com и смотрим как работает. Наслаждаемся рабочей системой. UPD. После получения комментариев решил выложить то как в конце концов я запустил redmine использовал запуск через FastCGI. Мне это пришлось сделать из-за того что у меня на хостинге не было возможностит запустить PROXY режим apache. Пришлось изгаляться через FastCGI. Настройка VIRTUAL HOST

<VirtualHost *:80>
  ServerName redmine.example.com
    DocumentRoot  /usr/local/www/redmine/public/
       <Directory "/usr/local/www/redmine/public/">
            Options +Indexes +ExecCGI FollowSymLinks
            Order allow,deny
            Allow from all
            AllowOverride all
        </Directory>

</VirtualHost>
В каталоге /usr/local/www/redmine/public написал .htaccess file

AddHandler fastcgi-script .fcgi
Options +FollowSymLinks +ExecCGI
RewriteEngine On
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
Вообщем так у меня он запустился