在Linux系统中将Redmine和SVN整合入Nginx的方法
Nginx WEB服务器Nginx 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
这篇文章主要介绍了在Linux系统中将Redmine和SVN整合入Nginx的方法,示例基于CentOS系统,并用到了Ruby脚本,需要的朋友可以参考下
Redmine:是一个基于web的项目管理软件,用Ruby开发的。是基于ROR框架开发的一套跨平台项目管理系统,是项目管理系统的后起之秀,据说是源于Basecamp的ror版而来,支持多种数据库,除了和DotProject的功能大致相当外,还有不少自己独特的功能,例如提供wiki、新闻台、时间跟踪、feed聚合、导出pdf等等,还可以集成IT论坛版本管理系统和BUG跟踪系统,例如SVN、CVS、TD等等。配置功能强大而且方便,自定义属性和更新通知也很实用。下面我们来部署redmine+svn项目管理系统(需要严格的按照官方的安装文档安装对应的ruby包) 环境:centos-5.5 redmine-1.2.0 subversion-1.6.17 一、下载所需要软件包 wget ftp://ftp.ruby-lang.org//pub/ruby/1.8/ruby-1.8.7.tar.gz wget http://production.cf.rubygems.org/rubygems/rubygems-1.6.2.tgz wget http://rubyforge.org/frs/download.php/74944/redmine-1.2.0.tar.gz wget http://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz wget http://subversion.tigris.org/dow ... -deps-1.6.17.tar.gz
二、先配置LNMP环境 参考:CentOS 5.5下安装mysql5.1.57+php5.2.17(FastCGI)+nginx1.0.1高性能Web服务器 三、redmine安装(对各软件包版本要求非常严格,必须对应相应版本,否则会出现不可预知的错误) 1、ruby安装: tar zxvf ruby-1.8.7.tar.gz cd ruby-1.8.7 ./configure --prefix=/usr/local/ruby make && make install cd ..
修改~/.bash_profile,将ruby目录加入root环境变量
或者 echo "export PATH=$PATH:/usr/local/ruby/bin/" >> /etc/profile
2、rubygems 安装 安装rubygems ,注意一定要是1.7.0以下的版本,不然无法正常启动使用redmine。我就是因为看了一个他人写得中文文档,安装了1.7.0版本,所以redmine一直无法正常工作,为此走了一大圈弯路。最后在官方文档上才找到问题所在。下面是官网上的一些对版本要求的描述。
Ruby 1.9 is not supported yet. You have to use Ruby 1.8.x as stated above.RubyGems 1.3.7 or higher is required with following limitations :Rails 2.3.5 will fail with RubyGems 1.5.0 or later, stick to previous versions of RubyGems !Rails 2.3.11 will fail with RubyGems 1.7.0 or later, stick to previous versions of RubyGems !Rake 0.8.7 is required (rake 0.9.x is not supported by Rails yet)Rack 1.1.x is required, 1.1.0 has a bug with quotes (#8416). Database migration would fail with other version.Mongrel 1.1.5 needs a patch attached to #7688 to work fine with Rails 2.3.11. In case of upgrade, another issue may appear for some time after migration (#7857).I18n 0.4.2 is required for Redmine >= 1.0.5
tar zxvf rubygems-1.6.2.tgz cd rubygems-1.6.2 ruby setup.rb cd ..
3、安装rails rack i18n mysql passenger gem install rails -v=2.3.11 gem install rack -v=1.1.1 gem install i18n -v=0.4.2 gem install mysql --no-rdoc --no-ri -- --with-mysql-dir=/data/soft/mysql #我的mysql是编译安装在/data/soft/mysql目录下的 gem install passenger gem install mongrel mongrel_cluster
四、安装配置redmine 1、解压redmine tar zxvf redmine-1.2.0.tar.gz mv redmine-1.2.0 /data/www/redmine chown -R www. /data/www/redmine
2、建立数据库 /data/soft/mysql/bin/mysql -uroot -p mysql> createdatabase redmine characterset utf8; mysql> grantallon redmine.* to 'redmine'@'localhost' identified by 'redmine'; mysql> flush privileges;
3、修改redmine mysql数据库配置. cd /data/www/redmine/config cp database.yml.example database.yml vi database.yml production: adapter: mysql database: redmine host: localhost username: redmine password: redmine encoding: utf8
注意:冒号后面有一空格。。。 4、创建运行数据库: 生成会话存储密钥: cd /data/www/redmine rake generate_session_store
然后开始创建数据库表结构,在redmine的根目录下运行: RAILS_ENV=production rake db:migrate
读取默认配置数据,当遇到选择语言(Select language)时,选择zh: RAILS_ENV=production rake redmine:load_default_data
5、配置mongrel_cluster cd /data/www/redmine mongrel_rails cluster::configure -e production -p 8000 -a 127.0.0.1 -N 3
6、启用mongrel_cluster cd /data/www/redmine mongrel_rails cluster::start
启动如果出错如下:
starting port 8000 !!! Path to pid file not valid: tmp/pids/mongrel.8000.pid mongrel::start reported an error. Use mongrel_rails mongrel::start -h to get help. starting port 8001 !!! Path to pid file not valid: tmp/pids/mongrel.8001.pid mongrel::start reported an error. Use mongrel_rails mongrel::start -h to get help. starting port 8002 !!! Path to pid file not valid: tmp/pids/mongrel.8002.pid mongrel::start reported an error. Use mongrel_rails mongrel::start -h to get help.
创建/data/www/redmine/tmp/pids目录即可 mkdir -p /data/www/redmine/tmp/pids
启动成功如下: [root@CentOS5 redmine]# mongrel_rails cluster::start starting port 8000 starting port 8001 starting port 8002
7、配置nginx
vi /data/soft/nginx/conf/nginx.conf upstream mongrel { server 127.0.0.1:8000; server 127.0.0.1:8001; server 127.0.0.1:8002; } server { listen 80; server_name 192.168.8.32; root /data/www/redmine; index index.html index.htm; location / { proxy_pass http://mongrel; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
五: 访问redmine测试: http://192.168.8.32 
直接用ruby内置webrick也可启动redmine /usr/local/ruby/bin/ruby /data/www/redmine/script/server webrick -e production &
启动成功如下: [root@CentOS5 redmine]# /usr/local/ruby/bin/ruby /data/www/redmine/script/server webrick -e production & [1] 3526 [root@CentOS5 redmine]# => Booting WEBrick => Rails 2.3.11 application starting on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2011-06-2409:30:47] INFO WEBrick 1.3.1 [2011-06-2409:30:47] INFO ruby 1.8.7 (2008-05-31) [i686-linux] [2011-06-2409:30:47] INFO WEBrick::HTTPServer#start: pid=3526 port=3000
访问redmine测试: http://192.168.8.32:3000

六、配置SVN服务器
七、在redmine中配置svn
进入Redmine目录下Config,有文件“configuration.yml.example”,复制该文件重命名“configuration.yml”,修改其中的SVN配置
scm_subversion_command: svn
注意:这里需要在环境变量PATH中添加svn所在的目录
再重启服务器,配置SCM
新建项目test,配置版本库 SCM-->选择Subversion
URL-->填写svn://192.168.8.32/test(根据自己svn配置自行修改)
登录名-->test(根据自己svn配置自行修改)
密码-->test(根据自己svn配置自行修改)
保存即可

http://www.phperz.com/article/16/0203/186918.html
在Linux系统中将Redmine和SVN整合入Nginx的方法
|