自己在centos5.5上安装redmine2.2.3时遇到一些问题,在网上查找资料终于把遇到的问题都解决了。以下内容大部分来自网络。
参考文章包括:
《centos5安装redmine2.0》http://linuxiou.blog.51cto.com/1262466/867790
《centos安装redmine项目管理系统》http://blog.haohtml.com/archives/13282
redmine官方安装说明 http://www.redmine.org/projects/redmine/wiki/RedmineInstall
《redmine安装》http://www.cnblogs.com/scige/archive/2012/08/31/2665370.html
这里我已经安装好了apach和mysql环境了。
1. 安装依赖包
yum -y install zlib-devel curl-devel openssl-devel apr-devel apr-util-devel
在做Ruby on rail开发环境的时候,发现ruby有了yaml库需求,如果不进行前置安装yaml库,那么在进行接下来的rubygems和rails的时候就会出现如下错误:
“It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby.”
注意:请勿使用yum去更新libyaml-devel和libyaml
解决方法:安装libyaml库
wget -c http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz tar xzvf yaml-0.1.4.tar.gz cd yaml-0.1.4 ./configure --prefix=/usr/local make&&make install
2. 安装ruby
这里安装ruby1.9.3-p194。因为centos中自带的ruby的版本redmine2.2.3不支持,所以自己下了个ruby1.9.3。自己试着安装过最新的ruby1.9.3-p392,但总是提示libyaml库没有安装(明明已经安装了呀!),所以就重新下载了个p194,果然成功了。
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz tar zxvf ruby-1.9.3-p194.tar.gz cd ruby-1.9.3-p194 ./configure --prefix=/usr/local --enable-shared --disable-install-doc --with-opt-dir=/usr/local/lib make make install cd ../
检查ruby版本号
ruby -v
3. 安装rebyGems
wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.24.tgz tar zxvf rubygems-1.8.24.tgz cd rubygems-1.8.24 ruby setup.rb gem -v
4. 安装redmine2.2.3
下载redmine2.2.3的安装包,解压:
unzip redmine-2.2.3.zip cd redmine-2.2.3
以下操作均在rdmine的目录中进行。
4.1 安装bundler
gem install bundler
注:如果Ruby安装是自定义路径,path/ruby/bin/gem install bundler
Redmine 1.4 版本后使用Bundler来管理gems 依赖关系,在Redmine的目录里有一个Gemfile 需要的依赖包写在里面。 安装时根据实际需要与情况更改安装包。
由于我使用的是Mysql数据库,需要将Gemfile中的配置关于PostgreSQL的安装包注释掉,如果系统没有安装PostgreSQL而不注释掉,安装时会提示错误。
编辑Gemfile文件,将如下内容注释掉,不安装PostgreSQL的相关依赖包。
#platforms :mri, :mingw do # group :postgresql do # gem "pg", ">= 0.11.0" # end # # group :sqlite do # gem "sqlite3" # end #end
4.2开始安装gem 依赖包
bundle install --without development test rmagick
由于安装依赖包时需要用到mysql2,centos5.5上自带的是mysql,所以以上操作会报错:
Gem files will remain installed in /home/admin/.bundler/tmp/6155/gems/mysql2-0.3.11 for inspection. Results logged to /home/admin/.bundler/tmp/6155/gems/mysql2-0.3.11/ext/mysql2/gem_make.out An error occured while installing mysql2 (0.3.11), and Bundler cannot continue. Make sure that `gem install mysql2 -v '0.3.11'` succeeds before bundling.
解决方法:安装mysql-devel后再安装gem依赖包。
yum install mysql-devel
5. 初始化数据库
1)进入mysql数据库中,创建redmine数据库和数据库账户和密码。
mysql> create database redmine character set utf8; mysql> grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'my_password'; mysql> flush privileges;
注意如果密码为数字类型的话,需要用引号括住才可以的。不然会提示如下错误:
rake aborted! can't convert Fixnum into String
2)修改数据库配置文件,这里使用的是mysql数据库,由于ruby的版本为1.9。所有adapter要为mysql2, 如果版本为1.8的话,由直接写mysql即可。
cp config/database.yml.example config/database.yml vi config/database.yml production: adapter: mysql2 database: redmine host: localhost username: redmine password: my_password
6. 生成会员存储密码
rake generate_secret_token
7. 初始化数据库
RAILS_ENV=production rake db:migrate RAILS_ENV=production rake redmine:load_default_data
8. 目录权限
groupadd redmine useradd redmine -g redmine chown -R redmine:redmine files log tmp public chmod -R 755 files log tmp public
9. 测试WEBrick web server
ruby script/rails server webrick -e production
到这里已经全部安装完成。在浏览器里打开ip:3000即可看到redmine的界面。如果看不到界面,请检查防火墙问题。只需要将3000端口开放就可以了。或者直接将防火墙关闭也可以。
如果在局域网用ip地址访问的话,会发现特别的慢,这是由于Redmine自带的WebrickWeb发布的问题,需要使用Mongrel组件来替换Webrick。另外,在新建或更新【问题】时也会很慢,这是由于不正确的邮件配置造成的。
1. gem install mongrel --pre // 若使用gem install mongrel安装,则会提示ERROR: Failed to build gem native extension,原因是mongrel 1.1.5与ruby 1.9.x不兼容 2. 修改redmine下的Gemfile文件,在Gemfile文件中加入: gem 'mongrel', '~> 1.2.0.pre2' 3. 删除gemfile.lock文件,重新执行 bundle install 4. 若无需发送邮件,可在【管理】-【配置】-【邮件通知】中,取消需要发送邮件通知的动作;也可修改configuration.yml中的配置,将delivery_method由同步发送邮件改为异步发送邮件:设置delivery_method的值为:async_smtp(异步发送邮件),重启redmine服务即可。若需发送邮件,则需配置好正确的SMTP服务器和邮箱等。
但这样只是以独立的方式启动redmine的服务器,在后台执行,有些不足,因为客户端的访问日志会在终端上直接显示。并且你退出终端时,服务器进程也会跟着关闭,如果希望Redmine作为服务运行,加上-d参数即可:
ruby script/rails server mongrel -e production -d
vi redmine_start.sh //把脚本加入到 rc.local
">#!/bin/bash
/data/wwwroot/redmine/script/rails server webrick -e production -d
初始化用户名和密码全为admin.默认语言为english,在settings->display->Default language 里修改成“简体中文”就可以了。不现用户可以选择使用不同的显示语言,如果要修改自己的显示语言的话,只需要在个人账户里修改就可以了。
Redmine里邮件配置:
vi config/configuration.yml
default: # Outgoing emails configuration (see examples above) email_delivery: delivery_method: :smtp smtp_settings: address: smtp.qq.com port: 25 domain: qq.com authentication: :login user_name: "[email protected]" password: "blog.haohtml.com"
保存即可。记得如果服务已经启用过的话,先 kill -9 进程号 杀掉,再启用服务。