安装redmine

环境: windows10,mysql5.7.10

1、安装Ruby
http://rubyinstaller.org/downloads/下载可安装的exe文件:Ruby 2.3.1 (x64),下载后,直接安装到C:盘下:C:\Ruby23-x64
查看ruby和gem版本:
ruby -v
gem -v
自带的gem版本是2.5的吧。

2、安装DevKit
不安装这个,Rails安装不成功。
还是从http://rubyinstaller.org/downloads/下载DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe,解压到一个目录中,在该目录下,依次执行如下命令:
ruby dk.rb init #生成config.yml
ruby dk.rb install
ruby dk.rb review #检查要添加DevKit支持的Ruby列表是否有误

3、换gem的源,因为国外的源不好用,连不上。
gem sources --remove https://rubygems.org/
gem sources -a http://gems.ruby-china.org/ # 这儿用https不成功,可能是证书什么的没有配置好
gem sources -l # 查看源,只有国内这一个

换了源后,可以升级一下gem,升级后变成2.6.7了:
gem update --system

4、安装 Rails
gem install rails
很顺利就安装完了

5、下载redmine
从官网下载redmine-3.3.1.zip,解压到一个目录下,这个目录就是redmine以后运行使用的目录。

6、建立数据库
在mysql中创建数据库

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

然后配置数据库:
拷贝config/database.yml.example为config/database.yml,然后修改里面production一节的配置:

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

这儿的localhost,按其官网安装说明,改为127.0.0.1,说是因为mysql2不支持IPV6的地址。

7、安装redmine
安装前,先把gem源换了。修改redmine目录下的Gemfile,把第一行注释掉,加上一行,注意不要掉了前后两个单引号:
source ‘http://gems.ruby-china.org/

按官网安装说明要先安装bundler,这个版本的ruby也好像也已经有了。没有就gem install bundler安装 一下。
然后在redmine的目录下执行:
bundle install --without development test rmagick
如果提示依赖rbpdf-font没有,导致安装中断,就执行一下 gem install rbpdf-font,然后再执行上面的命令。

8、生成会话保存密钥
bundle exec rake generate_secret_token
在这一步碰到几个问题:
1)提示C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/htmlentities-4.3.1/lib/htmlentities/mappings/expanded.rb:465: warning: key “inodot” is duplicated and overwritten on line 466
这个可能没有影响。不过,打开这个expanded.rb文件,看第465和466两行确实重复,注释掉其中一行即可。
2)提示:rake aborted!
LoadError: cannot load such file – rbpdf-font
可能是因为我前面的安装redmine时,实际上是因为没有rbpdf-font导致安装中断,但是我没有注意,以为是成功了,所以这一步才出现这个提示。我执行了
gem install rbpdf-font,然后删除当前目录下的Gemfile.lock,又执行了一遍bundle install --without development test rmagick,看到安装成功。
然后再执行这个:bundle exec rake generate_secret_token,就没有报什么错误。

9、创建数据库
set RAILS_ENV=production
bundle exec rake db:migrate
10、本地化数据加载
set RAILS_ENV=production
set REDMINE_LANG=zh
bundle exec rake redmine:load_default_data
这儿碰到SQL执行错误的问题:
Error: Mysql2::Error: You can’t specify target table ‘enumerations’ for update in FROM clause: UPDATE enumerations SET position = coalesce((
select position
from (select id, position from enumerations) as parent
where parent_id = parent.id), 1) WHERE `enumerations`.`type` IN (‘IssuePriority’) AND (`enumerations`.`parent_id` IS NOT NULL) ORDER BY `enumerations`.`position` ASC
Default configuration data was not loaded.
查来查去,说是mysql不支持这种嵌套。但是上面的sql写法也是网上解决这种问题的一种方法。最后查到是mysql有一个bug,在5.7.11中纠正了。于是升级mysql到最新版本5.7.16。再执行就没有错误了。

11、启动服务,测试
bundle exec rails server webrick -e production
用admin/admin登录。

整个过程大概费了半天时间,就rbpdf-font和sql错误这两个问题费了好些时间。rbpdf-font这个问题应该是在安装过程中没有仔细查看返回信息导致。

### 安装 Redmine 的前提条件 为了成功安装 Redmine,在Ubuntu上需先确认操作系统版本与计划部署的Redmine版本兼容性[^2]。此外,还需准备一些前置环境,比如Apache服务器、mod_passenger模块以及MySQL数据库。 ### 使用官方PPA源安装Redmine 一种较为简便的方式是通过添加官方维护的PPA来获取并安装Redmine: ```bash sudo add-apt-repository ppa:ondrej/redmine sudo apt-get update sudo apt-get install redmine ``` 上述命令会自动处理依赖关系,并完成Redmine的基础配置工作[^3]。 ### 数据库设置 创建专门用于存储Redmine数据的MySQL数据库及其对应的权限账户: ```sql GRANT ALL PRIVILEGES ON `redmine`.* TO 'redmine'@'localhost'; FLUSH PRIVILEGES; ``` 接着编辑位于 `/etc/redmine/default/database.yml.example` 文件(对于从PPA安装的情况),将其复制为实际使用的配置文件`database.yml`, 并按照指示填写相应的数据库连接参数[^4]: ```yaml production: adapter: mysql2 database: redmine host: localhost username: redmine password: "your_password" encoding: utf8 ``` ### 配置Web服务端——Apache 为了让Redmine能够被外部访问,还需要对其进行Web服务器的相关设定。通常情况下,这涉及到修改Apache站点配置文件以支持Passenger模块加载Ruby应用程序实例。具体操作可以参照官方文档或其他社区指南进行调整。 ### 备份机制建立 考虑到数据安全的重要性,建议定期备份Redmine的数据表结构和内容。可以通过编写脚本实现自动化每日增量备份或是每周全量备份策略。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值