Linux下redmine安装使用
一、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 | 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安装
1# ruby下载安装
2https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.3.tar.gz
3tar xzvf ruby-2.6.3.tar.gz
4cd ruby-2.6.3
5./configure --prefix=/usr/local/ruby
6make && make install
7# 修改环境变量
8vim /etc/profile
9export PATH=/usr/local/ruby/bin:$PATH
10# gem安装
11https://rubygems.org/rubygems/rubygems-3.0.4.zip
12unzip rubygems-3.0.4.zip
13cd rubygems-*
14ruby setup.rb
修改ruby源为国内阿里源:
1查找默认源
2gem sources
3移除默认源
4gem sources --remove https://rubygems.org/
5添加新源
6gem sources -a https://mirrors.aliyun.com/rubygems/
rails框架可以使用gem install rails -v=5.2.3 进行安装,也可以通过bundle自已查找依赖进行安装 。先说安装 bundle,如下:
1gem install rake
2gem install bundle
三、redmine安装
1、数据库配置
这里使用的mysql,先使用如下命令安装:
1CREATE DATABASE redmine CHARACTER SET utf8;
2CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'mypassword';
3GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
2、redmine下载
1wget http://www.redmine.org/releases/redmine-4.0.4.tar.gz
2tar zxvf redmine-4.0.4.tar.gz
3mv redmine-4.0.4 redmine
修改数据库配置,Copy config/database.yml.example to config/database.yml ,修改database.yml的内容如下:
1production:
2 adapter: mysql2
3 database: redmine
4 host: localhost
5 username: redmine
6 password: "my_password"
我这里使用的mysql 数据库,如果使用其他数据库操作类似。
3、安装依赖包
依赖包有两种,一种是OS系统依赖包,另一个是ruby需要依赖的包。先说前者,主要是ImageMagick相关包,一条命令搞定:
1yum install ImageMagick ImageMagick-devel
后者依赖包,会比较多,安装方式有两种,一种是出现个使用gem指定包名称和版本号装一个,另一种是使用bundle一键搞定。先说前者如何知道依赖什么:
1[[email protected] config]# rake db:migrate RAILS_ENV="production"
2(in /opt/redmine)
3Could not find gem 'rails (= 5.2.3)' in any of the gem sources listed in your Gemfile.
4Run `bundle install` to install missing gems.
进行数据库表结构创建操作的时候,如果缺少相关依赖会报错缺少的包名称和版本号。按图索骥就可以了:
1gem install rails -v=5.2.3
2gem install rouge -v=3.3.0
3gem install request_store -v=1.0.5
4gem install mysql2 -v '0.5.2'
依赖会有几十外,我这里只写了几个,我是没这个耐心,这里介绍下如何使用bundle进行安装。bundle默认不让使用root安装,需要创建一个普通用户,就是启动redmine进程的用户www吧。对该用户需要配置sudo权限,因为其中一些操作是需要使用root身份的。
需要注意,切换用户后,默认使用的源还是官方源,这个是在用户系统目前下配置的,所以切换为www用户后,重复上面切换源的步骤。
进入config目录,执行如下操作:
1bundle install --without development test //只能用普通用户执行,需要给该用户sudo权限
不一会儿所有的依赖就安装好了,如果有系统依赖包不存在时,会有错误提示。
4、生成秘钥,导入表结构
使用以下命令可生成新的 session 密钥:
1bundle exec rake generate_secret_token
使用如下指令进行表结构操作:
1RAILS_ENV=production bundle exec rake db:migrate
该操作和上面rake db检查包依赖的指令是一样的。使用以下命令导入初始数据,包括默认的问题类型、工作流程等:
1RAILS_ENV=production REDMINE_LANG=zh bundle exec rake redmine:load_default_data
5、启动服务
默认使用如下指令启服务,默认监听端口3000:
1bundle exec rails server webrick -e production -b 0.0.0.0
默认的登录名和密码都是 admin 。登陆第一次会要求修改用户名和密码。
四、nginx整合
和nginx的整合这里没有使用官方的配置方法,使用的是和passenger的整合,不了解passenger的自行放狗搜索。passenger又集成有nginx或apache模块,操作如下:
1gem install passenger
2passenger-install-nginx-module
整合是否成功,可以进行如下验证:
1cd /opt/nginx/html/redmine && passenger start
由passenger start默认启用的是开发环境,所以可能会启动报错,比如我在上面的配置中,就只配置了production (其之所以配置了三个环境:生产、开发和测试,主要是对接开发功能的。redmine可以对接 git svn等代码库)。所以我这边启动命令可以使用如下命令测试:
1passenger start -a 0.0.0.0 -p 3000 -d -e production
-e参数指定了启动的环境 。如果启动有问题,使用 ip:3000 会打开passenger的界面,并伴有错误提示。
如果上面的整合有问题,在passenger start启动的时候会自动再次整合nginx,由于国内网络环境限制,这个操作可能会比较慢,也可以使用如下指令操作:
1passenger-config compile-nginx-engine
最后要说的是nginx的配置部分,具体如下:
1# http关键部分
2http {
3 passenger_root /usr/local/ruby/lib/ruby/gems/2.6.0/gems/passenger-6.0.2;
4 passenger_ruby /usr/local/ruby/bin/ruby;
5……………
6# server 关键部分配置
7location / {
8 root /opt/nginx/html/redmine/public;
9 index index.html index.htm;
10 passenger_enabled on;
11 passenger_app_env production;
12}
官方未同passenger整合的配置类似如下:
1server {
2 listen 80;
3 server_name redmine.361way.com;
4 root /home/www/redmine/public;
5 index index.html index.htm index.php;
6 location / {
7 try_files $uri @redmine;
8 }
9 location @redmine {
10 proxy_pass http://127.0.0.1:3000;
11 proxy_redirect off;
12 proxy_set_header Host $host; #注:这个不传进去,会暴露端口号,且会影响速度
13 proxy_set_header X-Real-IP $remote_addr;
14 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
15 }
16}
五、写在最后
手动去配置的方法相对比较麻烦一些,对于不太熟悉各种操作的人来说可能略有难度。这个可以使用第三方法集成好的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
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/redmine/6154.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.