什么是Redmine
Redmine是用Ruby On Rails开发的一款基于WEB的项目管理软件。
它集成了项目管理所需的各项功能:日历、甘特图、问题跟踪和版本控制,可以同时处理多个项目。
相比禅道等软件,Redmine的安装还是比较繁琐的,一方面是因为它没有一个自动化的安装脚本,另一方面主要是个人对于Ruby初次接触,需要花一些时间在Ruby的学习上。
本文仅讨论Redmine的部署方式,关于Redmine使用今后会单独写一篇博文来讲解。
相关资源
主机环境
RedHat/CentOS 6.X
代理服务器配置
如果主机处于内网环境中,无法直连Internet时,需要首先配置可用的网络环境,最简单的方式是使用代理服务器。
关于代理服务器的搭建不再赘述了,可以使用srelay
+polipo
这样的组合,详细步骤请参考之前的一篇文章《内网主机Python3环境搭建》。
代理服务器配置好之后,我们导入两条环境变量即可。
1 | export http_proxy="http://xxx.xxx.xxx.xxx:31081" |
这时wget、curl、yum等已经可以正常使用了。
安装依赖
首先使用yum安装一些基本依赖,以下只是一些参考,可以在具体编译时缺什么补什么。
1 | yum -y install nano zip unzip libyaml-devel zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel gcc ruby-devel gcc-c++ make postgresql-devel ImageMagick-devel sqlite-devel perl-LDAP mod_perl perl-Digest-SHA |
安装MySQL
这里为了省事,使用最简单的yum的方式,直接在本机安装一套MySQL。yumd源中的MySQL版本比较老旧,是5.1.73。如果时间充裕的话,建议使用源码或二进制方式进行安装。
1 | yum -y install mysql mysql-server |
将MySQL设置为开机自启,并手工启动服务:
1 | chkconfig mysqld on |
初次运行,进行密码等安全性
1 | /usr/bin/mysql_secure_installation |
Disallow root login remotely
这一项可以选NO
1 | Enter current password for root (enter for none): |
新建MySQL数据库及用户
直接在本机登录mysql,新建一个数据库及用户
1 | mysql -uroot -p |
关闭SELinux
1 | vi /etc/selinux/config |
配置iptables
配置iptables防火墙,将3000端口打开
1 | vi /etc/sysconfig/iptables |
重启iptables:
1 | /etc/init.d/iptables restart |
安装Ruby
使用RVM进行Ruby的安装。RVM是一个命令行工具,可以提供一个便捷的多版本Ruby环境的管理和切换。
1 | curl -L https://get.rvm.io | bash |
列出已知的Ruby版本:
1 | rvm list known |
这里我们选择安装2.3.0:
1 | rvm install 2.3.0 |
等待编译安装完成之后,可以查看一下版本号,确认安装成功:
1 | ruby -v |
安装Rubygems
RubyGems简称gems,是一个用于对Ruby组件进行打包的Ruby打包系统。
1 | yum -y install rubygems |
下载Redmine
我们新建一个redmine用户来进行接下来的操作。首先是从官网下载redmine的安装包并解压:
1 | wget http://www.redmine.org/releases/redmine-3.3.2.tar.gz |
配置数据库连接
从示例中复制一份database.yml出来:
1 | cd /path/to/redmine/config |
编辑database.yml,填写刚才新建的数据库的各项参数:
1 | vi database.yml |
使用Bundle设置Rails
使用Bundle安装依赖的库
1 | gem install bundler |
初始化数据库表及数据
1 | RAILS_ENV=production rake db:migrate |
设置文件系统权限
1 | mkdir -p tmp tmp/pdf public/plugin_assets |
运行
1 | bundle exec rails server -b 0.0.0.0 webrick -e production -d |