最新安装Redmine的方法
Redmine 官网的安装向导基本上不怎么更新,里面的安装说明比较混乱,看着迷糊,实施起来也会遇到诸多问题,但其实现在最新版的 Redmine 安装已经非常简单了,当然如果英文比较好的话,按源码包里的安装说明文档也是可以的,本文结合不久前的实施经验记录最新的 Redmine 安装流程。
Redmine 版本
本文使用的是 Redmine 的是 2.5.1 版,撰写本文时的最新版本,理论上以后的安装一定要比本文记录的还要简单才对。
操作系统
CentOS 6.3,因此本文至少适用于 CentOS 6.x
通过 RVM 安装 Ruby
请参考之前笔者翻译的一篇教程使用 RVM 在 CentOS6 安装 Ruby on Rails,由于 Redmine 会自己选择合适的版本,所以为了安装 Redmine 的话,你不需要执行最后的 Rails 安装。另外和这个教程一样,本文也推荐使用 root 用户来实施,少了许多麻烦,如果以后有其他安全性的需求而想要使用独立的非 root 账号,可以在安装成功了之后再考虑。
我们需要安装 Ruby 1.9.3,而不是最新的 Ruby。理论上再新一些的 Ruby 也支持,可以查看 Redmine 源码里的安装文档里写的 Ruby 支持的版本,因为源码里的更新比较及时,官方 WIKI 文档里的信息很多都过时了。
下载 Redmine
去 Redmine官方下载页面下载最新版的 Redmine, 这里我们以撰写本文时最新的 2.5.1 为例。
sudo su
cd /var/www
wget http://www.redmine.org/releases/redmine-2.5.1.tar.gz
tar xvzf redmine-2.5.1.tar.gz
mv redmine-2.5.1 redmine
安装 Redmine
然后可以先修改一下数据库链接配置
cd redmine
cp config/database.yml.example config/database.yml
vim config/database.yml
修改里面的 production 段即可,因为一般我们安装 Redmine 只是为了使用。
Redmine 使用的是 bundler 处理版本依赖,这比一个一个手动安装要方便多了。
gem install bundler
通过上面的指令安装好 bundler 之后,我们还需要为系统安装两个包,一个是 mysql,一个是 ImageMagick, 我们假设使用的是 MySQL,需要注意的是,即使你的 MySQL 不是安装在本地,为了编译成功也是需要安装的,另外如果你想使用 Redmine 的甘特图导出功能,就必须安装 ImageMagick。
yum install -y ImageMagick-devel
yum install -y mysql-devel
然后我们就要进行最重要的操作了。
bundle install --without development test
上面的指令如果不出错,那么你会看到许多的 Redmine 依赖的 Ruby 扩展的安装记录。
然后为了正常使用 Redmine 的认证系统,我们需要为其生成一个 Session TOKEN。
rake generate_secret_token
接下来需要初始化数据库
rake db:migrate RAILS_ENV="production"
到这里,Redmine 就安装完了,使用以下方式测试:
ruby script/rails server -e production
如果启动成功,Redmine 可以通过 http://yourip:3000 访问,或者如果是本地就是 http://127.0.0.1:3000 ,如果可以访问成功,就用 admin/admin 账户登陆,然后就可以修改密码,创建项目了。
如果觉得一切正常,可以将 Redmine 安装成守护进程。
ruby script/rails server -e production -d
将 Redmine 程序设置成开机自启动
开机自启动有许多方式,尤其是 chkconfig 的方式,不过这里我们使用最原始的方式,把启动脚本加入到 rc.local 里。注意路径使用的是绝对路径。
/usr/local/rvm/rubies/ruby-1.9.3-p545/bin/ruby /var/www/redmine/script/rails server -e production -d
另外还在网上找了一个 Redmine 启动控制脚本,可以尝试使用。
#!/bin/bash
# Modify it to your configuration
DIR=/var/www/html/redmine/
# Start Redmine in daemon mode.
start(){
cd $DIR
ruby script/rails server -d -e production
}
# Stop Redmine daemon
stop(){
RUBYPID=`ps aux | grep "ruby script/rails" | grep -v grep | awk '{print $2}'`
if [ "x$RUBYPID" != "x" ]; then
kill -2 $RUBYPID
fi
}
# Check if Redmine is running
status(){
RUBYPID=`ps aux | grep "ruby script/rails" | grep -v grep | awk '{print $2}'`
if [ "x$RUBYPID" = "x" ]; then
echo "* Redmine is not running"
else
echo "* Redmine is running"
fi
}
case "$1" in
start)
start
status
;;
stop)
stop
sleep 2
status
;;
status)
status
;;
restart|force-reload)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart|force-reload|status}"
exit 1
esac
为 Redmine 选择合适的插件和主题
Redmine 支持安装插件和更换主题,这样可以获得更丰富的功能和更漂亮的外观,可以去以下网址下载。
- 插件:http://www.redmine.org/projects/redmine/wiki/Plugins
- 主题:http://www.redmine.org/projects/redmine/wiki/Themes
写在最后
其实 Redmine 部署以后,为了更好的访问,我们一般还需要再外层加一层反向代理,这个有许多方法,这里就不再赘述了。