Redmine定制网站是基于语言的开源版的 jira + Confluence,定制网站主要适用于中小团队。定制网站目前因内部需要做问题跟踪。
环境要求:
Redmine version | Supported Ruby versions | Rails version |
---|---|---|
4.1 (upcoming) | Ruby 2.3, 2.4, 2.5, 2.6 | Rails 5.2 |
4.0 | Ruby 2.2 (2.2.2 and later), 2.3, 2.4, 2.5, 2.6 | Rails 5.2 |
3.4 | Ruby 1.9.3, 2.0.0, 2.1, 2.2, 2.3, 2.4 | Rails 4.2 |
ruby gem安装
# ruby下载安装https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.3.tar.gztar xzvf ruby-2.6.3.tar.gzcd ruby-2.6.3./configure --prefix=/usr/local/rubymake && make install# 定制网站修改环境变量vim /etc/profileexport PATH=/usr/local/ruby/bin:$PATH# gem安装https://rubygems.org/rubygems/rubygems-3.0.4.zipunzip rubygems-3.0.4.zipcd rubygems-*ruby setup.rb
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
修改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/ (定制网站推荐清华源,定制网站我在使用阿里源安装文件超时)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
rails框架可以使用gem install rails -v=5.2.6 进行安装,也可以通过bundle自已查找依赖进行安装 。先说安装 bundle,如下:
gem install rakegem install bundle
- 1
- 2
redmine安装
数据库配置使用的mysql
mysql数据库安装不做描述。
CREATE DATABASE redmine CHARACTER SET utf8;CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'mypassword';GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
- 1
- 2
- 3
redmine下载
wget http://www.redmine.org/releases/redmine-4.2.2.tar.gztar zxvf redmine-4.2.2.tar.gzmv redmine-4.2.2 redmine
- 1
- 2
- 3
修改数据库配置,Copy config/database.yml.example to config/database.yml ,修改database.yml的内容如下:
production: adapter: mysql2 database: redmine host: localhost username: redmine password: "my_password"
- 1
- 2
- 3
- 4
- 5
- 6
安装依赖包
依赖包有两种,一种是OS系统依赖包,另一个是ruby需要依赖的包。先说前者,主要是ImageMagick相关包
yum install ImageMagick ImageMagick-devel
- 1
- 2
后者依赖包,会比较多,安装方式有两种,一种是出现个使用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.
- 1
- 2
- 3
- 4
进行数据库表结构创建操作的时候,如果缺少相关依赖会报错缺少的包名称和版本号。所需依赖关系
gem install rails -v=5.2.6gem install rouge -v=3.26.0gem install request_store -v=1.5.0gem install mini_mime -v=1.0.1gem install actionpack-xml_parser gem install roadie-rails -v=2.2.0gem install csv -v=3.1.1gem install nokogiri -v=1.11.1gem install rbpdf -v=1.20.0gem install rubyzip -v=2.3.0gem install rotp gem install net-ldap -v=0.17.0gem install ruby-openid -v=2.9.2gem install ruby-openid gem install rack-openid gem install mini_magick -v=4.11.0gem install redcarpet -v=3.5.1gem install mysql2 -v=0.5.0gem install yard gem install mocha -v=1.4.0gem install simplecov -v=0.18.5gem install puma gem install capybara -v=3.31.0gem install selenium-webdriver gem install webdrivers -v=4.4gem install rubocop -v=1.12.0gem install rubocop-performance -v=1.10.1gem install rubocop-rails -v=2.9.0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
这里介绍下如何使用bundle进行安装。bundle默认不让使用root安装,需要创建一个普通用户,就是启动redmine进程的用户www吧。对该用户需要配置sudo权限,因为其中一些操作是需要使用root身份的。
需要注意,切换用户后,默认使用的源还是官方源,这个是在用户系统目前下配置的,所以切换为www用户后,重复上面切换源的步骤。
安装sudo
yum install sudo
进入root用户,打开sudoers文件
su root //进入root用户vim /etc/sudoers //打开sudo的配置文件## Next comes the main part: which users can run what software on ## which machines (the sudoers file can be shared between multiple## systems).## Syntax:#### user MACHINE=COMMANDS#### The COMMANDS section may have other options added to it.#### Allow root to run any commands anywhere root ALL=(ALL) ALLwww ALL=(ALL) ALL
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
bundle install --without development test //只能用普通用户执行,需要给该用户sudo权限如果有系统依赖包不存在时,会有错误提示上面gem安装完成这里跳过
- 1
- 2
- 3
[root@ config]# rake db:migrate RAILS_ENV="production"上述依赖关系安装好,进行数据库表结构创建操作
- 1
- 2
生成秘钥,导入表结构
使用以下命令可生成新的 session 密钥:
bundle exec rake generate_secret_token
- 1
使用如下指令进行表结构操作:
RAILS_ENV=production bundle exec rake db:migrate
- 1
该操作和上面rake db检查包依赖的指令是一样的。
使用以下命令导入初始数据,包括默认的问题类型、工作流程等:
RAILS_ENV=production REDMINE_LANG=zh bundle exec rake redmine:load_default_data
- 1
期间遇到如下报错:
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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
启动服务
默认使用如下指令启服务,默认监听端口3000:
bundle exec rails server webrick -e production -b 0.0.0.0
- 1
指定端口启动
bundle exec rails server -b 0.0.0.0 -p 8080 webrick -e production -d
- 1
默认的登录名和密码都是 admin 。登陆第一次会要求修改用户名和密码
Redmine邮件配置
[root@config]# mv configuration.yml.example configuration.yml[root@ config]# vim configuration.yml注意配置文件格式对齐问题
- 1
- 2
- 3
参考:https://blog.csdn.net/rulon147/article/details/48729437
添加用户邮件收件箱连接地址修改
[root@ config]# vim settings.yml找到对应字段host_name: default: IP:port
- 1
- 2
- 3
- 4