Redmine是基于ruby语言的开源版的 jira + Confluence,主要适用于中小团队。
环境要求:
Redmine version Supported Ruby versions Rails version
4.2 Ruby 2.6 Rails 5.2
1、安装redmine
一、ruby gem安装:
# ruby下载安装
https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.3.tar.gz
tar xzvf ruby-2.6.3.tar.gz
cd ruby-2.6.3
./configure --prefix=/usr/local/ruby
make && make install
# 修改环境变量
vim /etc/profile
export PATH=/usr/local/ruby/bin:$PATH
# gem安装
https://rubygems.org/rubygems/rubygems-3.0.4.zip
unzip rubygems-3.0.4.zip
cd rubygems-*
ruby setup.rb
修改ruby源为国内阿里源:
查找默认源
gem sources -l
移除默认源
gem sources --remove https://rubygems.org/
添加新源
gem sources -a https://mirrors.aliyun.com/rubygems/
gem sources -a https://mirrors.tuna.tsinghua.edu.cn/rubygems/ (推荐清华源,我在使用阿里源安装文件超时)
rails框架可以使用gem install rails -v=5.2.6 进行安装,也可以通过bundle自已查找依赖进行安装 。先说安装 bundle,如下:
gem install rake
gem install bundle
二、redmine安装
数据库配置使用的mysql
mysql数据库安装不做描述。
CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
redmine下载
Redmine链接 https://www.redmine.org/projects/redmine/wiki/Download
wget http://www.redmine.org/releases/redmine-4.2.2.tar.gz
tar zxvf redmine-4.2.2.tar.gz
mv redmine-4.2.2 redmine 放到你想放置的位置
修改数据库配置,Copy config/database.yml.example to config/database.yml ,修改database.yml的内容如下:
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "my_password"
三、安装依赖包
依赖包有两种,一种是OS系统依赖包,另一个是ruby需要依赖的包。
先说前者,主要是ImageMagick相关包:
yum install ImageMagick ImageMagick-devel
后者依赖包,会比较多,安装方式有两种,一种是出现个使用gem指定包名称和版本号装一个,另一种是使用bundle一键搞定。先说前者如何知道依赖什么:
[root@ config]# rake db:migrate RAILS_ENV="production"
(in /opt/redmine)
Could not find gem 'rails (= 5.2.6 )' in any of the gem sources listed in your Gemfile.
Run `bundle install` to install missing gems.
就这样出现一个就安装一个:
gem install rails -v=5.2.6
执行完了再使用上面的命令提示缺少啥就继续,反正是又多有麻烦,我装了二三十个有的执行不行还有版本问题放弃了,使用bundle install了
这里介绍下如何使用bundle进行安装。bundle默认不让使用root安装,需要创建一个普通用户,就是启动redmine进程的用户www吧。对该用户需要配置sudo权限,因为其中一些操作是需要使用root身份的。需要注意,切换用户后,默认使用的源还是官方源,这个是在用户系统目前下配置的,所以切换为www用户后,重复上面切换源的步骤。
注:这里虽这么说不过我测试了不需要直接执行就可以了,要到redmine目录下。
执行等待即可:bundle install --without development test
完成后检查下是否安装完成 rake db:migrate RAILS_ENV="production"
四、进行数据库表结构创建操作
生成秘钥,导入表结构
使用以下命令可生成新的 session 密钥:
bundle exec rake generate_secret_token
使用如下指令进行表结构操作:
RAILS_ENV=production bundle exec rake db:migrate
该操作和上面rake db检查包依赖的指令是一样的。
使用以下命令导入初始数据,包括默认的问题类型、工作流程等:
RAILS_ENV=production REDMINE_LANG=zh bundle exec rake redmine:load_default_data
期间遇到如下报错: (我没遇到,不过有问题你再百度)
Expected to find a manifest file in `app/assets/config/manifest.js
解决方法:
vim /app/assets/config/manifest.js ##若目录不存在则创建
//= link_tree ../images
//= link_directory ../javascripts .js
//= link_directory ../stylesheets .css
然后就可以启动了,默认是3000端口,这个可以自己指定,我后台启动用的是screen
/usr/bin/screen -dmS redmine /usr/local/ruby/bin/ruby bin/rails server webrick -e production -b 127.0.0.1
然后用的nginx代理3000端口!
2、redmine数据文件备份恢复
redmine的所有数据都在数据库里,所以只需要备份好数据库再恢复数据库就可以了,可以跨版本恢复
恢复步骤:
一、先从老版本的服务器上备份数据库拷贝到新服务器上;
二、关闭服务,新建redmine数据库(可以删除原有的新建),然后恢复数据库;
三、使数据生效操作:
在redmine目录下,执行
bundle install --without development test
更新密钥:
bundle exec rake generate_secret_token
更新数据库:
bundle exec rake db:migrate RAILS_ENV=production
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
清空缓存
bundle exec rake tmp:cache:clear RAILS_ENV=production
然后在启动服务就可以了,完成后登陆的管理员账号密码是你老版本的!
3、Redmine插件安装卸载
插件链接:
http://redminecrm.com/projects/crm/pages/1
https://www.redmineplugins.cn/
一、redmine plugin安裝:
cd <redmine_dir>
先把相应的插件下载好放到redmine插件目录下没解压的解压下,有后缀的去掉保持插件本身的名字!
bundle install --without development test
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:plugins:migrate NAME=<plugin_name>
重启下redmine
二、redmine plugin解除安裝
Revert all db operations:
cd <redmine_dir>
RAILS_ENV=production bundle exec rake redmine:plugins:migrate NAME=<plugin_name> VERSION=0
重启下redmine