首页 > 文章列表 > 在Linux系统中怎么将Redmine和SVN整合入Nginx

在Linux系统中怎么将Redmine和SVN整合入Nginx

linux redmine nginx
205 2023-05-15

在Linux系统中怎么将Redmine和SVN整合入Nginx

redmine:是一个基于web的项目管理软件,用ruby开发的。是基于ror框架开发的一套跨平台项目管理系统,是项目管理系统的后起之秀,据说是源于basecamp的ror版而来,支持多种数据库,除了和dotproject的功能大致相当外,还有不少自己独特的功能,例如提供wiki、新闻台、时间跟踪、feed聚合、导出pdf等等,还可以集成其他版本管理系统和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/downloads/subversion-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测试:

直接用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配置自行修改)

保存即可