- #apt-get install mysql-server rails lighttpd
- #apt-get install librmagick-ruby
- #apt-get install libmysql-ruby
- #apt-get install subversion git-core
- #apt-get install libfcgi-ruby1.8
Создаем пользователя и базу:
- # mysql -p
- Enter password:
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 63
- Server version: 5.1.47-1 (Debian)
- Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
- This software comes with ABSOLUTELY NO WARRANTY. This is free software,
- and you are welcome to modify and redistribute it under the GPL v2 license
- Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
- mysql> create database redmine character set utf8;
- Query OK, 1 row affected (0.08 sec)
- mysql> create user 'redmine'@'localhost' identified by 'password';
- Query OK, 0 rows affected (0.47 sec)
- mysql> grant all privileges on redmine.* to 'redmine'@'localhost';
- Query OK, 0 rows affected (0.01 sec)
Добавляем системного пользователя redmine:
- #adduser --disabled-password redmine
- #su redmine
Качаем релиз wget'ом redmine (я работал с версией redmine-0.9.4.tar.gz).
Распаковываем содержимое в ~/redmine (tar zxf)
Создаем файл redmine*/config/database.yml (можно скопировать из примера):
- production:
- adapter: mysql
- database: redmine
- host: localhost
- username: rbuser
- password: password
- encoding: utf8
Генерируем секретный ключ сессий.
- ~/redmine$ rake generate_session_store
- (in /home/redmine/redmine)
Заполняем базу данных.
- ~/redmine$ RAILS_ENV=production rake db:migrate
- (in /home/redmine/redmine)
- rake aborted!
- Could not find RubyGem rack (~> 1.0.1)
Я получил такую ошибку.
- #gem install rack -v 1.0.1
- Successfully installed rack-1.0.1
- 1 gem installed
- Installing ri documentation for rack-1.0.1...
- Installing RDoc documentation for rack-1.0.1...
Запускаем повторно из под пользователя redmine:
- #su redmine
- redmine@srv:/root$ cd ~/redmine/
- redmine@srv:~/redmine$ RAILS_ENV=production rake db:migrate
- (in /home/redmine/redmine)
Должно все успешно заполниться.
Настройка lighttpd.
Создаем файл /etc/lighttpd/conf-available/20-redmine.conf :
- /etc/lighttpd/conf-available# cat 20-redmine.conf
- server.modules += ( "mod_fastcgi" )
- $HTTP["url"] =~ "^/redmine/" {
- alias.url = ("/redmine" => "/home/redmine/redmine/public")
- server.document-root = "/home/redmine/redmine/public/"
- server.error-handler-404 = "/redmine/dispatch.fcgi"
- index-file.names = ("dispatch.fcgi")
- fastcgi.server += (
- ".fcgi" => (
- "localhost" => (
- "min-procs" => 1,
- "max-procs" => 2,
- "check-local" => "disable",
- "socket" => "/home/redmine/redmine/tmp/sockets/redmine_fcgi.socket" + var.PID,
- "bin-path" => "/home/redmine/redmine/public/dispatch.fcgi",
- "bin-environment" => (
- "RAILS_ENV" => "production",
- "RAILS_RELATIVE_URL_ROOT" => "/redmine",
- "RAILS_ROOT" => "/home/redmine/redmine"
- )
- )
- )
- )
- }
Включаем конфигурацию:
- #lighttpd-enable-mod redmine
Создаем файл:
- srv:/home/redmine/redmine/public# cp dispatch.fcgi.example dispatch.fcgi
- srv:/home/redmine/redmine/public# chmod +x dispatch.fcgi
Даем права пользователю www-data (запускает lighttpd)
- srv:/home/redmine#chown -R www-data:www-data redmine
Даем права на директории
- srv:/home/redmine#chmod 755 logs tmp files
Перезапускаем конфигурации lighttpd:
- #/etc/init.d/lighttpd force-reload
Заходим: http://srv/redmine/
По умолчанию, логин admin, пароль admin.
Если что-то пошло не так, смотрим логи:
- #tail -F /var/log/lighttpd/access.log /var/log/lighttpd/error.log /home/redmine/redmine/log/production.log
Заметил большое использование памяти redmine'ом (стоит на виртуалке с 256 Мб, забил всю память, даже svn info у него не работает - падает с ошибкой выделения памяти, поэтому выдавал ошибку при просмотре хранилища)
ОтветитьУдалитьВ dispatch.fcgi меняем
RailsFCGIHandler.process!
на
RailsFCGIHandler.process! nil, 10
уменьшило до 50 Мб оперативной и 200 Мб свапа.
вообще я так понял это общая проблема для Ruby On Rails приложений.
Кстати вот dispatch cgi для debian ( http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=585976) :
ОтветитьУдалитьrequire File.dirname(__FILE__) + "/../config/environment"
require 'fcgi_handler'
if ENV['RAILS_LOG']
RailsFCGIHandler.process! File.join(ENV['RAILS_LOG'], 'fastcgi.crash.log')
else
RailsFCGIHandler.process!
end
Все равно кушает 80 Мб в режиме ожидания, очень много для виртуалки с 256 Мб.
Выставил "max-procs" => 1, по началу кушает 80 Мб один процесс, потом со временем опускается до 1 Мб, при запросе главной страницы поднимается до 30 Мбит. В принципе, жить можно.
ОтветитьУдалитьсделал конфиг для ssl:
ОтветитьУдалить$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/lighttpd/ssl/site.pem"
$HTTP["host"] =~ "online.home.net" {
server.name = "online.home.net"
alias.url = ()
server.document-root = "/home/redmine/redmine/public/"
server.error-handler-404 = "/redmine/dispatch.fcgi"
index-file.names = ("dispatch.fcgi")
fastcgi.server = (
".fcgi" => (
"localhost" => (
"min-procs" => 1,
"max-procs" => 2,
"check-local" => "disable",
"socket" => "/home/redmine/redmine/tmp/sockets/redmine_fcgi.socket" + var.PID,
"bin-path" => "/home/redmine/redmine/public/dispatch.fcgi",
"bin-environment" => (
"RAILS_ENV" => "production",
"RAILS_RELATIVE_URL_ROOT" => "/redmine",
"RAILS_ROOT" => "/home/redmine/redmine"
)
)
)
)
}
вываливается с ошибкой: unexpected end-of-file (perhaps the fastcgi process died): pid: 5869 socket: unix:/home/redmine/redmine/tmp/sockets/redmine_fcgi.socket5862-1
подскажите пожалуйста, где копать?
пакет libfcgi-ruby1.8 стоит? в принципе, не важно ssl или нет, конфиг один, у меня 80 порт редиректится на 443. (если отключить редирект, то работает и на 80 и на 433 с одним конфигом)
ОтветитьУдалитьА почему не Trac? Он ведь, как и django, на питоне.
ОтветитьУдалитьТак сложилось :) В то время мне нужна была система, которая поддерживает многопроектность и git.
ОтветитьУдалитьСпасибо за подсказку. В ответ в вашу копилку полезностей связанных с Redmine рекомендую таймер RMClient. Считаю очень нужная програмка для тех, кто планирует проекты с помощью Redmine. Нашел тут: http://rmclient.org
ОтветитьУдалить