Устанавливаем Redmine 2.2.2 + Passenger на FreeBsd 9.1

в 15:37, , рубрики: freebsd, системное администрирование, метки:

На великих просторах интернета найти нужную мне информацию так и не удалось, а оффициальный сайт redmine мне гордо сказал «Not found». Немного погуглив таки смог установить и запустить, и даже зайти на это чудо управлением проектами. Мануал писал под себя, но учитывая мои поиски решил таки выложить.

1. Начинаем с малого

Установка Ruby и gem:

cd /usr/ports/lang/ruby18/ && make install clean
cd /usr/ports/devel/ruby-gems && make install clean

Проблем тут быть не должно.

2. Пригласим Redmine

Были варианты поставить 2.0, так как для него есть внятные маны… но нет.
Тянем что посвежее:

cd /www
svn co http://svn.redmine.org/redmine/branches/2.2-stable redmine

3. Также менеджер bundler

gem install bundler

Самое легкое закончилось.

4. Попытки №1-4

cd /www/redmine/
bundle install --without development test postgresql sqlite

Сразу могу сказать что должно выдать ошибку. Хотя может только я такой счастливчик.
Точно какую не скажу и у меня их много было, но как оказалось все и за того что я не выполнил две маленькие команды:

cd /usr/ports/graphics/ImageMagick && make install clean
cd /usr/ports/ftp/curl && make install clean

Всегда смотрите на проблему со стороны, то я все зависимости пытался ставить отдельно, вовремя одумался.

5.httpd.conf для Apache

Маны по apache и mysql не пишу так как проблем с ними не было.
Инсталим модули

gem install passenger
passenger-install-apache2-module

Тут нам предлагают поправить httpd.conf и дописать строчки:

LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.19
PassengerRuby /usr/local/bin/ruby18

Не вижу причин не доверять:

vi /usr/local/etc/apache22/httpd.conf

Вставляем после всех LoadModule для красоты:

...
LoadModule php5_module        libexec/apache22/libphp5.so
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.19
PassengerRuby /usr/local/bin/ruby18

<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
...

6. Правим виртуальниый хост

vi /usr/local/etc/apache22/Includes/jff

Кстати, вызвало больше всего проблем, так как разные мануалы трактуют написание конфига по своему.

<VirtualHost *:80>
 DocumentRoot /www/
...
PassengerAppRoot /www/redmine
RailsBaseURI /redmine
Alias /redmine /www/redmine/public
<Directory "/www/redmine/public">
  RailsEnv production
  Options Indexes ExecCGI FollowSymLinks
  AllowOverride all
  Order allow,deny
  Allow from all
</Directory>
...

P.S. Не претендует на звание лучшего решения.

7. Создаем юзера и базу данных

mysql -uroot -p -e 'create database redmine character set utf8; grant all on redmine.* to redmine@localhost identified by "passwd";flush privileges' ;

8. Конфиг db для redmine

mv /www/redmine/config/database.yml.example /www/redmine/config/database.yml
vi /www/redmine/config/database.yml

Меняем только для production, остальное нам не надо:

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: redmine
  password: "*************"
  encoding: utf8

Дело за малым.
Генерируем ключи:

rake generate_secret_token

Мигрируем и заполняем таблицы:

rake db:migrate
rake redmine:load_default_data

Рестартуем Apache:

/usr/local/etc/rc.d/apache22 restart

9. Конец?

Ну у меня больше проблем не было, так что я зашел в свой любимый браузер и залогинился под admin/admin:

http://example.com/redmine

P.S Более изящные решения приветствуются

Автор: plejik

Источник

Поделиться

* - обязательные к заполнению поля