在Linux系统中将Redmine和SVN整合入Nginx的方法_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测试:

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索nginx
ruby
redmine nginx、redmine3.3.0 nginx、nginx反向代理redmine、nginx redmine3、redmine https nginx,以便于您获取更多的相关知识。

时间: 2024-10-22 02:18:11

在Linux系统中将Redmine和SVN整合入Nginx的方法_nginx的相关文章

MySQL在Linux系统中隐藏命令行中的密码的方法

  这篇文章主要介绍了MySQL在Linux系统中隐藏命令行中的密码的方法,作者利用简单的C程序实现,需要的朋友可以参考下 在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?,类似MySQL在ps命令下隐藏密码. 假设我这里系统里两个用户,一个是root ,一个是dabu .测试系统为centos 6.5在按照下面的步骤做: ? 1 2 3 4 [r

Linux系统递归生成目录中文件的md5的方法

  这篇文章主要介绍了Linux系统递归生成目录中文件的md5的方法,利用PHP脚本实现,需要的朋友可以参考下 linux下使用md5sum递归生成整个目录的md5 今天要用md5sum操作目录,递归生成目录下所有文件的md5值,结果发现它不支持递归操作于是写了个php脚本处理下 代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 3

Linux系统在多级目录中查找某个文件的方法

Linux系统在多级目录中查找某个文件的方法? 有些时候我们需要查找Linux系统中的某个文件,但该文件可能在Linux系统多级目录中,哪么我们应该如何去查找呢,下面提供三种方法供大家参考: 1 find /dir -http://www.aliyun.com/zixun/aggregation/11696.html">name filename.ext2 du -a | grep filename.ext3 locate filename.ext

Linux系统下使用mail发送Internet邮件的配置方法

  用惯了windows系统的用户可能一开始对linux系统掌握不好,很多功能可能用起来不是很习惯.本文就介绍了linux系统的一个小应用:在Linux系统下使用mail发送Internet邮件.不过在介绍mail之前先来看一下先来看一下sendmail服务. Red Hat上sendmail服务一般是自动启动的.可以通过下面的命令查看sendmail服务的状态: service sendmail status 如果sendmail服务未启动可以使用如下命令启动: service sendmai

Linux系统造成处理Tomcat异常的原因和解决方法

  Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,是开发和调试JSP 程序的首选.对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求.实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的.因为Tomcat 技术先进.性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商

在Linux系统上使用交换文件扩展swap空间的方法

  想像一种情景,当我们的Linux系统用尽交换空间时,在这种情况下,我们想要使用swap分区扩展交换空间,但在某些情况下磁盘上已经没有可用的空闲分区了,致使我们不能把它扩大. 因此,在这种情况下,我们可以使用交换文件增加swap空间. 以下是使用交换文件在Linux上扩展swap空间的方法 让我们首先检查现有的交换空间/分区的大小,使用命令 'free -m'或者 'swapon -s' 我的交换分区大小是2 GB,我们将把交换空间扩展1GB. 第一步:使用下面的dd命令创建大小为1GB交换文

linux系统centOS6.5使用goaccess工具分析nginx网站日志

网站的log日志分析是每个站长经常做的必备工作,通过网站日志文件我们可以分析各大搜索引擎对网站的爬取情况.最近我的网站做了一些调整,所以想看下日志文件,但因为网站服务器环境是LNMP,所以我就找了一款nginx日志文件分析工具--goaccess.本文我们将一起分享如何在linux(centos)中安装goaccess来分析网站日志. 准备工作: 系统:CentOS6.5(我在本地搭建的虚拟机) web服务:nginx 日志文件:access.log文件(从自己的环境中拷贝具体日志文件) 工具:

MySQL在Linux系统中隐藏命令行中的密码的方法_Mysql

在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?,类似MySQL在ps命令下隐藏密码. 假设我这里系统里两个用户,一个是root ,一个是dabu .测试系统为centos 6.5在按照下面的步骤做: [root@dabu.info ~]#su dabu #切换到dabu这个账号 [dabu@dabu.info ~]$cd ~ #切换到dabu的h

在Linux系统里识别USB设备名字的4种方法

对于初学者来说,在 Linux 系统里你必须掌握的技术之一就是识别出插入系统里的各种设备.这也许是你的系统硬盘.外部的存储设备或者是可移动设备,比如 USB 设备或 SD 闪存卡等. 现如今,使用 USB 设备来传输文件是十分常见的事,对于那些喜欢使用命令行的新手来说,当你需要格式化 USB 设备时,学会使用不同的方法来识别 USB 设备名是非常重要的. 如果在系统中插入一个设备,尤其是在桌面环境下,比如 USB 设备,它会自动挂载到一个指定目录,一般是在 /media/username/dev