Redmine是一个开源的、基于Web的项目管理和缺陷跟踪工具。它用日历和甘特图辅助项目及进度可视化显示,同时它又支持多项目管理。这里博主想用它来记录个人工作中碰到的问题和解决步骤。好记性不如烂笔头,不要等到季度或者年终总结的时候什么也记不起来。
第一步:安装ruby+rails环境
参考教程:http://ruby-china.org/wiki/install_ruby_guide
博主一开始是在ubuntu的root环境下操作,可是一直失败。最后选择非root环境安装成功。最好使用redmine官方推荐的环境。
第二步:安装redmine软件
参考教程:http://www.redmine.org/projects/redmine/wiki/RedmineInstall
这里一般没什么问题,最后使用默认自带的webrick启动redmine。如果有很多项目时,使用自带的webrick启动来访问,速度不是一般的慢。这个只能用于测试。
Webrick is not suitable for production use, please only use webrick for testing that the installation up to this point is functional. Use one of the many other guides in this wiki to setup redmine to use either Passenger (aka mod_rails), FCGI or a Rack server (Unicorn, Thin, Puma, hellip;) to serve up your redmine.
第三步:安装passenger
使用gem安装比较快,gem install passenger。
获取passenger路径,命令passenger-config –root,会得到如下所示的路径并记录。这个在重新编译nginx的时候有用。
/home/zhangnq/.rvm/gems/ruby-1.9.3-p545/gems/passenger-4.0.40
第四步:重新编译nginx,添加passenger模块
因为之前博主已经安装了nginx环境,所以不想使用推荐的命令passenger-install-nginx-module重新安装nginx。
编译安装
./configure –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module –with-http_gzip_static_module –with-ipv6 –add-module=/home/zhangnq/.rvm/gems/ruby-1.9.3-p545/gems/passenger-4.0.40/ext/nginx/
make &&make install
如果在编译安装时碰到error: ‘ngx_http_connection_t’ has no member named ‘ssl’的错误,可能是因为您的nginx版本小于1.4。博主在测试时用的是nginx 1.0,出现这个错误,后来升级到1.4.7后就成功了。
第五步:配置nginx,加入passenger
nginx的官方配置:
upstream redmine {
server 127.0.0.1:8000;
server 127.0.0.1:8001;
server 127.0.0.1:8002;
}
server {
server_name redmine.DOMAIN.TLD;
root /var/www/redmine;
location / {
try_files $uri @ruby ;
}
location @ruby {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_read_timeout 300;
proxy_pass http://redmine;
}
}
用webrick测试时,博主修改过root路径,然后把“server 127.0.0.1:8000;”改为“server 127.0.0.1:3000;”,启动nginx成功访问redmine。
如何配置passenger?博主没有在nginx官方文档中找到,不过配置成如下格式就可以了。
passenger_root一定要配置,很多网上教程没有写,导致启动nginx后根本无法访问passenger。具体可以参考这个网址:http://www.modrails.com/documentation/Users%20guide%20Nginx.html#_installing_as_a_normal_nginx_module_without_using_the_installer。
总结:
上面几部稍微介绍了下Redmine+Ruby+Passenger+Nginx的安装,具体需要参考以上链接。配置过程中可能会碰到各种错误,不过基本都可以通过google来解决。对于新东西,博主(blog.nbhao.org)觉得首先不要怕,碰到问题一个个解决,最后才可以完成。