什么是Redmine
Redmine是用Ruby On Rails开发的一款基于WEB的项目管理软件。
它集成了项目管理所需的各项功能:日历、甘特图、问题跟踪和版本控制,可以同时处理多个项目。
相比禅道等软件,Redmine的安装还是比较繁琐的,一方面是因为它没有一个自动化的安装脚本,另一方面主要是个人对于Ruby初次接触,需要花一些时间在Ruby的学习上。
本文仅讨论Redmine的部署方式,关于Redmine使用今后会单独写一篇博文来讲解。
相关资源
官网WIKI
主机环境
RedHat/CentOS 6.X
代理服务器配置
如果主机处于内网环境中,无法直连Internet时,需要首先配置可用的网络环境,最简单的方式是使用代理服务器。
关于代理服务器的搭建不再赘述了,可以使用srelay
+polipo
这样的组合,详细步骤请参考之前的一篇文章《内网主机Python3环境搭建》。
代理服务器配置好之后,我们导入两条环境变量即可。
export http_proxy="http://xxx.xxx.xxx.xxx:31081"
export https_proxy="http://xxx.xxx.xxx.xxx:31081"
这时wget、curl、yum等已经可以正常使用了。
安装依赖
首先使用yum安装一些基本依赖,以下只是一些参考,可以在具体编译时缺什么补什么。
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。如果时间充裕的话,建议使用源码或二进制方式进行安装。
yum -y install mysql mysql-server
将MySQL设置为开机自启,并手工启动服务:
chkconfig mysqld on
service mysqld start
初次运行,进行密码等安全性
/usr/bin/mysql_secure_installation
Disallow root login remotely
这一项可以选NO
Enter current password for root (enter for none):
Set root password? [Y/n] y
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] n
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
新建MySQL数据库及用户
直接在本机登录mysql,新建一个数据库及用户
mysql -uroot -p
> create database redmine_db character set utf8;
> create user 'redmine_admin'@'localhost' identified by 'your_new_password';
> grant all privileges on redmine_db.* to 'redmine_admin'@'localhost';
关闭SELinux
vi /etc/selinux/config
SELINUX=disabled
/usr/sbin/setenforce 0 立刻关闭
配置iptables
配置iptables防火墙,将3000端口打开
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT
重启iptables:
/etc/init.d/iptables restart
安装Ruby
使用RVM进行Ruby的安装。RVM是一个命令行工具,可以提供一个便捷的多版本Ruby环境的管理和切换。
curl -L https://get.rvm.io | bash
source /etc/profile.d/rvm.sh
列出已知的Ruby版本:
rvm list known
这里我们选择安装2.3.0:
rvm install 2.3.0
等待编译安装完成之后,可以查看一下版本号,确认安装成功:
ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
安装Rubygems
RubyGems简称gems,是一个用于对Ruby组件进行打包的Ruby打包系统。
yum -y install rubygems
下载Redmine
我们新建一个redmine用户来进行接下来的操作。首先是从官网下载redmine的安装包并解压:
wget http://www.redmine.org/releases/redmine-3.3.2.tar.gz
tar -zxvf redmine-3.3.2.tar.gz
mv redmine-3.3.2 redmine
配置数据库连接
从示例中复制一份database.yml出来:
cd /path/to/redmine/config
cp database.yml.example database.yml
编辑database.yml,填写刚才新建的数据库的各项参数:
vi database.yml
production:
adapter: mysql2
database: redmine_db
host: localhost
username: redmine_admin
password: "redmine_password"
encoding: utf8
使用Bundle设置Rails
使用Bundle安装依赖的库
gem install bundler
bundle install
rake generate_secret_token
初始化数据库表及数据
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data
设置文件系统权限
mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R redmine:redmine files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets
运行
bundle exec rails server -b 0.0.0.0 webrick -e production -d