Pull to refresh

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

Reading time3 min
Views17K
На великих просторах интернета найти нужную мне информацию так и не удалось, а оффициальный сайт 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

P.S. Спасибо sistemshik за замечание по поводу устранения не нужных проблем с установкой redmine и лишних программ. Отключаем ImageMagick та как он скорее всего большbнству не нужен.Wiki redmine
cd /www/redmine/
bundle install --without development test postgresql sqlite rmagick

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

Но если вдруг вы не указали rmagick тогда:
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


Правка . Никто не правит молодого и неопытного. Допустил ошибку, из за чего все время попадал только на redmine.
Исправляемся:
<VirtualHost *:80>
 DocumentRoot /www/
...
 <Directory /www/redmine>
PassengerAppRoot /www/redmine
    RailsBaseURI /redmine
    PassengerResolveSymlinksInDocumentRoot on
</Directory>
</VirtualHost>

Теперь и example.com/cacti и example.com/nagios вернулись.
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

Дело за малым.
Спасибо Helsus за:
setenv RAILS_ENV production

Перед операциями с базой.
Переходи в папку с redmine:
cd /www/redmine

Генерируем ключи:
rake generate_secret_token

Проходя по установке наткнулся на:
rake generate_secret_token
rake aborted!
no such file to load -- iconv
/www/redmine/lib/tasks/migrate_from_mantis.rake:21:in `require'
/www/redmine/lib/tasks/migrate_from_mantis.rake:21
/www/redmine/Rakefile:7
(See full trace by running task with --trace)


Упс, забыли поставить ruby-iconv. Ставим:
cd /usr/ports/converters/ruby-iconv  && make install clean

Мигрируем и заполняем таблицы:
rake db:migrate
rake redmine:load_default_data

Права на redmine Индейцу:
chown -R www:www ./redmine

Рестартуем Apache:
/usr/local/etc/rc.d/apache22 restart

9. Конец?

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

P.S Более изящные решения приветствуются
Tags:
Hubs:
+2
Comments17

Articles