服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - 在Linux系统中将Redmine和SVN整合入Nginx的方法

在Linux系统中将Redmine和SVN整合入Nginx的方法

2019-10-29 16:19goldensun Nginx

这篇文章主要介绍了在Linux系统中将Redmine和SVN整合入Nginx的方法,示例基于CentOS系统,并用到了Ruby脚本,需要的朋友可以参考下

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

一、下载所需要软件包

?
1
2
3
4
5
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安装:

?
1
2
3
4
5
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环境变量
    或者 

?
1
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

 

?
1
2
3
4
tar zxvf rubygems-1.6.2.tgz
cd rubygems-1.6.2
ruby setup.rb
cd ..

3、安装rails rack i18n mysql passenger

?
1
2
3
4
5
6
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

?
1
2
3
tar zxvf redmine-1.2.0.tar.gz
mv redmine-1.2.0 /data/www/redmine
chown -R www. /data/www/redmine

2、建立数据库

?
1
2
3
4
/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数据库配置.

?
1
2
3
4
5
6
7
8
9
10
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、创建运行数据库:

生成会话存储密钥:

?
1
2
cd /data/www/redmine
rake generate_session_store

然后开始创建数据库表结构,在redmine的根目录下运行:

?
1
RAILS_ENV=production rake db:migrate

读取默认配置数据,当遇到选择语言(Select language)时,选择zh:

?
1
RAILS_ENV=production rake redmine:load_default_data

5、配置mongrel_cluster

?
1
2
cd /data/www/redmine
mongrel_rails cluster::configure -e production -p 8000 -a 127.0.0.1 -N 3

6、启用mongrel_cluster

?
1
2
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目录即可

?
1
mkdir -p /data/www/redmine/tmp/pids

启动成功如下:

?
1
2
3
4
[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

在Linux系统中将Redmine和SVN整合入Nginx的方法

直接用ruby内置webrick也可启动redmine

?
1
/usr/local/ruby/bin/ruby /data/www/redmine/script/server webrick -e production &

启动成功如下:

?
1
2
3
4
5
6
7
8
9
[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

在Linux系统中将Redmine和SVN整合入Nginx的方法

六、配置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配置自行修改)
保存即可

在Linux系统中将Redmine和SVN整合入Nginx的方法

延伸 · 阅读

精彩推荐
  • Nginxnginx rewrite 伪静态配置参数和使用例子

    nginx rewrite 伪静态配置参数和使用例子

    nginx下伪静态配置参数详细说明,使用nginx的朋友,nginx rewrite 伪静态配置参数和使用例子 附正则使用说明 ...

    服务器之家3102019-10-08
  • Nginx如何优化Nginx的处理性能

    如何优化Nginx的处理性能

    Nginx是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性,在连接高并发的情况下,Nginx是Apache服务不错的替代品。其特点是占有内存少,...

    Dockone.io5142020-12-11
  • Nginxnginx ssl免密码重启教程详解

    nginx ssl免密码重启教程详解

    这篇文章给大家介绍了nginx 如何启动以及nginx ssl 免密码重启 的方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧 ...

    mrr4272019-11-19
  • NginxNginx动静分离实现案例代码解析

    Nginx动静分离实现案例代码解析

    这篇文章主要介绍了Nginx动静分离实现案例代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参...

    盗哥泡茶去了3382020-09-27
  • NginxNginx Rewrite使用场景及代码案例详解

    Nginx Rewrite使用场景及代码案例详解

    这篇文章主要介绍了Nginx Rewrite使用场景及代码案例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可...

    盗哥泡茶去了11862020-09-27
  • NginxNginx location 和 proxy_pass路径配置问题小结

    Nginx location 和 proxy_pass路径配置问题小结

    本文是基于 location 的匹配末尾是否配置 / 和 proxy_pass 末尾是否配置 / ,进行测试,完全还原了整个测试过程,本文给大家介绍Nginx location 基本配置及相关配...

    自由早晚乱余生18742021-09-24
  • Nginx通过Nginx规则重写URL去掉index.php不显示index.php

    通过Nginx规则重写URL去掉index.php不显示index.php

    Nginx不仅占用内存少,并发能力强,而且拓展功能丰富,可以通过安装模板来强化功能,也能通过规则优化,优化服务器并发处理能力,是建站的不二之选...

    Genius日记5872020-10-16
  • Nginx利用nginx和腾讯云免费证书制作https的方法

    利用nginx和腾讯云免费证书制作https的方法

    这篇文章主要介绍了利用nginx和腾讯云免费证书制作https的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    dalaoyang5992019-12-30