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

redmine:是一个基于web的项目管理软件,用ruby开发的。是基于ror框架开发的一套跨平台项目管理系统,是项目管理系统的后起之秀,据说是源于basecamp的ror版而来,支持多种数据库,除了和dotproject的功能大致相当外,还有不少自己独特的功能,例如提供wiki、新闻台、时间跟踪、feed聚合、导出pdf等等,还可以集成其他版本管理系统和bug跟踪系统,例如svn、cvs、td等等。配置功能强大而且方便,自定义属性和更新通知也很实用。我们需要按照官方的安装文档,严格安装对应的ruby包来部署redmine+svn项目管理系统

环境: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

如何将Redmine和SVN整合进NginxLinux系统最新集成攻略

二、先配置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-->
选择subversionurl-->
填写svn://192.168.8.32/test(根据自己svn配置自行修改)登录名-->
test(根据自己svn配置自行修改)密码-->
test(根据自己svn配置自行修改)保存即可



概述:Nginx是一款轻量级和高效的Web服务器,可以很好地与Redmine以及SVN整合。在本文中,我们将为您介绍如何在Linux系统中实现这一目标。
准备工作:在开始操作之前,请确保您的Linux系统已经安装了Nginx、Redmine和SVN。如果还未完成安装,请先进行安装步骤。
第一步:为Redmine和SVN创建Nginx代理
配置Nginx代理将来自Redmine和SVN的HTTP请求转发到正确的端口和主机名。这是通过编辑Nginx的配置文件来实现的。
第二步:启用Redmine的SVN版本控制
在Redmine中启用SVN版本控制,允许您将Redmine上的项目更改映射到SVN版本库。通过编辑SVN版本库中的源代码文件,您可以直接从Redmine查看或编辑源代码。
第三步:将Redmine集成到Nginx
将Redmine集成到Nginx中,可以使Redmine在Nginx代理中运行。这样做可以加快Redmine的响应速度,同时增强系统安全性。
第四步:启用Redmine的SVN插件
Redmine的SVN插件允许您在Redmine中查看和修改SVN版本库中的源代码。这使您可以在您的项目中进行修改,而不必离开Redmine。
第五步:为SVN启用HTTPS
启用HTTPS可以使您的SVN版本库更加安全。此外,还可以防止未经授权的访问,并为用户提供更好的保护。
第六步:通过Nginx代理运行SVN
通过Nginx代理运行SVN可以加快响应速度,并提高系统的安全性。此外,将SVN与Redmine一起运行还可以加强项目中的代码管理。
第七步:部署和测试
完成以上步骤之后,请部署服务并进行测试。确保您的Redmine已经成功集成到Nginx并且SVN也可以通过Nginx代理运行。
结论:在Linux系统中,将Redmine和SVN整合进Nginx能够大大提高系统的效率和安全性。通过进行以上七个步骤,您可以将Redmine和SVN成功整合入Nginx,并实现更好的项目管理。