最近准备在运维组内部试用项目管理工具redmine。如果使用着觉得不错,会把它推广到整个技术部门,以帮助我们进行项目管理和文档管理。
redmine的试用,请去http://demo.redmine.org。好处和功能不用多说。
因为redmine需要ruby on rails环境支持,所以实施起来还是有很多麻烦。整理了网络上的内容,形成一个文档如下:

实验环境 redhat5.6 32位

所需安装包:redmine-0.8.6.tar.gz  ruby-1.8.7-p174.tar.gz  rubygems-1.3.5.tgz

注意:主要需要安装ruby、rails、redmine,他们之间有麻烦的版本依赖关系,具体见 http://www.redmine.org/projects/redmine/wiki/RedmineInstall
1 安装必要的软件包
yum install -y zlib-devel curl-devel expat-devel gettext-devel openssl-devel gcc make mysql-devel

2 安装ruby
cd /usr/local/src
tar zxvf ruby-1.8.7-p174.tar.gz
cd ruby-1.8.7-p174
./configure –prefix=/usr/local/ruby
make
make install

在/etc/profile 尾部加入 export PATH=/usr/local/ruby/bin:$PATH
执行source /ect/profile
ruby -v 测试

cd /usr/local/src/ruby-1.8.7-p174/ext/zlib
ruby extconf.rb –with-zlib-include=/usr/lnclude –with-zlib-lib=/usr/lib
make
make install

cd /usr/local/src/ruby-1.8.7-p174/ext/openssl
ruby extconf.rb
make
make install

3 安装rubygems
cd /usr/local/src
tar zxvf rubygems-1.3.5.tgz
cd rubygems-1.3.5
ruby setup.rb #耐心等待……
gem -v 检查安装是否成功
注:gem安装需要网络,且需要时间,安装的时候,耐心等待
4 rake安装
gem install rake #耐心等待……
也可以先下载
wget http://gems.rubyforge.org/gems/rake-0.9.2.2.gem
然后 gem install -l rake-0.9.2.2.gem
5 rails安装
gem install rails -v=2.1.2 #耐心等待……

可以本地安装包安装 (不建议这样做,因为安装需要不少依赖包)
wget https://rubyforge.org/frs/download.php/45639/rails-2.1.2.gem
gem install -l rails.2.1.2.gem

Successfully installed activesupport-2.1.2
Successfully installed activerecord-2.1.2
Successfully installed actionpack-2.1.2
Successfully installed actionmailer-2.1.2
Successfully installed activeresource-2.1.2
Successfully installed rails-2.1.2
6 gems installed
Installing ri documentation for activesupport-2.1.2…
Installing ri documentation for activerecord-2.1.2…
Installing ri documentation for actionpack-2.1.2…
Installing ri documentation for actionmailer-2.1.2…
Installing ri documentation for activeresource-2.1.2…
Installing ri documentation for rails-2.1.2…
Installing RDoc documentation for activesupport-2.1.2…
Installing RDoc documentation for activerecord-2.1.2…
Installing RDoc documentation for actionpack-2.1.2…
Installing RDoc documentation for actionmailer-2.1.2…
Installing RDoc documentation for activeresource-2.1.2…
Installing RDoc documentation for rails-2.1.2…
以上信息,证明安装rails成功

安装rdoc
gem install rdoc 如果失败多试几次

安装 ruby-mysql

gem install ruby-mysql

注意,可能在后面安装redmine的时候缺失一些包
gem 或者yum 安装上即可

安装完以后检查一下是否都正确装上:
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)

6 redmine安装
cd /usr/local/src/
tar zxvf redmine-0.8.6.tar.gz
mv redmine-0.8.6 /data/wwwroot/redmine

cd /data/wwwroot/redmine/config
cp database.yml.example database.yml
vim database.yml
production:
adapter: mysql
database: redmine
host: localhost
username: root
password:
encoding: utf8

创建表
这里需要能连上mysql服务,并创建了数据库redmine (CREATE DATABASE `redmine` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci)

rake db:migrate RAILS_ENV=”production” #必须进入redmine/config 目录下
加载默认配置 选择中文zh:
rake redmine:load_default_data RAILS_ENV=”production”
如果出现error 未找到/tmp/mysql.sock,尝试建立软连接,解决。 ln -s /data/mysql/mysql.sock /tmp/mysql.sock

7、运行并测试redmine
运行命令:ruby script/server webrick -e production # script/server 路径要正确
加上-d 后台运行

8 在apache上部署redmine
其自带的webrick可能不能满足使用需求,那么就把它配置到apache上。 apache运行ROR有多种方式,这里使用passenger。
首先安apache,然后安装 passenger
gem install passenger
passenger-install-apache2-module
如果报passenger-install-apache2-module这条命令找不到的话,那么通过下面的命令查看执行路径:
gem environment
其中,EXECUTABLE DIRECTORY就是命令的全路径
根据提示信息部署:(注意提示,可能要安装几个依赖包)

然后,编辑apache的配置文件(/etc/httpd/conf/httpd.conf)并添加下面的信息:
LoadModule passenger_module /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.15
PassengerRuby /usr/local/ruby/bin/ruby
然后启用Apache的虚拟主机支持:
1、注释掉原有的ServerName,ServerAdmin,DocumentRoot的信息;
2、启用虚拟主机的支持,去掉NameVirtualHost *:80前面的#;
3、在配置文件的末尾加上:

<VirtualHost *:80>
ServerName www.redmine.com
ServerAdmin
DocumentRoot /data/wwwroot/redmine/public
ErrorLog logs/redmine_error_log
<Directory “/data/wwwroot/redmine/public”>
Allow from all
AllowOverride all
</Directory>
</VirtualHost>

4、重启Apache服务器:service httpd restart
打开浏览器,如果你能够访问到redmine,那么恭喜你,redmine已经在apache上运行良好!
如果出现,500 Internal Server Error,可能是访问目录的权限不足,解决即可!
可能出现的错误处理:
WARNING: ‘require ‘rake/rdoctask” is deprecated. Please use ‘require ‘rdoc/tas
k’ (in RDoc 2.4.2+)’ instead.
at D:/tools/Ruby/1.8.7-p357/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/rdo
ctask.rb
rake aborted!
uninitialized constant Gem::SyckDefaultKey

Tasks: TOP =&gt; lovdbyless:getting_started =&gt; environment
(See full trace by running task with –trace)
解决方法就是把 gem 更新到1.3.7

gem update –system 1.3.7