пятница, 19 июля 2013 г.

FreeBSD: некоторые замечания по настройке redmine+nginx+passenger

Во freebsd редмайн ставится просто - make -C /usr/ports/www/redmine install clean



Поставится в /usr/local/www/redmine, прямо туда можно и настроить nginx-passenger:
http {
...
passenger_root /usr/local/lib/ruby/gems/1.9/gems/passenger;
passenger_ruby /usr/local/bin/ruby;
...
server {
                charset utf-8;
                passenger_enabled on;
                root /usr/local/www/redmine/public;
                rails_env production;
}}

(если обновляли -- делаем по доке http://www.redmine.org/projects/redmine/wiki/RedmineUpgrade)

Теперь сами замечания.
1) после установки/обновления надо сделать
cd /usr/local/www/redmine
bundle install
это доставит не хватающие gem-ы

1.1) если будет ругаться
Installing pg (0.15.1) with native extensions</ br>
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /usr/local/bin/ruby19 extconf.rb
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
 --with-pg-config=/path/to/pg_config
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** extconf.rb failed ***</ br>
...
Gem files will remain installed in /usr/local/lib/ruby/gems/1.9/gems/pg-0.15.1 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.9/gems/pg-0.15.1/ext/gem_make.out
An error occurred while installing pg (0.15.1), and Bundler cannot continue.
Make sure that `gem install pg -v '0.15.1'` succeeds before bundling.
значит надо открыть config/database.yml и убедиться, что там нету adapter: postgresql ИЛИ поставить этот самый postgresql + отметить его как нужный в www/redmine в make config

2) при перезапуске nginx может говорить
Starting nginx.
nginx: [alert] Unable to start the Phusion Passenger watchdog because it encountered the following error during startup: Unable to start the Phusion Passenger logging agent: it seems to have crashed during startup for an unknown reason, with exit code 1 (-1: Unknown error)
это бажная версия Phusion Passenger, надо обновляться.

3) при установке в лог писало (log/production.log), а после запуска -- нет.
Надо проверить, от кого работает nginx, потому что без явно прописанного юзера он работает от nobody (ставим на log 2777 и на сам лог 777 - должен начать писать) + будет еще проблема
ActionView::Template::Error (Permission denied - /usr/local/www/redmine/tmp/cache/900):
если не менять юзера у nginx, правим так:
chmod 2777 /usr/local/www/redmine/tmp/cache/

4) также с files - если не работает аплоад, надо поставить 2777 на files, потому что владелец будет nobody, несмотря на user www www; nginx reload

5) если собираетесь пускать через webrick/thin, не забываем создать юзера redmine
хотя redmine варианты запуска -- вебрик действительно проблемен (был на тот момент точно, аптайм сервиса был стабильно менее суток)

не забываем 
rake generate_secret_token (если обновлялись с 1.2 и менее)
rake db:migrate RAILS_ENV=production

1 комментарий:

  1. Спасибо за подсказку. В ответ в вашу копилку полезностей рекомендую таймер RMClient для Redmine. Считаю очень нужная программа для тех, кто планирует проекты с помощью Redmine. Нашел тут: http://rmclient.org

    ОтветитьУдалить