redmine部署,踩坑而过

本文详细记录了在阿里云Windows Server R2企业版上部署Redmine 3.4.6的过程,包括选用railsInstaller安装Ruby 2.2.0,配置数据库(遇到MySQL兼容性问题后转向Postgres 10.0),解决ImageMagick依赖,以及绑定服务到内网IP以实现外网访问。

 

背景:部门想用个工具来做项目执行进度的管理,为了保证数据私有并且不想花钱,选了redmine。

环境:阿里云服务器,windows server R2企业版

软件版本构成:

官方版本说明http://www.redmine.org/projects/redmine/wiki/RedmineInstall#Ruby-interpreter

redmine4.0写的是upcoming,让我望而却步,最终选择了3.4.6。ruby环境选了个中间版本,2.2.0,采用railsInstallers来安装,主要是看论坛说,这个工具集成度高,部署简单。

redmine 3.4.6;railsinstaller 3.2.1;ImageMagick 6.9.9(这个可能会用到,后面说明);postgres 10.0

部署过程:

1、安装railsInstaller

这个就一路Next就好了,很好安装,git组件不想装可以不装。值得注意的一点是,安装时勾选添加ruby等组件执行文件到环境变量,比较省事,自己手动更改可以。

2、文件部署

将redmine 3.4.6解压到railsInstaller安装后生成的sites文件夹中,重命名为redmine(为了好写)。然后就可以进行redmine的环境配置了。

3、配置

(1)打开cmd命令行,进入redmine文件夹。

(2)执行

gem install rails -v=4.2

这个版本号是根据官网的说明来的。

(3)执行

gem install rack

这个我没有指定版本号,自动下载的是2.0.5的。

(3)执行

gem install -v=0.4.2 i18n

这个不知道是装的什么,看帖子写的,因为这个不指定版本号不会执行。

(4)安装数据库,支持三种postgres、mysql、sqlserver,我最终使用的postgres,服务器上已有的,服务器上也有mysql,不过遇到坑了,下面详说。

(5)创建remine库体

CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'my_password' NOINHERIT VALID UNTIL 'infinity';
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;

注意,我这里使用的postgres,其他库体的语句参见官方说明。当然,使用对应的可视化工具也可以,就是创建一个名为redmine的登陆角色,尽量给足权限,尽量不密码过期(怕麻烦)。新建一个为名redmine的空库,所有权给刚才的角色。

(6)配置数据库连接文件。redmine/config/database.yml.example这个文件是redmine的数据连接样例配置,拷贝一下,重命名为database.yml,修改其中的信息并保存。

production:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: "my_password"
  encoding: utf8

不同库体的区别主要是适配器名称不一样。

(7)回到命令行,执行

gem install bundler

安装bundler。bundler是用来管理gem中的依赖文件的,之后会用到。

(8)安装依赖文件。执行

bundle install --without development test

会下载很多相关的依赖文件。这时候提示rmagick异常,是因为没有安装ImageMagick,运行一下执行程序,再重新执行。

(9)执行

bundle exec rake generate_secret_token

生成随机token。这里吐槽一下,一开始,我是用的是mysql库,然后适配器使用的mysql2,通过命令下载的mysql2版本为0.4.10,但是运行上述命令时,提示加载libmysql失败。于是搜索了下问题,按帖子提示,执行gem install mysql2,结果下载了一个0.5.2的版本,但是上述命令执行时,还是去找的0.4.10。之后试了几种方法,将0.5.2中的libmysql替换到0.4.10中(也试了从mysql官网上下的和已安装数据库中的对应驱动),无果。替换成其他版本的驱动时,提示版本不匹配,也尝试了本地安装,也没成功。折腾一番后,放弃,换了postgres。

(10)执行

set RAILS_ENV=production
bundle exec rake db:migrate

初始化数据库。

(11)执行

set RAILS_ENV=production
set REDMINE_LANG=zh
bundle exec rake redmine:load_default_data

加载默认数据。这里环境语言我设置的zh,根据需要设置。

4、之后启动redmine服务,执行

bundle exec rails server webrick -e production

默认监听地址为localhost,默认端口为3000。由于我需要外网访问,本身阿里云服务器有对应的内外网ip,所有我将服务地址绑定到其对应的私有ip上

bundle exec rails server webrick -e production -b xxx.xxx.xxx.xxx

5、之后就是访问测试喽,访问http://localhost:3000。登陆时会发现界面是英文的,在个人账户中,设置语言就可以了。

 

官方配置说明 http://www.redmine.org/projects/redmine/wiki/RedmineInstall#Ruby-interpreter

参考贴 http://www.cnblogs.com/afarmer/archive/2011/08/06/2129126.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jiushidt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值