Linux系统下安装redmine
1 安装环境
1.Centos6.5 64位
2.mysql 5.6(必须为5.0或以上版本)
3.ruby 2.0.0 (2010-06-23 patchlevel 299)[x86_64-linux]
4.rubygems (gem工具,版本1.8.24)
5.Rails 3.2.13
Redmine需要考虑Ruby版本兼容性问题
Redmine version | Supported Ruby versions | Rails version used |
current trunk | ruby 1.9.3, 2.0.0, 2.1, jruby-1.7.6 | Rails 4.1 |
trunk < r13482 | ruby 1.8.7, 1.9.2, 1.9.3, 2.0.0, 2.1, jruby-1.7.6 | Rails 3.2 |
2.5, 2.6 | ruby 1.8.7, 1.9.2, 1.9.3, 2.0.0, 2.1, jruby-1.7.6 | Rails 3.2 |
2.4 | ruby 1.8.7, 1.9.2, 1.9.3, 2.0.0, jruby-1.7.6 | Rails 3.2 |
介绍:redmine是一个灵活的项目管理系统,是一个基于ruby on rails的框架开发的开源项目,可以跨平台使用,而且支持多种数据库。
2 安装软件包
1、# yum –y install zlib-devel gcc gcc-c++ make autoconf curl-devel ImageMagick-devel
2、安装mysql
3、禁用selinux
# setenforce 0 |
4、开放iptables相关的端口,redmine默认启动端口为3000
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT
#iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306-j ACCEPT
# iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
5、安装PHP和PHP相关插件
#yum -y install php php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-soap
3 安装ruby
要安装一个rvm的命令行工具,它提供一个便捷的多版本切换和管理
rvm安装
#\curl -L https://get.rvm.io | bash
将rvm的命令加入到系统的环境变量中去
# source /etc/profile.d/rvm.sh
Rudy安装
#tar zxzf ruby-2.0.0.tar.gz
#cd ruby-2.0.0
#./configure --prefix=/usr/local/ruby
#make &&make install
添加到环境变量
# echo -e 'exportPATH=/usr/local/ruby/bin:$PATH' >> /etc/profile
#source /etc/profile
查看ruby版本号
# ruby -v
ruby 2.0.0p353 (2013-11-22 revision43784) [x86_64-linux]
安装完成
4 安装rubygem
#tar zxvf rubygems-2.4.5.tgz
#mv rubygems-2.4.5 /opt/
#cd rubygems-2.4.5
#ruby setup.rb
#gem -v
2.4.5
# which gem
/usr/local/ruby/bin/gem
安装完成
5 换gem源
#gem sources --addhttps://ruby.taobao.org/
https://ruby.taobao.org/ added tosources
删除本地源
# gem sources --removehttps://rubygems.org/
https://rubygems.org/ removed fromsources
查看gem源
#gem sources –l
#gem install rails -v=3.2
.
6 安装redmine
# tar zxvf redmine-2.3.4.tar.gz
#mv redmine-2.3.4 redmine
#cd redmine/config
# cp -a database.yml.example database.yml
# cp -a configuration.yml.example configuration.yml
#vi database.yml
对应修改数据库名称及用户名,密码
production:
adapter: mysql2
database: redmine
host: localhost
username: root
password: "123456"
encoding: utf8
注:你是用的是ruby 1.8 or jruby,如果你使用的是ruby 1.9,必须把adapter: mysql改为adapter: mysql2
7 配置环境
安装rails相关库的支持
# gem install bundler
Successfully installed bundler-1.10.6
Parsing documentation for bundler-1.10.6
1 gem installed
此时,要修改redmine文件夹中的文件Gemfile
# vi Gemfile
source 'https://ruby.taobao.org/' #将源指向到淘宝的源
如果不修改Gemfile文件,下面命令执行是不能成功的 # bundle install
出现如图错误请执行下面命令 |
# bundle install --without developmenttest rmagick
生成一个session文件
在迁移中,这是很重要的一项,要指定原来的值
# rake generate_secret_token
执行数据迁移
#RAILS_ENV=production rake db:migrate
#RAILS_ENV=production rake redmine:load_default_data
在执行最后一行命令时,会提示选择语言种类,输入 zh 回车即可,如果直接回车确则认默认为英文
启动redmine程序
#ruby /opt/redmine/script/rails server webrick -e production
打开浏览器输入 http://localhost:3000 就可以看到redmine的首页了
修复redmine响应慢问题
如果在局域网用ip地址访问的话,会发现特别的慢,这是由于Redmine自带的WebrickWeb发布的问题,需要使用Mongrel组件来替换Webrick。另外,在新建或更新【问题】时也会很慢,这是由于不正确的邮件配置造成的
1、#gem installmongrel --pre
若使用gem install mongrel安装,则会提示ERROR: Failed to build gemnative extension,原因是mongrel1.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参数即可:
|
初始化用户名和密码全为admin.默认语言为english,在settings->display->Defaultlanguage 里修改成“简体中文”就可以了。不现用户可以选择使用不同的显示语言,如果要修改自己的显示语言的话,只需要在个人账户里修改就可以了。
… redmine配置开机启动
1、#cd /etc/init.d/redmine
2、#vi redmine
内容如下
#!/bin/sh # # redmine Redmine Daemon # # chkconfig: - 99 36 # description: Remine Daemon . /etc/rc.d/init.d/functions
HOMEPATH=/opt/redmine PIDFILE=$HOMEPATH/tmp/pids/server.pid PARAMS="-e production -d" SERVER=mongrel
cd $HOMEPATH
start(){ echo 'Starting redmine...' /usr/local/ruby/bin/ruby script/rails server $SERVER $PARAMS RETVAL=$? return $RETVAL }
stop(){ echo -n 'Stopping redmine...' killproc -p $PIDFILE -INT RETVAL=$? return $RETVAL }
status(){ echo -n 'Redmine is ' if [ -f $PIDFILE ] then PID=`/bin/cat $PIDFILE` STATUS=`/bin/ps -p $PID` RETVAL=$? if [ $RETVAL -eq 0 ] then echo 'running.' return $RETVAL fi fi echo 'not running.' }
case "$1" in start) start ;; stop) stop ;; restart) stop start echo ;; status) status ;; *) echo "Usage $0 {start|stop|status|restart}" exit 1 esac |
#注:黄色标记请正确填写ruby路径,SERVER采用mongrel
3、#chmod 755 redmine
4、#chkconfig --add redmine
5、# chkconfig redmine on
之后redmine即可开机自启动
4、Redmine可用命令:
#service redmine start --启动redmine
#service redmine stop --关闭redmine
#service redmine restart --重启redmine
自动备份
#cd /home
#mkdir script
#cd script
#vi redmine-databaseback.sh
#mysqldump -u redmine -p redmine -databases redmine > /home/rexen/database_backup/redmine_backup/redmine_bak_$DATE.sq#!/bin/bash #backup redmine database DATE=`date +%Y_%m_%d` #mysqldump -u redmine -p redmine -databases redmine > /home/database_backup/redmine_bak_$DATE.sql mysqldump -uredmine -predmine redmine > /home/database_backup/redmine_bak_$DATE.sql
# Attachments cd /home/database_backup/ tar cvzf files_bak_$DATE.tar.gz /opt/redmine/files/
#chengxubeifen tar cvzf redmine-2.3.4_bak_$DATE.tar.gz /opt/redmine/ |
#vi timetodelete_backup.sh
# time to delete old redmine backup files (before 7 days) find /home/database_backup/ -type f -mtime +7 -exec rm {} \; |
#chmod 755 redmine-databaseback.sh
#chmod 755 timetodelete_backup.sh
添加定时任务
#service crond status
crond (pid 1608) 正在运行...
crond已启动,若未启动,执行以下命令
#service crond start
# crontab -e
51 11 * * * /home/script/redmine-databaseback.sh
#11点51分执行备份
或
#vi /etc/crontab
50 10 * * * root /home/script/redmine-databaseback.sh 50 10 * * * root /home/script/timetodelete_backup.sh 01 12 * * * root /home/scrips/backup.sh >>/home/backup.log |
迁移注意事项
1、Redmine上的file文件需要迁移后目标机上
一般位置在$redmine_home\files下
2、Redmine上的插件需要放到$redmine_home\plugins下
3、启动插件
为版本Redmine 1.x
# rake db:migrate_plugins RAILS_ENV=production
为版本Redmine 2.x,执行命令如下:
#rake redmine:plugins:migrate RAILS_ENV=productio
4、Restart Redmine
遇到的问题
问题1:
[root@host-192-168-0-13 redmine-2.3.4]# gem install bundler
ERROR: Could not find a valid gem 'bundler' (>=0) in any repository
ERROR: Possible alternatives: bundler
解决办法:
是因为国内网络导致rubygems.org存放在Amazon S3上面的资源文件间歇性连接失败,用国内的RubyGems镜像(参见http://ruby.taobao.org/)替换官方镜像,方法如下:
$ gem sources --removehttps://rubygems.org/
$ gem sources -ahttps://ruby.taobao.org/
$ gem sources -l
[root@host-192-168-0-13redmine-2.3.4]# gemsources -a https://ruby.taobao.org/
https://ruby.taobao.org/ added tosources
[root@host-192-168-0-13redmine-2.3.4]# gem install bundler
WARNING: Error fetching data: Errno::ETIMEDOUT:Connection timed out - connect(2) (http://rubygems.org/latest_specs.4.8.gz)
Fetching: bundler-1.10.6.gem (100%)
Successfully installedbundler-1.10.6
1 gem installed
Installing ri documentation forbundler-1.10.6...
Installing RDoc documentation forbundler-1.10.6...
问题2
[root@host-192-168-0-13 redmine-2.3.4]# bundleinstall --without development test rmagick
Don't run Bundler as root. Bundlercan ask for sudo if it is needed, and installing your bundle as root will breakthis application for all non-root users on this machine.
Fetching gem metadata fromhttps://rubygems.org/.........
Fetching version metadata fromhttps://rubygems.org/..
Gem::RemoteFetcher::FetchError:Errno::ECONNRESET: Connection reset by peer - SSL_connect(https://rubygems.org/gems/rake-10.1.1.gem)
An error occurred while installingrake (10.1.1), and Bundler cannot continue.
Make sure that `gem install rake -v'10.1.1'` succeeds before bundling.
解决办法:修改Gemfile,
#source 'https://rubygems.org'
source 'https://ruby.taobao.org/'
解压命令
tar –xvf file.tar//解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar –xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
总结
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压