安装准备
服务器操作系统:Windows Server 2008 R2 Standard,64位操作系统。
RailsInstaller版本:2.2.4 (下载地址http://railsinstaller.org/en)
ruby-2.0.0-p598-i386-mingw32.7z 文件(下载地址 http://rubyinstaller.org/downloads/)
Redmine版本:2.5.3 (下载地址http://www.redmine.org/projects/redmine/wiki/Download)
MySQL版本:5.5.54-win32(下载地址https://dev.mysql.com/downloads/mysql/5.5.html#downloads)
ImageMagick版本:6.9.0-0-Q16-x86-dll (下载地址http://www.imagemagick.org/script/binary-releases.php)
安装RailsInstaller
安装过程如下:
单击“Install”按钮开始安装,安装完成后出现Rails Environment Configuration的命令行环境:
此时,Ruby on rails环境已搭建好。
安装MySQL
安装过程如下:
选择Complete完整安装,Next继续。
此时,MySQL数据库已装好。
安装Redmine
1 把redmine zip包解压到C:\Sites目录下。
2 为了让Redmine正常连接MySQL,需要把MySQL下的libmysql.dll拷贝到Ruby的bin目录下。
3 安装mysql2。
gem install mysql2
此时如果报错:checking for ruby/thread.h ...no说明找不到thread.h文件,解决如下:
下载ruby-2.0.0-p598-i386-mingw32.7z文件,解压后把include/ruby-2.0.0/ruby/thread.h文件拷贝到C:\RailsInstaller\Ruby1.9.3\include\ruby-1.9.1\ruby目录下。
再次执行gem install mysql2若又报错:checking for mysql_query() in -lmysqlclient ...no说明找不到mysqlclient库,解决如下:
ruby-2.0.0-p598-i386-mingw32.7z文件解压后,把include和lib整个目录文件都拷贝到C:\mysql_sdk目录。
执行如下命令:
gem install mysql2 -- --with-mysql-dir="C:/mysql_sdk"
4 MySQL建库、新增用户并授权。
CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'redmine';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
5 配置数据库连接。
把 C:\Sites\redmine-2.5.3\config目录下的 database.yml.example 原地拷贝一份,名字改为 database.yml ,然后用文本编辑器打开它,数据库连接就在 database.yml 中配置。
6 安装Dependencies。
Redmine使用Bundler管理gems依赖,首先安装Bundler:
gem install bundler
安装Redmine需要的所有gems依赖:
bundle install --without development test
此时如果ImageMagick没有安装,我们使用如下命令可以跳过:
bundle install --without development test rmagick
如果出现Your bundle is complete! 则代表安装需用到的gems成功。下面说下bundle install失败的一些情况:
若出现某个gem依赖安装失败,如下图所示
解决办法如下:先通过错误提示的网址单独下载该gem依赖,然后把文件放到redmine-2.5.3目录下,执行如下命令:
gem install -v=10.1. rake
安装成功后,继续执行 bundle install --without development test命令。
因rubygems.org服务器不稳定,建议使用Ruby Gems镜像,详细请查看:http://gems.ruby-china.org/
7 生成会话存储密钥。
This step generates a random key used by Rails to encode cookies storing session data thus preventing their tampering.
Generating a new secret token invalidates all existing sessions after restart.
bundle exec rake generate_secret_token
8 创建数据库结构。
set RAILS_ENV=production
bundle exec rake db:migrate
It will create tables by running all migrations one by one then create the set of the permissions and the application administrator account, named admin
.
9 设置数据库默认数据。
set RAILS_ENV=production
set REDMINE_LANG=zh
bundle exec rake redmine:load_default_data
若输入zh回车报错:Got a packet bigger than 'max_allowed_packet' bytes...则需修改数据库配置。
找到MySQL配置文件my.ini,在[mysqld]部分添加一句:max_allowed_packet=16M,也可以修改更大一点。
重启MySQL服务让配置文件生效:
net stop mysql
net start mysql
10 测试安装。
bundle exec ruby script/rails server webrick -e production
浏览器访问http://localhost:3000/
11 管理员账号登录。
Use default administrator account to log in:
- login: admin
- password: admin