redmine-0.9.x配置过程

项目管理系统redmine对我来说,有一种特别的感情。它使我去接触了ROR,使我重新认识了ubuntu,并且也是它,让我得到了第一份工作。值此3月,距redmine-0.8.4发布已经过去了10个月,现在的最新稳定版已经更新到了0.9.3,并且rails的版本也已升至2.3.5,而且发布了3.0 beta。虽然ruby的黄金时期已经过去了几个年头,但是它的发展势头还是不减。

于是当初我写的关于redmine-0.8.x配置文档已经略显过时了。

今天看到了redmine-0.9.3,于是就像当年一样看着官方wiki里的指导走了一遍过程。中间遇到了不少问题,所以本文不是一个标准的配置文档,而是我自己的整个配置过程——包含着遇到的各种问题,以及解决方案。

官方网站:http://www.redmine.org/ 有很多好的资料,下载wiki:http://www.redmine.org/wiki/redmine/Download 也能带来很多帮助,最后,redmine在rubyforge上的下载地址:http://rubyforge.org/frs/?group_id=1850

从0.9.x开始,redmine的需求变成了ruby-1.8.6,1.8.7 Rails-2.3.5 Rack-1.0.1,而Rails-2.3.5已经包含在了vender目录里了。这次的配置平台式ubuntu-9.10-server-i386,并预装了LAMPserver。

进入工作目录,这里选择主目录。

cd -  

下载redmine-0.9.3

wget http://rubyforge.org/frs/download.php/69449/redmine-0.9.3.tar.gz  

解压

tar zxvf redmine-0.9.3.tar.gz  

进入解压后的redmine根目录

cd redmine-0.9.3  

MySQL数据库设置

mysql -u root -p  
mysql> create database redmine character set utf8;  
mysql> grant select,insert,delete,update,create,drop,alter,index on redmine.* to redmine  
mysql> SET PASSWORD FOR 'redmine' = PASSWORD('redminePASSWORD');  
mysql> flush privileges;  
mysql> exit;  

配置redmine数据库配置文件

cp config/database.yml.example config/database.yml  
vim config/database.yml  
production:  
  adapter: mysql
  database: redmine
  host: localhost
  username: redmine
  password: redminePASSWORD

如果数据库不是使用标准的端口(3306),使用port指定端口号:

production:  
  adapter: mysql
  database: redmine
  host: localhost
  port: 3307
  username: redmine
  password: redminePASSWORD

生成会话存储密码

RAILS_ENV=production rake config/initializers/session_store.rb  

这会报出一个rake尚未安装的错误,使用下面的命令安装rake。

apt-get install rake  

同时附带安装了

libruby1.8 ruby ruby1.8 unzip zip  

再次运行rake,仍然报错

rake aborted!  
no such file to load -- rubygems  

跟着报错信息继续安装缺失的包

apt-get install rubygems  

同时附带安装了

irb1.8 libreadline-ruby1.8 rdoc1.8 rubygems1.8  

再次运行rake,成功执行。 注:r3055之后的版本移除了config/initializers/session_store.rb,使用下面的命令替代。

rake generate_session_store  

完成了会话存储密码生成后,就可以开始创建数据库表,在redmine的根目录下运行

RAILS_ENV=production rake db:migrate  

然而又报错了

rake aborted!  
Could not find RubyGem rack (~> 1.0.1)  

如果这个时候安装rack,必须指定版本,因为redmine-0.9.3需求的事rack-1.0.1,如果直接

gem install rack  

这将会安装rack-1.1.0,这种情况下运行rake的报错信息会说明这点

rake aborted!  
RubyGem version error: rack(1.1.0 not ~> 1.0.1)  

所以必须指定版本安装rack,用--version参数

gem install rack --version=1.0.1  

再次运行rake,发觉报错信息变成了

rake aborted!  
no such file to load -- net/https  

这时联想到https,可能是缺少了SSL的某些文件,对于ruby,执行

apt-get install libopenssl-ruby  

再次运行rake,报错信息再次变化

rake aborted!  
no such file to load -- mysql  

对此,执行

apt-get install libmysql-ruby  

运行rake后执行成功,数据库表被创建。 然后插入默认配置数据到数据库里

RAILS_ENV=production rake redmine:load_default_data  
Select language: bg, bs, ca, cs, da, de, el, en, es, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh, zh-TW [en]zh  
====================================
Default configuration data loaded.  

运行redmine的用户必须可以读写files, log, tmp这三个目录,假设由redmine这个用户运行,就需要执行下面的命令

mkdir tmp public/plugin_assets  
sudo chown -R redmine:redmine files log tmp public/plugin_assets  
sudo chmod -R 755 files log tmp public/plugin_assets  

最后在redmine的根目录运行下面的命令,启动redmine。

ruby script/server webrick -e production  

这个WEBrick是一个轻量的web服务器,一般总是用作开发和调试。再验证了redmine安装后,就可以考虑把它迁移到apache上去了。 验证http://localhost:3000/来验证redmine的配置。用户名admin,密码admin。

关于SMTP邮件服务器的配置,官方也有说明。因为0.9.x和0.8.x相比这部分没有变化,所以可以参看我以前写的关于0.8.x文章。

数据备份方面,文档真的很贴心。之前0.8.x版本还不曾有的备份步骤,现在也提供的比较完善了。甚至直接提供了命令:

# Database
/usr/bin/mysqldump -u <username> -p<password> <redmine_database> | gzip > /path/to/backup/db/redmine_`date +%y_%m_%d`.gz

# Attachments
rsync -a /path/to/redmine/files /path/to/backup/files  

将命令里的/path/to/redmine和/path/to/backup换成实际情况里的目录。这两条命令很明确的指出了redmine的备份,只需要备份数据库以及file文件夹。

至此,redmine已经能很好地工作了。如果打算把它部署到apache上,可以参看我之后写的文章。


评论加载中...

Disqus提供评论支持,如果评论长时间未加载,请飞跃长城。