自己在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.zip
|
以下操作均在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)在phpmyadmin里创建redmine数据库和数据库账户和密码。
create database redmine character
set
utf8;
grant all privileges on redmine.* to
'redmine'
@
'localhost'
identified by
'my_password'
;
|
注意如果密码为数字类型的话,需要用引号括住才可以的。不然会提示如下错误:
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. 目录权限
addgroup redmine
adduser 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<br>
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 进程号 杀掉,再启用服务。