CentOS5上安装Redmine的常见问题

因为项目需求,需要安装一套集成Issue tracking/task management /SCM/wiki/forum的系统。如果单独安装,那么可以有Jira,Wikipedia,Phpbb之类的候选人。如果想要all in one solution那显然Redmine是最好的选择。Redmine本身是由ROR写的,看到这里估计大家心里有数了,这东西的安装在老系统上必然不会是那么顺利,曲折是难免的,尤其是在一台CentOS 5.6的机器上。常规的Install Guide 暂且不表,可以参考 http://www.redmine.org/projects/redmine/wiki/HowTo_install_Redmine_on_CentOS_5

这里就说下可能遇到的常见问题。

1. 软件版本。根据官方的说法,即使是最新的Redmine 1.2.x也暂时不支持Ruby 1.9,推荐使用Ruby 1.8.6 or 1.8.7。我尝试过CentOS官方repo里自带的1.8.5以失败而告终。所以耐心地现在source code自己编译吧。Gem的版本也有讲究,比如1.7.0之前的,显然那就只有1.6.2可用。同理还有Rake必须0.8.7,我尝试过0.9.1的结果就是失败。Rack用1.1.0。

2. 在执行rake db:migrate的时候你可能遇到一个错误消息 ‘no such file to load –openssl’。那就需要先
[code lang=”bash”]# yum install openssl openssl-devel[/code]
然后在已经解压的ruby source code中
[code lang=”bash”]
# cd /ruby_install_dir/ext/openssl
# ruby extconf.rb
# make & make install
[/code]

3. 如果用mysql数据库存储,可能会遇到错误 ‘No such file or directory – /tmp/mysql.sock’ 这是因为在config/database.yml中默认没有指定socket路径,解决方案即加一行参数把实际的sock路径指定,如[code lang=”bash”]socket: /var/lib/mysql/mysql.sock[/code]

4. 如果用Passenger 配合Nginx,那可能会在用passenger-install-nginx-module的时候遇到错误提示 ‘configure: error: C compiler gcc is not found’。问题原因不详,解决方案就是在安装的第二部不要选择1 用默认的下载地址把Nginx源码下载到/tmp然后选择2,手工指定已经下载并解压的nginx源码(放在非/tmp目录下)即解决问题。

下篇会讲到Redmine和Gitosis集成