什么是Redmine
先介绍下今天的主角Redmine:
Redmine是一套基于Ruby,提供灵活项目管理的Web应用程序。它支持多项目管理,支持基于角色的访问控制,甘特图、日历、新闻、文档以及文件。并支持项目级别的wiki、论坛、SCM等内容。
从Redmine官方可了解到,现在拥有的版本如下:
目前,官方稳定版本是3.x,本次安装基于当前稳定版本3.3进行。
下载地址:http://www.redmine.org/projects/redmine/wiki/Download
准备需要的云主机
由于Redmine对MacOS,Linux,Windows等各种系统支持较好,可以在任何系统中进行安装。由于CentOS6.5在生产环境中应用较为广泛,本文档将Redmine 3.3 安装在性价比较高的大米云主机。
点击进入大米云主机官网dami.ksyun.com;
注册账户并进行实名认证(由于国内各家云厂商均需要实名认证后的服务器才可对外提供服务,所以想要在生产环境中使用Redmine,请务必完成认证);
点击新建主机,并选择CentOS6.5操作系统;
创建完成后,点击云主机卡片中的“连接主机”,连接到主机的操作系统中,或可通过PuTTY等其他方式进行登录。
至此,我们所需要的基本操作系统已经安装完成,下一步开始进行Redmine的安装。
部署Redmine
一、安装环境准备
由于Redmine基于Ruby运行,首先我们需要准备程序的安装环境以及所需要的Web服务与数据库服务。Redmine支持多种Web服务与数据库服务,本文中以 Apache与MySQL为例进行安装,以下命令均需要在云主机中运行,使用root用户,操作流程如下:
1、安装rpm额外扩展源
rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
2、安装所需要的rpm包
yum -y install nano zip unzip libyaml-develzlib-devel curl-developenssl-develhttpd-develapr-develapr-util-develmysql-develgcc ruby-develgcc-c++ make postgresql-develImageMagick-develsqlite-develperl-LDAP mod_perlperl-Digest-SHA mysql-devel?mod_fcgid?rubygems
3、更新所有软件包
yum update -y
4、安装Apache与MySQL
yum -y install httpdmysqlmysql-server
5、设置Apache与MySQL在开机自动启动
chkconfighttpd on
chkconfigmysqld on
service httpd start
service mysqld start
6、安装rvm
curl -L https://get.rvm.io | bash
source /etc/profile.d/rvm.sh
7、安装ruby
rvm install 1.9.3
yum -y install rubygems
rvm list
8、安装gem
yum -y install rubygems
9、修改ruby软件源
gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
10、下载Redmine应用程序
cd /var/www/
svn co https://svn.redmine.org/redmine/branches/3.3-stable?redmine-3.3
/var/www/redmine-3.3即为我们的应用程序目录
二、准备数据库
1、启动MySQL数据库
service mysqld start
2、登陆并创建redmine用户及redmine数据库
myslq
mysql> create database redmine character set utf8;
mysql> create user 'redmine'@'localhost' identified by 'redmine';
mysql> grant all on redmine.* to 'redmine'@'localhost';
flush privileges;
注释:这里redmine用户的密码即为redmine,可根据需求使用其他密码。
三、配置redmine
1、修改redmine数据库配置文件
cd /var/www/redmine-3.3/config
cpdatabase.yml.exampledatabase.yml
nanodatabase.yml
修改database.yml中production标签下的配置,内容如下
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "redmine"
encoding: utf8
2、依赖关系安装
cd /var/www/redmine-3.3
gem install bundler
bundle install
3、安装passenger
gem install passenger
passenger-install-apache2-module
执行passenger编译时,各个步骤直接采用默认即可
4、将如下内容添加到/etc/httpd/conf.d/passenger.conf中
LoadModulepassenger_module /usr/local/rvm/gems/ruby-1.9.3-p551/gems/passenger-5.1.2/buildout/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p551/gems/passenger-5.1.2
PassengerDefaultRuby /usr/local/rvm/gems/ruby-1.9.3-p551/wrappers/ruby
5、由于本文采用Apache的虚拟主机方式访问服务,需要进行如下配置修改
修改/etc/httpd/conf/httpd.conf
nanohttpd.conf
找到?#NameVirtualHost *:80这一行,并去掉#
6、添加redmine配置
ServerAdmin admin
DocumentRoot /var/www/redmine-3.3/public/
ServerName redmine.demo.com
ErrorLog logs/redmine_error_lg
Options Indexes ExecCGIFollowSymLinks
Order allow,deny
Allow from all
AllowOverride all
7、生成session存储秘钥
cd /var/www/redmine-3.3/
rake generate_secret_token
8、修改redmine通知邮箱
cp?/var/www/redmine-3.3/config/configuration.yml.example /var/www/redmine-3.3/config/configuration.yml
9、创建数据库schema
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
10、修改文件系统权限
chownapache.apache -R /var/www/redmine-3.3
11、修改配置采用fcgi
cd /var/www/redmine-3.3/public
mkdirplugin_assets
cpdispatch.fcgi.exampledispatch.fcgi
cphtaccess.fcgt.example .htaccess
12、重新启动Apache以便更新配置生效
service httpd restart
至此,redmine已安装完成。可在本地配置hosts,快来访问redmine.demo.com来体验一下你的项目管理平台吧。
如果投入生产环境后,需要配置Apache中的域名,以及将自己的域名解析到大米云主机的公网IP上即可。