天天看點

Redmine 搭建 備份 和恢複

redmine是一款開源的流程管理軟體,它集流程管理,郵件提醒笨笨關與于一體.

安裝環境CentOS 5

安裝最新穩定版本Redmine:

1,  安裝yaml

安裝Ruby前需要安裝Libymal,這個是我第一次安裝完Ruby後,使用gem –v 檢視版本後提示:

/home/webtronics/ruby/bin/gem -v

/home/webtronics/ruby/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':

It seems your ruby installation is missing psych (for YAML output).

To eliminate this warning, please install libyaml and reinstall your ruby.

後面發現不安裝這個包,也不會影響Ruby的使用。

下載下傳:wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz

tar xf yaml-0.1.4.tar.gz

cd yaml-0.1.4

./configure ;make ;make install

2,  安裝Ruby

安裝Redmine2.0版本,支援1.9.3版本及其它版本,我下載下傳1.9.3版本

版本要求:http://www.redmine.org/projects/redmine/wiki/RedmineInstall

下載下傳:

wget --no-check-certificate  https://rubyforge.org/frs/download.php/76065/ruby-1.9.3-p194.tar.gz

安裝:

tar xf ruby-1.9.3-p194.tar.gz

cd ruby-1.9.3-p194

./configure

make

make install

注1: 在這裡是直接安裝到了系統預設路徑,這樣安裝,ruby會認到第一步中安裝的yaml

如果安裝ruby的時候自定義路徑./configure –prefix=/usr/local/ruby, 使用rake gem 指令時,還是會提示第一步中的警告,但是不會影響正常使用。

注2:如果ruby安裝到自定義路徑,下面的ruby,rake,gem 指令都要加上Ruby安裝的絕對路徑,如/usr/local/ruby/bin/ruby /usr/local/ruby/bin/rake /usr/local/ruby/bin/gem

3,  安裝Redmine

做完上面兩步的準備就可以按照官網的提供的方法安裝Redmine。在安裝前,我在網上看了許多Redmine的安裝教程,發現與官網提供的有些不一樣,而且網上的教程都是老版本的安裝方法,按照老版本的安裝方法安裝新版本有會問題。是以老老實實的根據官網的方法來做:http://www.redmine.org/projects/redmine/wiki/RedmineInstall

下載下傳:wget http://rubyforge.org/frs/download.php/76134/redmine-2.0.0.tar.gz

解壓:

Tar xf redmine-2.0.0.tar.gz

Cd redmine-2.0.0

注:可以将Redmine移到到你想要放置的目錄。

接下來就是按照官網的方法來安裝,有些小地方需要注意。

注: 以下操作都在Redmine目錄進行

3.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

3.2開始安裝gem 依賴包

bundle install --without development test rmagick

注:這一步會安裝Mysql的Adapter, 如果Mysql的安裝路徑不是系統預設的,這一步安裝時會提示安裝錯誤,需要增加安裝參數安裝

單獨安裝 Mysql2的依賴包 :

gem install mysql2 -v '0.3.11' -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

然後再運作上面的指令

3.3建立資料庫:

create database redmine character set utf8;

grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'cardinfolink';

3.4準備工作Ruby gem依賴包及資料庫都做好了,開始真正配置Redmine的安裝:

配置Redmine資料連接配接

Copy config/database.yml.example config/database.yml

Vim config/database.yml

production:

  adapter: mysql2   //如果用的Ruby是1.9版本,一定要寫mysql2

  database: redmine

  host: localhost

  username: redmine

  password: my_password

注:官方原文提示MySQL database using ruby1.9 (adapter must be set to mysql2)  請注意,我開始沒注意,後面rake時,老是提示資料庫adapter沒有安裝。

建立sessin存儲腳本

rake generate_secret_token

會産生config/initializers/secret_token.rb

建立資料庫結構:[root@redmine redmine-2.0.0]# RAILS_ENV=production rake db:migrate

rake aborted!

Please install the mysq2 adapter: `gem install activerecord-mysq2-adapter` (cannot load such file -- active_record/connection_adapters/mysq2_adapter)

解決辦法:

gem uninstall mysql2

gem install mysql2 -v"0.3.11"

[root@redmine redmine-2.0.0]# RAILS_ENV=production rake db:migrate

此處吃了暗虧,請具體檢視database.yml确認adapter為mysql2而不是mysl2

建立資料庫結構:

RAILS_ENV=production rake db:migrate

插入預設的配置資料:

[root@redmine redmine]# RAILS_ENV=production rake redmine:load_default_data

Select language: ar, bg, bs, ca, cs, da, de, el, en, en-GB, es, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] zh

====================================

Default configuration data loaded.

建立相關目錄

[root@redmine redmine]# mkdir tmp public/plugin_assets

mkdir: 無法建立目錄 “tmp”: 檔案已存在

[root@redmine redmine]# chmod -R 755 files log tmp public/plugin_assets

[root@redmine redmine]#

測試3000環境

[root@redmine redmine]#ruby /opt/redmine/script/rails server webrick -e production

通過Aapche通路redmine

背景運作Redmine

nohup ruby script/rails server webrick -e production &

在Apache配置檔案中添加一個虛拟主機

<VirtualHost *:80>

       ServerName redmine.company.com

       ProxyPass / http://localhost:3000/

       ProxyPassReverse / http://localhost:3000/

</VirtualHost>

備份和恢複

備份和恢複 是企業應用中永遠存在的話題.

Redmine的使用者和問題等資訊存儲于Mysql資料庫,表名為redmine而附件等資源存儲于Redmine安裝目錄的files目錄下.

是以需要遷移的話隻需要備份Mysql資料庫的對應的表和files目錄即可。

1.備份mysql資料庫。

檢視redmine/mysql/config/database.yml

記住production字段的username和password。

然後控制台root權限執行:mysqldump -u username -p redmine > /path/redmine_bak.sql

然後是備份附件。

$ cd redmine

$ tar cvzf /var/files_bak.tar.gz ./files/

2、Redmine恢複

附件庫恢複

直接将備份的/var/files_bak.tar.gz解壓縮到/redmine/files目錄下即可

Mysql恢複

在root使用者下運作:

$ mysql -u root -p redmine < /var/redmine_bak.sql

3、恢複完畢後啟動Redmine,

$ ruby script/server -e production

如果頁面有亂碼,可編輯redmine/mysql/config/database.yml,将production字段的encoding注釋掉即可。

     本文轉自 珏石頭 51CTO部落格,原文連結:http://blog.51cto.com/gavinshaw/1006559,如需轉載請自行聯系原作者