Linux下redmine安装使用

2019年7月26日 发表评论 阅读评论

一、redmine有关

Redmine是基于ruby语言的开源版的 jira + Confluence,主要适用于中小团队。目前因内部需要做问题跟踪,新装了一套,这里记录下安装步骤。安装环境要求:

Redmine version Supported Ruby versions Rails version used
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.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
移除默认源
gem sources --remove https://rubygems.org/
添加新源
gem sources -a https://mirrors.aliyun.com/rubygems/

rails框架可以使用gem install rails -v=5.2.3 进行安装,也可以通过bundle自已查找依赖进行安装 。先说安装 bundle,如下:

gem install rake
gem install bundle

三、redmine安装

1、数据库配置

这里使用的mysql,先使用如下命令安装:

CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

2、redmine下载

wget http://www.redmine.org/releases/redmine-4.0.4.tar.gz
tar zxvf redmine-4.0.4.tar.gz
mv redmine-4.0.4 redmine

修改数据库配置,Copy config/database.yml.example to config/database.yml ,修改database.yml的内容如下:

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "my_password" 

我这里使用的mysql 数据库,如果使用其他数据库操作类似。

3、安装依赖包

依赖包有两种,一种是OS系统依赖包,另一个是ruby需要依赖的包。先说前者,主要是ImageMagick相关包,一条命令搞定:

yum install ImageMagick ImageMagick-devel

后者依赖包,会比较多,安装方式有两种,一种是出现个使用gem指定包名称和版本号装一个,另一种是使用bundle一键搞定。先说前者如何知道依赖什么:

[root@361way.com config]# rake db:migrate RAILS_ENV="production"
(in /opt/redmine)
Could not find gem 'rails (= 5.2.3)' in any of the gem sources listed in your Gemfile.
Run `bundle install` to install missing gems.

进行数据库表结构创建操作的时候,如果缺少相关依赖会报错缺少的包名称和版本号。按图索骥就可以了:

gem install rails -v=5.2.3
gem install rouge -v=3.3.0
gem install request_store -v=1.0.5
gem install mysql2 -v '0.5.2'

依赖会有几十外,我这里只写了几个,我是没这个耐心,这里介绍下如何使用bundle进行安装。bundle默认不让使用root安装,需要创建一个普通用户,就是启动redmine进程的用户www吧。对该用户需要配置sudo权限,因为其中一些操作是需要使用root身份的。

需要注意,切换用户后,默认使用的源还是官方源,这个是在用户系统目前下配置的,所以切换为www用户后,重复上面切换源的步骤。

进入config目录,执行如下操作:

bundle install --without development test  //只能用普通用户执行,需要给该用户sudo权限

不一会儿所有的依赖就安装好了,如果有系统依赖包不存在时,会有错误提示。

4、生成秘钥,导入表结构

使用以下命令可生成新的 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

5、启动服务

默认使用如下指令启服务,默认监听端口3000:

bundle exec rails server webrick -e production -b 0.0.0.0

默认的登录名和密码都是 admin 。登陆第一次会要求修改用户名和密码。

四、nginx整合

和nginx的整合这里没有使用官方的配置方法,使用的是和passenger的整合,不了解passenger的自行放狗搜索。passenger又集成有nginx或apache模块,操作如下:

gem install passenger
passenger-install-nginx-module

整合是否成功,可以进行如下验证:

cd /opt/nginx/html/redmine && passenger start

由passenger start默认启用的是开发环境,所以可能会启动报错,比如我在上面的配置中,就只配置了production (其之所以配置了三个环境:生产、开发和测试,主要是对接开发功能的。redmine可以对接 git svn等代码库)。所以我这边启动命令可以使用如下命令测试:

passenger start -a 0.0.0.0 -p 3000 -d -e production

-e参数指定了启动的环境 。如果启动有问题,使用 ip:3000 会打开passenger的界面,并伴有错误提示。

passenger-nginx.png

如果上面的整合有问题,在passenger start启动的时候会自动再次整合nginx,由于国内网络环境限制,这个操作可能会比较慢,也可以使用如下指令操作:

passenger-config compile-nginx-engine

最后要说的是nginx的配置部分,具体如下:

# http关键部分
http {
    passenger_root /usr/local/ruby/lib/ruby/gems/2.6.0/gems/passenger-6.0.2;
    passenger_ruby /usr/local/ruby/bin/ruby;
……………
# server 关键部分配置
location / {
    root   /opt/nginx/html/redmine/public;
    index  index.html index.htm;
    passenger_enabled on;
    passenger_app_env production;
}

官方未同passenger整合的配置类似如下:

server {
   listen 80;
  server_name redmine.361way.com;
  root /home/www/redmine/public;
  index index.html index.htm index.php;
  location / {
    try_files $uri @redmine;
  }
  location @redmine {
    proxy_pass http://127.0.0.1:3000;
    proxy_redirect off;
    proxy_set_header Host $host; #注:这个不传进去,会暴露端口号,且会影响速度
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

五、写在最后

手动去配置的方法相对比较麻烦一些,对于不太熟悉各种操作的人来说可能略有难度。这个可以使用第三方法集成好的redmine版本,这些版本都是一键安装的。官方推荐了如下两个:

  • TurnKey Redmine Appliance - Provides a free lightweight Debian-based Redmine appliance (available as an ISO, virtual machine image or cloud image).
  • BitNami Redmine Stack – Provides an all-in-one installer and free virtual machines and cloud images for Redmine.

参考文档:

http://www.redmine.org/projects/redmine/wiki/RedmineInstall

http://www.redmine.org/projects/redmine/wiki/HowTo_configure_Nginx_to_run_Redmine




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.