CentOS 5 上配置 Redmine 和 Git

redmine

现在我们用 Trac + Git 来管理所有的项目,早些时候是由 Trac + Subversion 管理的,和 Git 比较起来 Subversion 简直就是龟速。虽然我们前段时间换成了 Git 做版本控制,但是 web 管理界面还主要是在用 Trac 来管理,现在随着项目增多,人员变多,管理 Trac 也变得越来越麻烦。在 Trac 里改个小地方就需要动代码,比如删除 “about and help/guide, search” 导航条还需要改代码,太多需要 hack 的地方。Trac 不直接支持多项目管理(可以通过插件支持),不能很方便的分配权限给不同的项目,不适合多项目管理。现在我们需要一个能象 Github、Google Code 那样能自己注册,自己管理的多用户版本控制和项目管理工具。Redmine 是一个用 Ruby on Rails 写的类似 Trac 的工具,功能比 Trac 丰富一些,内置常用的 SCM,比如:Subversion, Git 和 Mercurial,更重要的是支持多项目多人管理、自己管理自己的项目、界面简单清晰、装上就可以用没有太多需要 hack 的地方,先用一段时间如果感觉好就打算替代 Trac.

安装必要的软件包

首先安装必要的库和软件包:

# yum install zlib-devel curl-devel expat-devel gettext-devel 
# yum install mysql-server mysql-devel openssl-devel gcc make

安装和配置 Ruby on Rails

下载 ruby 和 rubygems:

# wget http://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7.tar.gz
# wget http://rubyforge.vm.bytemark.co.uk/files/rubygems/rubygems-1.3.5.tgz

编译和安装 ruby:

# tar zxvf ruby-1.8.7.tar.gz
# cd ruby-1.8.7

# ./configure
# make
# make install

# cd ext/zlib
# ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib
# cd ../../
# make
# make install

编译和安装 rubygems,安装 ruby mysql 支持:

# tar zxvf rubygems-1.3.5.tgz
# cd rubygems-1.3.5

# ruby setup.rb

# gem sources -r http://gems.rubyforge.org/
# gem sources -a http://gems.tron.name/gems.rubyforge.org/

# gem install mysql

安装 ruby on rails,指定版本号因为 redmine 需要这个版本:

# gem install rails -v=2.1.2

安装完以后检查一下是否都正确装上:

# gem list

*** LOCAL GEMS ***

actionmailer (2.1.2)
actionpack (2.1.2)
activerecord (2.1.2)
activeresource (2.1.2)
activesupport (2.1.2)
mysql (2.8.1)
rails (2.1.2)
rake (0.8.7)

安装和配置 Redmine

下载 redmine 并增加一个 redmine 用户:

# wget http://rubyforge.org/frs/download.php/66633/redmine-0.8.6.tar.gz
# /usr/sbin/adduser redmine

创建 redmine 需要的数据库:

# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 50
Server version: 5.1.40 MySQL Community Server (GPL) by Remi

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database redmine character set utf8;
mysql> grant all on redmine.* to 'redmine'@'localhost' identified by 'yourpassword';
mysql> flush privileges;

配制 redmine 环境和数据库:

# rm -rf /home/redmine
# mv redmine-0.8.6 /home/redmine
# cd /home/redmine/config
# cp database.yml.example database.yml

# vi database.yml

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: redmine
  password: yourpassword
  encoding: utf8

# cd /home/redmine
# rake db:migrate RAILS_ENV="production"

# chown -R redmine:redmine /home/redmine
# chmod -R o-rwx,g-rwx /home/redmine

启动 redmine:

# su - redmine -c "ruby script/server webrick -e production"

访问 redmine,打开浏览器访问 http://your-server-ip-address:3000,输入默认用户名密码登陆:admin/admin

安装和配置 Git

安装 Git,默认 respository 没有 git,需要先安装额外的源:

# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm
# yum update

# yum install git

配置和使用 Git,注意这里要修改 git_repositories 的权限,以便以 su – redmine 用户启动 redmine server 的时候有权限访问到 git_repositories 目录,所以最好把 git_repositories 建在 redmine 的下面:

# git config --global user.name "vpsee"
# git config --global user.email "[email protected]"

# mkdir -p /home/redmine/git_repositories/project1
# cd /home/redmine/git_repositories/project1
# git init
# git add .
# git commit

# chown -R redmine:redmine /home/redmine/git_repositories

Git 的基本使用和配置可以看 “CentOS 5 上配置 Trac 和 Git“。

集成 Git 到 Redmine

安装完 Git 和 Redmine 后,需要集成 Git 到 Redmine,登陆 redmine 后,新建一个 project,在 “settings->respository->SCM” 选择 git,在 “Path to .git directory” 加上 git 路径就可以了,而且还需要让 redmine 知道有 git repository 加进来。

# su - redmine -c "ruby script/runner "Repository.fetch_changesets" -e production"

redmine settings git